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!
![fetch API]()
One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for. We've done well to create elegant APIs around XHR but we know we can do better. Our effort to...
![CSS Filters]()
CSS filter support recently landed within WebKit nightlies. CSS filters provide a method for modifying the rendering of a basic DOM element, image, or video. CSS filters allow for blurring, warping, and modifying the color intensity of elements. Let's have...
![jQuery UI DatePicker: Disable Specified Days]()
One project I'm currently working on requires jQuery. The project also features a datepicker for requesting a visit to their location. jQuery UI's DatePicker plugin was the natural choice and it does a really nice job. One challenge I encountered was the...
![Reverse Element Order with CSS Flexbox]()
CSS is becoming more and more powerful these days, almost to the point where the order of HTML elements output to the page no longer matters from a display standpoint -- CSS lets you do so much that almost any layout, large or small, is possible. Semantics...
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