dojo.walkthrough Wolfram Kriesing March 6, 2008 Mayflower thursday - Würzburg

Similar documents
DEVELOPMENT OF WEB BASED GIS APPLICATIONS USING ARCGIS SERVER API 3.X FOR JAVASCRIPT ONLINE TRAINING GIS. Course. Training. .com

Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal

Building a Mapping Application Start-to-Finish

0.9: Faster, Leaner and Dijit? July 25, 2007 Dylan Schiemann. presented by

Dojo Meets XPages in IBM Lotus Domino 8.5. Steve Leland PouchaPond Software

Dojo: An Accessible JavaScript Toolkit

Enhancing Development with Dojo Core

Using the Dojo Toolkit with WebSphere Portal Adding sizzle to your portal application user interface

Creating Custom Dojo Widgets Using WTP

Chapter 8: Using Toolbars

Outline. Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Create Web Charts. With jqplot. Apress. Fabio Nelli

JavaScript Doesn't Have to Hurt: Techniques, Tools and Frameworks to Ease JavaScript Development

INTRODUCTION TO JAVASCRIPT

JavaScript Libraries. Ajax Experience - October John Resig (ejohn.org)

JAVASCRIPT FOR PROGRAMMERS

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

XAP: extensible Ajax Platform

JavaScript Programming

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

Oracle WebLogic Portal

Programming in HTML5 with JavaScript and CSS3

182 Introduction to Microsoft Visual InterDev 6 Chapter 7

Interactive webmaps with ArcGIS. Kristel Meikas, AlphaGIS

JavaScript: Introduction to DOM and Attaching Handlers

v0.9.3 Tim Neil Director, Application Platform & Tools Product

Advanced JavaScript. Gary Sheppard & James Tedrick

XPages development practices: developing a common Tree View Cust...

Modular JavaScript. JC Franco. Blake Stearman

Overview

CSS for Page Layout Robert K. Moniot 1

Basic Steps for Creating an Application with the ArcGIS Server API for JavaScript

Advanced JavaScript. Konstantin Käfer. Konstantin Käfer

IBM Forms V8.0 Custom Themes IBM Corporation

WHAT S NEW IN ZEND FRAMEWORK 1.6?

CISC 1600 Lecture 2.4 Introduction to JavaScript

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

classjs Documentation

CSC Javascript

About Sven. Using Groovy & Grails since Aug 2006 Grails Podcast, Groovy Series Working at Yahoo!, Inc. Find out yourself

Paul Withers Intec Systems Ltd By Kind Permission of Matt White and Tim Clark

Here are a few easy steps to create a simple timeline. Open up your favorite text or HTML editor and start creating an HTML file.

Configuring Anonymous Access to Analysis Files in TIBCO Spotfire 7.5

Web AppBuilder for ArcGIS Dive Into Mobile Development. Yiwei Ma & Kevin Gao

Web Development. With PHP. Web Development With PHP

Client vs Server Scripting

HTML User Interface Controls. Interactive HTML user interfaces. Document Object Model (DOM)

JavaScript is described in detail in many books on the subject, and there is excellent tutorial material at

WEB GIS DEVELOPER SPECIALIST ONLINE TRAINING. GIS Training. Course. .com

Web Designing Course

READSPEAKER ENTERPRISE HIGHLIGHTING 2.5

for Lukas Renggli ESUG 2009, Brest

Frontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević


JavaScript Specialist v2.0 Exam 1D0-735

JQUERYUI - PROGRESSBAR

AIM. 10 September

Interactor Tree. Edith Law & Mike Terry

JavaScript: Events, DOM and Attaching Handlers

While you re waiting, you can set up your computer by installing these programs

MAX 2006 Beyond Boundaries

NEW WEBMASTER HTML & CSS FOR BEGINNERS COURSE SYNOPSIS

Introduction to DHTML

Creating a Client-Side Search Engine with Gears and Dojo. Brad Neuberg, Google

Web Development & Design Foundations with HTML5, 8 th Edition Instructor Materials Chapter 14 Test Bank

Master Project Software Engineering: Team-based Development WS 2010/11

In this exercise you will display the Geo-tagged Wikipedia Articles Fusion Table in Google Maps.

JavaScript and XHTML. Prof. D. Krupesha, PESIT, Bangalore

Configuring Ad hoc Reporting. Version: 16.0

Creating a Client-Side Search Engine with Gears. Brad Neuberg, Gears

State of the Open Web. Brad Neuberg, Google

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc.

Building Custom UIs for APS 2.0 Applications. Timur Nizametdinov, APS Dynamic UI Lead Developer

IBM LOT-408. IBM Notes and Domino 9.0 Social Edition Application Development Updat.

Accessible Ajax on Rails. Jarkko Laine with Geoffrey Grosenbach

Deep Dive on How ArcGIS API for JavaScript Widgets Were Built

Course 2320 Supplementary Materials. Modern JavaScript Best Practices

Markup Language. Made up of elements Elements create a document tree

Easy Authcache documentation

Client-side Debugging. Gary Bettencourt

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Code Editor. The Code Editor is made up of the following areas: Toolbar. Editable Area Output Panel Status Bar Outline. Toolbar

Dynamic HTML becomes HTML5. HTML Forms and Server Processing. Form Submission to Web Server. DHTML - Mouse Events. CMST385: Slide Set 8: Forms

GRAPHIC WEB DESIGNER PROGRAM

Part 1: jquery & History of DOM Scripting

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p.

INDEX SYMBOLS See also

IBM A Assessment: IBM Notes and Domino 9.0 Social Edition Application Development.

Introduction to JavaScript. Evan Caldwell & James Tedrick

Telerik Test Studio. Web/Desktop Testing. Software Quality Assurance Telerik Software Academy

PIC 40A. Midterm 1 Review

QOOMdOO. 1 open source I community experience distilled. Beginner's Guide. Develop Rich Internet Applications (RIA) with qooxdoo. Rajesh Kumar Bachu

Using CSS for page layout

Name Related Elements Type Default Depr. DTD Comment

Web Application Styling

Getting Started with the ArcGIS API for JavaScript. Julie Powell, Paul Hann

Section 1. How to use Brackets to develop JavaScript applications

COMP519 Web Programming Lecture 16: JavaScript (Part 7) Handouts

Web Development & Design Foundations with HTML5, 8 th Edition Instructor Materials Chapter 3 Test Bank

CE419 Web Programming. Session 3: HTML (contd.), CSS

Transcription:

dojo.walkthrough Wolfram Kriesing March 6, 2008 Mayflower thursday - Würzburg

dojo.basics namespaced (dojo.lang, dojo.fx, dijit.form) dojo, dijit, dojox, yournamespace package system build system (incl. your namespaces) i18n 2

out of the box dojo.* lang, string, array, dom, coords, data, back, behaviour, date, dnd, i18n, io, rpc,... dijit.* - stable widgets form.*, Editor, Tree, Dialog, ProgressBar,... dojox.* - dojo extended (experimental) charting, comted, crypto, data, dtl, fx, gfx, grid, lang, math, widget,... 3

dojo basics (system) dojo.require(), dojo.declare(), dojo.provide() dojo.hitch(), dojo.mixin(), dojo.extend() dojo.[dis]connect(), dojo.publish/subscribe() dojo.xhr(), dojo.xhrpost(), dojo.xhrget() dojo.foreach(), dojo.map(), dojo.filter() dojo.tojson(), dojo.isstring(), dojo.isie,... dojo.data 4

namespace, class Create namespace and singleton dojo.provide("phpr"); // Register namespace relative to dojo.js dojo.registermodulepath("phpr", "../../phpr"); phpr.send = function(params) {}; Declare a class dojo.provide("phpr.main"); dojo.declare("phpr.main", phpr.component, { constructor:function() {}, render:function() {} }); 5

dojo.hitch dojo.connect( domnode, "onclick", dojo.hitch(this, "handleclick") ); dojo.xhr({ load: dojo.hitch(this, function() { // handle onload stuff }) }) 6

dojo basics (dom) dojo.byid(), dojo.query(), dojo.attr() dojo.coords() dojo.addclass(), dojo.removeclass(), dojo.hasclass() dojo.addonload() 7

dijit 8

dijit - dojo widgets http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themetester.html 9

written vs. rendered HTML you write <input id= cb1 name= cb1 type= checkbox dojotype= dijit.form.checkbox /> you get <div class="dijitreset dijitinline dijitcheckbox" wairole="presentation" role="wairole:presentation" widgetid="cb1"> <input id="cb1" class="dijitreset dijitcheckboxinput" type="checkbox" dojoattachevent="onmouseover:_onmouse, onmouseout:_onmouse,onclick:_onclick" dojoattachpoint="focusnode" name="cb1" value="foo" tabindex="0" style="-moz-user-select: none;"/> </div> 10

DOM to dijit and back dojo.byid(domnodeid) - node dojo.query(string) - [node, node, node] dijit.byid(widgetid) - widget dijit.bynode(node) - widget dijit.getenclosingwidget(node) - widget 11

Events (DOM, dijit) dojo.connect(domnode, onclick,...) dojo.connect(widget, onclick,...) dojo.connect(widget, oncustomevent,...) onclick vs. onclick DEMO dojo.query, dojo.connect: onmouseover vs. onmouseover, dijit.byid/node, dijit.getenclosingwidget closure 12

build svn co http://svn.dojotoolkit.org/dojo/util/trunk cd util/buildscripts/profiles cp standard.profile.js phpr.profile.js adjust phpr.profile.js run build > cd util/buildscripts >./build.sh profile="phpr"\ action="clean,release" localelist="en,de"\ optimize="shrinksafe"\ releasedir="../../dojo-build"\ releasename="" 13

fx dojo.fadein(), dojo.fadeout() dojo.fx.wipein(), dojo.fx.wipeout() dojo.toggleclass() dojox.fx sizeto(), slideby(), crossfade(), highlight(), wipeto(), smoothscroll(), Shadow, easing SHOW OFF 14

grid various stores (dojo.data) sortable, filterable, dynamic paging editable 15

misc 16

var _this = this apply(), call() dojo.hitch() closures Scoping var els = dojo.query( #myform [type=radio] ); for (var i=0; i<els.length; i++) { dojo.connect(els[i], onclick, dojo.hitch(this, function(el) { return function() {/* el copied */} }(els[i])) );} 17

debugger; console.debug() inline scripting Debugging <span id="rating" dojotype="dojox.widget.rating"> <script type="dojo/event" event="onchange"> var els = dojo.query('#ratingval'); els[0].innerhtml = this.value; </script> <script type="dojo/event" event="onmouseover" args="evt,value"> var els = dojo.query('#rating1hovervalue'); els[0].innerhtml = value; </script> </span> 18

USE your tools Autocompletion (Komodo, Aptana, FireBug!...) goto source FireBug #dojo irc.freenode.net 19

COPY with pride Examples archive.dojotoolkit.org/nightly http://archive.dojotoolkit.org/nightly Search dojotoolkit.org (valueable forum) Dojo feature explorer http://www.skynet.ie/~sos/js/demo/dojo/dojoc/demos/featureexplorer.html#dojo_data API browser (in progress) http://redesign.dojotoolkit.org dojo book http://dojotoolkit.org/book 20

Page loading order script tags in <head> (incl. files!) script tags in body, depending on position dom nodes are available first thing after window.onload (dojo.addonload) the widgets are available dojo.addonload() stuff is available (don t access widgets before!) 21

thx and now dojo.beer Wolfram Kriesing March 6, 2008 Mayflower thursday - Würzburg