SitePen: Creating and Enhancing Dojo Classes
You have probably noted over the past few months that I've been working a lot with the Dojo Toolkit. SitePen has been kind enough to allow me to guest blog about a Dojo topic I find very interesting: creating and enhancing Dojo classes. From the post:
Like all top-notch JavaScript toolkits, Dojo tries to make its classes as flexible as possible, knowing that users of the toolkit may have different ideas about how a given class or class method should work. Luckily, Dojo provides you a number of methods by which you can subclass or modify existing classes. Let's examine a few ways you can make Dojo classes exactly the way you like.
Click here to check it out!
![CSS @supports]()
Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS. What we end up doing is repeating the same properties multiple times with each browser prefix. Yuck. Another thing we...
![CSS 3D Folding Animation]()
Google Plus provides loads of inspiration for front-end developers, especially when it comes to the CSS and JavaScript wonders they create. Last year I duplicated their incredible PhotoStack effect with both MooTools and pure CSS; this time I'm going to duplicate...
![Create Tiny URLs with TinyURL, MooTools, and PHP]()
Since we've already figured out how to create TinyURL URLs remotely using PHP, we may as well create a small AJAX-enabled tiny URL creator. Using MooTools to do so is almost too easy.
The XHTML (Form)
We need an input box where the user will enter...
![Introducing LazyLoad 2.0]()
While improvements in browsers means more cool APIs for us to play with, it also means we need to maintain existing code. With Firefox 4's release came news that my MooTools LazyLoad plugin was not intercepting image loading -- the images were loading regardless of...
Hi,
Maybe you’ll be able to help me with understanding new way of class definition in new dojo. I’m using latest version of dojo. I try to define a few classes in separate files. Example (js/TwitterManager.js):
require([ "dojo/_base/declare", "dojo/request/script"], function( declare, script) { declare("TwitterManager", script, { // The default username username: "defaultUser", get: function() { script.get("http://search.twitter.com/search.json", { jsonp: "callback", query: {q: "#dojo"} }).then(function(response){ //we're only interested in response.results, so strip it off and return it return response.results; }); } });});Then I try to instantiate this class in main file (index.html):
require(["dojo/on", "dojo/dom", "dojo/query", "dojo/mouse", "dojo/domReady!"], function(on, dom, query, mouse) { var x = new TwitterManager(); var results = x.get(); });This code doesn’t work. But when I remove from class definition “request/script” module it works fine. I really need to use “script.get” method in this class. Of course all code might be put in index.html :) but I look for OOP approach in dojo 1.8.
Thanks