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!
![Create Namespaced Classes with MooTools]()
MooTools has always gotten a bit of grief for not inherently using and standardizing namespaced-based JavaScript classes like the Dojo Toolkit does. Many developers create their classes as globals which is generally frowned up. I mostly disagree with that stance, but each to their own. In any event...
![CSS Gradients]()
With CSS border-radius, I showed you how CSS can bridge the gap between design and development by adding rounded corners to elements. CSS gradients are another step in that direction. Now that CSS gradients are supported in Internet Explorer 8+, Firefox, Safari, and Chrome...
![Modal-Style Text Selection with Fokus]()
Every once in a while I find a tiny JavaScript library that does something very specific, very well. My latest find, Fokus, is a utility that listens for text selection within the page, and when such an event occurs, shows a beautiful modal dialog in...
![Build a Toggling Announcement Slider Using MooTools 1.2]()
A few of my customer have asked for me to create a subtle but dynamic (...I know...) way for them to advertise different specials on their website. Not something that would display on every page, but periodically or only the homepage. Using a trick...
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