SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
dojo.basix
   Wolfram Kriesing
  wolfram@uxebu.com
dojo.basics
• namespaced (dojo.lang, dojo.fx,
  dijit.form)

• dojo, dijit, dojox, yournamespace
• package system
• build system (incl. your namespaces)
• i18n
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)
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()
namespace, class
           Create namespace and singleton
dojo.provide(quot;phprquot;);
// Register namespace relative to dojo.js
dojo.registerModulePath(quot;phprquot;, quot;../../phprquot;);
phpr.send = function(params) {};

                     Declare a class
dojo.provide(quot;phpr.Mainquot;);
dojo.declare(quot;phpr.Mainquot;, phpr.Component, {
  constructor:function() {},
  render:function() {}
});
dojo.hitch
dojo.connect(
  domNode, quot;onclickquot;,
  dojo.hitch(this, quot;handleClickquot;)
);

dojo.xhr({
  load:
    dojo.hitch(this, function() {
       // handle onLoad stuff
    })
})
dojo basics (dom)

• dojo.byId(), dojo.query(), dojo.attr()
• dojo.coords()
• dojo.addClass(), dojo.removeClass(),
  dojo.hasClass()

• dojo.addOnLoad()
dijit
dijit - dojo widgets




http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themeTester.html
written vs. rendered
                              you write
<input id=“cb1“ name=“cb1“ type=“checkbox“
dojoType=“dijit.form.Checkbox“ />

                                you get
<div class=quot;dijitReset dijitInline dijitCheckBoxquot;
 wairole=quot;presentationquot; role=quot;wairole:presentationquot;
 widgetid=quot;cb1quot;>

 <input id=quot;cb1quot; class=quot;dijitReset dijitCheckBoxInputquot;
  type=quot;checkboxquot;
  dojoattachevent=quot;onmouseover:_onMouse,
           onmouseout:_onMouse,onclick:_onClickquot;
  dojoattachpoint=quot;focusNodequot; name=quot;cb1quot; value=quot;fooquot;
  tabindex=quot;0quot; style=quot;-moz-user-select: none;quot;/>
</div>
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
Events (DOM, dijit)
• dojo.connect(domNode, „onclick“, ...)
• dojo.connect(widget, „onClick“, ...)
• dojo.connect(widget,
  „onCustomEvent“, ...)

                         DEMO
         dojo.query, dojo.connect: onmouseover vs. onMouseOver,
                 dijit.byId/Node, dijit.getEnclosingWidget
                                  closure
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
> cd util/buildscripts
>./build.sh profile=quot;phprquot;
   action=quot;clean,releasequot; localeList=quot;en,dequot;
   optimize=quot;shrinksafequot;
   releaseDir=quot;../../dojo-buildquot;
   releaseName=quot;quot;
fx
• dojo.fadeIn(), dojo.fadeOut()
• dojo.fx.wipeIn(), dojo.fx.wipeOut()
• dojo.toggleClass()
• dojox.fx
 • sizeTo(), slideBy(), crossFade(),
    highlight(), wipeTo(), smoothScroll(),
grid



• various stores (dojo.data)
• sortable, filterable, dynamic paging
• editable
COPY with pride
• Examples archive.dojotoolkit.org/nightly
  http://archive.dojotoolkit.org/nightly



• Search dojotoolkit.org (valueable forum)
• Dojo feature explorer
  http://dojocampus.org/explorer/




• API browser (in progress)
  http://api.dojotoolkit.org



• dojo book
  http://docs.dojocampus.org
thx




http://blog.uxebu.com

Weitere ähnliche Inhalte

Was ist angesagt?

Crud secara simultan ala php myadmin
Crud secara simultan ala php myadminCrud secara simultan ala php myadmin
Crud secara simultan ala php myadminRizal Di Caprio
 
Php & mysql
Php & mysqlPhp & mysql
Php & mysqlola98z
 
Introduction to Service Worker
Introduction to Service WorkerIntroduction to Service Worker
Introduction to Service WorkerShogo Sensui
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptNando Vieira
 
Food industry-cleaning procces and equipments
Food industry-cleaning procces and equipmentsFood industry-cleaning procces and equipments
Food industry-cleaning procces and equipmentsAdelina Cirstea
 
美团业务系统通用Ui方案
美团业务系统通用Ui方案美团业务系统通用Ui方案
美团业务系统通用Ui方案美团技术团队
 
Documentacion edderson callpa_ortiz
Documentacion edderson callpa_ortizDocumentacion edderson callpa_ortiz
Documentacion edderson callpa_ortizEdderson J. Ortiz
 
2017 - NoSQL Vorlesung Mosbach
2017 - NoSQL Vorlesung Mosbach2017 - NoSQL Vorlesung Mosbach
2017 - NoSQL Vorlesung MosbachJohannes Hoppe
 
Php codigos interfaces fredy guzman cusihunca
Php codigos interfaces   fredy guzman cusihuncaPhp codigos interfaces   fredy guzman cusihunca
Php codigos interfaces fredy guzman cusihuncaTigger_Fred
 
Sumahexavector
SumahexavectorSumahexavector
Sumahexavectorjbersosa
 
JS for Rails developers
JS for Rails developersJS for Rails developers
JS for Rails developersTimur Vafin
 
Un juego creado en php
Un juego creado en phpUn juego creado en php
Un juego creado en phpErwin Lobo
 
Simular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariaSimular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariajbersosa
 
For Your Ice Only by Reece Millidge of Damp Gnat
For Your Ice Only by Reece Millidge of Damp GnatFor Your Ice Only by Reece Millidge of Damp Gnat
For Your Ice Only by Reece Millidge of Damp Gnatmochimedia
 
โปรแกรมที่มากับโปรแกรม Microsoft Windows 7
โปรแกรมที่มากับโปรแกรม Microsoft Windows 7โปรแกรมที่มากับโปรแกรม Microsoft Windows 7
โปรแกรมที่มากับโปรแกรม Microsoft Windows 7เทวัญ ภูพานทอง
 

Was ist angesagt? (20)

Crud secara simultan ala php myadmin
Crud secara simultan ala php myadminCrud secara simultan ala php myadmin
Crud secara simultan ala php myadmin
 
371 Employment
371 Employment371 Employment
371 Employment
 
Php & mysql
Php & mysqlPhp & mysql
Php & mysql
 
Introduction to Service Worker
Introduction to Service WorkerIntroduction to Service Worker
Introduction to Service Worker
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe Javascript
 
Food industry-cleaning procces and equipments
Food industry-cleaning procces and equipmentsFood industry-cleaning procces and equipments
Food industry-cleaning procces and equipments
 
美团业务系统通用Ui方案
美团业务系统通用Ui方案美团业务系统通用Ui方案
美团业务系统通用Ui方案
 
Macro
MacroMacro
Macro
 
Documentacion edderson callpa_ortiz
Documentacion edderson callpa_ortizDocumentacion edderson callpa_ortiz
Documentacion edderson callpa_ortiz
 
Splinter
SplinterSplinter
Splinter
 
2017 - NoSQL Vorlesung Mosbach
2017 - NoSQL Vorlesung Mosbach2017 - NoSQL Vorlesung Mosbach
2017 - NoSQL Vorlesung Mosbach
 
Php codigos interfaces fredy guzman cusihunca
Php codigos interfaces   fredy guzman cusihuncaPhp codigos interfaces   fredy guzman cusihunca
Php codigos interfaces fredy guzman cusihunca
 
Sumahex
SumahexSumahex
Sumahex
 
Sumahexavector
SumahexavectorSumahexavector
Sumahexavector
 
JS for Rails developers
JS for Rails developersJS for Rails developers
JS for Rails developers
 
Un juego creado en php
Un juego creado en phpUn juego creado en php
Un juego creado en php
 
Simular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariaSimular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentaria
 
Clase 10 electiva profesional 3 aws rds php y mysql
Clase 10 electiva profesional 3 aws rds php y mysqlClase 10 electiva profesional 3 aws rds php y mysql
Clase 10 electiva profesional 3 aws rds php y mysql
 
For Your Ice Only by Reece Millidge of Damp Gnat
For Your Ice Only by Reece Millidge of Damp GnatFor Your Ice Only by Reece Millidge of Damp Gnat
For Your Ice Only by Reece Millidge of Damp Gnat
 
โปรแกรมที่มากับโปรแกรม Microsoft Windows 7
โปรแกรมที่มากับโปรแกรม Microsoft Windows 7โปรแกรมที่มากับโปรแกรม Microsoft Windows 7
โปรแกรมที่มากับโปรแกรม Microsoft Windows 7
 

Andere mochten auch

OpenSocial At Mahalo Developers Meetup August 13
OpenSocial At Mahalo Developers Meetup August 13OpenSocial At Mahalo Developers Meetup August 13
OpenSocial At Mahalo Developers Meetup August 13Chris Schalk
 
Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...
Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...
Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...tabithascatena
 
Tipo de Reacciones Quimicas
 Tipo de  Reacciones Quimicas Tipo de  Reacciones Quimicas
Tipo de Reacciones QuimicasGarcia505
 
iSummit 2008 Open Education Track
iSummit 2008 Open Education TrackiSummit 2008 Open Education Track
iSummit 2008 Open Education TrackAhrash Bissell
 
British Council: Global Leadership Team
British Council: Global Leadership TeamBritish Council: Global Leadership Team
British Council: Global Leadership TeamIan Jindal
 
Environmental Sustainability - Green IT
Environmental Sustainability - Green ITEnvironmental Sustainability - Green IT
Environmental Sustainability - Green ITHKAIM
 
Cosas para hacer en lo que resta del año
Cosas para hacer en lo que resta del añoCosas para hacer en lo que resta del año
Cosas para hacer en lo que resta del añoCarmen María Pérez
 
Global Networks
Global NetworksGlobal Networks
Global Networkstotal
 
Intro to Google's AJAX apis @ Rich Web Experience East 08
Intro to Google's AJAX apis @ Rich Web Experience East 08Intro to Google's AJAX apis @ Rich Web Experience East 08
Intro to Google's AJAX apis @ Rich Web Experience East 08Chris Schalk
 
Your Life Drama Glb
Your Life Drama GlbYour Life Drama Glb
Your Life Drama GlbGeta Lucia
 

Andere mochten auch (20)

Jlc Bella Italia2 Ver
Jlc Bella Italia2 VerJlc Bella Italia2 Ver
Jlc Bella Italia2 Ver
 
Cosas Restantes
Cosas RestantesCosas Restantes
Cosas Restantes
 
OpenSocial At Mahalo Developers Meetup August 13
OpenSocial At Mahalo Developers Meetup August 13OpenSocial At Mahalo Developers Meetup August 13
OpenSocial At Mahalo Developers Meetup August 13
 
Kremlin's Cathedrals
Kremlin's CathedralsKremlin's Cathedrals
Kremlin's Cathedrals
 
Dagelijkse Gedachtenph
Dagelijkse GedachtenphDagelijkse Gedachtenph
Dagelijkse Gedachtenph
 
Vriendschap
VriendschapVriendschap
Vriendschap
 
Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...
Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...
Build High Performance Apps on Multicore Systems Using Sun Studio Compilers a...
 
Tipo de Reacciones Quimicas
 Tipo de  Reacciones Quimicas Tipo de  Reacciones Quimicas
Tipo de Reacciones Quimicas
 
Birds And Sayings
Birds And SayingsBirds And Sayings
Birds And Sayings
 
iSummit 2008 Open Education Track
iSummit 2008 Open Education TrackiSummit 2008 Open Education Track
iSummit 2008 Open Education Track
 
British Council: Global Leadership Team
British Council: Global Leadership TeamBritish Council: Global Leadership Team
British Council: Global Leadership Team
 
D Fwater
D FwaterD Fwater
D Fwater
 
Environmental Sustainability - Green IT
Environmental Sustainability - Green ITEnvironmental Sustainability - Green IT
Environmental Sustainability - Green IT
 
Cosas para hacer en lo que resta del año
Cosas para hacer en lo que resta del añoCosas para hacer en lo que resta del año
Cosas para hacer en lo que resta del año
 
..Festival Der Zeppeline
..Festival Der Zeppeline..Festival Der Zeppeline
..Festival Der Zeppeline
 
Global Networks
Global NetworksGlobal Networks
Global Networks
 
From Schoolhouse to Statehouse - Massachusetts
From Schoolhouse to Statehouse - MassachusettsFrom Schoolhouse to Statehouse - Massachusetts
From Schoolhouse to Statehouse - Massachusetts
 
Animal+Tracks
Animal+TracksAnimal+Tracks
Animal+Tracks
 
Intro to Google's AJAX apis @ Rich Web Experience East 08
Intro to Google's AJAX apis @ Rich Web Experience East 08Intro to Google's AJAX apis @ Rich Web Experience East 08
Intro to Google's AJAX apis @ Rich Web Experience East 08
 
Your Life Drama Glb
Your Life Drama GlbYour Life Drama Glb
Your Life Drama Glb
 

Mehr von wolframkriesing

JavaScript The Language Meetup - Async functions
JavaScript The Language Meetup - Async functionsJavaScript The Language Meetup - Async functions
JavaScript The Language Meetup - Async functionswolframkriesing
 
Our react-native experiences at crewmeister
Our react-native experiences at crewmeisterOur react-native experiences at crewmeister
Our react-native experiences at crewmeisterwolframkriesing
 
ES6 katas - talk given at enterjs
ES6 katas - talk given at enterjsES6 katas - talk given at enterjs
ES6 katas - talk given at enterjswolframkriesing
 
TDD for Kids - VLCjs (Valencia Spain, July 2015)
TDD for Kids - VLCjs (Valencia Spain, July 2015)TDD for Kids - VLCjs (Valencia Spain, July 2015)
TDD for Kids - VLCjs (Valencia Spain, July 2015)wolframkriesing
 
ES6Katas.org - an introduction and the story behind
ES6Katas.org - an introduction and the story behindES6Katas.org - an introduction and the story behind
ES6Katas.org - an introduction and the story behindwolframkriesing
 
TDD with Google Spreadsheets #enterjs 2015
TDD with Google Spreadsheets #enterjs 2015TDD with Google Spreadsheets #enterjs 2015
TDD with Google Spreadsheets #enterjs 2015wolframkriesing
 
TDD with Google Spreadsheets
TDD with Google SpreadsheetsTDD with Google Spreadsheets
TDD with Google Spreadsheetswolframkriesing
 
Refactoring out of the mess
Refactoring out of the messRefactoring out of the mess
Refactoring out of the messwolframkriesing
 
Day2 - Refactoring (Lecture SS 2015)
Day2 - Refactoring (Lecture SS 2015)Day2 - Refactoring (Lecture SS 2015)
Day2 - Refactoring (Lecture SS 2015)wolframkriesing
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)wolframkriesing
 
react.js - DOM as it was meant
react.js - DOM as it was meantreact.js - DOM as it was meant
react.js - DOM as it was meantwolframkriesing
 
Pixelplant - WebDev Meetup Salzburg
Pixelplant - WebDev Meetup SalzburgPixelplant - WebDev Meetup Salzburg
Pixelplant - WebDev Meetup Salzburgwolframkriesing
 
Presentation Mobile Monday Munich, March 2012
Presentation Mobile Monday Munich, March 2012Presentation Mobile Monday Munich, March 2012
Presentation Mobile Monday Munich, March 2012wolframkriesing
 
Webtestsuite black berrydevcon
Webtestsuite black berrydevconWebtestsuite black berrydevcon
Webtestsuite black berrydevconwolframkriesing
 
JavaScript Tools (PHPConference 2011, Berlin)
JavaScript Tools (PHPConference 2011, Berlin)JavaScript Tools (PHPConference 2011, Berlin)
JavaScript Tools (PHPConference 2011, Berlin)wolframkriesing
 

Mehr von wolframkriesing (20)

JavaScript The Language Meetup - Async functions
JavaScript The Language Meetup - Async functionsJavaScript The Language Meetup - Async functions
JavaScript The Language Meetup - Async functions
 
Our react-native experiences at crewmeister
Our react-native experiences at crewmeisterOur react-native experiences at crewmeister
Our react-native experiences at crewmeister
 
ES6 katas - talk given at enterjs
ES6 katas - talk given at enterjsES6 katas - talk given at enterjs
ES6 katas - talk given at enterjs
 
TDD for Kids - VLCjs (Valencia Spain, July 2015)
TDD for Kids - VLCjs (Valencia Spain, July 2015)TDD for Kids - VLCjs (Valencia Spain, July 2015)
TDD for Kids - VLCjs (Valencia Spain, July 2015)
 
ES6Katas.org - an introduction and the story behind
ES6Katas.org - an introduction and the story behindES6Katas.org - an introduction and the story behind
ES6Katas.org - an introduction and the story behind
 
TDD with Google Spreadsheets #enterjs 2015
TDD with Google Spreadsheets #enterjs 2015TDD with Google Spreadsheets #enterjs 2015
TDD with Google Spreadsheets #enterjs 2015
 
Baby steps
Baby stepsBaby steps
Baby steps
 
TDD with Google Spreadsheets
TDD with Google SpreadsheetsTDD with Google Spreadsheets
TDD with Google Spreadsheets
 
ECMAScript 6 for real
ECMAScript 6 for realECMAScript 6 for real
ECMAScript 6 for real
 
Refactoring out of the mess
Refactoring out of the messRefactoring out of the mess
Refactoring out of the mess
 
Day2 - Refactoring (Lecture SS 2015)
Day2 - Refactoring (Lecture SS 2015)Day2 - Refactoring (Lecture SS 2015)
Day2 - Refactoring (Lecture SS 2015)
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)
 
react.js - DOM as it was meant
react.js - DOM as it was meantreact.js - DOM as it was meant
react.js - DOM as it was meant
 
Pixelplant - WebDev Meetup Salzburg
Pixelplant - WebDev Meetup SalzburgPixelplant - WebDev Meetup Salzburg
Pixelplant - WebDev Meetup Salzburg
 
Better Code through TDD
Better Code through TDDBetter Code through TDD
Better Code through TDD
 
April JavaScript Tools
April JavaScript ToolsApril JavaScript Tools
April JavaScript Tools
 
Presentation Mobile Monday Munich, March 2012
Presentation Mobile Monday Munich, March 2012Presentation Mobile Monday Munich, March 2012
Presentation Mobile Monday Munich, March 2012
 
Webtestsuite black berrydevcon
Webtestsuite black berrydevconWebtestsuite black berrydevcon
Webtestsuite black berrydevcon
 
EmbedJS
EmbedJSEmbedJS
EmbedJS
 
JavaScript Tools (PHPConference 2011, Berlin)
JavaScript Tools (PHPConference 2011, Berlin)JavaScript Tools (PHPConference 2011, Berlin)
JavaScript Tools (PHPConference 2011, Berlin)
 

dojo.basix

  • 1. dojo.basix Wolfram Kriesing wolfram@uxebu.com
  • 2. dojo.basics • namespaced (dojo.lang, dojo.fx, dijit.form) • dojo, dijit, dojox, yournamespace • package system • build system (incl. your namespaces) • i18n
  • 3. 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)
  • 4. 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()
  • 5. namespace, class Create namespace and singleton dojo.provide(quot;phprquot;); // Register namespace relative to dojo.js dojo.registerModulePath(quot;phprquot;, quot;../../phprquot;); phpr.send = function(params) {}; Declare a class dojo.provide(quot;phpr.Mainquot;); dojo.declare(quot;phpr.Mainquot;, phpr.Component, { constructor:function() {}, render:function() {} });
  • 6. dojo.hitch dojo.connect( domNode, quot;onclickquot;, dojo.hitch(this, quot;handleClickquot;) ); dojo.xhr({ load: dojo.hitch(this, function() { // handle onLoad stuff }) })
  • 7. dojo basics (dom) • dojo.byId(), dojo.query(), dojo.attr() • dojo.coords() • dojo.addClass(), dojo.removeClass(), dojo.hasClass() • dojo.addOnLoad()
  • 9. dijit - dojo widgets http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themeTester.html
  • 10. written vs. rendered you write <input id=“cb1“ name=“cb1“ type=“checkbox“ dojoType=“dijit.form.Checkbox“ /> you get <div class=quot;dijitReset dijitInline dijitCheckBoxquot; wairole=quot;presentationquot; role=quot;wairole:presentationquot; widgetid=quot;cb1quot;> <input id=quot;cb1quot; class=quot;dijitReset dijitCheckBoxInputquot; type=quot;checkboxquot; dojoattachevent=quot;onmouseover:_onMouse, onmouseout:_onMouse,onclick:_onClickquot; dojoattachpoint=quot;focusNodequot; name=quot;cb1quot; value=quot;fooquot; tabindex=quot;0quot; style=quot;-moz-user-select: none;quot;/> </div>
  • 11. 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
  • 12. Events (DOM, dijit) • dojo.connect(domNode, „onclick“, ...) • dojo.connect(widget, „onClick“, ...) • dojo.connect(widget, „onCustomEvent“, ...) DEMO dojo.query, dojo.connect: onmouseover vs. onMouseOver, dijit.byId/Node, dijit.getEnclosingWidget closure
  • 13. 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 > cd util/buildscripts >./build.sh profile=quot;phprquot; action=quot;clean,releasequot; localeList=quot;en,dequot; optimize=quot;shrinksafequot; releaseDir=quot;../../dojo-buildquot; releaseName=quot;quot;
  • 14. fx • dojo.fadeIn(), dojo.fadeOut() • dojo.fx.wipeIn(), dojo.fx.wipeOut() • dojo.toggleClass() • dojox.fx • sizeTo(), slideBy(), crossFade(), highlight(), wipeTo(), smoothScroll(),
  • 15. grid • various stores (dojo.data) • sortable, filterable, dynamic paging • editable
  • 16. COPY with pride • Examples archive.dojotoolkit.org/nightly http://archive.dojotoolkit.org/nightly • Search dojotoolkit.org (valueable forum) • Dojo feature explorer http://dojocampus.org/explorer/ • API browser (in progress) http://api.dojotoolkit.org • dojo book http://docs.dojocampus.org