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
    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...

  • 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
    QuickBoxes for Dojo

    Adding to my mental portfolio is important to me. First came MooTools, then jQuery, and now Dojo. I speak often with Peter Higgins of Dojo fame and decided it was time to step into his world. I chose a simple but useful plugin...

  • By
    Advanced CSS Printing – Using JavaScript Double-Click To Remove Unwanted DIVs

    Like any good programmer, I'm constantly searching around the internet for ideas and articles that can help me improve my code. There are thousands of talented programmers out there so I stumble upon some great articles and code snippets that I like to print out...

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!