javascript
下記のようにrequireの第一引数としてオブジェクトを渡してあげるとloaderのフェーズ毎にログ出力されるようになる。 require({$ trace:{$ "loader-inject":1, // turn the loader-inject group on "loader-define":0 // turn the loader-define group off }…
dojoというかAMDでモジュール化されているjavascript全般ですが。.vimrcに以下の行を追加。 autocmd FileType javascript setlocal includeexpr=substitute(v:fname,'$','.js','') | setlocal path+=;/ 下記のdefineにかいてあるような、モジュールID(パス)…
dojo/dom-construct dojo/dom-constructはDOM組み立てるためのdojoのAPIです。dojo内では、domConstructという名前で使っている事が多いようです。 toDom 文字列からDOMノードを構築します。不正な文字列だった場合にはそのまま文字列が返ってきます。引数説…
dojo/dom-class dojo/dom-classはDOMのclassを操作するためのdojoのAPIです。dojo内では、domClassという名前で使っている事が多いようです。 containes 対象のDOMに指定したクラスが設定されているかをtrue/falseで返します。引数説明Object/string対象のdo…
dojo/dom-attr dojo/dom-attrはDOMの属性を操作するためのAPIを定義しています。dojo内では、domAttrという名前で使っている事が多いようです。 get/getNodeProp どちらも指定したDOMの属性を取得できます。何が違うかと言うと、getは明示的に設定された属性…
dojo/dom dojo/domはコアとなるDOM APIを定義しています。定義されているのはbyId/isDescendant/setSelectableの3つの関数です。byIdはよく使うと思いますが、あとの二つはそれほどでも、という感じです。サンプル。 <html> <head> <meta charset="utf-8"> <title>Tutorial: Hello Dojo!</title> </head> <body> <div id="a1"> <div id="b1"> <span id="c1">this is </span></div></div></body></html>…
Dojo Toolkitのモジュールについて、ざっくり見ていきます。結構細かく分かれてます。まず、大きく3つのパッケージ(dojo/dijit/dojox)に分かれます。 dojo Dojo Toolkitのベースとなるコアパッケージです。結構あるな...と漠然と思っていましたが、改めて数…
モジュールを作ってみます。以下のような構成です。sample7.html <html> <head> <meta charset="utf-8"> <title>Tutorial: Hello Dojo!</title> </head> <body> <h1 id="greeting">Hello</h1> <script src="dojo/dojo.js" data-dojo-config="async: true"></script> <script> require(['ysobj/hello','dojo/domR…</body></html>
dojoのドキュメントを読んでいたら、dojo/aspectなんていうAOPのためのモジュールがあったので試してみます(Javaではおなじみですね。他の言語でどうなのかよく知りません) <html> <head> <meta charset="utf-8"> <title>Tutorial: Hello Dojo!</title> </head> <body> <h1 id="greeting">Hello</h1> <h1 id="greetingJa">こんにちは</h1> </body></html>
dojo toolkit は、基本的なDOM操作や配列の操作、イベントはもとより、UI部品やグラフ、そしてモジュール化の仕組み、ビルドツールまでそろったオールインワンのJavaScriptのライブラリです。ただあまり日本語情報は多くなく、また、ここ数年で、内部構造の…
何の違いがあるんだろう...と思っていたんだけど、goog.style.setInlineBlock(element)はgoog.style.removeInlineBlock(element)がないのに対して、goog.dom.classes.add(element,'goog-inline-block')はgoog.dom.classes.remove(element,'goog-inline-block…
いやね、Containerのサンプル見たら、HorizontalのコンテナにControlをaddChildする前に、addClassName("goog-inline-block")してて、そこコメントアウトしたら横に並ばず...。 goog.provide('hoge.HBox'); goog.require('goog.ui.Container'); goog.require…
enterDocumentはDOMが作成されて、document上に配置された時に呼ばれる。だから、イベントリスナーを張るのに適した場所だ。その前に、プロパティに、goog.events.EventHandlerを持っておく。 goog.require('goog.events.EventHandler'); //略 hoge.Box = fu…
まず、コンポーネントを作ってみる。参考。http://code.google.com/p/closure-library/wiki/IntroToComponents参考のページとそのサンプルコードを見ればそれでいいような気もするが、ちょっと簡略化してちょっとずつ確認してみる。 goog.provide('hoge.Box'…
closure-libraryはgoogleがつくった、gmail等で利用されているライブラリ。かっちり作りこみたい向きのためのライブラリなので、小さい規模の開発には面倒が多い、という感じを受ける。 関連プロダクトであるclosure compilerを使って、最適化して使うことが…