SitePen: Creating and Enhancing Dojo Classes

By  on  

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!

Recent Features

  • By
    Interview with a Pornhub Web Developer

    Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...

  • By
    I’m an Impostor

    This is the hardest thing I've ever had to write, much less admit to myself.  I've written resignation letters from jobs I've loved, I've ended relationships, I've failed at a host of tasks, and let myself down in my life.  All of those feelings were very...

Incredible Demos

  • By
    DWRequest: MooTools 1.2 AJAX Listener & Message Display

    Though MooTools 1.2 is in its second beta stage, its basic syntax and theory changes have been hashed out. The JavaScript library continues to improve and become more flexible. Fellow DZone Zone Leader Boyan Kostadinov wrote a very useful article detailing how you can add a...

  • By
    Optimize Your Links For Print Using CSS — Show The URL

    When moving around from page to page in your trusty browser, you get the benefit of hovering over links and viewing the link's target URL in the status bar. When it comes to page printouts, however, this obviously isn't an option. Most website printouts...

Discussion

  1. Bitels

    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

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!