Showing
1000 changed files
with
4941 additions
and
0 deletions
Too many changes to show.
To preserve performance only 1000 of 1000+ files are displayed.
Admin-Windows.jpg
0 → 100644
489 KB
bower.json
0 → 100755
1 | +{ | ||
2 | + "name": "docker-panel-demo", | ||
3 | + "description": "Dynamic docking panels", | ||
4 | + "version": "0.0.1", | ||
5 | + "keywords": [ | ||
6 | + "css", | ||
7 | + "js", | ||
8 | + "front-end", | ||
9 | + "framework", | ||
10 | + "web", | ||
11 | + "dynamic" | ||
12 | + ], | ||
13 | + "homepage": "http://docker.webcabin.org/", | ||
14 | + "main": [ | ||
15 | + "Build", | ||
16 | + "Build/Themes" | ||
17 | + ], | ||
18 | + "ignore": [ | ||
19 | + "/.*", | ||
20 | + "index.html", | ||
21 | + "Code", | ||
22 | + "Compiler", | ||
23 | + "images", | ||
24 | + "Themes", | ||
25 | + "package.json" | ||
26 | + ], | ||
27 | + "dependencies": { | ||
28 | + "jquery": "1.11.1", | ||
29 | + "jQuery-contextMenu": "1.6.6", | ||
30 | + "font-awesome": "4.6.0" | ||
31 | + }, | ||
32 | + "devDependencies": { | ||
33 | + "dcl": "1.1.2", | ||
34 | + "requirejs": "2.1.x", | ||
35 | + "requirejs-domready": "2.0.x", | ||
36 | + "almond": "0.3.1", | ||
37 | + "lodash-compat": "3.10.1-amd", | ||
38 | + "dojo": "1.9.1" | ||
39 | + }, | ||
40 | + "license": "MIT" | ||
41 | +} |
bower_components/almond/.bower.json
0 → 100644
1 | +{ | ||
2 | + "name": "almond", | ||
3 | + "version": "0.3.1", | ||
4 | + "main": "almond.js", | ||
5 | + "ignore": [ | ||
6 | + "tests", | ||
7 | + "shrinktest.sh" | ||
8 | + ], | ||
9 | + "homepage": "https://github.com/jrburke/almond", | ||
10 | + "_release": "0.3.1", | ||
11 | + "_resolution": { | ||
12 | + "type": "version", | ||
13 | + "tag": "0.3.1", | ||
14 | + "commit": "8336992b1a3fee8d10310822d4222fb82d24f097" | ||
15 | + }, | ||
16 | + "_source": "https://github.com/jrburke/almond.git", | ||
17 | + "_target": "0.3.1", | ||
18 | + "_originalSource": "almond" | ||
19 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
bower_components/almond/.gitignore
0 → 100644
1 | +.DS_Store |
bower_components/almond/.npmignore
0 → 100644
bower_components/almond/.travis.yml
0 → 100644
bower_components/almond/LICENSE
0 → 100644
1 | +almond is released under two licenses: new BSD, and MIT. You may pick the | ||
2 | +license that best suits your development needs. The text of both licenses are | ||
3 | +provided below. | ||
4 | + | ||
5 | + | ||
6 | +The "New" BSD License: | ||
7 | +---------------------- | ||
8 | + | ||
9 | +Copyright (c) 2010-2011, The Dojo Foundation | ||
10 | +All rights reserved. | ||
11 | + | ||
12 | +Redistribution and use in source and binary forms, with or without | ||
13 | +modification, are permitted provided that the following conditions are met: | ||
14 | + | ||
15 | + * Redistributions of source code must retain the above copyright notice, this | ||
16 | + list of conditions and the following disclaimer. | ||
17 | + * Redistributions in binary form must reproduce the above copyright notice, | ||
18 | + this list of conditions and the following disclaimer in the documentation | ||
19 | + and/or other materials provided with the distribution. | ||
20 | + * Neither the name of the Dojo Foundation nor the names of its contributors | ||
21 | + may be used to endorse or promote products derived from this software | ||
22 | + without specific prior written permission. | ||
23 | + | ||
24 | +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||
25 | +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
26 | +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
27 | +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE | ||
28 | +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
29 | +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
30 | +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
31 | +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
32 | +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
33 | +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | +MIT License | ||
38 | +----------- | ||
39 | + | ||
40 | +Copyright (c) 2010-2011, The Dojo Foundation | ||
41 | + | ||
42 | +Permission is hereby granted, free of charge, to any person obtaining a copy | ||
43 | +of this software and associated documentation files (the "Software"), to deal | ||
44 | +in the Software without restriction, including without limitation the rights | ||
45 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
46 | +copies of the Software, and to permit persons to whom the Software is | ||
47 | +furnished to do so, subject to the following conditions: | ||
48 | + | ||
49 | +The above copyright notice and this permission notice shall be included in | ||
50 | +all copies or substantial portions of the Software. | ||
51 | + | ||
52 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
53 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
54 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
55 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
56 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
57 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
58 | +THE SOFTWARE. |
bower_components/almond/README.md
0 → 100644
1 | +#almond | ||
2 | + | ||
3 | +A replacement [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) loader for | ||
4 | +[RequireJS](http://requirejs.org). It provides a minimal AMD API footprint that includes [loader plugin](http://requirejs.org/docs/plugins.html) support. Only useful for built/bundled AMD modules, does not do dynamic loading. | ||
5 | + | ||
6 | +## Why | ||
7 | + | ||
8 | +Some developers like to use the AMD API to code modular JavaScript, but after doing an optimized build, | ||
9 | +they do not want to include a full AMD loader like RequireJS, since they do not need all that functionality. | ||
10 | +Some use cases, like mobile, are very sensitive to file sizes. | ||
11 | + | ||
12 | +By including almond in the built file, there is no need for RequireJS. | ||
13 | +almond is around **1 kilobyte** when minified with Closure Compiler and gzipped. | ||
14 | + | ||
15 | +Since it can support certain types of loader plugin-optimized resources, it is a great | ||
16 | +fit for a library that wants to use [text templates](http://requirejs.org/docs/api.html#text) | ||
17 | +or [CoffeeScript](https://github.com/jrburke/require-cs) as part of | ||
18 | +their project, but get a tiny download in one file after using the | ||
19 | +[RequireJS Optimizer](http://requirejs.org/docs/optimization.html). | ||
20 | + | ||
21 | +If you are building a library, the wrap=true support in the RequireJS optimizer | ||
22 | +will wrap the optimized file in a closure, so the define/require AMD API does not | ||
23 | +escape the file. Users of your optimized file will only see the global API you decide | ||
24 | +to export, not the AMD API. See the usage section below for more details. | ||
25 | + | ||
26 | +So, you get great code cleanliness with AMD and the use of powerful loader plugins | ||
27 | +in a tiny wrapper that makes it easy for others to use your code even if they do not use AMD. | ||
28 | + | ||
29 | +If you want a single file build output but without the module APIs included, you might want to consider [AMDclean](https://github.com/gfranko/amdclean). | ||
30 | + | ||
31 | +## Restrictions | ||
32 | + | ||
33 | +It is best used for libraries or apps that use AMD and: | ||
34 | + | ||
35 | +* optimize all the modules into one file -- no dynamic code loading. | ||
36 | +* all modules have IDs and dependency arrays in their define() calls -- the RequireJS optimizer will take care of this for you. | ||
37 | +* only have **one** requirejs.config() or require.config() call. | ||
38 | +* the requirejs.config/require.config call needs to be included in the build output. This is particularly important for making sure any [map config](http://requirejs.org/docs/api.html#config-map) use still works. | ||
39 | +* do not use the `var require = {};` style of [passing config](http://requirejs.org/docs/api.html#config). | ||
40 | +* do not use [RequireJS multiversion support/contexts](http://requirejs.org/docs/api.html#multiversion). | ||
41 | +* do not use require.toUrl() or require.nameToUrl(). | ||
42 | +* do not use [packages/packagePaths config](http://requirejs.org/docs/api.html#packages). If you need to use packages that have a main property, [volo](https://github.com/volojs/volo) can create an adapter module so that it can work without this config. Use the `amdify add` command to add the dependency to your project. | ||
43 | + | ||
44 | +What is supported: | ||
45 | + | ||
46 | +* dependencies with relative IDs. | ||
47 | +* define('id', {}) definitions. | ||
48 | +* define(), require() and requirejs() calls. | ||
49 | +* loader plugins that can inline their resources into optimized files, and | ||
50 | +can access those inlined resources synchronously after the optimization pass. | ||
51 | +The [text](http://requirejs.org/docs/api.html#text) and | ||
52 | +[CoffeeScript](https://github.com/jrburke/require-cs) plugins are two such plugins. | ||
53 | + | ||
54 | +## Download | ||
55 | + | ||
56 | +[Latest release](https://github.com/jrburke/almond/raw/latest/almond.js) | ||
57 | + | ||
58 | + | ||
59 | +## Usage | ||
60 | + | ||
61 | +[Download the RequireJS optimizer](http://requirejs.org/docs/download.html#rjs). | ||
62 | + | ||
63 | +[Download the current release of almond.js](https://github.com/jrburke/almond/raw/latest/almond.js). | ||
64 | + | ||
65 | +Run the optimizer using [Node](http://nodejs.org) (also [works in Java](https://github.com/jrburke/r.js/blob/master/README.md)): | ||
66 | + | ||
67 | + node r.js -o baseUrl=. name=path/to/almond include=main out=main-built.js wrap=true | ||
68 | + | ||
69 | +This assumes your project's top-level script file is called main.js and the command | ||
70 | +above is run from the directory containing main.js. If you prefer to use a build.js build profile instead of command line arguments, [this RequireJS optimization section](http://requirejs.org/docs/optimization.html#pitfalls) has info on how to do that. | ||
71 | + | ||
72 | +wrap=true will add this wrapper around the main-built.js contents (which will be minified by UglifyJS: | ||
73 | + | ||
74 | + (function () { | ||
75 | + //almond will be here | ||
76 | + //main and its nested dependencies will be here | ||
77 | + }()); | ||
78 | + | ||
79 | +If you do not want that wrapper, leave off the wrap=true argument. | ||
80 | + | ||
81 | +These optimizer arguments can also be used in a build config object, so it can be used | ||
82 | +in [runtime-generated server builds](https://github.com/jrburke/r.js/blob/master/build/tests/http/httpBuild.js). | ||
83 | + | ||
84 | + | ||
85 | +## Triggering module execution <a name="execution"></a> | ||
86 | + | ||
87 | +As of RequireJS 2.0 and almond 0.1, modules are only executed if they are | ||
88 | +called by a top level require call. The data-main attribute on a script tag | ||
89 | +for require.js counts as a top level require call. | ||
90 | + | ||
91 | +However with almond, it does not look for a data-main attribute, and if your | ||
92 | +main JS module does not use a top level require() or requirejs() call to | ||
93 | +trigger module loading/execution, after a build, it may appear that the code | ||
94 | +broke -- no modules execute. | ||
95 | + | ||
96 | +The 2.0 RequireJS optimizer has a build config, option **insertRequire** that you | ||
97 | +can use to specify that a require([]) call is inserted at the end of the built | ||
98 | +file to trigger module loading. Example: | ||
99 | + | ||
100 | + node r.js -o baseUrl=. name=path/to/almond.js include=main insertRequire=main out=main-built.js wrap=true | ||
101 | + | ||
102 | +or, if using a build config file: | ||
103 | + | ||
104 | +```javascript | ||
105 | +{ | ||
106 | + baseUrl: '.', | ||
107 | + name: 'path/to/almond', | ||
108 | + include: ['main'], | ||
109 | + insertRequire: ['main'], | ||
110 | + out: 'main-built.js', | ||
111 | + wrap: true | ||
112 | +} | ||
113 | +``` | ||
114 | + | ||
115 | +This will result with `require(["main"]);` at the bottom of main-built.js. | ||
116 | + | ||
117 | +## Exporting a public API | ||
118 | + | ||
119 | +If you are making a library that is made up of AMD modules in source form, but will be built with almond into one file, and you want to export a small public | ||
120 | +API for that library, you can use the `wrap` build config to do so. Build | ||
121 | +config: | ||
122 | + | ||
123 | +```javascript | ||
124 | +{ | ||
125 | + baseUrl: '.', | ||
126 | + name: 'path/to/almond', | ||
127 | + include: ['main'], | ||
128 | + out: 'lib-built.js', | ||
129 | + wrap: { | ||
130 | + startFile: 'path/to/start.frag', | ||
131 | + endFile: 'path/to/end.frag' | ||
132 | + } | ||
133 | +} | ||
134 | +``` | ||
135 | + | ||
136 | +Where start.frag could look like this: | ||
137 | + | ||
138 | +```javascript | ||
139 | +(function (root, factory) { | ||
140 | + if (typeof define === 'function' && define.amd) { | ||
141 | + //Allow using this built library as an AMD module | ||
142 | + //in another project. That other project will only | ||
143 | + //see this AMD call, not the internal modules in | ||
144 | + //the closure below. | ||
145 | + define([], factory); | ||
146 | + } else { | ||
147 | + //Browser globals case. Just assign the | ||
148 | + //result to a property on the global. | ||
149 | + root.libGlobalName = factory(); | ||
150 | + } | ||
151 | +}(this, function () { | ||
152 | + //almond, and your modules will be inlined here | ||
153 | +``` | ||
154 | + | ||
155 | +and end.frag is like this: | ||
156 | +```javascript | ||
157 | + //The modules for your project will be inlined above | ||
158 | + //this snippet. Ask almond to synchronously require the | ||
159 | + //module value for 'main' here and return it as the | ||
160 | + //value to use for the public API for the built file. | ||
161 | + return require('main'); | ||
162 | +})); | ||
163 | +``` | ||
164 | + | ||
165 | +After the build, then the built file should be structured like so: | ||
166 | + | ||
167 | +* start.frag | ||
168 | +* almond.js | ||
169 | +* modules for your lib, including 'main' | ||
170 | +* end.frag | ||
171 | + | ||
172 | +## Common errors | ||
173 | + | ||
174 | +Explanations of common errors: | ||
175 | + | ||
176 | +### incorrect module build, no module name | ||
177 | + | ||
178 | +In almond 3.0.0 and earlier, this would show up as "deps is undefined", where | ||
179 | +this line is mentioned: | ||
180 | + | ||
181 | + if (!deps.splice) { | ||
182 | + | ||
183 | +In 3.0.1+ the error is explicitly: "incorrect module build, no module name". | ||
184 | + | ||
185 | +This means that there is a define()'d module, but it is missing a name, | ||
186 | +something that looks like this: | ||
187 | + | ||
188 | + define(function () {}); | ||
189 | + //or | ||
190 | + define([], function () {}); | ||
191 | + | ||
192 | + | ||
193 | +when it should look like: | ||
194 | + | ||
195 | + define('someName', function () {}); | ||
196 | + //or | ||
197 | + define('someName', [], function () {}); | ||
198 | + | ||
199 | + | ||
200 | +This is usually a sign that the tool you used to combine all the modules | ||
201 | +together did not properly name an anonymous AMD module. | ||
202 | + | ||
203 | +Multiple modules built into a single file **must** have names in the define calls. | ||
204 | +Otherwise almond has no way to assign the module to a name key for use in the code. | ||
205 | + | ||
206 | +The fix is to use a build tool that understand AMD modules and inserts the module | ||
207 | +IDs in the build. The | ||
208 | +[requirejs optimizer](http://requirejs.org/docs/optimization.html) is a build tool | ||
209 | +that can do this correctly. | ||
210 | + | ||
211 | +### x missing y | ||
212 | + | ||
213 | +It means that module 'x' asked for module 'y', but module 'y' was not available. | ||
214 | + | ||
215 | +This usually means that 'y' was not included in the built file that includes almond. | ||
216 | + | ||
217 | +almond can only handle modules built in with it, it cannot dynamically load | ||
218 | +modules from the network. | ||
219 | + | ||
220 | + | ||
221 | +### No y | ||
222 | + | ||
223 | +It means that a `require('y')` call was done but y was not available. | ||
224 | + | ||
225 | +This usually means that 'y' was not included in the built file that includes almond. | ||
226 | + | ||
227 | +almond can only handle modules built in with it, it cannot dynamically load | ||
228 | +modules from the network. | ||
229 | + | ||
230 | +## How to get help | ||
231 | + | ||
232 | +* Contact the [requirejs list](https://groups.google.com/group/requirejs). | ||
233 | +* Open issues in the [issue tracker](https://github.com/jrburke/almond/issues). | ||
234 | + | ||
235 | +## Contributing | ||
236 | + | ||
237 | +Almond follows the | ||
238 | +[same contribution model as requirejs](http://requirejs.org/docs/contributing.html) | ||
239 | +and is considered a sub-project of requirejs. | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
bower_components/almond/almond.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/almond/bower.json
0 → 100644
bower_components/almond/package.json
0 → 100644
1 | +{ | ||
2 | + "name": "almond", | ||
3 | + "description": "A minimal AMD API implementation for use in optimized browser builds.", | ||
4 | + "version": "0.3.1", | ||
5 | + "homepage": "http://github.com/jrburke/almond", | ||
6 | + "author": "James Burke <jrburke@gmail.com> (http://github.com/jrburke)", | ||
7 | + "repository": { | ||
8 | + "type": "git", | ||
9 | + "url": "git://github.com/jrburke/almond.git" | ||
10 | + }, | ||
11 | + "licenses": [ | ||
12 | + { | ||
13 | + "type": "BSD", | ||
14 | + "url": "https://github.com/jrburke/almond/blob/master/LICENSE" | ||
15 | + }, | ||
16 | + { | ||
17 | + "type": "MIT", | ||
18 | + "url": "https://github.com/jrburke/almond/blob/master/LICENSE" | ||
19 | + } | ||
20 | + ], | ||
21 | + "main": "almond.js", | ||
22 | + "engines": { | ||
23 | + "node": ">=0.4.0" | ||
24 | + }, | ||
25 | + "devDependencies": { | ||
26 | + "connect": "^3.3.4", | ||
27 | + "serve-static": "^1.9.1" | ||
28 | + } | ||
29 | +} |
bower_components/dcl/.bower.json
0 → 100644
1 | +{ | ||
2 | + "name": "dcl", | ||
3 | + "version": "1.1.2", | ||
4 | + "main": "dcl.js", | ||
5 | + "ignore": [ | ||
6 | + "**/.*", | ||
7 | + "node_modules", | ||
8 | + "bower_components", | ||
9 | + "test", | ||
10 | + "tests" | ||
11 | + ], | ||
12 | + "homepage": "https://github.com/uhop/dcl", | ||
13 | + "_release": "1.1.2", | ||
14 | + "_resolution": { | ||
15 | + "type": "version", | ||
16 | + "tag": "1.1.2", | ||
17 | + "commit": "64bfb2b736e787b1c2323ac31e1c7042bb7388c3" | ||
18 | + }, | ||
19 | + "_source": "https://github.com/uhop/dcl.git", | ||
20 | + "_target": "1.1.2", | ||
21 | + "_originalSource": "dcl" | ||
22 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
bower_components/dcl/AUTHORS
0 → 100644
1 | +Eugene Lazutkin <eugene.lazutkin@gmail.com> (http://lazutkin.com/) |
bower_components/dcl/CONTRIBUTING.md
0 → 100644
1 | +Contribution guidelines | ||
2 | +======================= | ||
3 | + | ||
4 | +## For end-users | ||
5 | + | ||
6 | +If you are experiencing problems, and need help, please start with [the support web site](http://www.dcljs.org/support/). | ||
7 | + | ||
8 | +## For contributors | ||
9 | + | ||
10 | +* Please search the [issue tracker](https://github.com/uhop/dcl/issues) before submitting new issues | ||
11 | + to avoid duplicates. | ||
12 | +* For any non-trivial contributions (new features, etc.), please create a new issue in the issue tracker | ||
13 | + to track discussion prior to submitting a [pull request](http://help.github.com/send-pull-requests). | ||
14 | +* For the time being, you must have a signed [Dojo Foundation CLA](http://dojofoundation.org/about/claForm) | ||
15 | + for any non-trivial patches to be accepted. | ||
16 | +* Any submitted code should conform to the project’s code style guidelines. | ||
17 | +* If appropriate, a test case should be part of the pull request. | ||
18 | +* Thank you for your contribution! | ||
19 | + | ||
20 | +## For committers | ||
21 | + | ||
22 | +* Provide rigorous code review for contributors. | ||
23 | +* When in doubt, ask for a second review; don’t commit code that smells wrong just because it exists. | ||
24 | +* Squash all pull requests into a single commit. | ||
25 | +* Put `[ci skip]` at the end of commit messages for commits that do not modify any code | ||
26 | + (readme changes, etc.) |
bower_components/dcl/LICENSE
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dcl/README.md
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dcl/advices/counter.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["../dcl"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("../dcl")); | ||
6 | + }else{ | ||
7 | + dclAdvicesCounter = factory(dcl); | ||
8 | + } | ||
9 | +})(function(dcl){ | ||
10 | + "use strict"; | ||
11 | + var Counter = new dcl(null, { | ||
12 | + declaredClass: "dcl/advices/counter/Counter", | ||
13 | + constructor: function(){ | ||
14 | + this.reset(); | ||
15 | + }, | ||
16 | + reset: function(){ | ||
17 | + this.calls = this.errors = 0; | ||
18 | + }, | ||
19 | + advice: function(){ | ||
20 | + var self = this; | ||
21 | + return { | ||
22 | + before: function(){ | ||
23 | + ++self.calls; | ||
24 | + }, | ||
25 | + after: function(args, result){ | ||
26 | + if(result instanceof Error){ | ||
27 | + ++self.errors; | ||
28 | + } | ||
29 | + } | ||
30 | + }; | ||
31 | + } | ||
32 | + }); | ||
33 | + | ||
34 | + return function(){ return new Counter; }; | ||
35 | +}); |
bower_components/dcl/advices/flow.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + dclAdvicesFlow = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + var flowStack = [], flowCount = {}; | ||
12 | + return { | ||
13 | + advice: function(name){ | ||
14 | + return { | ||
15 | + before: function(){ | ||
16 | + flowStack.push(name); | ||
17 | + if(flowCount[name]){ | ||
18 | + ++flowCount[name]; | ||
19 | + }else{ | ||
20 | + flowCount[name] = 1; | ||
21 | + } | ||
22 | + }, | ||
23 | + after: function(){ | ||
24 | + --flowCount[name]; | ||
25 | + flowStack.pop(); | ||
26 | + } | ||
27 | + }; | ||
28 | + }, | ||
29 | + inFlowOf: function(name){ | ||
30 | + return flowCount[name]; | ||
31 | + }, | ||
32 | + getStack: function(){ | ||
33 | + return flowStack; | ||
34 | + }, | ||
35 | + getCount: function(){ | ||
36 | + return flowCount; | ||
37 | + } | ||
38 | + }; | ||
39 | +}); |
bower_components/dcl/advices/memoize.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + dclAdvicesMemoize = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + return { | ||
12 | + advice: function(name, keyMaker){ | ||
13 | + return keyMaker ? | ||
14 | + { | ||
15 | + around: function(sup){ | ||
16 | + return function(){ | ||
17 | + var key = keyMaker(this, arguments), cache = this.__memoizerCache, dict; | ||
18 | + if(!cache){ | ||
19 | + cache = this.__memoizerCache = {}; | ||
20 | + } | ||
21 | + if(cache.hasOwnProperty(name)){ | ||
22 | + dict = cache[name]; | ||
23 | + }else{ | ||
24 | + dict = cache[name] = {}; | ||
25 | + } | ||
26 | + if(dict.hasOwnProperty(key)){ | ||
27 | + return dict[key]; | ||
28 | + } | ||
29 | + return dict[key] = sup ? sup.apply(this, arguments) : undefined; | ||
30 | + } | ||
31 | + } | ||
32 | + } : | ||
33 | + { | ||
34 | + around: function(sup){ | ||
35 | + return function(first){ | ||
36 | + var cache = this.__memoizerCache, dict; | ||
37 | + if(!cache){ | ||
38 | + cache = this.__memoizerCache = {}; | ||
39 | + } | ||
40 | + if(cache.hasOwnProperty(name)){ | ||
41 | + dict = cache[name]; | ||
42 | + }else{ | ||
43 | + dict = cache[name] = {}; | ||
44 | + } | ||
45 | + if(dict.hasOwnProperty(first)){ | ||
46 | + return dict[first]; | ||
47 | + } | ||
48 | + return dict[first] = sup ? sup.apply(this, arguments) : undefined; | ||
49 | + } | ||
50 | + } | ||
51 | + }; | ||
52 | + }, | ||
53 | + guard: function(name){ | ||
54 | + return { | ||
55 | + after: function(){ | ||
56 | + var cache = this.__memoizerCache; | ||
57 | + if(cache && name){ | ||
58 | + delete cache[name] | ||
59 | + }else{ | ||
60 | + this.__memoizerCache = {}; | ||
61 | + } | ||
62 | + } | ||
63 | + }; | ||
64 | + } | ||
65 | + }; | ||
66 | +}); |
bower_components/dcl/advices/time.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + dclAdvicesTime = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + var uniq = 0; | ||
12 | + return function(name){ | ||
13 | + var inCall = 0, label = name || ("Timer #" + uniq++); | ||
14 | + return { | ||
15 | + before: function(){ | ||
16 | + if(!(inCall++)){ | ||
17 | + console.time(label); | ||
18 | + } | ||
19 | + }, | ||
20 | + after: function(){ | ||
21 | + if(!--inCall){ | ||
22 | + console.timeEnd(label); | ||
23 | + } | ||
24 | + } | ||
25 | + }; | ||
26 | + }; | ||
27 | +}); |
bower_components/dcl/advices/trace.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + dclAdvicesTrace = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + var lvl = 0; | ||
12 | + function rep(ch, n){ | ||
13 | + if(n < 1){ return ""; } | ||
14 | + if(n == 1){ return ch; } | ||
15 | + var h = rep(ch, Math.floor(n / 2)); | ||
16 | + return h + h + ((n & 1) ? ch : ""); | ||
17 | + | ||
18 | + } | ||
19 | + function pad(value, width, ch){ | ||
20 | + var v = value.toString(); | ||
21 | + return v + rep(ch || " ", width - v.length); | ||
22 | + } | ||
23 | + return function(name, level){ | ||
24 | + return { | ||
25 | + before: function(){ | ||
26 | + ++lvl; | ||
27 | + console.log((level ? pad(lvl, 2 * lvl) : "") + this + " => " + | ||
28 | + name + "(" + Array.prototype.join.call(arguments, ", ") + ")"); | ||
29 | + }, | ||
30 | + after: function(args, result){ | ||
31 | + console.log((level ? pad(lvl, 2 * lvl) : "") + this + " => " + | ||
32 | + name + (result && result instanceof Error ? " throws" : " returns") + | ||
33 | + " " + result); | ||
34 | + --lvl; | ||
35 | + } | ||
36 | + }; | ||
37 | + }; | ||
38 | +}); |
bower_components/dcl/advise.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + advise = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + | ||
12 | + function Node(instance, name){ | ||
13 | + this.next_before = this.prev_before = this.next_after = this.prev_after = | ||
14 | + this.next_around = this.prev_around = this; | ||
15 | + this.instance = instance; | ||
16 | + this.name = name; | ||
17 | + } | ||
18 | + var p = Node.prototype = { | ||
19 | + add: function(before, after, around, original){ | ||
20 | + var node = new Node(this.instance, this.name); | ||
21 | + node.parent = this; | ||
22 | + node.before = before; | ||
23 | + this._add("before", node); | ||
24 | + node.after = after; | ||
25 | + this._add("after", node); | ||
26 | + node.around = around; | ||
27 | + this._add("around", node, original); | ||
28 | + node.original = original; | ||
29 | + if(original){ node.around = advise._instantiate(original, node.prev_around.around, this); } | ||
30 | + return node; | ||
31 | + }, | ||
32 | + _add: function(topic, node, flag){ | ||
33 | + if(node[topic] || flag){ | ||
34 | + var n = "next_" + topic, p = "prev_" + topic; | ||
35 | + (node[p] = this[p])[n] = (node[n] = this)[p] = node; | ||
36 | + } | ||
37 | + }, | ||
38 | + remove: function(node){ | ||
39 | + this._remove("before", node); | ||
40 | + this._remove("after", node); | ||
41 | + this._remove("around", node); | ||
42 | + }, | ||
43 | + _remove: function(topic, node){ | ||
44 | + var n = "next_" + topic, p = "prev_" + topic; | ||
45 | + node[n][p] = node[p]; | ||
46 | + node[p][n] = node[n]; | ||
47 | + }, | ||
48 | + destroy: function(){ | ||
49 | + var around = this.prev_around.around, t = this.next_around, parent = this.parent; | ||
50 | + this.remove(this); | ||
51 | + if(t !== this){ | ||
52 | + for(; t !== parent; around = t.around, t = t.next_around){ | ||
53 | + if(t.original){ | ||
54 | + t.around = advise._instantiate(t.original, around, this); | ||
55 | + } | ||
56 | + } | ||
57 | + } | ||
58 | + this.instance = 0; | ||
59 | + } | ||
60 | + }; | ||
61 | + p.unadvise = p.destroy; // alias | ||
62 | + | ||
63 | + function makeAOPStub(node){ | ||
64 | + var f = function(){ | ||
65 | + var p, r, t = this, a = arguments, thrown; | ||
66 | + // running the before chain | ||
67 | + for(p = node.prev_before; p !== node; p = p.prev_before){ | ||
68 | + p.before.apply(t, a); | ||
69 | + } | ||
70 | + // running the around chain | ||
71 | + try{ | ||
72 | + if(node.prev_around !== node){ r = node.prev_around.around.apply(t, a); } | ||
73 | + }catch(e){ | ||
74 | + r = e; | ||
75 | + thrown = true; | ||
76 | + } | ||
77 | + // running the after chain | ||
78 | + for(p = node.next_after; p !== node; p = p.next_after){ | ||
79 | + p.after.call(t, a, r); | ||
80 | + } | ||
81 | + if(thrown){ | ||
82 | + throw r; | ||
83 | + } | ||
84 | + return r; | ||
85 | + }; | ||
86 | + f.adviceNode = node; | ||
87 | + return f; | ||
88 | + } | ||
89 | + | ||
90 | + function advise(instance, name, advice){ | ||
91 | + var f = instance[name], node; | ||
92 | + if(f && f.adviceNode && f.adviceNode instanceof Node){ | ||
93 | + node = f.adviceNode; | ||
94 | + }else{ | ||
95 | + node = new Node(instance, name); | ||
96 | + if(f && f.advices){ | ||
97 | + f = f.advices; | ||
98 | + node.add(f.before, f.after, f.around); | ||
99 | + }else{ | ||
100 | + node.add(0, 0, f); | ||
101 | + } | ||
102 | + instance[name] = makeAOPStub(node); | ||
103 | + } | ||
104 | + if(typeof advice == "function"){ advice = advice(name, instance); } | ||
105 | + return node.add(advice.before, advice.after, 0, advice.around); | ||
106 | + } | ||
107 | + | ||
108 | + advise.before = function(instance, name, f){ return advise(instance, name, {before: f}); }; | ||
109 | + advise.after = function(instance, name, f){ return advise(instance, name, {after: f}); }; | ||
110 | + advise.around = function(instance, name, f){ return advise(instance, name, {around: f}); }; | ||
111 | + advise.Node = Node; | ||
112 | + | ||
113 | + advise._instantiate = function(advice, previous, node){ return advice(previous); }; | ||
114 | + | ||
115 | + return advise; | ||
116 | +}); |
bower_components/dcl/bases/Mixer.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["../mini"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("../mini")); | ||
6 | + }else{ | ||
7 | + dclBasesMixer = factory(dcl); | ||
8 | + } | ||
9 | +})(function(dcl){ | ||
10 | + "use strict"; | ||
11 | + return dcl(null, { | ||
12 | + declaredClass: "dcl/bases/Mixer", | ||
13 | + constructor: function(x){ | ||
14 | + dcl.mix(this, x); | ||
15 | + } | ||
16 | + }); | ||
17 | +}); |
bower_components/dcl/bases/Replacer.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["../mini"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("../mini")); | ||
6 | + }else{ | ||
7 | + dclBasesReplacer = factory(dcl); | ||
8 | + } | ||
9 | +})(function(dcl){ | ||
10 | + "use strict"; | ||
11 | + return dcl(null, { | ||
12 | + declaredClass: "dcl/bases/Replacer", | ||
13 | + constructor: function(x){ | ||
14 | + var empty = {}; | ||
15 | + dcl.allKeys(x).forEach(function(name){ | ||
16 | + if(name in this){ | ||
17 | + var t = x[name], e = empty[name]; | ||
18 | + if(t !== e){ | ||
19 | + this[name] = t; | ||
20 | + } | ||
21 | + } | ||
22 | + }, this); | ||
23 | + } | ||
24 | + }); | ||
25 | +}); |
bower_components/dcl/bower.json
0 → 100644
bower_components/dcl/dcl.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["./mini"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("./mini")); | ||
6 | + }else{ | ||
7 | + dcl = factory(dcl); | ||
8 | + } | ||
9 | +})(function(dcl){ | ||
10 | + "use strict"; | ||
11 | + | ||
12 | + function nop(){} | ||
13 | + | ||
14 | + var Advice = dcl(dcl.Super, { | ||
15 | + //declaredClass: "dcl.Advice", | ||
16 | + constructor: function(){ | ||
17 | + this.before = this.around.before; | ||
18 | + this.after = this.around.after; | ||
19 | + this.around = this.around.around; | ||
20 | + } | ||
21 | + }); | ||
22 | + function advise(advice){ return dcl._makeSuper(advice, Advice); } | ||
23 | + | ||
24 | + function makeAOPStub(before, after, around){ | ||
25 | + var beforeChain = before || nop, | ||
26 | + afterChain = after || nop, | ||
27 | + aroundChain = around || nop, | ||
28 | + stub = function(){ | ||
29 | + var r, thrown; | ||
30 | + // running the before chain | ||
31 | + beforeChain.apply(this, arguments); | ||
32 | + // running the around chain | ||
33 | + try{ | ||
34 | + r = aroundChain.apply(this, arguments); | ||
35 | + }catch(e){ | ||
36 | + r = e; | ||
37 | + thrown = true; | ||
38 | + } | ||
39 | + // running the after chain | ||
40 | + afterChain.call(this, arguments, r); | ||
41 | + if(thrown){ | ||
42 | + throw r; | ||
43 | + } | ||
44 | + return r; | ||
45 | + }; | ||
46 | + stub.advices = {before: before, after: after, around: around}; | ||
47 | + return stub; | ||
48 | + } | ||
49 | + | ||
50 | + function chain(id){ | ||
51 | + return function(ctor, name){ | ||
52 | + var meta = ctor._meta, rule; | ||
53 | + if(meta){ | ||
54 | + rule = +meta.weaver[name] || 0; | ||
55 | + if(rule && rule != id){ | ||
56 | + dcl._error("set chaining", name, ctor, id, rule); | ||
57 | + } | ||
58 | + meta.weaver[name] = id; | ||
59 | + } | ||
60 | + }; | ||
61 | + } | ||
62 | + | ||
63 | + dcl.mix(dcl, { | ||
64 | + // public API | ||
65 | + Advice: Advice, | ||
66 | + advise: advise, | ||
67 | + // expose helper methods | ||
68 | + before: function(f){ return dcl.advise({before: f}); }, | ||
69 | + after: function(f){ return dcl.advise({after: f}); }, | ||
70 | + around: dcl.superCall, | ||
71 | + // chains | ||
72 | + chainBefore: chain(1), | ||
73 | + chainAfter: chain(2), | ||
74 | + isInstanceOf: function(o, ctor){ | ||
75 | + if(o instanceof ctor){ | ||
76 | + return true; | ||
77 | + } | ||
78 | + var t = o.constructor._meta, i; | ||
79 | + if(t){ | ||
80 | + for(t = t.bases, i = t.length - 1; i >= 0; --i){ | ||
81 | + if(t[i] === ctor){ | ||
82 | + return true; | ||
83 | + } | ||
84 | + } | ||
85 | + } | ||
86 | + return false; | ||
87 | + }, | ||
88 | + // protected API starts with _ (don't use it!) | ||
89 | + _stub: /*generic stub*/ function(id, bases, name, chains){ | ||
90 | + var f = chains[name] = dcl._extractChain(bases, name, "around"), | ||
91 | + b = dcl._extractChain(bases, name, "before").reverse(), | ||
92 | + a = dcl._extractChain(bases, name, "after"); | ||
93 | + f = id ? dcl._stubChainSuper(f, id == 1 ? function(f){ return dcl._stubChain(f.reverse()); } : dcl._stubChain, name) : dcl._stubSuper(f, name); | ||
94 | + return !b.length && !a.length ? f || function(){} : makeAOPStub(dcl._stubChain(b), dcl._stubChain(a), f); | ||
95 | + } | ||
96 | + }); | ||
97 | + | ||
98 | + return dcl; | ||
99 | +}); |
bower_components/dcl/debug.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["./mini", "./advise"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("./mini"), require("./advise")); | ||
6 | + }else{ | ||
7 | + dclDebug = factory(dcl, advise); | ||
8 | + } | ||
9 | +})(function(dcl, advise){ | ||
10 | + function DclError(message){ | ||
11 | + if(Error.captureStackTrace){ | ||
12 | + Error.captureStackTrace(this, DclError); | ||
13 | + } | ||
14 | + var e = Error.call(this, message), name; | ||
15 | + dcl.allKeys(e).forEach(function(name){ | ||
16 | + if(e.hasOwnProperty(name)){ | ||
17 | + this[name] = e[name]; | ||
18 | + } | ||
19 | + }); | ||
20 | + this.message = message; | ||
21 | + } | ||
22 | + DclError.prototype = dcl.delegate(Error.prototype); | ||
23 | + DclError.prototype.constructor = DclError; | ||
24 | + | ||
25 | + var CycleError = dcl(DclError, {declaredClass: "dcl/debug/CycleError"}), | ||
26 | + ChainingError = dcl(DclError, {declaredClass: "dcl/debug/ChainingError"}), | ||
27 | + SetChainingError = dcl(DclError, {declaredClass: "dcl/debug/SetChainingError"}), | ||
28 | + SuperCallError = dcl(DclError, {declaredClass: "dcl/debug/SuperCallError"}), | ||
29 | + SuperError = dcl(DclError, {declaredClass: "dcl/debug/SuperError"}), | ||
30 | + SuperResultError = dcl(DclError, {declaredClass: "dcl/debug/SuperResultError"}); | ||
31 | + | ||
32 | + var chainNames = ["UNCHAINED BUT CONTAINS ADVICE(S)", "CHAINED BEFORE", "CHAINED AFTER", | ||
33 | + "ERRONEOUSLY CHAINED BEFORE AND AFTER"]; | ||
34 | + function chainName(id){ | ||
35 | + return id >= 0 && id <= 3 ? chainNames[id] : "UNKNOWN (" + id + ")"; | ||
36 | + } | ||
37 | + | ||
38 | + var noDecls = " (specify 'declaredClass' string in your classes to get better diagnostics)"; | ||
39 | + advise.around(dcl, "_error", function(/*sup*/){ | ||
40 | + return function(reason, a1, a2, a3, a4, a5){ | ||
41 | + var cName, someUnknown, i, base, name, names = [], c = {}; | ||
42 | + switch(reason){ | ||
43 | + case "cycle": | ||
44 | + cName = a1.hasOwnProperty("declaredClass") && a1.declaredClass; | ||
45 | + someUnknown = !cName; | ||
46 | + for(i = a2.length - 1; i >= 0; --i){ | ||
47 | + base = a2[i][0]; | ||
48 | + name = base.prototype.hasOwnProperty("declaredClass") && base.prototype.declaredClass; | ||
49 | + if(!name){ | ||
50 | + name = "UNNAMED_" + base._uniqueId; | ||
51 | + someUnknown = true; | ||
52 | + } | ||
53 | + if(!c[name]){ | ||
54 | + names.push(name); | ||
55 | + c[name] = 1; | ||
56 | + } | ||
57 | + } | ||
58 | + throw new CycleError("dcl: base class cycle found in: " + (cName || "UNNAMED") + | ||
59 | + " - bases: " + names.join(", ") + " are mutually dependent" + | ||
60 | + (someUnknown ? noDecls : "")); | ||
61 | + case "chain": | ||
62 | + cName = a2.prototype.hasOwnProperty("declaredClass") && a2.prototype.declaredClass; | ||
63 | + name = a4.prototype.hasOwnProperty("declaredClass") && a4.prototype.declaredClass; | ||
64 | + someUnknown = !(cName && name); | ||
65 | + throw new ChainingError("dcl: conflicting chain directives from bases found in: " + (cName || ("UNNAMED_" + a2._uniqueId)) + | ||
66 | + ", method: " + a1 + " - it was " + chainName(a3) + " yet " + | ||
67 | + (name || ("UNNAMED_" + a4._uniqueId)) + " sets it to " + chainName(a5) + | ||
68 | + (someUnknown ? noDecls : "")); | ||
69 | + case "set chaining": | ||
70 | + cName = a2.prototype.hasOwnProperty("declaredClass") && a2.prototype.declaredClass; | ||
71 | + someUnknown = !cName; | ||
72 | + throw new SetChainingError("dcl: attempt to set conflicting chain directives in: " + (cName || ("UNNAMED_" + a2._uniqueId)) + | ||
73 | + ", method: " + a1 + " - it was " + chainName(a4) + " yet being changed to " + chainName(a3) + | ||
74 | + (someUnknown ? noDecls : "")); | ||
75 | + case "wrong super call": | ||
76 | + cName = a1.prototype.hasOwnProperty("declaredClass") && a1.prototype.declaredClass; | ||
77 | + someUnknown = !cName; | ||
78 | + throw new SuperCallError("dcl: argument of around advice or supercall decorator should be a function in: " + | ||
79 | + (cName || ("UNNAMED_" + a1._uniqueId)) + ", method: " + a2 + (someUnknown ? noDecls : "")); | ||
80 | + case "wrong super": | ||
81 | + cName = a1.prototype.hasOwnProperty("declaredClass") && a1.prototype.declaredClass; | ||
82 | + someUnknown = !cName; | ||
83 | + throw new SuperError("dcl: super method should be a function in: " + | ||
84 | + (cName || ("UNNAMED_" + a1._uniqueId)) + ", method: " + a2 + (someUnknown ? noDecls : "")); | ||
85 | + case "wrong super result": | ||
86 | + cName = a1.prototype.hasOwnProperty("declaredClass") && a1.prototype.declaredClass; | ||
87 | + someUnknown = !cName; | ||
88 | + throw new SuperResultError("dcl: around advice or supercall should return a function in: " + | ||
89 | + (cName || ("UNNAMED_" + a1._uniqueId)) + ", method: " + a2 + (someUnknown ? noDecls : "")); | ||
90 | + } | ||
91 | + throw new DclError("dcl: " + reason); | ||
92 | + }; | ||
93 | + }); | ||
94 | + | ||
95 | + advise.after(dcl, "_postprocess", function(args, ctor){ | ||
96 | + // validate that chaining is consistent | ||
97 | + var meta = ctor._meta, weaver = meta.weaver, bases = meta.bases, | ||
98 | + name, chain, base, i, rule; | ||
99 | + dcl.allKeys(weaver).forEach(function(name){ | ||
100 | + chain = (+weaver[name] || 0); | ||
101 | + for(i = bases.length - 1; i >= 0; --i){ | ||
102 | + base = bases[i]; | ||
103 | + meta = base._meta; | ||
104 | + if(meta){ | ||
105 | + rule = (+meta.weaver[name] || 0); | ||
106 | + if(chain != rule && (!chain || rule)){ | ||
107 | + dcl._error("chain", name, ctor, chain, base, rule); | ||
108 | + } | ||
109 | + } | ||
110 | + } | ||
111 | + }); | ||
112 | + }); | ||
113 | + | ||
114 | + advise.around(dcl, "_instantiate", function(/*sup*/){ | ||
115 | + return function(advice, previous, node){ | ||
116 | + if(!advice || !advice.spr || typeof advice.spr.around != "function"){ | ||
117 | + dcl._error("wrong super call", advice.ctr, node); | ||
118 | + } | ||
119 | + if(previous && typeof previous != "function"){ | ||
120 | + dcl._error("wrong super", advice.ctr, node); | ||
121 | + } | ||
122 | + var t = advice.spr.around(previous); | ||
123 | + if(typeof t != "function"){ | ||
124 | + dcl._error("wrong super result", advice.ctr, node); | ||
125 | + } | ||
126 | + t.ctr = advice.ctr; | ||
127 | + return t; | ||
128 | + }; | ||
129 | + }); | ||
130 | + | ||
131 | + advise(advise, "_instantiate", { | ||
132 | + before: function(advice, previous, node){ | ||
133 | + if(typeof advice != "function"){ | ||
134 | + dcl._error("wrong super call", node.instance.constructor, node.name); | ||
135 | + } | ||
136 | + if(previous && typeof previous != "function"){ | ||
137 | + dcl._error("wrong super", node.instance.constructor, node.name); | ||
138 | + } | ||
139 | + }, | ||
140 | + after: function(a, result){ | ||
141 | + if(typeof result != "function"){ | ||
142 | + dcl._error("wrong super result", a[2].instance.constructor, a[2].name); | ||
143 | + } | ||
144 | + } | ||
145 | + }); | ||
146 | + | ||
147 | + function logCtor(ctor){ | ||
148 | + var meta = ctor._meta; | ||
149 | + if(!meta){ | ||
150 | + console.log("*** class does not have meta information compatible with dcl"); | ||
151 | + return; | ||
152 | + } | ||
153 | + var weaver = meta.weaver, bases = meta.bases, chains = meta.chains, names = [], base, name, someUnknown, i; | ||
154 | + for(i = 0; i < bases.length; ++i){ | ||
155 | + base = bases[i]; | ||
156 | + name = base.prototype.hasOwnProperty("declaredClass") && base.prototype.declaredClass; | ||
157 | + if(!name){ | ||
158 | + name = "UNNAMED_" + (base.hasOwnProperty("_uniqueId") ? base._uniqueId : ""); | ||
159 | + someUnknown = true; | ||
160 | + } | ||
161 | + names.push(name); | ||
162 | + } | ||
163 | + console.log("*** class " + names[0] + " depends on " + (names.length - 1) + " classes"); | ||
164 | + if(names.length > 1){ | ||
165 | + console.log(" dependencies: " + names.slice(1).join(", ")); | ||
166 | + } | ||
167 | + if(someUnknown){ | ||
168 | + console.log(" " + noDecls); | ||
169 | + } | ||
170 | + dcl.allKeys(weaver).forEach(function(name){ | ||
171 | + i = +weaver[name]; | ||
172 | + if(!isNaN(i)){ | ||
173 | + var hasStub = typeof ctor.prototype[name].advices == "object"; | ||
174 | + if(hasStub){ | ||
175 | + var b = dcl._extractChain(bases, name, "b").length, | ||
176 | + f = dcl._extractChain(bases, name, "f").length, | ||
177 | + a = dcl._extractChain(bases, name, "a").length; | ||
178 | + } | ||
179 | + console.log(" class method " + name + " is " + chainName(i) + | ||
180 | + (hasStub ? | ||
181 | + ", and has an AOP stub (before: " + b + ", around: " + f + ", after: " + a + ")" : | ||
182 | + " (length: " + chains[name].length + ")" )); | ||
183 | + } | ||
184 | + }); | ||
185 | + } | ||
186 | + | ||
187 | + function countAdvices(node, chain){ | ||
188 | + for(var counter = 0, p = node[chain]; p != node; p = p[chain], ++counter); | ||
189 | + return counter; | ||
190 | + } | ||
191 | + | ||
192 | + function log(o, suppressCtor){ | ||
193 | + switch(typeof o){ | ||
194 | + case "function": | ||
195 | + logCtor(o); | ||
196 | + return; | ||
197 | + case "object": | ||
198 | + var base = o.constructor, | ||
199 | + name = base.prototype.hasOwnProperty("declaredClass") && base.prototype.declaredClass; | ||
200 | + if(!name){ | ||
201 | + name = "UNNAMED_" + (base.hasOwnProperty("_uniqueId") ? base._uniqueId : ""); | ||
202 | + } | ||
203 | + console.log("*** object of class " + name); | ||
204 | + // log the constructor | ||
205 | + if(!suppressCtor){ | ||
206 | + logCtor(base); | ||
207 | + } | ||
208 | + // log methods | ||
209 | + dcl.allKeys(o).forEach(function(name){ | ||
210 | + var f = o[name], b, r, a; | ||
211 | + if(typeof f == "function"){ | ||
212 | + if(f.adviceNode && f.adviceNode instanceof advise.Node){ | ||
213 | + b = countAdvices(f.adviceNode, "pb"); | ||
214 | + r = countAdvices(f.adviceNode, "pf"); | ||
215 | + a = countAdvices(f.adviceNode, "pa"); | ||
216 | + console.log(" object method " + name + " has an AOP stub (before: " + | ||
217 | + b + ", around: " + r + ", after: " + a + ")"); | ||
218 | + } | ||
219 | + } | ||
220 | + }); | ||
221 | + return; | ||
222 | + } | ||
223 | + console.log(o); | ||
224 | + } | ||
225 | + | ||
226 | + return { | ||
227 | + log: log, | ||
228 | + DclError: DclError, | ||
229 | + CycleError: CycleError, | ||
230 | + ChainingError: ChainingError, | ||
231 | + SetChainingError: SetChainingError, | ||
232 | + SuperCallError: SuperCallError, | ||
233 | + SuperError: SuperError, | ||
234 | + SuperResultError: SuperResultError | ||
235 | + }; | ||
236 | +}); |
bower_components/dcl/inherited.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["./mini", "./advise"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("./mini"), require("./advise")); | ||
6 | + }else{ | ||
7 | + factory(dcl, advise); | ||
8 | + } | ||
9 | +})(function(dcl, advise){ | ||
10 | + var empty = {}, t; | ||
11 | + | ||
12 | + function inherited(ctor, name, args){ | ||
13 | + var callee = arguments.length < 3 && ctor.callee, // callee is truthy if in non-strict mode. | ||
14 | + f = get.call(this, callee ? callee.ctr : ctor, callee ? callee.nom : name); | ||
15 | + if(f){ return f.apply(this, callee ? ctor || name : args); } | ||
16 | + // intentionally no return | ||
17 | + } | ||
18 | + | ||
19 | + function get(ctor, name){ | ||
20 | + var meta = this.constructor._meta, bases, base, i, l; | ||
21 | + if(+meta.weaver[name]){ | ||
22 | + return; // return undefined | ||
23 | + } | ||
24 | + if(meta){ | ||
25 | + if(meta.chains.hasOwnProperty(name)){ | ||
26 | + if((bases = meta.chains[name])){ // intentional assignment | ||
27 | + for(i = bases.length - 1; i >= 0; --i){ | ||
28 | + base = bases[i]; | ||
29 | + if(base.ctr === ctor){ | ||
30 | + return i > 0 ? bases[i - 1] : 0; | ||
31 | + } | ||
32 | + } | ||
33 | + } | ||
34 | + return; // return undefined | ||
35 | + } | ||
36 | + for(bases = meta.bases, i = bases.length - 1; i >= 0; --i){ | ||
37 | + if(bases[i] === ctor){ | ||
38 | + break; | ||
39 | + } | ||
40 | + } | ||
41 | + if(i >= 0){ | ||
42 | + for(++i, l = bases.length; i < l; ++i){ | ||
43 | + if((meta = (base = bases[i])._meta)){ // intentional assignments | ||
44 | + if((meta = meta.ownProps).hasOwnProperty(name)){ // intentional assignment | ||
45 | + return meta[name]; | ||
46 | + } | ||
47 | + }else{ | ||
48 | + return base.prototype[name]; | ||
49 | + } | ||
50 | + } | ||
51 | + } | ||
52 | + } | ||
53 | + return empty[name]; | ||
54 | + } | ||
55 | + | ||
56 | + advise.after(dcl, "_postprocess", function(args, ctor){ | ||
57 | + // decorate all methods with necessary nom/ctr variables | ||
58 | + var bases = ctor._meta.bases, i = bases.length - 1, base, meta, name, f; | ||
59 | + for(; i >= 0; --i){ | ||
60 | + base = bases[i]; | ||
61 | + if((meta = base._meta)){ // intentional assignment | ||
62 | + meta = meta.ownProps; | ||
63 | + dcl.allKeys(meta).some(function(name){ | ||
64 | + f = meta[name]; | ||
65 | + if(typeof f == "function"){ | ||
66 | + if(f.nom === name){ return 1; } | ||
67 | + f.nom = name; | ||
68 | + f.ctr = base; | ||
69 | + } | ||
70 | + }); | ||
71 | + } | ||
72 | + } | ||
73 | + ctor.prototype.inherited = inherited; | ||
74 | + ctor.prototype.getInherited = get; | ||
75 | + }); | ||
76 | + | ||
77 | + dcl.getInherited = inherited.get = get; | ||
78 | + return dcl.inherited = inherited; // intentional assignment | ||
79 | +}); |
bower_components/dcl/legacy.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + dcl = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + | ||
12 | + var shadowedNames = ["hasOwnProperty", "valueOf", "isPrototypeOf", "propertyIsEnumerable", | ||
13 | + "toLocaleString", "toString", "constructor"], op = Object.prototype; | ||
14 | + for(var post in {toString: 1}){ | ||
15 | + shadowedNames = []; | ||
16 | + } | ||
17 | + | ||
18 | + function allKeys(o){ | ||
19 | + var keys = []; | ||
20 | + for(var name in o){ | ||
21 | + var t = o[name]; | ||
22 | + if(t !== op[name] || !(name in op)){ | ||
23 | + keys.push(name); | ||
24 | + } | ||
25 | + } | ||
26 | + for(var i = 0; name = shadowedNames[i]; ++i){ // intentional assignment | ||
27 | + var t = o[name]; | ||
28 | + if(t !== op[name] || !(name in op)){ | ||
29 | + keys.push(name); | ||
30 | + } | ||
31 | + } | ||
32 | + return keys; | ||
33 | + } | ||
34 | + | ||
35 | + var counter = 0, cname = "constructor", pname = "prototype", empty = {}, mix; | ||
36 | + | ||
37 | + function dcl(superClass, props){ | ||
38 | + var bases = [0], proto, base, ctor, meta, connectionMap, | ||
39 | + output, vector, superClasses, i, j = 0, n; | ||
40 | + | ||
41 | + if(superClass){ | ||
42 | + if(superClass instanceof Array){ | ||
43 | + // mixins: C3 MRO | ||
44 | + connectionMap = {}; | ||
45 | + superClasses = superClass.slice(0).reverse(); | ||
46 | + for(i = superClasses.length - 1; i >= 0; --i){ | ||
47 | + base = superClasses[i]; | ||
48 | + // pre-process a base | ||
49 | + // 1) add a unique id | ||
50 | + base._uniqueId = base._uniqueId || counter++; | ||
51 | + // 2) build a connection map and the base list | ||
52 | + if((proto = base._meta)){ // intentional assignment | ||
53 | + for(vector = proto.bases, j = vector.length - 1; j > 0; --j){ | ||
54 | + n = vector[j]._uniqueId; | ||
55 | + connectionMap[n] = (connectionMap[n] || 0) + 1; | ||
56 | + } | ||
57 | + superClasses[i] = vector.slice(0); | ||
58 | + }else{ | ||
59 | + superClasses[i] = [base]; | ||
60 | + } | ||
61 | + } | ||
62 | + // build output | ||
63 | + output = {}; | ||
64 | + c: while(superClasses.length){ | ||
65 | + for(i = 0; i < superClasses.length; ++i){ | ||
66 | + vector = superClasses[i]; | ||
67 | + base = vector[0]; | ||
68 | + n = base._uniqueId; | ||
69 | + if(!connectionMap[n]){ | ||
70 | + if(!output[n]){ | ||
71 | + bases.push(base); | ||
72 | + output[n] = 1; | ||
73 | + } | ||
74 | + vector.shift(); | ||
75 | + if(vector.length){ | ||
76 | + --connectionMap[vector[0]._uniqueId]; | ||
77 | + }else{ | ||
78 | + superClasses.splice(i, 1); | ||
79 | + } | ||
80 | + continue c; | ||
81 | + } | ||
82 | + } | ||
83 | + // error | ||
84 | + dcl._error("cycle", props, superClasses); | ||
85 | + } | ||
86 | + // calculate a base class | ||
87 | + superClass = superClass[0]; | ||
88 | + j = bases.length - ((meta = superClass._meta) && superClass === bases[bases.length - (j = meta.bases.length)] ? j : 1) - 1; // intentional assignments | ||
89 | + }else{ | ||
90 | + // 1) add a unique id | ||
91 | + superClass._uniqueId = superClass._uniqueId || counter++; | ||
92 | + // 2) single inheritance | ||
93 | + bases = bases.concat((meta = superClass._meta) ? meta.bases : superClass); // intentional assignment | ||
94 | + } | ||
95 | + } | ||
96 | + // create a base class | ||
97 | + proto = superClass ? dcl.delegate(superClass[pname]) : {}; | ||
98 | + // the next line assumes that constructor is actually named "constructor", should be changed if desired | ||
99 | + vector = superClass && (meta = superClass._meta) ? dcl.delegate(meta.weaver) : {constructor: 2}; // intentional assignment | ||
100 | + | ||
101 | + // create prototype: mix in mixins and props | ||
102 | + for(; j > 0; --j){ | ||
103 | + base = bases[j]; | ||
104 | + meta = base._meta; | ||
105 | + dcl.mix(proto, meta && meta.ownProps || base[pname]); | ||
106 | + if(meta){ | ||
107 | + allKeys(superClasses = meta.weaver).forEach(function(n){ // intentional assignment | ||
108 | + vector[n] = (+vector[n] || 0) | superClasses[n]; | ||
109 | + }); | ||
110 | + } | ||
111 | + } | ||
112 | + allKeys(props).forEach(function(n){ | ||
113 | + if(isSuper(meta = props[n])){ // intentional assignment | ||
114 | + vector[n] = +vector[n] || 0; | ||
115 | + }else{ | ||
116 | + proto[n] = meta; | ||
117 | + } | ||
118 | + }); | ||
119 | + | ||
120 | + // create stubs with fake constructor | ||
121 | + // | ||
122 | + meta = {bases: bases, ownProps: props, weaver: vector, chains: {}}; | ||
123 | + // meta information is coded like that: | ||
124 | + // bases: an array of super classes (bases) and mixins | ||
125 | + // ownProps: a bag of immediate prototype properties for the constructor | ||
126 | + // weaver: a bag of chain instructions (before is 1, after is 2) | ||
127 | + // chains: a bag of chains (ordered arrays) | ||
128 | + | ||
129 | + bases[0] = {_meta: meta, prototype: proto}; | ||
130 | + buildStubs(meta, proto); | ||
131 | + ctor = proto[cname]; | ||
132 | + | ||
133 | + // put in place all decorations and return a constructor | ||
134 | + ctor._meta = meta; | ||
135 | + ctor[pname] = proto; | ||
136 | + //proto.constructor = ctor; // uncomment if constructor is not named "constructor" | ||
137 | + bases[0] = ctor; | ||
138 | + | ||
139 | + // each constructor may have two properties on it: | ||
140 | + // _meta: a meta information object as above | ||
141 | + // _uniqueId: a unique number, which is used to id the constructor | ||
142 | + | ||
143 | + return dcl._postprocess(ctor); // fully prepared constructor | ||
144 | + } | ||
145 | + | ||
146 | + // decorators | ||
147 | + | ||
148 | + function Super(f){ this.around = f; } | ||
149 | + function isSuper(f){ return f && f.spr instanceof Super; } | ||
150 | + | ||
151 | + // utilities | ||
152 | + | ||
153 | + (mix = function(a, b){ | ||
154 | + allKeys(b).forEach(function(n){ | ||
155 | + a[n] = b[n]; | ||
156 | + }); | ||
157 | + })(dcl, { | ||
158 | + // piblic API | ||
159 | + mix: mix, | ||
160 | + delegate: function(o){ | ||
161 | + return Object.create(o); | ||
162 | + }, | ||
163 | + allKeys: allKeys, | ||
164 | + Super: Super, | ||
165 | + superCall: function superCall(f){ return dcl._makeSuper(f); }, | ||
166 | + | ||
167 | + // protected API starts with _ (don't use it!) | ||
168 | + | ||
169 | + // make a Super marker | ||
170 | + _makeSuper: function makeSuper(advice, S){ var f = function(){}; f.spr = new (S || Super)(advice); return f; }, | ||
171 | + | ||
172 | + // post-processor for a constructor, can be used to add more functionality | ||
173 | + // or augment its behavior | ||
174 | + _postprocess: function(ctor){ return ctor; }, // identity, used to hang on advices | ||
175 | + | ||
176 | + // error function, augmented by debug.js | ||
177 | + _error: function(msg){ throw Error("dcl: " + msg); }, | ||
178 | + | ||
179 | + // supercall instantiation, augmented by debug.js | ||
180 | + _instantiate: function(advice, previous, node){ var t = advice.spr.around(previous); t.ctr = advice.ctr; return t; }, | ||
181 | + | ||
182 | + // the "buildStubs()" helpers, can be overwritten | ||
183 | + _extractChain: function(bases, name, advice){ | ||
184 | + var i = bases.length - 1, chain = [], base, f, around = advice == "around"; | ||
185 | + for(; base = bases[i]; --i){ | ||
186 | + // next line contains 5 intentional assignments | ||
187 | + if((f = base._meta) ? (f = f.ownProps).hasOwnProperty(name) && (isSuper(f = f[name]) ? (around ? f.spr.around : (f = f.spr[advice])) : around) : around && (f = name == cname ? base : base[pname][name]) && f !== empty[name]){ | ||
188 | + f.ctr = base; | ||
189 | + chain.push(f); | ||
190 | + } | ||
191 | + } | ||
192 | + return chain; | ||
193 | + }, | ||
194 | + _stubChain: function(chain){ // this is "after" chain | ||
195 | + var l = chain.length, f; | ||
196 | + return !l ? 0 : l == 1 ? | ||
197 | + (f = chain[0], function(){ | ||
198 | + f.apply(this, arguments); | ||
199 | + }) : | ||
200 | + function(){ | ||
201 | + for(var i = 0; i < l; ++i){ | ||
202 | + chain[i].apply(this, arguments); | ||
203 | + } | ||
204 | + }; | ||
205 | + }, | ||
206 | + _stubSuper: function(chain, name){ | ||
207 | + var i = 0, f, p = empty[name]; | ||
208 | + for(; f = chain[i]; ++i){ | ||
209 | + p = isSuper(f) ? (chain[i] = dcl._instantiate(f, p, name)) : f; | ||
210 | + } | ||
211 | + return name != cname ? p : function(){ p.apply(this, arguments); }; | ||
212 | + }, | ||
213 | + _stubChainSuper: function(chain, stub, name){ | ||
214 | + var i = 0, f, diff, pi = 0; | ||
215 | + for(; f = chain[i]; ++i){ | ||
216 | + if(isSuper(f)){ | ||
217 | + diff = i - pi; | ||
218 | + chain[i] = dcl._instantiate(f, !diff ? 0 : diff == 1 ? chain[pi] : stub(chain.slice(pi, i)), name); | ||
219 | + pi = i; | ||
220 | + } | ||
221 | + } | ||
222 | + diff = i - pi; | ||
223 | + return !diff ? 0 : diff == 1 && name != cname ? chain[pi] : stub(pi ? chain.slice(pi) : chain); | ||
224 | + }, | ||
225 | + _stub: /*generic stub*/ function(id, bases, name, chains){ | ||
226 | + var f = chains[name] = dcl._extractChain(bases, name, "around"); | ||
227 | + return (id ? dcl._stubChainSuper(f, dcl._stubChain, name) : dcl._stubSuper(f, name)) || function(){}; | ||
228 | + } | ||
229 | + }); | ||
230 | + | ||
231 | + function buildStubs(meta, proto){ | ||
232 | + var weaver = meta.weaver, bases = meta.bases, chains = meta.chains; | ||
233 | + allKeys(weaver).forEach(function(name){ | ||
234 | + proto[name] = dcl._stub(weaver[name], bases, name, chains); | ||
235 | + }); | ||
236 | + } | ||
237 | + | ||
238 | + return dcl; | ||
239 | +}); |
bower_components/dcl/mini.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define([], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(); | ||
6 | + }else{ | ||
7 | + dcl = factory(); | ||
8 | + } | ||
9 | +})(function(){ | ||
10 | + "use strict"; | ||
11 | + | ||
12 | + var counter = 0, cname = "constructor", pname = "prototype", empty = {}, mix; | ||
13 | + | ||
14 | + function dcl(superClass, props){ | ||
15 | + var bases = [0], proto, base, ctor, meta, connectionMap, | ||
16 | + output, vector, superClasses, i, j = 0, n; | ||
17 | + | ||
18 | + if(superClass){ | ||
19 | + if(superClass instanceof Array){ | ||
20 | + // mixins: C3 MRO | ||
21 | + connectionMap = {}; | ||
22 | + superClasses = superClass.slice(0).reverse(); | ||
23 | + for(i = superClasses.length - 1; i >= 0; --i){ | ||
24 | + base = superClasses[i]; | ||
25 | + // pre-process a base | ||
26 | + // 1) add a unique id | ||
27 | + base._uniqueId = base._uniqueId || counter++; | ||
28 | + // 2) build a connection map and the base list | ||
29 | + if((proto = base._meta)){ // intentional assignment | ||
30 | + for(vector = proto.bases, j = vector.length - 1; j > 0; --j){ | ||
31 | + n = vector[j]._uniqueId; | ||
32 | + connectionMap[n] = (connectionMap[n] || 0) + 1; | ||
33 | + } | ||
34 | + superClasses[i] = vector.slice(0); | ||
35 | + }else{ | ||
36 | + superClasses[i] = [base]; | ||
37 | + } | ||
38 | + } | ||
39 | + // build output | ||
40 | + output = {}; | ||
41 | + c: while(superClasses.length){ | ||
42 | + for(i = 0; i < superClasses.length; ++i){ | ||
43 | + vector = superClasses[i]; | ||
44 | + base = vector[0]; | ||
45 | + n = base._uniqueId; | ||
46 | + if(!connectionMap[n]){ | ||
47 | + if(!output[n]){ | ||
48 | + bases.push(base); | ||
49 | + output[n] = 1; | ||
50 | + } | ||
51 | + vector.shift(); | ||
52 | + if(vector.length){ | ||
53 | + --connectionMap[vector[0]._uniqueId]; | ||
54 | + }else{ | ||
55 | + superClasses.splice(i, 1); | ||
56 | + } | ||
57 | + continue c; | ||
58 | + } | ||
59 | + } | ||
60 | + // error | ||
61 | + dcl._error("cycle", props, superClasses); | ||
62 | + } | ||
63 | + // calculate a base class | ||
64 | + superClass = superClass[0]; | ||
65 | + j = bases.length - ((meta = superClass._meta) && superClass === bases[bases.length - (j = meta.bases.length)] ? j : 1) - 1; // intentional assignments | ||
66 | + }else{ | ||
67 | + // 1) add a unique id | ||
68 | + superClass._uniqueId = superClass._uniqueId || counter++; | ||
69 | + // 2) single inheritance | ||
70 | + bases = bases.concat((meta = superClass._meta) ? meta.bases : superClass); // intentional assignment | ||
71 | + } | ||
72 | + } | ||
73 | + // create a base class | ||
74 | + proto = superClass ? dcl.delegate(superClass[pname]) : {}; | ||
75 | + // the next line assumes that constructor is actually named "constructor", should be changed if desired | ||
76 | + vector = superClass && (meta = superClass._meta) ? dcl.delegate(meta.weaver) : {constructor: 2}; // intentional assignment | ||
77 | + | ||
78 | + // create prototype: mix in mixins and props | ||
79 | + for(; j > 0; --j){ | ||
80 | + base = bases[j]; | ||
81 | + meta = base._meta; | ||
82 | + dcl.mix(proto, meta && meta.ownProps || base[pname]); | ||
83 | + if(meta){ | ||
84 | + for(n in (superClasses = meta.weaver)){ // intentional assignment | ||
85 | + vector[n] = (+vector[n] || 0) | superClasses[n]; | ||
86 | + } | ||
87 | + } | ||
88 | + } | ||
89 | + for(n in props){ | ||
90 | + if(isSuper(meta = props[n])){ // intentional assignment | ||
91 | + vector[n] = +vector[n] || 0; | ||
92 | + }else{ | ||
93 | + proto[n] = meta; | ||
94 | + } | ||
95 | + } | ||
96 | + | ||
97 | + // create stubs with fake constructor | ||
98 | + // | ||
99 | + meta = {bases: bases, ownProps: props, weaver: vector, chains: {}}; | ||
100 | + // meta information is coded like that: | ||
101 | + // bases: an array of super classes (bases) and mixins | ||
102 | + // ownProps: a bag of immediate prototype properties for the constructor | ||
103 | + // weaver: a bag of chain instructions (before is 1, after is 2) | ||
104 | + // chains: a bag of chains (ordered arrays) | ||
105 | + | ||
106 | + bases[0] = {_meta: meta, prototype: proto}; | ||
107 | + buildStubs(meta, proto); | ||
108 | + ctor = proto[cname]; | ||
109 | + | ||
110 | + // put in place all decorations and return a constructor | ||
111 | + ctor._meta = meta; | ||
112 | + ctor[pname] = proto; | ||
113 | + //proto.constructor = ctor; // uncomment if constructor is not named "constructor" | ||
114 | + bases[0] = ctor; | ||
115 | + | ||
116 | + // each constructor may have two properties on it: | ||
117 | + // _meta: a meta information object as above | ||
118 | + // _uniqueId: a unique number, which is used to id the constructor | ||
119 | + | ||
120 | + return dcl._postprocess(ctor); // fully prepared constructor | ||
121 | + } | ||
122 | + | ||
123 | + // decorators | ||
124 | + | ||
125 | + function Super(f){ this.around = f; } | ||
126 | + function isSuper(f){ return f && f.spr instanceof Super; } | ||
127 | + | ||
128 | + // utilities | ||
129 | + | ||
130 | + function allKeys(o){ | ||
131 | + var keys = []; | ||
132 | + for(var name in o){ | ||
133 | + keys.push(name); | ||
134 | + } | ||
135 | + return keys; | ||
136 | + } | ||
137 | + | ||
138 | + (mix = function(a, b){ | ||
139 | + for(var n in b){ | ||
140 | + a[n] = b[n]; | ||
141 | + } | ||
142 | + })(dcl, { | ||
143 | + // piblic API | ||
144 | + mix: mix, | ||
145 | + delegate: function(o){ | ||
146 | + return Object.create(o); | ||
147 | + }, | ||
148 | + allKeys: allKeys, | ||
149 | + Super: Super, | ||
150 | + superCall: function superCall(f){ return dcl._makeSuper(f); }, | ||
151 | + | ||
152 | + // protected API starts with _ (don't use it!) | ||
153 | + | ||
154 | + // make a Super marker | ||
155 | + _makeSuper: function makeSuper(advice, S){ var f = function(){}; f.spr = new (S || Super)(advice); return f; }, | ||
156 | + | ||
157 | + // post-processor for a constructor, can be used to add more functionality | ||
158 | + // or augment its behavior | ||
159 | + _postprocess: function(ctor){ return ctor; }, // identity, used to hang on advices | ||
160 | + | ||
161 | + // error function, augmented by debug.js | ||
162 | + _error: function(msg){ throw Error("dcl: " + msg); }, | ||
163 | + | ||
164 | + // supercall instantiation, augmented by debug.js | ||
165 | + _instantiate: function(advice, previous, node){ var t = advice.spr.around(previous); t.ctr = advice.ctr; return t; }, | ||
166 | + | ||
167 | + // the "buildStubs()" helpers, can be overwritten | ||
168 | + _extractChain: function(bases, name, advice){ | ||
169 | + var i = bases.length - 1, chain = [], base, f, around = advice == "around"; | ||
170 | + for(; base = bases[i]; --i){ | ||
171 | + // next line contains 5 intentional assignments | ||
172 | + if((f = base._meta) ? (f = f.ownProps).hasOwnProperty(name) && (isSuper(f = f[name]) ? (around ? f.spr.around : (f = f.spr[advice])) : around) : around && (f = name == cname ? base : base[pname][name]) && f !== empty[name]){ | ||
173 | + f.ctr = base; | ||
174 | + chain.push(f); | ||
175 | + } | ||
176 | + } | ||
177 | + return chain; | ||
178 | + }, | ||
179 | + _stubChain: function(chain){ // this is "after" chain | ||
180 | + var l = chain.length, f; | ||
181 | + return !l ? 0 : l == 1 ? | ||
182 | + (f = chain[0], function(){ | ||
183 | + f.apply(this, arguments); | ||
184 | + }) : | ||
185 | + function(){ | ||
186 | + for(var i = 0; i < l; ++i){ | ||
187 | + chain[i].apply(this, arguments); | ||
188 | + } | ||
189 | + }; | ||
190 | + }, | ||
191 | + _stubSuper: function(chain, name){ | ||
192 | + var i = 0, f, p = empty[name]; | ||
193 | + for(; f = chain[i]; ++i){ | ||
194 | + p = isSuper(f) ? (chain[i] = dcl._instantiate(f, p, name)) : f; | ||
195 | + } | ||
196 | + return name != cname ? p : function(){ p.apply(this, arguments); }; | ||
197 | + }, | ||
198 | + _stubChainSuper: function(chain, stub, name){ | ||
199 | + var i = 0, f, diff, pi = 0; | ||
200 | + for(; f = chain[i]; ++i){ | ||
201 | + if(isSuper(f)){ | ||
202 | + diff = i - pi; | ||
203 | + chain[i] = dcl._instantiate(f, !diff ? 0 : diff == 1 ? chain[pi] : stub(chain.slice(pi, i)), name); | ||
204 | + pi = i; | ||
205 | + } | ||
206 | + } | ||
207 | + diff = i - pi; | ||
208 | + return !diff ? 0 : diff == 1 && name != cname ? chain[pi] : stub(pi ? chain.slice(pi) : chain); | ||
209 | + }, | ||
210 | + _stub: /*generic stub*/ function(id, bases, name, chains){ | ||
211 | + var f = chains[name] = dcl._extractChain(bases, name, "around"); | ||
212 | + return (id ? dcl._stubChainSuper(f, dcl._stubChain, name) : dcl._stubSuper(f, name)) || function(){}; | ||
213 | + } | ||
214 | + }); | ||
215 | + | ||
216 | + function buildStubs(meta, proto){ | ||
217 | + var weaver = meta.weaver, bases = meta.bases, chains = meta.chains; | ||
218 | + for(var name in weaver){ | ||
219 | + proto[name] = dcl._stub(weaver[name], bases, name, chains); | ||
220 | + } | ||
221 | + } | ||
222 | + | ||
223 | + return dcl; | ||
224 | +}); |
bower_components/dcl/mixins/Cleanup.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["../dcl", "./Destroyable"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("../dcl"), require("./Destroyable")); | ||
6 | + }else{ | ||
7 | + dclMixinsCleanup = factory(dcl, dclMixinsDestroyable); | ||
8 | + } | ||
9 | +})(function(dcl, Destroyable){ | ||
10 | + "use strict"; | ||
11 | + return dcl(Destroyable, { | ||
12 | + declaredClass: "dcl/mixins/Cleanup", | ||
13 | + constructor: function(){ | ||
14 | + this.__cleanupStack = []; | ||
15 | + }, | ||
16 | + pushCleanup: function(resource, cleanup){ | ||
17 | + var f = cleanup ? function(){ cleanup(resource); } : function(){ resource.destroy(); }; | ||
18 | + this.__cleanupStack.push(f); | ||
19 | + return f; | ||
20 | + }, | ||
21 | + popCleanup: function(dontRun){ | ||
22 | + if(dontRun){ | ||
23 | + return this.__cleanupStack.pop(); | ||
24 | + } | ||
25 | + this.__cleanupStack.pop()(); | ||
26 | + }, | ||
27 | + removeCleanup: function(f){ | ||
28 | + for(var i = this.__cleanupStack.length - 1; i >= 0; --i){ | ||
29 | + if(this.__cleanupStack[i] === f){ | ||
30 | + this.__cleanupStack.splice(i, 1); | ||
31 | + return true; | ||
32 | + } | ||
33 | + } | ||
34 | + }, | ||
35 | + cleanup: function(){ | ||
36 | + while(this.__cleanupStack.length){ | ||
37 | + this.__cleanupStack.pop()(); | ||
38 | + } | ||
39 | + }, | ||
40 | + destroy: function(){ | ||
41 | + this.cleanup(); | ||
42 | + } | ||
43 | + }); | ||
44 | +}); |
bower_components/dcl/mixins/Destroyable.js
0 → 100644
1 | +(function(factory){ | ||
2 | + if(typeof define != "undefined"){ | ||
3 | + define(["../dcl"], factory); | ||
4 | + }else if(typeof module != "undefined"){ | ||
5 | + module.exports = factory(require("../dcl")); | ||
6 | + }else{ | ||
7 | + dclMixinsDestroyable = factory(dcl); | ||
8 | + } | ||
9 | +})(function(dcl){ | ||
10 | + "use strict"; | ||
11 | + var Destroyable = dcl(null, {declaredClass: "dcl/mixins/Destroyable"}); | ||
12 | + dcl.chainBefore(Destroyable, "destroy"); | ||
13 | + return Destroyable; | ||
14 | +}); |
bower_components/dcl/package.js
0 → 100644
1 | +var miniExcludes = { | ||
2 | + "dcl/AUTHORS": 1, | ||
3 | + "dcl/CONTRIBUTING.md": 1, | ||
4 | + "dcl/LICENSE": 1, | ||
5 | + "dcl/README.md": 1, | ||
6 | + "dcl/package": 1 | ||
7 | + }, | ||
8 | + isTestRe = /\/tests\//; | ||
9 | + | ||
10 | +var profile = { | ||
11 | + resourceTags: { | ||
12 | + test: function(filename, mid){ | ||
13 | + return isTestRe.test(filename); | ||
14 | + }, | ||
15 | + | ||
16 | + miniExclude: function(filename, mid){ | ||
17 | + return /\/tests\//.test(filename) || mid in miniExcludes; | ||
18 | + }, | ||
19 | + | ||
20 | + amd: function(filename, mid){ | ||
21 | + return /\.js$/.test(filename); | ||
22 | + } | ||
23 | + } | ||
24 | +}; |
bower_components/dcl/package.json
0 → 100644
1 | +{ | ||
2 | + "name": "dcl", | ||
3 | + "version": "1.1.2", | ||
4 | + "description": "Elegant minimalistic implementation of OOP with mixins + AOP.", | ||
5 | + "homepage": "http://www.dcljs.org", | ||
6 | + "bugs": "http://github.com/uhop/dcl/issues", | ||
7 | + "main": "dcl.js", | ||
8 | + "directories": { | ||
9 | + "test": "tests" | ||
10 | + }, | ||
11 | + "dependencies": {}, | ||
12 | + "devDependencies": { | ||
13 | + "heya-unit": ">=0.1" | ||
14 | + }, | ||
15 | + "scripts": { | ||
16 | + "test": "node tests/tests.js" | ||
17 | + }, | ||
18 | + "github": "http://github.com/uhop/dcl", | ||
19 | + "repository": { | ||
20 | + "type": "git", | ||
21 | + "url": "git://github.com/uhop/dcl.git" | ||
22 | + }, | ||
23 | + "keywords": [ | ||
24 | + "object-oriented", | ||
25 | + "programming", | ||
26 | + "aspect-oriented", | ||
27 | + "OOP", | ||
28 | + "AOP", | ||
29 | + "OO" | ||
30 | + ], | ||
31 | + "author": "Eugene Lazutkin <eugene.lazutkin@gmail.com> (http://lazutkin.com/)", | ||
32 | + "licenses": [ | ||
33 | + { | ||
34 | + "type": "New BSD", | ||
35 | + "url": "http://github.com/uhop/dcl/blob/master/LICENSE" | ||
36 | + }, | ||
37 | + { | ||
38 | + "type": "AFL 2.1", | ||
39 | + "url": "http://github.com/uhop/dcl/blob/master/LICENSE" | ||
40 | + } | ||
41 | + ], | ||
42 | + "icon": "http://www.dcljs.org/fav144.png", | ||
43 | + "dojoBuild": "package.js" | ||
44 | +} |
bower_components/dojo/.bower.json
0 → 100644
1 | +{ | ||
2 | + "name": "dojo", | ||
3 | + "homepage": "https://github.com/dojo/dojo", | ||
4 | + "version": "1.9.1", | ||
5 | + "_release": "1.9.1", | ||
6 | + "_resolution": { | ||
7 | + "type": "version", | ||
8 | + "tag": "1.9.1", | ||
9 | + "commit": "b0cf6ea0b62865cd72cb14ccc7bd2478e8867cb8" | ||
10 | + }, | ||
11 | + "_source": "https://github.com/dojo/dojo.git", | ||
12 | + "_target": "1.9.1", | ||
13 | + "_originalSource": "dojo" | ||
14 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
bower_components/dojo/AdapterRegistry.js
0 → 100644
1 | +define(["./_base/kernel", "./_base/lang"], function(dojo, lang){ | ||
2 | +// module: | ||
3 | +// dojo/AdapterRegistry | ||
4 | + | ||
5 | +var AdapterRegistry = dojo.AdapterRegistry = function(/*Boolean?*/ returnWrappers){ | ||
6 | + // summary: | ||
7 | + // A registry to make contextual calling/searching easier. | ||
8 | + // description: | ||
9 | + // Objects of this class keep list of arrays in the form [name, check, | ||
10 | + // wrap, directReturn] that are used to determine what the contextual | ||
11 | + // result of a set of checked arguments is. All check/wrap functions | ||
12 | + // in this registry should be of the same arity. | ||
13 | + // example: | ||
14 | + // | // create a new registry | ||
15 | + // | var reg = new dojo.AdapterRegistry(); | ||
16 | + // | reg.register("handleString", | ||
17 | + // | dojo.isString, | ||
18 | + // | function(str){ | ||
19 | + // | // do something with the string here | ||
20 | + // | } | ||
21 | + // | ); | ||
22 | + // | reg.register("handleArr", | ||
23 | + // | dojo.isArray, | ||
24 | + // | function(arr){ | ||
25 | + // | // do something with the array here | ||
26 | + // | } | ||
27 | + // | ); | ||
28 | + // | | ||
29 | + // | // now we can pass reg.match() *either* an array or a string and | ||
30 | + // | // the value we pass will get handled by the right function | ||
31 | + // | reg.match("someValue"); // will call the first function | ||
32 | + // | reg.match(["someValue"]); // will call the second | ||
33 | + | ||
34 | + this.pairs = []; | ||
35 | + this.returnWrappers = returnWrappers || false; // Boolean | ||
36 | +}; | ||
37 | + | ||
38 | +lang.extend(AdapterRegistry, { | ||
39 | + register: function(/*String*/ name, /*Function*/ check, /*Function*/ wrap, /*Boolean?*/ directReturn, /*Boolean?*/ override){ | ||
40 | + // summary: | ||
41 | + // register a check function to determine if the wrap function or | ||
42 | + // object gets selected | ||
43 | + // name: | ||
44 | + // a way to identify this matcher. | ||
45 | + // check: | ||
46 | + // a function that arguments are passed to from the adapter's | ||
47 | + // match() function. The check function should return true if the | ||
48 | + // given arguments are appropriate for the wrap function. | ||
49 | + // directReturn: | ||
50 | + // If directReturn is true, the value passed in for wrap will be | ||
51 | + // returned instead of being called. Alternately, the | ||
52 | + // AdapterRegistry can be set globally to "return not call" using | ||
53 | + // the returnWrappers property. Either way, this behavior allows | ||
54 | + // the registry to act as a "search" function instead of a | ||
55 | + // function interception library. | ||
56 | + // override: | ||
57 | + // If override is given and true, the check function will be given | ||
58 | + // highest priority. Otherwise, it will be the lowest priority | ||
59 | + // adapter. | ||
60 | + this.pairs[((override) ? "unshift" : "push")]([name, check, wrap, directReturn]); | ||
61 | + }, | ||
62 | + | ||
63 | + match: function(/* ... */){ | ||
64 | + // summary: | ||
65 | + // Find an adapter for the given arguments. If no suitable adapter | ||
66 | + // is found, throws an exception. match() accepts any number of | ||
67 | + // arguments, all of which are passed to all matching functions | ||
68 | + // from the registered pairs. | ||
69 | + for(var i = 0; i < this.pairs.length; i++){ | ||
70 | + var pair = this.pairs[i]; | ||
71 | + if(pair[1].apply(this, arguments)){ | ||
72 | + if((pair[3])||(this.returnWrappers)){ | ||
73 | + return pair[2]; | ||
74 | + }else{ | ||
75 | + return pair[2].apply(this, arguments); | ||
76 | + } | ||
77 | + } | ||
78 | + } | ||
79 | + throw new Error("No match found"); | ||
80 | + }, | ||
81 | + | ||
82 | + unregister: function(name){ | ||
83 | + // summary: | ||
84 | + // Remove a named adapter from the registry | ||
85 | + // name: String | ||
86 | + // The name of the adapter. | ||
87 | + // returns: Boolean | ||
88 | + // Returns true if operation is successful. | ||
89 | + // Returns false if operation fails. | ||
90 | + | ||
91 | + // FIXME: this is kind of a dumb way to handle this. On a large | ||
92 | + // registry this will be slow-ish and we can use the name as a lookup | ||
93 | + // should we choose to trade memory for speed. | ||
94 | + for(var i = 0; i < this.pairs.length; i++){ | ||
95 | + var pair = this.pairs[i]; | ||
96 | + if(pair[0] == name){ | ||
97 | + this.pairs.splice(i, 1); | ||
98 | + return true; | ||
99 | + } | ||
100 | + } | ||
101 | + return false; | ||
102 | + } | ||
103 | +}); | ||
104 | + | ||
105 | +return AdapterRegistry; | ||
106 | +}); |
bower_components/dojo/Deferred.js
0 → 100644
1 | +define([ | ||
2 | + "./has", | ||
3 | + "./_base/lang", | ||
4 | + "./errors/CancelError", | ||
5 | + "./promise/Promise", | ||
6 | + "./has!config-deferredInstrumentation?./promise/instrumentation" | ||
7 | +], function(has, lang, CancelError, Promise, instrumentation){ | ||
8 | + "use strict"; | ||
9 | + | ||
10 | + // module: | ||
11 | + // dojo/Deferred | ||
12 | + | ||
13 | + var PROGRESS = 0, | ||
14 | + RESOLVED = 1, | ||
15 | + REJECTED = 2; | ||
16 | + var FULFILLED_ERROR_MESSAGE = "This deferred has already been fulfilled."; | ||
17 | + | ||
18 | + var freezeObject = Object.freeze || function(){}; | ||
19 | + | ||
20 | + var signalWaiting = function(waiting, type, result, rejection, deferred){ | ||
21 | + if(has("config-deferredInstrumentation")){ | ||
22 | + if(type === REJECTED && Deferred.instrumentRejected && waiting.length === 0){ | ||
23 | + Deferred.instrumentRejected(result, false, rejection, deferred); | ||
24 | + } | ||
25 | + } | ||
26 | + | ||
27 | + for(var i = 0; i < waiting.length; i++){ | ||
28 | + signalListener(waiting[i], type, result, rejection); | ||
29 | + } | ||
30 | + }; | ||
31 | + | ||
32 | + var signalListener = function(listener, type, result, rejection){ | ||
33 | + var func = listener[type]; | ||
34 | + var deferred = listener.deferred; | ||
35 | + if(func){ | ||
36 | + try{ | ||
37 | + var newResult = func(result); | ||
38 | + if(type === PROGRESS){ | ||
39 | + if(typeof newResult !== "undefined"){ | ||
40 | + signalDeferred(deferred, type, newResult); | ||
41 | + } | ||
42 | + }else{ | ||
43 | + if(newResult && typeof newResult.then === "function"){ | ||
44 | + listener.cancel = newResult.cancel; | ||
45 | + newResult.then( | ||
46 | + // Only make resolvers if they're actually going to be used | ||
47 | + makeDeferredSignaler(deferred, RESOLVED), | ||
48 | + makeDeferredSignaler(deferred, REJECTED), | ||
49 | + makeDeferredSignaler(deferred, PROGRESS)); | ||
50 | + return; | ||
51 | + } | ||
52 | + signalDeferred(deferred, RESOLVED, newResult); | ||
53 | + } | ||
54 | + }catch(error){ | ||
55 | + signalDeferred(deferred, REJECTED, error); | ||
56 | + } | ||
57 | + }else{ | ||
58 | + signalDeferred(deferred, type, result); | ||
59 | + } | ||
60 | + | ||
61 | + if(has("config-deferredInstrumentation")){ | ||
62 | + if(type === REJECTED && Deferred.instrumentRejected){ | ||
63 | + Deferred.instrumentRejected(result, !!func, rejection, deferred.promise); | ||
64 | + } | ||
65 | + } | ||
66 | + }; | ||
67 | + | ||
68 | + var makeDeferredSignaler = function(deferred, type){ | ||
69 | + return function(value){ | ||
70 | + signalDeferred(deferred, type, value); | ||
71 | + }; | ||
72 | + }; | ||
73 | + | ||
74 | + var signalDeferred = function(deferred, type, result){ | ||
75 | + if(!deferred.isCanceled()){ | ||
76 | + switch(type){ | ||
77 | + case PROGRESS: | ||
78 | + deferred.progress(result); | ||
79 | + break; | ||
80 | + case RESOLVED: | ||
81 | + deferred.resolve(result); | ||
82 | + break; | ||
83 | + case REJECTED: | ||
84 | + deferred.reject(result); | ||
85 | + break; | ||
86 | + } | ||
87 | + } | ||
88 | + }; | ||
89 | + | ||
90 | + var Deferred = function(canceler){ | ||
91 | + // summary: | ||
92 | + // Creates a new deferred. This API is preferred over | ||
93 | + // `dojo/_base/Deferred`. | ||
94 | + // description: | ||
95 | + // Creates a new deferred, as an abstraction over (primarily) | ||
96 | + // asynchronous operations. The deferred is the private interface | ||
97 | + // that should not be returned to calling code. That's what the | ||
98 | + // `promise` is for. See `dojo/promise/Promise`. | ||
99 | + // canceler: Function? | ||
100 | + // Will be invoked if the deferred is canceled. The canceler | ||
101 | + // receives the reason the deferred was canceled as its argument. | ||
102 | + // The deferred is rejected with its return value, or a new | ||
103 | + // `dojo/errors/CancelError` instance. | ||
104 | + | ||
105 | + // promise: dojo/promise/Promise | ||
106 | + // The public promise object that clients can add callbacks to. | ||
107 | + var promise = this.promise = new Promise(); | ||
108 | + | ||
109 | + var deferred = this; | ||
110 | + var fulfilled, result, rejection; | ||
111 | + var canceled = false; | ||
112 | + var waiting = []; | ||
113 | + | ||
114 | + if(has("config-deferredInstrumentation") && Error.captureStackTrace){ | ||
115 | + Error.captureStackTrace(deferred, Deferred); | ||
116 | + Error.captureStackTrace(promise, Deferred); | ||
117 | + } | ||
118 | + | ||
119 | + this.isResolved = promise.isResolved = function(){ | ||
120 | + // summary: | ||
121 | + // Checks whether the deferred has been resolved. | ||
122 | + // returns: Boolean | ||
123 | + | ||
124 | + return fulfilled === RESOLVED; | ||
125 | + }; | ||
126 | + | ||
127 | + this.isRejected = promise.isRejected = function(){ | ||
128 | + // summary: | ||
129 | + // Checks whether the deferred has been rejected. | ||
130 | + // returns: Boolean | ||
131 | + | ||
132 | + return fulfilled === REJECTED; | ||
133 | + }; | ||
134 | + | ||
135 | + this.isFulfilled = promise.isFulfilled = function(){ | ||
136 | + // summary: | ||
137 | + // Checks whether the deferred has been resolved or rejected. | ||
138 | + // returns: Boolean | ||
139 | + | ||
140 | + return !!fulfilled; | ||
141 | + }; | ||
142 | + | ||
143 | + this.isCanceled = promise.isCanceled = function(){ | ||
144 | + // summary: | ||
145 | + // Checks whether the deferred has been canceled. | ||
146 | + // returns: Boolean | ||
147 | + | ||
148 | + return canceled; | ||
149 | + }; | ||
150 | + | ||
151 | + this.progress = function(update, strict){ | ||
152 | + // summary: | ||
153 | + // Emit a progress update on the deferred. | ||
154 | + // description: | ||
155 | + // Emit a progress update on the deferred. Progress updates | ||
156 | + // can be used to communicate updates about the asynchronous | ||
157 | + // operation before it has finished. | ||
158 | + // update: any | ||
159 | + // The progress update. Passed to progbacks. | ||
160 | + // strict: Boolean? | ||
161 | + // If strict, will throw an error if the deferred has already | ||
162 | + // been fulfilled and consequently no progress can be emitted. | ||
163 | + // returns: dojo/promise/Promise | ||
164 | + // Returns the original promise for the deferred. | ||
165 | + | ||
166 | + if(!fulfilled){ | ||
167 | + signalWaiting(waiting, PROGRESS, update, null, deferred); | ||
168 | + return promise; | ||
169 | + }else if(strict === true){ | ||
170 | + throw new Error(FULFILLED_ERROR_MESSAGE); | ||
171 | + }else{ | ||
172 | + return promise; | ||
173 | + } | ||
174 | + }; | ||
175 | + | ||
176 | + this.resolve = function(value, strict){ | ||
177 | + // summary: | ||
178 | + // Resolve the deferred. | ||
179 | + // description: | ||
180 | + // Resolve the deferred, putting it in a success state. | ||
181 | + // value: any | ||
182 | + // The result of the deferred. Passed to callbacks. | ||
183 | + // strict: Boolean? | ||
184 | + // If strict, will throw an error if the deferred has already | ||
185 | + // been fulfilled and consequently cannot be resolved. | ||
186 | + // returns: dojo/promise/Promise | ||
187 | + // Returns the original promise for the deferred. | ||
188 | + | ||
189 | + if(!fulfilled){ | ||
190 | + // Set fulfilled, store value. After signaling waiting listeners unset | ||
191 | + // waiting. | ||
192 | + signalWaiting(waiting, fulfilled = RESOLVED, result = value, null, deferred); | ||
193 | + waiting = null; | ||
194 | + return promise; | ||
195 | + }else if(strict === true){ | ||
196 | + throw new Error(FULFILLED_ERROR_MESSAGE); | ||
197 | + }else{ | ||
198 | + return promise; | ||
199 | + } | ||
200 | + }; | ||
201 | + | ||
202 | + var reject = this.reject = function(error, strict){ | ||
203 | + // summary: | ||
204 | + // Reject the deferred. | ||
205 | + // description: | ||
206 | + // Reject the deferred, putting it in an error state. | ||
207 | + // error: any | ||
208 | + // The error result of the deferred. Passed to errbacks. | ||
209 | + // strict: Boolean? | ||
210 | + // If strict, will throw an error if the deferred has already | ||
211 | + // been fulfilled and consequently cannot be rejected. | ||
212 | + // returns: dojo/promise/Promise | ||
213 | + // Returns the original promise for the deferred. | ||
214 | + | ||
215 | + if(!fulfilled){ | ||
216 | + if(has("config-deferredInstrumentation") && Error.captureStackTrace){ | ||
217 | + Error.captureStackTrace(rejection = {}, reject); | ||
218 | + } | ||
219 | + signalWaiting(waiting, fulfilled = REJECTED, result = error, rejection, deferred); | ||
220 | + waiting = null; | ||
221 | + return promise; | ||
222 | + }else if(strict === true){ | ||
223 | + throw new Error(FULFILLED_ERROR_MESSAGE); | ||
224 | + }else{ | ||
225 | + return promise; | ||
226 | + } | ||
227 | + }; | ||
228 | + | ||
229 | + this.then = promise.then = function(callback, errback, progback){ | ||
230 | + // summary: | ||
231 | + // Add new callbacks to the deferred. | ||
232 | + // description: | ||
233 | + // Add new callbacks to the deferred. Callbacks can be added | ||
234 | + // before or after the deferred is fulfilled. | ||
235 | + // callback: Function? | ||
236 | + // Callback to be invoked when the promise is resolved. | ||
237 | + // Receives the resolution value. | ||
238 | + // errback: Function? | ||
239 | + // Callback to be invoked when the promise is rejected. | ||
240 | + // Receives the rejection error. | ||
241 | + // progback: Function? | ||
242 | + // Callback to be invoked when the promise emits a progress | ||
243 | + // update. Receives the progress update. | ||
244 | + // returns: dojo/promise/Promise | ||
245 | + // Returns a new promise for the result of the callback(s). | ||
246 | + // This can be used for chaining many asynchronous operations. | ||
247 | + | ||
248 | + var listener = [progback, callback, errback]; | ||
249 | + // Ensure we cancel the promise we're waiting for, or if callback/errback | ||
250 | + // have returned a promise, cancel that one. | ||
251 | + listener.cancel = promise.cancel; | ||
252 | + listener.deferred = new Deferred(function(reason){ | ||
253 | + // Check whether cancel is really available, returned promises are not | ||
254 | + // required to expose `cancel` | ||
255 | + return listener.cancel && listener.cancel(reason); | ||
256 | + }); | ||
257 | + if(fulfilled && !waiting){ | ||
258 | + signalListener(listener, fulfilled, result, rejection); | ||
259 | + }else{ | ||
260 | + waiting.push(listener); | ||
261 | + } | ||
262 | + return listener.deferred.promise; | ||
263 | + }; | ||
264 | + | ||
265 | + this.cancel = promise.cancel = function(reason, strict){ | ||
266 | + // summary: | ||
267 | + // Inform the deferred it may cancel its asynchronous operation. | ||
268 | + // description: | ||
269 | + // Inform the deferred it may cancel its asynchronous operation. | ||
270 | + // The deferred's (optional) canceler is invoked and the | ||
271 | + // deferred will be left in a rejected state. Can affect other | ||
272 | + // promises that originate with the same deferred. | ||
273 | + // reason: any | ||
274 | + // A message that may be sent to the deferred's canceler, | ||
275 | + // explaining why it's being canceled. | ||
276 | + // strict: Boolean? | ||
277 | + // If strict, will throw an error if the deferred has already | ||
278 | + // been fulfilled and consequently cannot be canceled. | ||
279 | + // returns: any | ||
280 | + // Returns the rejection reason if the deferred was canceled | ||
281 | + // normally. | ||
282 | + | ||
283 | + if(!fulfilled){ | ||
284 | + // Cancel can be called even after the deferred is fulfilled | ||
285 | + if(canceler){ | ||
286 | + var returnedReason = canceler(reason); | ||
287 | + reason = typeof returnedReason === "undefined" ? reason : returnedReason; | ||
288 | + } | ||
289 | + canceled = true; | ||
290 | + if(!fulfilled){ | ||
291 | + // Allow canceler to provide its own reason, but fall back to a CancelError | ||
292 | + if(typeof reason === "undefined"){ | ||
293 | + reason = new CancelError(); | ||
294 | + } | ||
295 | + reject(reason); | ||
296 | + return reason; | ||
297 | + }else if(fulfilled === REJECTED && result === reason){ | ||
298 | + return reason; | ||
299 | + } | ||
300 | + }else if(strict === true){ | ||
301 | + throw new Error(FULFILLED_ERROR_MESSAGE); | ||
302 | + } | ||
303 | + }; | ||
304 | + | ||
305 | + freezeObject(promise); | ||
306 | + }; | ||
307 | + | ||
308 | + Deferred.prototype.toString = function(){ | ||
309 | + // returns: String | ||
310 | + // Returns `[object Deferred]`. | ||
311 | + | ||
312 | + return "[object Deferred]"; | ||
313 | + }; | ||
314 | + | ||
315 | + if(instrumentation){ | ||
316 | + instrumentation(Deferred); | ||
317 | + } | ||
318 | + | ||
319 | + return Deferred; | ||
320 | +}); |
bower_components/dojo/DeferredList.js
0 → 100644
1 | +define(["./_base/kernel", "./_base/Deferred", "./_base/array"], function(dojo, Deferred, darray){ | ||
2 | + // module: | ||
3 | + // dojo/DeferredList | ||
4 | + | ||
5 | + | ||
6 | +dojo.DeferredList = function(/*Array*/ list, /*Boolean?*/ fireOnOneCallback, /*Boolean?*/ fireOnOneErrback, /*Boolean?*/ consumeErrors, /*Function?*/ canceller){ | ||
7 | + // summary: | ||
8 | + // Deprecated, use dojo/promise/all instead. | ||
9 | + // Provides event handling for a group of Deferred objects. | ||
10 | + // description: | ||
11 | + // DeferredList takes an array of existing deferreds and returns a new deferred of its own | ||
12 | + // this new deferred will typically have its callback fired when all of the deferreds in | ||
13 | + // the given list have fired their own deferreds. The parameters `fireOnOneCallback` and | ||
14 | + // fireOnOneErrback, will fire before all the deferreds as appropriate | ||
15 | + // list: | ||
16 | + // The list of deferreds to be synchronizied with this DeferredList | ||
17 | + // fireOnOneCallback: | ||
18 | + // Will cause the DeferredLists callback to be fired as soon as any | ||
19 | + // of the deferreds in its list have been fired instead of waiting until | ||
20 | + // the entire list has finished | ||
21 | + // fireonOneErrback: | ||
22 | + // Will cause the errback to fire upon any of the deferreds errback | ||
23 | + // canceller: | ||
24 | + // A deferred canceller function, see dojo.Deferred | ||
25 | + var resultList = []; | ||
26 | + Deferred.call(this); | ||
27 | + var self = this; | ||
28 | + if(list.length === 0 && !fireOnOneCallback){ | ||
29 | + this.resolve([0, []]); | ||
30 | + } | ||
31 | + var finished = 0; | ||
32 | + darray.forEach(list, function(item, i){ | ||
33 | + item.then(function(result){ | ||
34 | + if(fireOnOneCallback){ | ||
35 | + self.resolve([i, result]); | ||
36 | + }else{ | ||
37 | + addResult(true, result); | ||
38 | + } | ||
39 | + },function(error){ | ||
40 | + if(fireOnOneErrback){ | ||
41 | + self.reject(error); | ||
42 | + }else{ | ||
43 | + addResult(false, error); | ||
44 | + } | ||
45 | + if(consumeErrors){ | ||
46 | + return null; | ||
47 | + } | ||
48 | + throw error; | ||
49 | + }); | ||
50 | + function addResult(succeeded, result){ | ||
51 | + resultList[i] = [succeeded, result]; | ||
52 | + finished++; | ||
53 | + if(finished === list.length){ | ||
54 | + self.resolve(resultList); | ||
55 | + } | ||
56 | + | ||
57 | + } | ||
58 | + }); | ||
59 | +}; | ||
60 | +dojo.DeferredList.prototype = new Deferred(); | ||
61 | + | ||
62 | +dojo.DeferredList.prototype.gatherResults = function(deferredList){ | ||
63 | + // summary: | ||
64 | + // Gathers the results of the deferreds for packaging | ||
65 | + // as the parameters to the Deferred Lists' callback | ||
66 | + // deferredList: dojo/DeferredList | ||
67 | + // The deferred list from which this function gathers results. | ||
68 | + // returns: dojo/DeferredList | ||
69 | + // The newly created deferred list which packs results as | ||
70 | + // parameters to its callback. | ||
71 | + | ||
72 | + var d = new dojo.DeferredList(deferredList, false, true, false); | ||
73 | + d.addCallback(function(results){ | ||
74 | + var ret = []; | ||
75 | + darray.forEach(results, function(result){ | ||
76 | + ret.push(result[1]); | ||
77 | + }); | ||
78 | + return ret; | ||
79 | + }); | ||
80 | + return d; | ||
81 | +}; | ||
82 | + | ||
83 | +return dojo.DeferredList; | ||
84 | +}); |
bower_components/dojo/Evented.js
0 → 100644
1 | +define(["./aspect", "./on"], function(aspect, on){ | ||
2 | + // module: | ||
3 | + // dojo/Evented | ||
4 | + | ||
5 | + "use strict"; | ||
6 | + var after = aspect.after; | ||
7 | + function Evented(){ | ||
8 | + // summary: | ||
9 | + // A class that can be used as a mixin or base class, | ||
10 | + // to add on() and emit() methods to a class | ||
11 | + // for listening for events and emitting events: | ||
12 | + // | ||
13 | + // | define(["dojo/Evented"], function(Evented){ | ||
14 | + // | var EventedWidget = dojo.declare([Evented, dijit._Widget], {...}); | ||
15 | + // | widget = new EventedWidget(); | ||
16 | + // | widget.on("open", function(event){ | ||
17 | + // | ... do something with event | ||
18 | + // | }); | ||
19 | + // | | ||
20 | + // | widget.emit("open", {name:"some event", ...}); | ||
21 | + } | ||
22 | + Evented.prototype = { | ||
23 | + on: function(type, listener){ | ||
24 | + return on.parse(this, type, listener, function(target, type){ | ||
25 | + return after(target, 'on' + type, listener, true); | ||
26 | + }); | ||
27 | + }, | ||
28 | + emit: function(type, event){ | ||
29 | + var args = [this]; | ||
30 | + args.push.apply(args, arguments); | ||
31 | + return on.emit.apply(on, args); | ||
32 | + } | ||
33 | + }; | ||
34 | + return Evented; | ||
35 | +}); |
bower_components/dojo/LICENSE
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/NodeList-data.js
0 → 100644
1 | +define([ | ||
2 | + "./_base/kernel", "./query", "./_base/lang", "./_base/array", "./dom-attr" | ||
3 | +], function(dojo, query, lang, array, attr){ | ||
4 | + | ||
5 | + // module: | ||
6 | + // dojo/NodeList-data | ||
7 | + | ||
8 | + /*===== | ||
9 | + return function(){ | ||
10 | + // summary: | ||
11 | + // Adds data() and removeData() methods to NodeList, and returns NodeList constructor. | ||
12 | + }; | ||
13 | + =====*/ | ||
14 | + | ||
15 | + var NodeList = query.NodeList; | ||
16 | + | ||
17 | + var dataCache = {}, x = 0, dataattr = "data-dojo-dataid", | ||
18 | + dopid = function(node){ | ||
19 | + // summary: | ||
20 | + // Return a uniqueish ID for the passed node reference | ||
21 | + var pid = attr.get(node, dataattr); | ||
22 | + if(!pid){ | ||
23 | + pid = "pid" + (x++); | ||
24 | + attr.set(node, dataattr, pid); | ||
25 | + } | ||
26 | + return pid; | ||
27 | + } | ||
28 | + ; | ||
29 | + | ||
30 | + //>>excludeStart("debugging", true); | ||
31 | + // An alias to the private dataCache for NodeList-data. NEVER USE THIS! | ||
32 | + // This private is only exposed for the benefit of unit testing, and is | ||
33 | + // removed during the build process. | ||
34 | + NodeList._nodeDataCache = dojo._nodeDataCache = dataCache; | ||
35 | + //>>excludeEnd("debugging"); | ||
36 | + | ||
37 | + var dodata = dojo._nodeData = function(node, key, value){ | ||
38 | + // summary: | ||
39 | + // Private helper for dojo/NodeList.data for single node data access. Refer to NodeList.data | ||
40 | + // documentation for more information. | ||
41 | + // | ||
42 | + // node: String|DomNode | ||
43 | + // The node to associate data with | ||
44 | + // | ||
45 | + // key: Object|String? | ||
46 | + // If an object, act as a setter and iterate over said object setting data items as defined. | ||
47 | + // If a string, and `value` present, set the data for defined `key` to `value` | ||
48 | + // If a string, and `value` absent, act as a getter, returning the data associated with said `key` | ||
49 | + // | ||
50 | + // value: Anything? | ||
51 | + // The value to set for said `key`, provided `key` is a string (and not an object) | ||
52 | + // | ||
53 | + var pid = dopid(node), r; | ||
54 | + if(!dataCache[pid]){ dataCache[pid] = {}; } | ||
55 | + | ||
56 | + // API discrepency: calling with only a node returns the whole object. $.data throws | ||
57 | + if(arguments.length == 1){ r = dataCache[pid]; } | ||
58 | + if(typeof key == "string"){ | ||
59 | + // either getter or setter, based on `value` presence | ||
60 | + if(arguments.length > 2){ | ||
61 | + dataCache[pid][key] = value; | ||
62 | + }else{ | ||
63 | + r = dataCache[pid][key]; | ||
64 | + } | ||
65 | + }else{ | ||
66 | + // must be a setter, mix `value` into data hash | ||
67 | + // API discrepency: using object as setter works here | ||
68 | + r = lang.mixin(dataCache[pid], key); | ||
69 | + } | ||
70 | + | ||
71 | + return r; // Object|Anything|Nothing | ||
72 | + }; | ||
73 | + | ||
74 | + var removeData = dojo._removeNodeData = function(node, key){ | ||
75 | + // summary: | ||
76 | + // Remove some data from this node | ||
77 | + // node: String|DomNode | ||
78 | + // The node reference to remove data from | ||
79 | + // key: String? | ||
80 | + // If omitted, remove all data in this dataset. | ||
81 | + // If passed, remove only the passed `key` in the associated dataset | ||
82 | + var pid = dopid(node); | ||
83 | + if(dataCache[pid]){ | ||
84 | + if(key){ | ||
85 | + delete dataCache[pid][key]; | ||
86 | + }else{ | ||
87 | + delete dataCache[pid]; | ||
88 | + } | ||
89 | + } | ||
90 | + }; | ||
91 | + | ||
92 | + NodeList._gcNodeData = dojo._gcNodeData = function(){ | ||
93 | + // summary: | ||
94 | + // super expensive: GC all data in the data for nodes that no longer exist in the dom. | ||
95 | + // description: | ||
96 | + // super expensive: GC all data in the data for nodes that no longer exist in the dom. | ||
97 | + // MUCH safer to do this yourself, manually, on a per-node basis (via `NodeList.removeData()`) | ||
98 | + // provided as a stop-gap for exceptionally large/complex applications with constantly changing | ||
99 | + // content regions (eg: a dijit/layout/ContentPane with replacing data) | ||
100 | + // There is NO automatic GC going on. If you dojo.destroy() a node, you should _removeNodeData | ||
101 | + // prior to destruction. | ||
102 | + var livePids = query("[" + dataattr + "]").map(dopid); | ||
103 | + for(var i in dataCache){ | ||
104 | + if(array.indexOf(livePids, i) < 0){ delete dataCache[i]; } | ||
105 | + } | ||
106 | + }; | ||
107 | + | ||
108 | + // make nodeData and removeNodeData public on dojo/NodeList: | ||
109 | + lang.extend(NodeList, { | ||
110 | + data: NodeList._adaptWithCondition(dodata, function(a){ | ||
111 | + return a.length === 0 || a.length == 1 && (typeof a[0] == "string"); | ||
112 | + }), | ||
113 | + removeData: NodeList._adaptAsForEach(removeData) | ||
114 | + }); | ||
115 | + | ||
116 | + /*===== | ||
117 | + lang.extend(NodeList, { | ||
118 | + data: function(key, value){ | ||
119 | + // summary: | ||
120 | + // stash or get some arbitrary data on/from these nodes. | ||
121 | + // | ||
122 | + // description: | ||
123 | + // Stash or get some arbitrary data on/from these nodes. This private _data function is | ||
124 | + // exposed publicly on `dojo/NodeList`, eg: as the result of a `dojo.query` call. | ||
125 | + // DIFFERS from jQuery.data in that when used as a getter, the entire list is ALWAYS | ||
126 | + // returned. EVEN WHEN THE LIST IS length == 1. | ||
127 | + // | ||
128 | + // A single-node version of this function is provided as `dojo._nodeData`, which follows | ||
129 | + // the same signature, though expects a String ID or DomNode reference in the first | ||
130 | + // position, before key/value arguments. | ||
131 | + // | ||
132 | + // node: String|DomNode | ||
133 | + // The node to associate data with | ||
134 | + // | ||
135 | + // key: Object|String? | ||
136 | + // If an object, act as a setter and iterate over said object setting data items as defined. | ||
137 | + // If a string, and `value` present, set the data for defined `key` to `value` | ||
138 | + // If a string, and `value` absent, act as a getter, returning the data associated with said `key` | ||
139 | + // | ||
140 | + // value: Anything? | ||
141 | + // The value to set for said `key`, provided `key` is a string (and not an object) | ||
142 | + // | ||
143 | + // example: | ||
144 | + // Set a key `bar` to some data, then retrieve it. | ||
145 | + // | dojo.query(".foo").data("bar", "touched"); | ||
146 | + // | var touched = dojo.query(".foo").data("bar"); | ||
147 | + // | if(touched[0] == "touched"){ alert('win'); } | ||
148 | + // | ||
149 | + // example: | ||
150 | + // Get all the data items for a given node. | ||
151 | + // | var list = dojo.query(".foo").data(); | ||
152 | + // | var first = list[0]; | ||
153 | + // | ||
154 | + // example: | ||
155 | + // Set the data to a complex hash. Overwrites existing keys with new value | ||
156 | + // | dojo.query(".foo").data({ bar:"baz", foo:"bar" }); | ||
157 | + // Then get some random key: | ||
158 | + // | dojo.query(".foo").data("foo"); // returns [`bar`] | ||
159 | + // | ||
160 | + // returns: Object|Anything|Nothing | ||
161 | + // When used as a setter via `dojo/NodeList`, a NodeList instance is returned | ||
162 | + // for further chaining. When used as a getter via `dojo/NodeList` an ARRAY | ||
163 | + // of items is returned. The items in the array correspond to the elements | ||
164 | + // in the original list. This is true even when the list length is 1, eg: | ||
165 | + // when looking up a node by ID (#foo) | ||
166 | + }, | ||
167 | + | ||
168 | + removeData: function(key){ | ||
169 | + // summary: | ||
170 | + // Remove the data associated with these nodes. | ||
171 | + // key: String? | ||
172 | + // If omitted, clean all data for this node. | ||
173 | + // If passed, remove the data item found at `key` | ||
174 | + } | ||
175 | + }); | ||
176 | + =====*/ | ||
177 | + | ||
178 | +// TODO: this is the basic implementation of adaptWithConditionAndWhenMappedConsiderLength, for lack of a better API name | ||
179 | +// it conflicts with the the `dojo/NodeList` way: always always return an arrayLike thinger. Consider for 2.0: | ||
180 | +// | ||
181 | +// NodeList.prototype.data = function(key, value){ | ||
182 | +// var a = arguments, r; | ||
183 | +// if(a.length === 0 || a.length == 1 && (typeof a[0] == "string")){ | ||
184 | +// r = this.map(function(node){ | ||
185 | +// return d._data(node, key); | ||
186 | +// }); | ||
187 | +// if(r.length == 1){ r = r[0]; } // the offending line, and the diff on adaptWithCondition | ||
188 | +// }else{ | ||
189 | +// r = this.forEach(function(node){ | ||
190 | +// d._data(node, key, value); | ||
191 | +// }); | ||
192 | +// } | ||
193 | +// return r; // NodeList|Array|SingleItem | ||
194 | +// }; | ||
195 | + | ||
196 | + return NodeList; | ||
197 | + | ||
198 | +}); |
bower_components/dojo/NodeList-dom.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/NodeList-fx.js
0 → 100644
1 | +define(["./query", "./_base/lang", "./aspect", "./_base/fx", "./fx"], | ||
2 | +function(query, lang, aspect, baseFx, coreFx){ | ||
3 | + | ||
4 | +// module: | ||
5 | +// dojo/NodeList-fx | ||
6 | + | ||
7 | +/*===== | ||
8 | +return function(){ | ||
9 | + // summary: | ||
10 | + // Adds dojo.fx animation support to dojo.query() by extending the NodeList class | ||
11 | + // with additional FX functions. NodeList is the array-like object used to hold query results. | ||
12 | +}; | ||
13 | +=====*/ | ||
14 | + | ||
15 | +var NodeList = query.NodeList; | ||
16 | + | ||
17 | +lang.extend(NodeList, { | ||
18 | + _anim: function(obj, method, args){ | ||
19 | + args = args||{}; | ||
20 | + var a = coreFx.combine( | ||
21 | + this.map(function(item){ | ||
22 | + var tmpArgs = { node: item }; | ||
23 | + lang.mixin(tmpArgs, args); | ||
24 | + return obj[method](tmpArgs); | ||
25 | + }) | ||
26 | + ); | ||
27 | + return args.auto ? a.play() && this : a; // dojo/_base/fx.Animation|dojo/NodeList | ||
28 | + }, | ||
29 | + | ||
30 | + wipeIn: function(args){ | ||
31 | + // summary: | ||
32 | + // wipe in all elements of this NodeList via `dojo/fx.wipeIn()` | ||
33 | + // | ||
34 | + // args: Object? | ||
35 | + // Additional dojo/_base/fx.Animation arguments to mix into this set with the addition of | ||
36 | + // an `auto` parameter. | ||
37 | + // | ||
38 | + // returns: dojo/_base/fx.Animation|dojo/NodeList | ||
39 | + // A special args member `auto` can be passed to automatically play the animation. | ||
40 | + // If args.auto is present, the original dojo/NodeList will be returned for further | ||
41 | + // chaining. Otherwise the dojo/_base/fx.Animation instance is returned and must be .play()'ed | ||
42 | + // | ||
43 | + // example: | ||
44 | + // Fade in all tables with class "blah": | ||
45 | + // | dojo.query("table.blah").wipeIn().play(); | ||
46 | + // | ||
47 | + // example: | ||
48 | + // Utilizing `auto` to get the NodeList back: | ||
49 | + // | dojo.query(".titles").wipeIn({ auto:true }).onclick(someFunction); | ||
50 | + // | ||
51 | + return this._anim(coreFx, "wipeIn", args); // dojo/_base/fx.Animation|dojo/NodeList | ||
52 | + }, | ||
53 | + | ||
54 | + wipeOut: function(args){ | ||
55 | + // summary: | ||
56 | + // wipe out all elements of this NodeList via `dojo/fx.wipeOut()` | ||
57 | + // | ||
58 | + // args: Object? | ||
59 | + // Additional dojo/_base/fx.Animation arguments to mix into this set with the addition of | ||
60 | + // an `auto` parameter. | ||
61 | + // | ||
62 | + // returns: dojo/_base/fx.Animation|dojo/NodeList | ||
63 | + // A special args member `auto` can be passed to automatically play the animation. | ||
64 | + // If args.auto is present, the original dojo/NodeList will be returned for further | ||
65 | + // chaining. Otherwise the dojo/_base/fx.Animation instance is returned and must be .play()'ed | ||
66 | + // | ||
67 | + // example: | ||
68 | + // Wipe out all tables with class "blah": | ||
69 | + // | dojo.query("table.blah").wipeOut().play(); | ||
70 | + return this._anim(coreFx, "wipeOut", args); // dojo/_base/fx.Animation|dojo/NodeList | ||
71 | + }, | ||
72 | + | ||
73 | + slideTo: function(args){ | ||
74 | + // summary: | ||
75 | + // slide all elements of the node list to the specified place via `dojo/fx.slideTo()` | ||
76 | + // | ||
77 | + // args: Object? | ||
78 | + // Additional dojo/_base/fx.Animation arguments to mix into this set with the addition of | ||
79 | + // an `auto` parameter. | ||
80 | + // | ||
81 | + // returns: dojo/_base/fx.Animation|dojo/NodeList | ||
82 | + // A special args member `auto` can be passed to automatically play the animation. | ||
83 | + // If args.auto is present, the original dojo/NodeList will be returned for further | ||
84 | + // chaining. Otherwise the dojo/_base/fx.Animation instance is returned and must be .play()'ed | ||
85 | + // | ||
86 | + // example: | ||
87 | + // | Move all tables with class "blah" to 300/300: | ||
88 | + // | dojo.query("table.blah").slideTo({ | ||
89 | + // | left: 40, | ||
90 | + // | top: 50 | ||
91 | + // | }).play(); | ||
92 | + return this._anim(coreFx, "slideTo", args); // dojo/_base/fx.Animation|dojo/NodeList | ||
93 | + }, | ||
94 | + | ||
95 | + | ||
96 | + fadeIn: function(args){ | ||
97 | + // summary: | ||
98 | + // fade in all elements of this NodeList via `dojo.fadeIn` | ||
99 | + // | ||
100 | + // args: Object? | ||
101 | + // Additional dojo/_base/fx.Animation arguments to mix into this set with the addition of | ||
102 | + // an `auto` parameter. | ||
103 | + // | ||
104 | + // returns: dojo/_base/fx.Animation|dojo/NodeList | ||
105 | + // A special args member `auto` can be passed to automatically play the animation. | ||
106 | + // If args.auto is present, the original dojo/NodeList will be returned for further | ||
107 | + // chaining. Otherwise the dojo/_base/fx.Animation instance is returned and must be .play()'ed | ||
108 | + // | ||
109 | + // example: | ||
110 | + // Fade in all tables with class "blah": | ||
111 | + // | dojo.query("table.blah").fadeIn().play(); | ||
112 | + return this._anim(baseFx, "fadeIn", args); // dojo/_base/fx.Animation|dojo/NodeList | ||
113 | + }, | ||
114 | + | ||
115 | + fadeOut: function(args){ | ||
116 | + // summary: | ||
117 | + // fade out all elements of this NodeList via `dojo.fadeOut` | ||
118 | + // | ||
119 | + // args: Object? | ||
120 | + // Additional dojo/_base/fx.Animation arguments to mix into this set with the addition of | ||
121 | + // an `auto` parameter. | ||
122 | + // | ||
123 | + // returns: dojo/_base/fx.Animation|dojo/NodeList | ||
124 | + // A special args member `auto` can be passed to automatically play the animation. | ||
125 | + // If args.auto is present, the original dojo/NodeList will be returned for further | ||
126 | + // chaining. Otherwise the dojo/_base/fx.Animation instance is returned and must be .play()'ed | ||
127 | + // | ||
128 | + // example: | ||
129 | + // Fade out all elements with class "zork": | ||
130 | + // | dojo.query(".zork").fadeOut().play(); | ||
131 | + // example: | ||
132 | + // Fade them on a delay and do something at the end: | ||
133 | + // | var fo = dojo.query(".zork").fadeOut(); | ||
134 | + // | aspect.after(fo, "onEnd", function(){ /*...*/ }, true); | ||
135 | + // | fo.play(); | ||
136 | + // example: | ||
137 | + // Using `auto`: | ||
138 | + // | dojo.query("li").fadeOut({ auto:true }).filter(filterFn).forEach(doit); | ||
139 | + // | ||
140 | + return this._anim(baseFx, "fadeOut", args); // dojo/_base/fx.Animation|dojo/NodeList | ||
141 | + }, | ||
142 | + | ||
143 | + animateProperty: function(args){ | ||
144 | + // summary: | ||
145 | + // Animate all elements of this NodeList across the properties specified. | ||
146 | + // syntax identical to `dojo.animateProperty` | ||
147 | + // | ||
148 | + // args: Object? | ||
149 | + // Additional dojo/_base/fx.Animation arguments to mix into this set with the addition of | ||
150 | + // an `auto` parameter. | ||
151 | + // | ||
152 | + // returns: dojo/_base/fx.Animation|dojo/NodeList | ||
153 | + // A special args member `auto` can be passed to automatically play the animation. | ||
154 | + // If args.auto is present, the original dojo/NodeList will be returned for further | ||
155 | + // chaining. Otherwise the dojo/_base/fx.Animation instance is returned and must be .play()'ed | ||
156 | + // | ||
157 | + // example: | ||
158 | + // | dojo.query(".zork").animateProperty({ | ||
159 | + // | duration: 500, | ||
160 | + // | properties: { | ||
161 | + // | color: { start: "black", end: "white" }, | ||
162 | + // | left: { end: 300 } | ||
163 | + // | } | ||
164 | + // | }).play(); | ||
165 | + // | ||
166 | + // example: | ||
167 | + // | dojo.query(".grue").animateProperty({ | ||
168 | + // | auto:true, | ||
169 | + // | properties: { | ||
170 | + // | height:240 | ||
171 | + // | } | ||
172 | + // | }).onclick(handler); | ||
173 | + return this._anim(baseFx, "animateProperty", args); // dojo/_base/fx.Animation|dojo/NodeList | ||
174 | + }, | ||
175 | + | ||
176 | + anim: function( /*Object*/ properties, | ||
177 | + /*Integer?*/ duration, | ||
178 | + /*Function?*/ easing, | ||
179 | + /*Function?*/ onEnd, | ||
180 | + /*Integer?*/ delay){ | ||
181 | + // summary: | ||
182 | + // Animate one or more CSS properties for all nodes in this list. | ||
183 | + // The returned animation object will already be playing when it | ||
184 | + // is returned. See the docs for `dojo.anim` for full details. | ||
185 | + // properties: Object | ||
186 | + // the properties to animate. does NOT support the `auto` parameter like other | ||
187 | + // NodeList-fx methods. | ||
188 | + // duration: Integer? | ||
189 | + // Optional. The time to run the animations for | ||
190 | + // easing: Function? | ||
191 | + // Optional. The easing function to use. | ||
192 | + // onEnd: Function? | ||
193 | + // A function to be called when the animation ends | ||
194 | + // delay: | ||
195 | + // how long to delay playing the returned animation | ||
196 | + // example: | ||
197 | + // Another way to fade out: | ||
198 | + // | dojo.query(".thinger").anim({ opacity: 0 }); | ||
199 | + // example: | ||
200 | + // animate all elements with the "thigner" class to a width of 500 | ||
201 | + // pixels over half a second | ||
202 | + // | dojo.query(".thinger").anim({ width: 500 }, 700); | ||
203 | + var canim = coreFx.combine( | ||
204 | + this.map(function(item){ | ||
205 | + return baseFx.animateProperty({ | ||
206 | + node: item, | ||
207 | + properties: properties, | ||
208 | + duration: duration||350, | ||
209 | + easing: easing | ||
210 | + }); | ||
211 | + }) | ||
212 | + ); | ||
213 | + if(onEnd){ | ||
214 | + aspect.after(canim, "onEnd", onEnd, true); | ||
215 | + } | ||
216 | + return canim.play(delay||0); // dojo/_base/fx.Animation | ||
217 | + } | ||
218 | +}); | ||
219 | + | ||
220 | +return NodeList; | ||
221 | +}); |
bower_components/dojo/NodeList-html.js
0 → 100644
1 | +define(["./query", "./_base/lang", "./html"], function(query, lang, html){ | ||
2 | + | ||
3 | +// module: | ||
4 | +// dojo/NodeList-html | ||
5 | + | ||
6 | +/*===== | ||
7 | +return function(){ | ||
8 | + // summary: | ||
9 | + // Adds a chainable html method to dojo.query() / NodeList instances for setting/replacing node content | ||
10 | +}; | ||
11 | +=====*/ | ||
12 | + | ||
13 | +var NodeList = query.NodeList; | ||
14 | + | ||
15 | + | ||
16 | +lang.extend(NodeList, { | ||
17 | + html: function(/* String|DomNode|NodeList? */ content, /* Object? */params){ | ||
18 | + // summary: | ||
19 | + // see `dojo/html.set()`. Set the content of all elements of this NodeList | ||
20 | + // | ||
21 | + // content: | ||
22 | + // An html string, node or enumerable list of nodes for insertion into the dom | ||
23 | + // | ||
24 | + // params: | ||
25 | + // Optional flags/properties to configure the content-setting. See dojo/html._ContentSetter | ||
26 | + // | ||
27 | + // description: | ||
28 | + // Based around `dojo/html.set()`, set the content of the Elements in a | ||
29 | + // NodeList to the given content (string/node/nodelist), with optional arguments | ||
30 | + // to further tune the set content behavior. | ||
31 | + // | ||
32 | + // example: | ||
33 | + // | query(".thingList").html("<li data-dojo-type='dojo/dnd/Moveable'>1</li><li data-dojo-type='dojo/dnd/Moveable'>2</li><li data-dojo-type='dojo/dnd/Moveable'>3</li>", | ||
34 | + // | { | ||
35 | + // | parseContent: true, | ||
36 | + // | onBegin: function(){ | ||
37 | + // | this.content = this.content.replace(/([0-9])/g, this.id + ": $1"); | ||
38 | + // | this.inherited("onBegin", arguments); | ||
39 | + // | } | ||
40 | + // | }).removeClass("notdone").addClass("done"); | ||
41 | + | ||
42 | + var dhs = new html._ContentSetter(params || {}); | ||
43 | + this.forEach(function(elm){ | ||
44 | + dhs.node = elm; | ||
45 | + dhs.set(content); | ||
46 | + dhs.tearDown(); | ||
47 | + }); | ||
48 | + return this; // dojo/NodeList | ||
49 | + } | ||
50 | +}); | ||
51 | + | ||
52 | +return NodeList; | ||
53 | +}); |
bower_components/dojo/NodeList-manipulate.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/NodeList-traverse.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/NodeList.js
0 → 100644
bower_components/dojo/OpenAjax.js
0 → 100644
1 | +/******************************************************************************* | ||
2 | + * OpenAjax.js | ||
3 | + * | ||
4 | + * Reference implementation of the OpenAjax Hub, as specified by OpenAjax Alliance. | ||
5 | + * Specification is under development at: | ||
6 | + * | ||
7 | + * http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification | ||
8 | + * | ||
9 | + * Copyright 2006-2007 OpenAjax Alliance | ||
10 | + * | ||
11 | + * Licensed under the Apache License, Version 2.0 (the "License"); you may not | ||
12 | + * use this file except in compliance with the License. You may obtain a copy | ||
13 | + * of the License at http://www.apache.org/licenses/LICENSE-2.0 . Unless | ||
14 | + * required by applicable law or agreed to in writing, software distributed | ||
15 | + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR | ||
16 | + * CONDITIONS OF ANY KIND, either express or implied. See the License for the | ||
17 | + * specific language governing permissions and limitations under the License. | ||
18 | + * | ||
19 | + ******************************************************************************/ | ||
20 | + | ||
21 | +// prevent re-definition of the OpenAjax object | ||
22 | +if(!window["OpenAjax"]){ | ||
23 | + OpenAjax = new function(){ | ||
24 | + // summary: | ||
25 | + // the OpenAjax hub | ||
26 | + // description: | ||
27 | + // see http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification | ||
28 | + | ||
29 | + var libs = {}; | ||
30 | + var ooh = "org.openajax.hub."; | ||
31 | + | ||
32 | + var h = {}; | ||
33 | + this.hub = h; | ||
34 | + h.implementer = "http://openajax.org"; | ||
35 | + h.implVersion = "0.6"; | ||
36 | + h.specVersion = "0.6"; | ||
37 | + h.implExtraData = {}; | ||
38 | + h.libraries = libs; | ||
39 | + | ||
40 | + h.registerLibrary = function(prefix, nsURL, version, extra){ | ||
41 | + libs[prefix] = { | ||
42 | + prefix: prefix, | ||
43 | + namespaceURI: nsURL, | ||
44 | + version: version, | ||
45 | + extraData: extra | ||
46 | + }; | ||
47 | + this.publish(ooh+"registerLibrary", libs[prefix]); | ||
48 | + }; | ||
49 | + h.unregisterLibrary = function(prefix){ | ||
50 | + this.publish(ooh+"unregisterLibrary", libs[prefix]); | ||
51 | + delete libs[prefix]; | ||
52 | + }; | ||
53 | + | ||
54 | + h._subscriptions = { c:{}, s:[] }; | ||
55 | + h._cleanup = []; | ||
56 | + h._subIndex = 0; | ||
57 | + h._pubDepth = 0; | ||
58 | + | ||
59 | + h.subscribe = function(name, callback, scope, subscriberData, filter){ | ||
60 | + if(!scope){ | ||
61 | + scope = window; | ||
62 | + } | ||
63 | + var handle = name + "." + this._subIndex; | ||
64 | + var sub = { scope: scope, cb: callback, fcb: filter, data: subscriberData, sid: this._subIndex++, hdl: handle }; | ||
65 | + var path = name.split("."); | ||
66 | + this._subscribe(this._subscriptions, path, 0, sub); | ||
67 | + return handle; | ||
68 | + }; | ||
69 | + | ||
70 | + h.publish = function(name, message){ | ||
71 | + var path = name.split("."); | ||
72 | + this._pubDepth++; | ||
73 | + this._publish(this._subscriptions, path, 0, name, message); | ||
74 | + this._pubDepth--; | ||
75 | + if((this._cleanup.length > 0) && (this._pubDepth == 0)){ | ||
76 | + for(var i = 0; i < this._cleanup.length; i++){ | ||
77 | + this.unsubscribe(this._cleanup[i].hdl); | ||
78 | + } | ||
79 | + delete(this._cleanup); | ||
80 | + this._cleanup = []; | ||
81 | + } | ||
82 | + }; | ||
83 | + | ||
84 | + h.unsubscribe = function(sub){ | ||
85 | + var path = sub.split("."); | ||
86 | + var sid = path.pop(); | ||
87 | + this._unsubscribe(this._subscriptions, path, 0, sid); | ||
88 | + }; | ||
89 | + | ||
90 | + h._subscribe = function(tree, path, index, sub){ | ||
91 | + var token = path[index]; | ||
92 | + if(index == path.length){ | ||
93 | + tree.s.push(sub); | ||
94 | + }else{ | ||
95 | + if(typeof tree.c == "undefined"){ | ||
96 | + tree.c = {}; | ||
97 | + } | ||
98 | + if(typeof tree.c[token] == "undefined"){ | ||
99 | + tree.c[token] = { c: {}, s: [] }; | ||
100 | + } | ||
101 | + this._subscribe(tree.c[token], path, index + 1, sub); | ||
102 | + } | ||
103 | + }; | ||
104 | + | ||
105 | + h._publish = function(tree, path, index, name, msg){ | ||
106 | + if(typeof tree != "undefined"){ | ||
107 | + var node; | ||
108 | + if(index == path.length){ | ||
109 | + node = tree; | ||
110 | + }else{ | ||
111 | + this._publish(tree.c[path[index]], path, index + 1, name, msg); | ||
112 | + this._publish(tree.c["*"], path, index + 1, name, msg); | ||
113 | + node = tree.c["**"]; | ||
114 | + } | ||
115 | + if(typeof node != "undefined"){ | ||
116 | + var callbacks = node.s; | ||
117 | + var max = callbacks.length; | ||
118 | + for(var i = 0; i < max; i++){ | ||
119 | + if(callbacks[i].cb){ | ||
120 | + var sc = callbacks[i].scope; | ||
121 | + var cb = callbacks[i].cb; | ||
122 | + var fcb = callbacks[i].fcb; | ||
123 | + var d = callbacks[i].data; | ||
124 | + if(typeof cb == "string"){ | ||
125 | + // get a function object | ||
126 | + cb = sc[cb]; | ||
127 | + } | ||
128 | + if(typeof fcb == "string"){ | ||
129 | + // get a function object | ||
130 | + fcb = sc[fcb]; | ||
131 | + } | ||
132 | + if((!fcb) || | ||
133 | + (fcb.call(sc, name, msg, d))){ | ||
134 | + cb.call(sc, name, msg, d); | ||
135 | + } | ||
136 | + } | ||
137 | + } | ||
138 | + } | ||
139 | + } | ||
140 | + }; | ||
141 | + | ||
142 | + h._unsubscribe = function(tree, path, index, sid){ | ||
143 | + if(typeof tree != "undefined"){ | ||
144 | + if(index < path.length){ | ||
145 | + var childNode = tree.c[path[index]]; | ||
146 | + this._unsubscribe(childNode, path, index + 1, sid); | ||
147 | + if(childNode.s.length == 0){ | ||
148 | + for(var x in childNode.c) | ||
149 | + return; | ||
150 | + delete tree.c[path[index]]; | ||
151 | + } | ||
152 | + return; | ||
153 | + } | ||
154 | + else{ | ||
155 | + var callbacks = tree.s; | ||
156 | + var max = callbacks.length; | ||
157 | + for(var i = 0; i < max; i++){ | ||
158 | + if(sid == callbacks[i].sid){ | ||
159 | + if(this._pubDepth > 0){ | ||
160 | + callbacks[i].cb = null; | ||
161 | + this._cleanup.push(callbacks[i]); | ||
162 | + } | ||
163 | + else | ||
164 | + callbacks.splice(i, 1); | ||
165 | + return; | ||
166 | + } | ||
167 | + } | ||
168 | + } | ||
169 | + } | ||
170 | + }; | ||
171 | + | ||
172 | + // The following function is provided for automatic testing purposes. | ||
173 | + // It is not expected to be deployed in run-time OpenAjax Hub implementations. | ||
174 | + h.reinit = function(){ | ||
175 | + for (var lib in OpenAjax.hub.libraries){ | ||
176 | + delete OpenAjax.hub.libraries[lib]; | ||
177 | + } | ||
178 | + OpenAjax.hub.registerLibrary("OpenAjax", "http://openajax.org/hub", "0.6", {}); | ||
179 | + | ||
180 | + delete OpenAjax._subscriptions; | ||
181 | + OpenAjax._subscriptions = {c:{},s:[]}; | ||
182 | + delete OpenAjax._cleanup; | ||
183 | + OpenAjax._cleanup = []; | ||
184 | + OpenAjax._subIndex = 0; | ||
185 | + OpenAjax._pubDepth = 0; | ||
186 | + }; | ||
187 | + }; | ||
188 | + | ||
189 | + // Register the OpenAjax Hub itself as a library. | ||
190 | + OpenAjax.hub.registerLibrary("OpenAjax", "http://openajax.org/hub", "0.6", {}); | ||
191 | + | ||
192 | +} |
bower_components/dojo/Stateful.js
0 → 100644
1 | +define(["./_base/declare", "./_base/lang", "./_base/array", "./when"], function(declare, lang, array, when){ | ||
2 | + // module: | ||
3 | + // dojo/Stateful | ||
4 | + | ||
5 | +return declare("dojo.Stateful", null, { | ||
6 | + // summary: | ||
7 | + // Base class for objects that provide named properties with optional getter/setter | ||
8 | + // control and the ability to watch for property changes | ||
9 | + // | ||
10 | + // The class also provides the functionality to auto-magically manage getters | ||
11 | + // and setters for object attributes/properties. | ||
12 | + // | ||
13 | + // Getters and Setters should follow the format of _xxxGetter or _xxxSetter where | ||
14 | + // the xxx is a name of the attribute to handle. So an attribute of "foo" | ||
15 | + // would have a custom getter of _fooGetter and a custom setter of _fooSetter. | ||
16 | + // | ||
17 | + // example: | ||
18 | + // | var obj = new dojo.Stateful(); | ||
19 | + // | obj.watch("foo", function(){ | ||
20 | + // | console.log("foo changed to " + this.get("foo")); | ||
21 | + // | }); | ||
22 | + // | obj.set("foo","bar"); | ||
23 | + | ||
24 | + // _attrPairNames: Hash | ||
25 | + // Used across all instances a hash to cache attribute names and their getter | ||
26 | + // and setter names. | ||
27 | + _attrPairNames: {}, | ||
28 | + | ||
29 | + _getAttrNames: function(name){ | ||
30 | + // summary: | ||
31 | + // Helper function for get() and set(). | ||
32 | + // Caches attribute name values so we don't do the string ops every time. | ||
33 | + // tags: | ||
34 | + // private | ||
35 | + | ||
36 | + var apn = this._attrPairNames; | ||
37 | + if(apn[name]){ return apn[name]; } | ||
38 | + return (apn[name] = { | ||
39 | + s: "_" + name + "Setter", | ||
40 | + g: "_" + name + "Getter" | ||
41 | + }); | ||
42 | + }, | ||
43 | + | ||
44 | + postscript: function(/*Object?*/ params){ | ||
45 | + // Automatic setting of params during construction | ||
46 | + if (params){ this.set(params); } | ||
47 | + }, | ||
48 | + | ||
49 | + _get: function(name, names){ | ||
50 | + // summary: | ||
51 | + // Private function that does a get based off a hash of names | ||
52 | + // names: | ||
53 | + // Hash of names of custom attributes | ||
54 | + return typeof this[names.g] === "function" ? this[names.g]() : this[name]; | ||
55 | + }, | ||
56 | + get: function(/*String*/name){ | ||
57 | + // summary: | ||
58 | + // Get a property on a Stateful instance. | ||
59 | + // name: | ||
60 | + // The property to get. | ||
61 | + // returns: | ||
62 | + // The property value on this Stateful instance. | ||
63 | + // description: | ||
64 | + // Get a named property on a Stateful object. The property may | ||
65 | + // potentially be retrieved via a getter method in subclasses. In the base class | ||
66 | + // this just retrieves the object's property. | ||
67 | + // For example: | ||
68 | + // | stateful = new dojo.Stateful({foo: 3}); | ||
69 | + // | stateful.get("foo") // returns 3 | ||
70 | + // | stateful.foo // returns 3 | ||
71 | + | ||
72 | + return this._get(name, this._getAttrNames(name)); //Any | ||
73 | + }, | ||
74 | + set: function(/*String*/name, /*Object*/value){ | ||
75 | + // summary: | ||
76 | + // Set a property on a Stateful instance | ||
77 | + // name: | ||
78 | + // The property to set. | ||
79 | + // value: | ||
80 | + // The value to set in the property. | ||
81 | + // returns: | ||
82 | + // The function returns this dojo.Stateful instance. | ||
83 | + // description: | ||
84 | + // Sets named properties on a stateful object and notifies any watchers of | ||
85 | + // the property. A programmatic setter may be defined in subclasses. | ||
86 | + // For example: | ||
87 | + // | stateful = new dojo.Stateful(); | ||
88 | + // | stateful.watch(function(name, oldValue, value){ | ||
89 | + // | // this will be called on the set below | ||
90 | + // | } | ||
91 | + // | stateful.set(foo, 5); | ||
92 | + // | ||
93 | + // set() may also be called with a hash of name/value pairs, ex: | ||
94 | + // | myObj.set({ | ||
95 | + // | foo: "Howdy", | ||
96 | + // | bar: 3 | ||
97 | + // | }) | ||
98 | + // This is equivalent to calling set(foo, "Howdy") and set(bar, 3) | ||
99 | + | ||
100 | + // If an object is used, iterate through object | ||
101 | + if(typeof name === "object"){ | ||
102 | + for(var x in name){ | ||
103 | + if(name.hasOwnProperty(x) && x !="_watchCallbacks"){ | ||
104 | + this.set(x, name[x]); | ||
105 | + } | ||
106 | + } | ||
107 | + return this; | ||
108 | + } | ||
109 | + | ||
110 | + var names = this._getAttrNames(name), | ||
111 | + oldValue = this._get(name, names), | ||
112 | + setter = this[names.s], | ||
113 | + result; | ||
114 | + if(typeof setter === "function"){ | ||
115 | + // use the explicit setter | ||
116 | + result = setter.apply(this, Array.prototype.slice.call(arguments, 1)); | ||
117 | + }else{ | ||
118 | + // no setter so set attribute directly | ||
119 | + this[name] = value; | ||
120 | + } | ||
121 | + if(this._watchCallbacks){ | ||
122 | + var self = this; | ||
123 | + // If setter returned a promise, wait for it to complete, otherwise call watches immediatly | ||
124 | + when(result, function(){ | ||
125 | + self._watchCallbacks(name, oldValue, value); | ||
126 | + }); | ||
127 | + } | ||
128 | + return this; // dojo/Stateful | ||
129 | + }, | ||
130 | + _changeAttrValue: function(name, value){ | ||
131 | + // summary: | ||
132 | + // Internal helper for directly changing an attribute value. | ||
133 | + // | ||
134 | + // name: String | ||
135 | + // The property to set. | ||
136 | + // value: Mixed | ||
137 | + // The value to set in the property. | ||
138 | + // | ||
139 | + // description: | ||
140 | + // Directly change the value of an attribute on an object, bypassing any | ||
141 | + // accessor setter. Also handles the calling of watch and emitting events. | ||
142 | + // It is designed to be used by descendent class when there are two values | ||
143 | + // of attributes that are linked, but calling .set() is not appropriate. | ||
144 | + | ||
145 | + var oldValue = this.get(name); | ||
146 | + this[name] = value; | ||
147 | + if(this._watchCallbacks){ | ||
148 | + this._watchCallbacks(name, oldValue, value); | ||
149 | + } | ||
150 | + return this; // dojo/Stateful | ||
151 | + }, | ||
152 | + watch: function(/*String?*/name, /*Function*/callback){ | ||
153 | + // summary: | ||
154 | + // Watches a property for changes | ||
155 | + // name: | ||
156 | + // Indicates the property to watch. This is optional (the callback may be the | ||
157 | + // only parameter), and if omitted, all the properties will be watched | ||
158 | + // returns: | ||
159 | + // An object handle for the watch. The unwatch method of this object | ||
160 | + // can be used to discontinue watching this property: | ||
161 | + // | var watchHandle = obj.watch("foo", callback); | ||
162 | + // | watchHandle.unwatch(); // callback won't be called now | ||
163 | + // callback: | ||
164 | + // The function to execute when the property changes. This will be called after | ||
165 | + // the property has been changed. The callback will be called with the |this| | ||
166 | + // set to the instance, the first argument as the name of the property, the | ||
167 | + // second argument as the old value and the third argument as the new value. | ||
168 | + | ||
169 | + var callbacks = this._watchCallbacks; | ||
170 | + if(!callbacks){ | ||
171 | + var self = this; | ||
172 | + callbacks = this._watchCallbacks = function(name, oldValue, value, ignoreCatchall){ | ||
173 | + var notify = function(propertyCallbacks){ | ||
174 | + if(propertyCallbacks){ | ||
175 | + propertyCallbacks = propertyCallbacks.slice(); | ||
176 | + for(var i = 0, l = propertyCallbacks.length; i < l; i++){ | ||
177 | + propertyCallbacks[i].call(self, name, oldValue, value); | ||
178 | + } | ||
179 | + } | ||
180 | + }; | ||
181 | + notify(callbacks['_' + name]); | ||
182 | + if(!ignoreCatchall){ | ||
183 | + notify(callbacks["*"]); // the catch-all | ||
184 | + } | ||
185 | + }; // we use a function instead of an object so it will be ignored by JSON conversion | ||
186 | + } | ||
187 | + if(!callback && typeof name === "function"){ | ||
188 | + callback = name; | ||
189 | + name = "*"; | ||
190 | + }else{ | ||
191 | + // prepend with dash to prevent name conflicts with function (like "name" property) | ||
192 | + name = '_' + name; | ||
193 | + } | ||
194 | + var propertyCallbacks = callbacks[name]; | ||
195 | + if(typeof propertyCallbacks !== "object"){ | ||
196 | + propertyCallbacks = callbacks[name] = []; | ||
197 | + } | ||
198 | + propertyCallbacks.push(callback); | ||
199 | + | ||
200 | + // TODO: Remove unwatch in 2.0 | ||
201 | + var handle = {}; | ||
202 | + handle.unwatch = handle.remove = function(){ | ||
203 | + var index = array.indexOf(propertyCallbacks, callback); | ||
204 | + if(index > -1){ | ||
205 | + propertyCallbacks.splice(index, 1); | ||
206 | + } | ||
207 | + }; | ||
208 | + return handle; //Object | ||
209 | + } | ||
210 | + | ||
211 | +}); | ||
212 | + | ||
213 | +}); |
bower_components/dojo/_base/Color.js
0 → 100644
1 | +define(["./kernel", "./lang", "./array", "./config"], function(dojo, lang, ArrayUtil, config){ | ||
2 | + | ||
3 | + var Color = dojo.Color = function(/*Array|String|Object*/ color){ | ||
4 | + // summary: | ||
5 | + // Takes a named string, hex string, array of rgb or rgba values, | ||
6 | + // an object with r, g, b, and a properties, or another `Color` object | ||
7 | + // and creates a new Color instance to work from. | ||
8 | + // | ||
9 | + // example: | ||
10 | + // Work with a Color instance: | ||
11 | + // | var c = new Color(); | ||
12 | + // | c.setColor([0,0,0]); // black | ||
13 | + // | var hex = c.toHex(); // #000000 | ||
14 | + // | ||
15 | + // example: | ||
16 | + // Work with a node's color: | ||
17 | + // | var color = dojo.style("someNode", "backgroundColor"); | ||
18 | + // | var n = new Color(color); | ||
19 | + // | // adjust the color some | ||
20 | + // | n.r *= .5; | ||
21 | + // | console.log(n.toString()); // rgb(128, 255, 255); | ||
22 | + if(color){ this.setColor(color); } | ||
23 | + }; | ||
24 | + | ||
25 | + // FIXME: | ||
26 | + // there's got to be a more space-efficient way to encode or discover | ||
27 | + // these!! Use hex? | ||
28 | + Color.named = { | ||
29 | + // summary: | ||
30 | + // Dictionary list of all CSS named colors, by name. Values are 3-item arrays with corresponding RG and B values. | ||
31 | + "black": [0,0,0], | ||
32 | + "silver": [192,192,192], | ||
33 | + "gray": [128,128,128], | ||
34 | + "white": [255,255,255], | ||
35 | + "maroon": [128,0,0], | ||
36 | + "red": [255,0,0], | ||
37 | + "purple": [128,0,128], | ||
38 | + "fuchsia":[255,0,255], | ||
39 | + "green": [0,128,0], | ||
40 | + "lime": [0,255,0], | ||
41 | + "olive": [128,128,0], | ||
42 | + "yellow": [255,255,0], | ||
43 | + "navy": [0,0,128], | ||
44 | + "blue": [0,0,255], | ||
45 | + "teal": [0,128,128], | ||
46 | + "aqua": [0,255,255], | ||
47 | + "transparent": config.transparentColor || [0,0,0,0] | ||
48 | + }; | ||
49 | + | ||
50 | + lang.extend(Color, { | ||
51 | + r: 255, g: 255, b: 255, a: 1, | ||
52 | + _set: function(r, g, b, a){ | ||
53 | + var t = this; t.r = r; t.g = g; t.b = b; t.a = a; | ||
54 | + }, | ||
55 | + setColor: function(/*Array|String|Object*/ color){ | ||
56 | + // summary: | ||
57 | + // Takes a named string, hex string, array of rgb or rgba values, | ||
58 | + // an object with r, g, b, and a properties, or another `Color` object | ||
59 | + // and sets this color instance to that value. | ||
60 | + // | ||
61 | + // example: | ||
62 | + // | var c = new Color(); // no color | ||
63 | + // | c.setColor("#ededed"); // greyish | ||
64 | + if(lang.isString(color)){ | ||
65 | + Color.fromString(color, this); | ||
66 | + }else if(lang.isArray(color)){ | ||
67 | + Color.fromArray(color, this); | ||
68 | + }else{ | ||
69 | + this._set(color.r, color.g, color.b, color.a); | ||
70 | + if(!(color instanceof Color)){ this.sanitize(); } | ||
71 | + } | ||
72 | + return this; // Color | ||
73 | + }, | ||
74 | + sanitize: function(){ | ||
75 | + // summary: | ||
76 | + // Ensures the object has correct attributes | ||
77 | + // description: | ||
78 | + // the default implementation does nothing, include dojo.colors to | ||
79 | + // augment it with real checks | ||
80 | + return this; // Color | ||
81 | + }, | ||
82 | + toRgb: function(){ | ||
83 | + // summary: | ||
84 | + // Returns 3 component array of rgb values | ||
85 | + // example: | ||
86 | + // | var c = new Color("#000000"); | ||
87 | + // | console.log(c.toRgb()); // [0,0,0] | ||
88 | + var t = this; | ||
89 | + return [t.r, t.g, t.b]; // Array | ||
90 | + }, | ||
91 | + toRgba: function(){ | ||
92 | + // summary: | ||
93 | + // Returns a 4 component array of rgba values from the color | ||
94 | + // represented by this object. | ||
95 | + var t = this; | ||
96 | + return [t.r, t.g, t.b, t.a]; // Array | ||
97 | + }, | ||
98 | + toHex: function(){ | ||
99 | + // summary: | ||
100 | + // Returns a CSS color string in hexadecimal representation | ||
101 | + // example: | ||
102 | + // | console.log(new Color([0,0,0]).toHex()); // #000000 | ||
103 | + var arr = ArrayUtil.map(["r", "g", "b"], function(x){ | ||
104 | + var s = this[x].toString(16); | ||
105 | + return s.length < 2 ? "0" + s : s; | ||
106 | + }, this); | ||
107 | + return "#" + arr.join(""); // String | ||
108 | + }, | ||
109 | + toCss: function(/*Boolean?*/ includeAlpha){ | ||
110 | + // summary: | ||
111 | + // Returns a css color string in rgb(a) representation | ||
112 | + // example: | ||
113 | + // | var c = new Color("#FFF").toCss(); | ||
114 | + // | console.log(c); // rgb('255','255','255') | ||
115 | + var t = this, rgb = t.r + ", " + t.g + ", " + t.b; | ||
116 | + return (includeAlpha ? "rgba(" + rgb + ", " + t.a : "rgb(" + rgb) + ")"; // String | ||
117 | + }, | ||
118 | + toString: function(){ | ||
119 | + // summary: | ||
120 | + // Returns a visual representation of the color | ||
121 | + return this.toCss(true); // String | ||
122 | + } | ||
123 | + }); | ||
124 | + | ||
125 | + Color.blendColors = dojo.blendColors = function( | ||
126 | + /*Color*/ start, | ||
127 | + /*Color*/ end, | ||
128 | + /*Number*/ weight, | ||
129 | + /*Color?*/ obj | ||
130 | + ){ | ||
131 | + // summary: | ||
132 | + // Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend, | ||
133 | + // can reuse a previously allocated Color object for the result | ||
134 | + var t = obj || new Color(); | ||
135 | + ArrayUtil.forEach(["r", "g", "b", "a"], function(x){ | ||
136 | + t[x] = start[x] + (end[x] - start[x]) * weight; | ||
137 | + if(x != "a"){ t[x] = Math.round(t[x]); } | ||
138 | + }); | ||
139 | + return t.sanitize(); // Color | ||
140 | + }; | ||
141 | + | ||
142 | + Color.fromRgb = dojo.colorFromRgb = function(/*String*/ color, /*Color?*/ obj){ | ||
143 | + // summary: | ||
144 | + // Returns a `Color` instance from a string of the form | ||
145 | + // "rgb(...)" or "rgba(...)". Optionally accepts a `Color` | ||
146 | + // object to update with the parsed value and return instead of | ||
147 | + // creating a new object. | ||
148 | + // returns: | ||
149 | + // A Color object. If obj is passed, it will be the return value. | ||
150 | + var m = color.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/); | ||
151 | + return m && Color.fromArray(m[1].split(/\s*,\s*/), obj); // Color | ||
152 | + }; | ||
153 | + | ||
154 | + Color.fromHex = dojo.colorFromHex = function(/*String*/ color, /*Color?*/ obj){ | ||
155 | + // summary: | ||
156 | + // Converts a hex string with a '#' prefix to a color object. | ||
157 | + // Supports 12-bit #rgb shorthand. Optionally accepts a | ||
158 | + // `Color` object to update with the parsed value. | ||
159 | + // | ||
160 | + // returns: | ||
161 | + // A Color object. If obj is passed, it will be the return value. | ||
162 | + // | ||
163 | + // example: | ||
164 | + // | var thing = dojo.colorFromHex("#ededed"); // grey, longhand | ||
165 | + // | ||
166 | + // example: | ||
167 | + // | var thing = dojo.colorFromHex("#000"); // black, shorthand | ||
168 | + var t = obj || new Color(), | ||
169 | + bits = (color.length == 4) ? 4 : 8, | ||
170 | + mask = (1 << bits) - 1; | ||
171 | + color = Number("0x" + color.substr(1)); | ||
172 | + if(isNaN(color)){ | ||
173 | + return null; // Color | ||
174 | + } | ||
175 | + ArrayUtil.forEach(["b", "g", "r"], function(x){ | ||
176 | + var c = color & mask; | ||
177 | + color >>= bits; | ||
178 | + t[x] = bits == 4 ? 17 * c : c; | ||
179 | + }); | ||
180 | + t.a = 1; | ||
181 | + return t; // Color | ||
182 | + }; | ||
183 | + | ||
184 | + Color.fromArray = dojo.colorFromArray = function(/*Array*/ a, /*Color?*/ obj){ | ||
185 | + // summary: | ||
186 | + // Builds a `Color` from a 3 or 4 element array, mapping each | ||
187 | + // element in sequence to the rgb(a) values of the color. | ||
188 | + // example: | ||
189 | + // | var myColor = dojo.colorFromArray([237,237,237,0.5]); // grey, 50% alpha | ||
190 | + // returns: | ||
191 | + // A Color object. If obj is passed, it will be the return value. | ||
192 | + var t = obj || new Color(); | ||
193 | + t._set(Number(a[0]), Number(a[1]), Number(a[2]), Number(a[3])); | ||
194 | + if(isNaN(t.a)){ t.a = 1; } | ||
195 | + return t.sanitize(); // Color | ||
196 | + }; | ||
197 | + | ||
198 | + Color.fromString = dojo.colorFromString = function(/*String*/ str, /*Color?*/ obj){ | ||
199 | + // summary: | ||
200 | + // Parses `str` for a color value. Accepts hex, rgb, and rgba | ||
201 | + // style color values. | ||
202 | + // description: | ||
203 | + // Acceptable input values for str may include arrays of any form | ||
204 | + // accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or | ||
205 | + // rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10, | ||
206 | + // 10, 50)" | ||
207 | + // returns: | ||
208 | + // A Color object. If obj is passed, it will be the return value. | ||
209 | + var a = Color.named[str]; | ||
210 | + return a && Color.fromArray(a, obj) || Color.fromRgb(str, obj) || Color.fromHex(str, obj); // Color | ||
211 | + }; | ||
212 | + | ||
213 | + return Color; | ||
214 | +}); |
bower_components/dojo/_base/Deferred.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/NodeList.js
0 → 100644
1 | +define(["./kernel", "../query", "./array", "./html", "../NodeList-dom"], function(dojo, query, array){ | ||
2 | + // module: | ||
3 | + // dojo/_base/NodeList | ||
4 | + | ||
5 | + /*===== | ||
6 | + return { | ||
7 | + // summary: | ||
8 | + // This module extends dojo/NodeList with the legacy connect(), coords(), | ||
9 | + // blur(), focus(), change(), click(), error(), keydown(), keypress(), | ||
10 | + // keyup(), load(), mousedown(), mouseenter(), mouseleave(), mousemove(), | ||
11 | + // mouseout(), mouseover(), mouseup(), and submit() methods. | ||
12 | + }; | ||
13 | + =====*/ | ||
14 | + | ||
15 | + var NodeList = query.NodeList, | ||
16 | + nlp = NodeList.prototype; | ||
17 | + | ||
18 | + nlp.connect = NodeList._adaptAsForEach(function(){ | ||
19 | + // don't bind early to dojo.connect since we no longer explicitly depend on it | ||
20 | + return dojo.connect.apply(this, arguments); | ||
21 | + }); | ||
22 | + /*===== | ||
23 | + nlp.connect = function(methodName, objOrFunc, funcName){ | ||
24 | + // summary: | ||
25 | + // Attach event handlers to every item of the NodeList. Uses dojo.connect() | ||
26 | + // so event properties are normalized. | ||
27 | + // | ||
28 | + // Application must manually require() "dojo/_base/connect" before using this method. | ||
29 | + // methodName: String | ||
30 | + // the name of the method to attach to. For DOM events, this should be | ||
31 | + // the lower-case name of the event | ||
32 | + // objOrFunc: Object|Function|String | ||
33 | + // if 2 arguments are passed (methodName, objOrFunc), objOrFunc should | ||
34 | + // reference a function or be the name of the function in the global | ||
35 | + // namespace to attach. If 3 arguments are provided | ||
36 | + // (methodName, objOrFunc, funcName), objOrFunc must be the scope to | ||
37 | + // locate the bound function in | ||
38 | + // funcName: String? | ||
39 | + // optional. A string naming the function in objOrFunc to bind to the | ||
40 | + // event. May also be a function reference. | ||
41 | + // example: | ||
42 | + // add an onclick handler to every button on the page | ||
43 | + // | query("div:nth-child(odd)").connect("onclick", function(e){ | ||
44 | + // | console.log("clicked!"); | ||
45 | + // | }); | ||
46 | + // example: | ||
47 | + // attach foo.bar() to every odd div's onmouseover | ||
48 | + // | query("div:nth-child(odd)").connect("onmouseover", foo, "bar"); | ||
49 | + | ||
50 | + return null; // NodeList | ||
51 | + }; | ||
52 | + =====*/ | ||
53 | + | ||
54 | + nlp.coords = NodeList._adaptAsMap(dojo.coords); | ||
55 | + /*===== | ||
56 | + nlp.coords = function(){ | ||
57 | + // summary: | ||
58 | + // Deprecated: Use position() for border-box x/y/w/h | ||
59 | + // or marginBox() for margin-box w/h/l/t. | ||
60 | + // Returns the box objects of all elements in a node list as | ||
61 | + // an Array (*not* a NodeList). Acts like `domGeom.coords`, though assumes | ||
62 | + // the node passed is each node in this list. | ||
63 | + | ||
64 | + return []; // Array | ||
65 | + }; | ||
66 | + =====*/ | ||
67 | + | ||
68 | + NodeList.events = [ | ||
69 | + // summary: | ||
70 | + // list of all DOM events used in NodeList | ||
71 | + "blur", "focus", "change", "click", "error", "keydown", "keypress", | ||
72 | + "keyup", "load", "mousedown", "mouseenter", "mouseleave", "mousemove", | ||
73 | + "mouseout", "mouseover", "mouseup", "submit" | ||
74 | + ]; | ||
75 | + | ||
76 | + // FIXME: pseudo-doc the above automatically generated on-event functions | ||
77 | + | ||
78 | + // syntactic sugar for DOM events | ||
79 | + array.forEach(NodeList.events, function(evt){ | ||
80 | + var _oe = "on" + evt; | ||
81 | + nlp[_oe] = function(a, b){ | ||
82 | + return this.connect(_oe, a, b); | ||
83 | + }; | ||
84 | + // FIXME: should these events trigger publishes? | ||
85 | + /* | ||
86 | + return (a ? this.connect(_oe, a, b) : | ||
87 | + this.forEach(function(n){ | ||
88 | + // FIXME: | ||
89 | + // listeners get buried by | ||
90 | + // addEventListener and can't be dug back | ||
91 | + // out to be triggered externally. | ||
92 | + // see: | ||
93 | + // http://developer.mozilla.org/en/docs/DOM:element | ||
94 | + | ||
95 | + console.log(n, evt, _oe); | ||
96 | + | ||
97 | + // FIXME: need synthetic event support! | ||
98 | + var _e = { target: n, faux: true, type: evt }; | ||
99 | + // dojo._event_listener._synthesizeEvent({}, { target: n, faux: true, type: evt }); | ||
100 | + try{ n[evt](_e); }catch(e){ console.log(e); } | ||
101 | + try{ n[_oe](_e); }catch(e){ console.log(e); } | ||
102 | + }) | ||
103 | + ); | ||
104 | + */ | ||
105 | + } | ||
106 | + ); | ||
107 | + | ||
108 | + dojo.NodeList = NodeList; | ||
109 | + return NodeList; | ||
110 | +}); |
bower_components/dojo/_base/array.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/browser.js
0 → 100644
1 | +if(require.has){ | ||
2 | + require.has.add("config-selectorEngine", "acme"); | ||
3 | +} | ||
4 | +define([ | ||
5 | + "../ready", | ||
6 | + "./kernel", | ||
7 | + "./connect", // until we decide if connect is going back into non-browser environments | ||
8 | + "./unload", | ||
9 | + "./window", | ||
10 | + "./event", | ||
11 | + "./html", | ||
12 | + "./NodeList", | ||
13 | + "../query", | ||
14 | + "./xhr", | ||
15 | + "./fx"], function(dojo){ | ||
16 | + | ||
17 | + // module: | ||
18 | + // dojo/_base/browser | ||
19 | + | ||
20 | + /*===== | ||
21 | + return { | ||
22 | + // summary: | ||
23 | + // This module causes the browser-only base modules to be loaded. | ||
24 | + }; | ||
25 | + =====*/ | ||
26 | + | ||
27 | + return dojo; | ||
28 | +}); |
bower_components/dojo/_base/config.js
0 → 100644
1 | +define(["../has", "require"], function(has, require){ | ||
2 | + // module: | ||
3 | + // dojo/_base/config | ||
4 | + | ||
5 | +/*===== | ||
6 | +return { | ||
7 | + // summary: | ||
8 | + // This module defines the user configuration during bootstrap. | ||
9 | + // description: | ||
10 | + // By defining user configuration as a module value, an entire configuration can be specified in a build, | ||
11 | + // thereby eliminating the need for sniffing and or explicitly setting in the global variable dojoConfig. | ||
12 | + // Also, when multiple instances of dojo exist in a single application, each will necessarily be located | ||
13 | + // at an unique absolute module identifier as given by the package configuration. Implementing configuration | ||
14 | + // as a module allows for specifying unique, per-instance configurations. | ||
15 | + // example: | ||
16 | + // Create a second instance of dojo with a different, instance-unique configuration (assume the loader and | ||
17 | + // dojo.js are already loaded). | ||
18 | + // | // specify a configuration that creates a new instance of dojo at the absolute module identifier "myDojo" | ||
19 | + // | require({ | ||
20 | + // | packages:[{ | ||
21 | + // | name:"myDojo", | ||
22 | + // | location:".", //assume baseUrl points to dojo.js | ||
23 | + // | }] | ||
24 | + // | }); | ||
25 | + // | | ||
26 | + // | // specify a configuration for the myDojo instance | ||
27 | + // | define("myDojo/config", { | ||
28 | + // | // normal configuration variables go here, e.g., | ||
29 | + // | locale:"fr-ca" | ||
30 | + // | }); | ||
31 | + // | | ||
32 | + // | // load and use the new instance of dojo | ||
33 | + // | require(["myDojo"], function(dojo){ | ||
34 | + // | // dojo is the new instance of dojo | ||
35 | + // | // use as required | ||
36 | + // | }); | ||
37 | + | ||
38 | + // isDebug: Boolean | ||
39 | + // Defaults to `false`. If set to `true`, ensures that Dojo provides | ||
40 | + // extended debugging feedback via Firebug. If Firebug is not available | ||
41 | + // on your platform, setting `isDebug` to `true` will force Dojo to | ||
42 | + // pull in (and display) the version of Firebug Lite which is | ||
43 | + // integrated into the Dojo distribution, thereby always providing a | ||
44 | + // debugging/logging console when `isDebug` is enabled. Note that | ||
45 | + // Firebug's `console.*` methods are ALWAYS defined by Dojo. If | ||
46 | + // `isDebug` is false and you are on a platform without Firebug, these | ||
47 | + // methods will be defined as no-ops. | ||
48 | + isDebug: false, | ||
49 | + | ||
50 | + // locale: String | ||
51 | + // The locale to assume for loading localized resources in this page, | ||
52 | + // specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt). | ||
53 | + // Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`. | ||
54 | + // See the documentation for `dojo.i18n` and `dojo.requireLocalization` | ||
55 | + // for details on loading localized resources. If no locale is specified, | ||
56 | + // Dojo assumes the locale of the user agent, according to `navigator.userLanguage` | ||
57 | + // or `navigator.language` properties. | ||
58 | + locale: undefined, | ||
59 | + | ||
60 | + // extraLocale: Array | ||
61 | + // No default value. Specifies additional locales whose | ||
62 | + // resources should also be loaded alongside the default locale when | ||
63 | + // calls to `dojo.requireLocalization()` are processed. | ||
64 | + extraLocale: undefined, | ||
65 | + | ||
66 | + // baseUrl: String | ||
67 | + // The directory in which `dojo.js` is located. Under normal | ||
68 | + // conditions, Dojo auto-detects the correct location from which it | ||
69 | + // was loaded. You may need to manually configure `baseUrl` in cases | ||
70 | + // where you have renamed `dojo.js` or in which `<base>` tags confuse | ||
71 | + // some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned | ||
72 | + // either the value of `djConfig.baseUrl` if one is provided or the | ||
73 | + // auto-detected root if not. Other modules are located relative to | ||
74 | + // this path. The path should end in a slash. | ||
75 | + baseUrl: undefined, | ||
76 | + | ||
77 | + // modulePaths: [deprecated] Object | ||
78 | + // A map of module names to paths relative to `dojo.baseUrl`. The | ||
79 | + // key/value pairs correspond directly to the arguments which | ||
80 | + // `dojo.registerModulePath` accepts. Specifying | ||
81 | + // `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent | ||
82 | + // of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple | ||
83 | + // modules may be configured via `djConfig.modulePaths`. | ||
84 | + modulePaths: {}, | ||
85 | + | ||
86 | + // addOnLoad: Function|Array | ||
87 | + // Adds a callback via dojo/ready. Useful when Dojo is added after | ||
88 | + // the page loads and djConfig.afterOnLoad is true. Supports the same | ||
89 | + // arguments as dojo/ready. When using a function reference, use | ||
90 | + // `djConfig.addOnLoad = function(){};`. For object with function name use | ||
91 | + // `djConfig.addOnLoad = [myObject, "functionName"];` and for object with | ||
92 | + // function reference use | ||
93 | + // `djConfig.addOnLoad = [myObject, function(){}];` | ||
94 | + addOnLoad: null, | ||
95 | + | ||
96 | + // parseOnLoad: Boolean | ||
97 | + // Run the parser after the page is loaded | ||
98 | + parseOnLoad: false, | ||
99 | + | ||
100 | + // require: String[] | ||
101 | + // An array of module names to be loaded immediately after dojo.js has been included | ||
102 | + // in a page. | ||
103 | + require: [], | ||
104 | + | ||
105 | + // defaultDuration: Number | ||
106 | + // Default duration, in milliseconds, for wipe and fade animations within dijits. | ||
107 | + // Assigned to dijit.defaultDuration. | ||
108 | + defaultDuration: 200, | ||
109 | + | ||
110 | + // dojoBlankHtmlUrl: String | ||
111 | + // Used by some modules to configure an empty iframe. Used by dojo/io/iframe and | ||
112 | + // dojo/back, and dijit/popup support in IE where an iframe is needed to make sure native | ||
113 | + // controls do not bleed through the popups. Normally this configuration variable | ||
114 | + // does not need to be set, except when using cross-domain/CDN Dojo builds. | ||
115 | + // Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl` | ||
116 | + // to the path on your domain your copy of blank.html. | ||
117 | + dojoBlankHtmlUrl: undefined, | ||
118 | + | ||
119 | + // ioPublish: Boolean? | ||
120 | + // Set this to true to enable publishing of topics for the different phases of | ||
121 | + // IO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list | ||
122 | + // of topics that are published. | ||
123 | + ioPublish: false, | ||
124 | + | ||
125 | + // useCustomLogger: Anything? | ||
126 | + // If set to a value that evaluates to true such as a string or array and | ||
127 | + // isDebug is true and Firebug is not available or running, then it bypasses | ||
128 | + // the creation of Firebug Lite allowing you to define your own console object. | ||
129 | + useCustomLogger: undefined, | ||
130 | + | ||
131 | + // transparentColor: Array | ||
132 | + // Array containing the r, g, b components used as transparent color in dojo.Color; | ||
133 | + // if undefined, [255,255,255] (white) will be used. | ||
134 | + transparentColor: undefined, | ||
135 | + | ||
136 | + // deps: Function|Array | ||
137 | + // Defines dependencies to be used before the loader has been loaded. | ||
138 | + // When provided, they cause the loader to execute require(deps, callback) | ||
139 | + // once it has finished loading. Should be used with callback. | ||
140 | + deps: undefined, | ||
141 | + | ||
142 | + // callback: Function|Array | ||
143 | + // Defines a callback to be used when dependencies are defined before | ||
144 | + // the loader has been loaded. When provided, they cause the loader to | ||
145 | + // execute require(deps, callback) once it has finished loading. | ||
146 | + // Should be used with deps. | ||
147 | + callback: undefined, | ||
148 | + | ||
149 | + // deferredInstrumentation: Boolean | ||
150 | + // Whether deferred instrumentation should be loaded or included | ||
151 | + // in builds. | ||
152 | + deferredInstrumentation: true, | ||
153 | + | ||
154 | + // useDeferredInstrumentation: Boolean|String | ||
155 | + // Whether the deferred instrumentation should be used. | ||
156 | + // | ||
157 | + // * `"report-rejections"`: report each rejection as it occurs. | ||
158 | + // * `true` or `1` or `"report-unhandled-rejections"`: wait 1 second | ||
159 | + // in an attempt to detect unhandled rejections. | ||
160 | + useDeferredInstrumentation: "report-unhandled-rejections" | ||
161 | +}; | ||
162 | +=====*/ | ||
163 | + | ||
164 | + var result = {}; | ||
165 | + if(has("dojo-config-api")){ | ||
166 | + // must be the dojo loader; take a shallow copy of require.rawConfig | ||
167 | + var src = require.rawConfig, p; | ||
168 | + for(p in src){ | ||
169 | + result[p] = src[p]; | ||
170 | + } | ||
171 | + }else{ | ||
172 | + var adviseHas = function(featureSet, prefix, booting){ | ||
173 | + for(p in featureSet){ | ||
174 | + p!="has" && has.add(prefix + p, featureSet[p], 0, booting); | ||
175 | + } | ||
176 | + }; | ||
177 | + result = has("dojo-loader") ? | ||
178 | + // must be a built version of the dojo loader; all config stuffed in require.rawConfig | ||
179 | + require.rawConfig : | ||
180 | + // a foreign loader | ||
181 | + this.dojoConfig || this.djConfig || {}; | ||
182 | + adviseHas(result, "config", 1); | ||
183 | + adviseHas(result.has, "", 1); | ||
184 | + } | ||
185 | + | ||
186 | + if(!result.locale && typeof navigator != "undefined"){ | ||
187 | + // Default locale for browsers. | ||
188 | + result.locale = (navigator.language || navigator.userLanguage).toLowerCase(); | ||
189 | + } | ||
190 | + | ||
191 | + return result; | ||
192 | +}); | ||
193 | + |
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/configNode.js
0 → 100644
1 | +exports.config = function(config){ | ||
2 | + // summary: | ||
3 | + // This module provides bootstrap configuration for running dojo in node.js | ||
4 | + | ||
5 | + // any command line arguments with the load flag are pushed into deps | ||
6 | + for(var deps = [], args = [], i = 0; i < process.argv.length; i++){ | ||
7 | + var arg = (process.argv[i] + "").split("="); | ||
8 | + if(arg[0] == "load"){ | ||
9 | + deps.push(arg[1]); | ||
10 | + }else{ | ||
11 | + args.push(arg); | ||
12 | + } | ||
13 | + } | ||
14 | + | ||
15 | + var fs = require("fs"); | ||
16 | + | ||
17 | + // make sure global require exists | ||
18 | + //if (typeof global.require=="undefined"){ | ||
19 | + // global.require= {}; | ||
20 | + //} | ||
21 | + | ||
22 | + // reset the has cache with node-appropriate values; | ||
23 | + var hasCache = { | ||
24 | + "host-node":1, | ||
25 | + "host-browser":0, | ||
26 | + "dom":0, | ||
27 | + "dojo-has-api":1, | ||
28 | + "dojo-xhr-factory":0, | ||
29 | + "dojo-inject-api":1, | ||
30 | + "dojo-timeout-api":0, | ||
31 | + "dojo-trace-api":1, | ||
32 | + "dojo-dom-ready-api":0, | ||
33 | + "dojo-publish-privates":1, | ||
34 | + "dojo-sniff":0, | ||
35 | + "dojo-loader":1, | ||
36 | + "dojo-test-xd":0, | ||
37 | + "dojo-test-sniff":0 | ||
38 | + }; | ||
39 | + for(var p in hasCache){ | ||
40 | + config.hasCache[p] = hasCache[p]; | ||
41 | + } | ||
42 | + | ||
43 | + var vm = require('vm'), | ||
44 | + path = require('path'); | ||
45 | + | ||
46 | + // reset some configuration switches with node-appropriate values | ||
47 | + var nodeConfig = { | ||
48 | + baseUrl: path.dirname(process.argv[1]), | ||
49 | + commandLineArgs:args, | ||
50 | + deps:deps, | ||
51 | + timeout:0, | ||
52 | + | ||
53 | + // TODO: really get the locale | ||
54 | + locale:"en-us", | ||
55 | + | ||
56 | + loaderPatch: { | ||
57 | + log:function(item){ | ||
58 | + // define debug for console messages during dev instead of console.log | ||
59 | + // (node's heavy async makes console.log confusing sometimes) | ||
60 | + var util = require("util"); | ||
61 | + util.debug(util.inspect(item)); | ||
62 | + }, | ||
63 | + | ||
64 | + eval: function(__text, __urlHint){ | ||
65 | + return vm.runInThisContext(__text, __urlHint); | ||
66 | + }, | ||
67 | + | ||
68 | + injectUrl: function(url, callback){ | ||
69 | + try{ | ||
70 | + vm.runInThisContext(fs.readFileSync(url, "utf8"), url); | ||
71 | + callback(); | ||
72 | + }catch(e){ | ||
73 | + this.log("failed to load resource (" + url + ")"); | ||
74 | + this.log(e); | ||
75 | + } | ||
76 | + }, | ||
77 | + | ||
78 | + getText: function(url, sync, onLoad){ | ||
79 | + // TODO: implement async and http/https handling | ||
80 | + onLoad(fs.readFileSync(url, "utf8")); | ||
81 | + } | ||
82 | + } | ||
83 | + }; | ||
84 | + for(p in nodeConfig){ | ||
85 | + config[p] = nodeConfig[p]; | ||
86 | + } | ||
87 | +}; |
bower_components/dojo/_base/configRhino.js
0 → 100644
1 | +function rhinoDojoConfig(config, baseUrl, rhinoArgs){ | ||
2 | + // summary: | ||
3 | + // This module provides bootstrap configuration for running dojo in rhino. | ||
4 | + | ||
5 | + // TODO: v1.6 tries to set dojo.doc and dojo.body in rhino; why? | ||
6 | + | ||
7 | + // get a minimal console up | ||
8 | + var log = function(hint, args){ | ||
9 | + print((hint ? hint + ":" : "") + args[0]); | ||
10 | + for(var i = 1; i < args.length; i++){ | ||
11 | + print(", " + args[i]); | ||
12 | + } | ||
13 | + }; | ||
14 | + // intentionally define console in the global namespace | ||
15 | + console= { | ||
16 | + log: function(){ log(0, arguments); }, | ||
17 | + error: function(){ log("ERROR", arguments); }, | ||
18 | + warn: function(){ log("WARN", arguments); } | ||
19 | + }; | ||
20 | + | ||
21 | + // any command line arguments with the load flag are pushed into deps | ||
22 | + for(var deps = [], i = 0; i < rhinoArgs.length; i++){ | ||
23 | + var arg = (rhinoArgs[i] + "").split("="); | ||
24 | + if(arg[0] == "load"){ | ||
25 | + deps.push(arg[1]); | ||
26 | + } | ||
27 | + } | ||
28 | + | ||
29 | + // provides timed callbacks using Java threads | ||
30 | + if(typeof setTimeout == "undefined" || typeof clearTimeout == "undefined"){ | ||
31 | + var timeouts = []; | ||
32 | + clearTimeout = function(idx){ | ||
33 | + if(!timeouts[idx]){ return; } | ||
34 | + timeouts[idx].stop(); | ||
35 | + }; | ||
36 | + | ||
37 | + setTimeout = function(func, delay){ | ||
38 | + var def = { | ||
39 | + sleepTime:delay, | ||
40 | + hasSlept:false, | ||
41 | + | ||
42 | + run:function(){ | ||
43 | + if(!this.hasSlept){ | ||
44 | + this.hasSlept = true; | ||
45 | + java.lang.Thread.currentThread().sleep(this.sleepTime); | ||
46 | + } | ||
47 | + try{ | ||
48 | + func(); | ||
49 | + }catch(e){ | ||
50 | + console.debug("Error running setTimeout thread:" + e); | ||
51 | + } | ||
52 | + } | ||
53 | + }; | ||
54 | + | ||
55 | + var runnable = new java.lang.Runnable(def); | ||
56 | + var thread = new java.lang.Thread(runnable); | ||
57 | + thread.start(); | ||
58 | + return timeouts.push(thread) - 1; | ||
59 | + }; | ||
60 | + } | ||
61 | + | ||
62 | + var isLocal = function(url){ | ||
63 | + return (new java.io.File(url)).exists(); | ||
64 | + }; | ||
65 | + | ||
66 | + // reset the has cache with node-appropriate values; | ||
67 | + var hasCache = { | ||
68 | + "host-rhino":1, | ||
69 | + "host-browser":0, | ||
70 | + "dom":0, | ||
71 | + "dojo-has-api":1, | ||
72 | + "dojo-xhr-factory":0, | ||
73 | + "dojo-inject-api":1, | ||
74 | + "dojo-timeout-api":0, | ||
75 | + "dojo-trace-api":1, | ||
76 | + "dojo-loader-catches":1, | ||
77 | + "dojo-dom-ready-api":0, | ||
78 | + "dojo-publish-privates":1, | ||
79 | + "dojo-sniff":0, | ||
80 | + "dojo-loader":1, | ||
81 | + "dojo-test-xd":0, | ||
82 | + "dojo-test-sniff":0 | ||
83 | + }; | ||
84 | + for(var p in hasCache){ | ||
85 | + config.hasCache[p] = hasCache[p]; | ||
86 | + } | ||
87 | + | ||
88 | + // reset some configuration switches with rhino-appropriate values | ||
89 | + var rhinoConfig = { | ||
90 | + baseUrl:baseUrl, | ||
91 | + commandLineArgs:rhinoArgs, | ||
92 | + deps:deps, | ||
93 | + timeout:0, | ||
94 | + locale:String(java.util.Locale.getDefault().toString().replace('_', '-').toLowerCase()), | ||
95 | + | ||
96 | + loaderPatch:{ | ||
97 | + injectUrl: function(url, callback){ | ||
98 | + try{ | ||
99 | + if(isLocal(url)){ | ||
100 | + load(url); | ||
101 | + }else{ | ||
102 | + require.eval(readUrl(url, "UTF-8")); | ||
103 | + } | ||
104 | + callback(); | ||
105 | + }catch(e){ | ||
106 | + console.log("failed to load resource (" + url + ")"); | ||
107 | + console.log(e); | ||
108 | + } | ||
109 | + }, | ||
110 | + | ||
111 | + getText: function(url, sync, onLoad){ | ||
112 | + // TODO: test https://bugzilla.mozilla.org/show_bug.cgi?id=471005; see v1.6 hostenv_rhino | ||
113 | + // note: async mode not supported in rhino | ||
114 | + onLoad(isLocal(url) ? readFile(url, "UTF-8") : readUrl(url, "UTF-8")); | ||
115 | + } | ||
116 | + } | ||
117 | + }; | ||
118 | + for(p in rhinoConfig){ | ||
119 | + config[p] = rhinoConfig[p]; | ||
120 | + } | ||
121 | +} |
1 | +// TODO: this file needs to be converted to the v1.7 loader | ||
2 | + | ||
3 | +// module: | ||
4 | +// configSpidermonkey | ||
5 | +// summary: | ||
6 | +// SpiderMonkey host environment | ||
7 | + | ||
8 | +if(dojo.config["baseUrl"]){ | ||
9 | + dojo.baseUrl = dojo.config["baseUrl"]; | ||
10 | +}else{ | ||
11 | + dojo.baseUrl = "./"; | ||
12 | +} | ||
13 | + | ||
14 | +dojo._name = 'spidermonkey'; | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | +dojo.isSpidermonkey = true; | ||
19 | +dojo.exit = function(exitcode){ | ||
20 | + quit(exitcode); | ||
21 | +}; | ||
22 | + | ||
23 | +if(typeof print == "function"){ | ||
24 | + console.debug = print; | ||
25 | +} | ||
26 | + | ||
27 | +if(typeof line2pc == 'undefined'){ | ||
28 | + throw new Error("attempt to use SpiderMonkey host environment when no 'line2pc' global"); | ||
29 | +} | ||
30 | + | ||
31 | +dojo._spidermonkeyCurrentFile = function(depth){ | ||
32 | + // | ||
33 | + // This is a hack that determines the current script file by parsing a | ||
34 | + // generated stack trace (relying on the non-standard "stack" member variable | ||
35 | + // of the SpiderMonkey Error object). | ||
36 | + // | ||
37 | + // If param depth is passed in, it'll return the script file which is that far down | ||
38 | + // the stack, but that does require that you know how deep your stack is when you are | ||
39 | + // calling. | ||
40 | + // | ||
41 | + var s = ''; | ||
42 | + try{ | ||
43 | + throw Error("whatever"); | ||
44 | + }catch(e){ | ||
45 | + s = e.stack; | ||
46 | + } | ||
47 | + // lines are like: bu_getCurrentScriptURI_spidermonkey("ScriptLoader.js")@burst/Runtime.js:101 | ||
48 | + var matches = s.match(/[^@]*\.js/gi); | ||
49 | + if(!matches){ | ||
50 | + throw Error("could not parse stack string: '" + s + "'"); | ||
51 | + } | ||
52 | + var fname = (typeof depth != 'undefined' && depth) ? matches[depth + 1] : matches[matches.length - 1]; | ||
53 | + if(!fname){ | ||
54 | + throw Error("could not find file name in stack string '" + s + "'"); | ||
55 | + } | ||
56 | + //print("SpiderMonkeyRuntime got fname '" + fname + "' from stack string '" + s + "'"); | ||
57 | + return fname; | ||
58 | +}; | ||
59 | + | ||
60 | +// print(dojo._spidermonkeyCurrentFile(0)); | ||
61 | + | ||
62 | +dojo._loadUri = function(uri){ | ||
63 | + // spidermonkey load() evaluates the contents into the global scope (which | ||
64 | + // is what we want). | ||
65 | + // TODO: sigh, load() does not return a useful value. | ||
66 | + // Perhaps it is returning the value of the last thing evaluated? | ||
67 | + // var ok = | ||
68 | + load(uri); | ||
69 | + // console.log("spidermonkey load(", uri, ") returned ", ok); | ||
70 | + return 1; | ||
71 | +}; | ||
72 | + | ||
73 | +//Register any module paths set up in djConfig. Need to do this | ||
74 | +//in the hostenvs since hostenv_browser can read djConfig from a | ||
75 | +//script tag's attribute. | ||
76 | +if(dojo.config["modulePaths"]){ | ||
77 | + for(var param in dojo.config["modulePaths"]){ | ||
78 | + dojo.registerModulePath(param, dojo.config["modulePaths"][param]); | ||
79 | + } | ||
80 | +} |
bower_components/dojo/_base/connect.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/declare.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/event.js
0 → 100644
1 | +define(["./kernel", "../on", "../has", "../dom-geometry"], function(dojo, on, has, dom){ | ||
2 | + // module: | ||
3 | + // dojo/_base/event | ||
4 | + | ||
5 | + if(on._fixEvent){ | ||
6 | + var fixEvent = on._fixEvent; | ||
7 | + on._fixEvent = function(evt, se){ | ||
8 | + // add some additional normalization for back-compat, this isn't in on.js because it is somewhat more expensive | ||
9 | + evt = fixEvent(evt, se); | ||
10 | + if(evt){ | ||
11 | + dom.normalizeEvent(evt); | ||
12 | + } | ||
13 | + return evt; | ||
14 | + }; | ||
15 | + } | ||
16 | + | ||
17 | + var ret = { | ||
18 | + // summary: | ||
19 | + // This module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() + | ||
20 | + // evt.preventDefault(), rather than this module. | ||
21 | + | ||
22 | + fix: function(/*Event*/ evt, /*DOMNode*/ sender){ | ||
23 | + // summary: | ||
24 | + // normalizes properties on the event object including event | ||
25 | + // bubbling methods, keystroke normalization, and x/y positions | ||
26 | + // evt: Event | ||
27 | + // native event object | ||
28 | + // sender: DOMNode | ||
29 | + // node to treat as "currentTarget" | ||
30 | + if(on._fixEvent){ | ||
31 | + return on._fixEvent(evt, sender); | ||
32 | + } | ||
33 | + return evt; // Event | ||
34 | + }, | ||
35 | + | ||
36 | + stop: function(/*Event*/ evt){ | ||
37 | + // summary: | ||
38 | + // prevents propagation and clobbers the default action of the | ||
39 | + // passed event | ||
40 | + // evt: Event | ||
41 | + // The event object. If omitted, window.event is used on IE. | ||
42 | + if(has("dom-addeventlistener") || (evt && evt.preventDefault)){ | ||
43 | + evt.preventDefault(); | ||
44 | + evt.stopPropagation(); | ||
45 | + }else{ | ||
46 | + evt = evt || window.event; | ||
47 | + evt.cancelBubble = true; | ||
48 | + on._preventDefault.call(evt); | ||
49 | + } | ||
50 | + } | ||
51 | + }; | ||
52 | + | ||
53 | + if(has("extend-dojo")){ | ||
54 | + dojo.fixEvent = ret.fix; | ||
55 | + dojo.stopEvent = ret.stop; | ||
56 | + } | ||
57 | + | ||
58 | + return ret; | ||
59 | +}); |
bower_components/dojo/_base/fx.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/html.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/json.js
0 → 100644
1 | +define(["./kernel", "../json"], function(dojo, json){ | ||
2 | + | ||
3 | +// module: | ||
4 | +// dojo/_base/json | ||
5 | + | ||
6 | +/*===== | ||
7 | +return { | ||
8 | + // summary: | ||
9 | + // This module defines the dojo JSON API. | ||
10 | +}; | ||
11 | +=====*/ | ||
12 | + | ||
13 | +dojo.fromJson = function(/*String*/ js){ | ||
14 | + // summary: | ||
15 | + // Parses a JavaScript expression and returns a JavaScript value. | ||
16 | + // description: | ||
17 | + // Throws for invalid JavaScript expressions. It does not use a strict JSON parser. It | ||
18 | + // always delegates to eval(). The content passed to this method must therefore come | ||
19 | + // from a trusted source. | ||
20 | + // It is recommend that you use dojo/json's parse function for an | ||
21 | + // implementation uses the (faster) native JSON parse when available. | ||
22 | + // js: | ||
23 | + // a string literal of a JavaScript expression, for instance: | ||
24 | + // `'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'` | ||
25 | + | ||
26 | + return eval("(" + js + ")"); // Object | ||
27 | +}; | ||
28 | + | ||
29 | +/*===== | ||
30 | +dojo._escapeString = function(){ | ||
31 | + // summary: | ||
32 | + // Adds escape sequences for non-visual characters, double quote and | ||
33 | + // backslash and surrounds with double quotes to form a valid string | ||
34 | + // literal. | ||
35 | +}; | ||
36 | +=====*/ | ||
37 | +dojo._escapeString = json.stringify; // just delegate to json.stringify | ||
38 | + | ||
39 | +dojo.toJsonIndentStr = "\t"; | ||
40 | +dojo.toJson = function(/*Object*/ it, /*Boolean?*/ prettyPrint){ | ||
41 | + // summary: | ||
42 | + // Returns a [JSON](http://json.org) serialization of an object. | ||
43 | + // description: | ||
44 | + // Returns a [JSON](http://json.org) serialization of an object. | ||
45 | + // Note that this doesn't check for infinite recursion, so don't do that! | ||
46 | + // It is recommend that you use dojo/json's stringify function for an lighter | ||
47 | + // and faster implementation that matches the native JSON API and uses the | ||
48 | + // native JSON serializer when available. | ||
49 | + // it: | ||
50 | + // an object to be serialized. Objects may define their own | ||
51 | + // serialization via a special "__json__" or "json" function | ||
52 | + // property. If a specialized serializer has been defined, it will | ||
53 | + // be used as a fallback. | ||
54 | + // Note that in 1.6, toJson would serialize undefined, but this no longer supported | ||
55 | + // since it is not supported by native JSON serializer. | ||
56 | + // prettyPrint: | ||
57 | + // if true, we indent objects and arrays to make the output prettier. | ||
58 | + // The variable `dojo.toJsonIndentStr` is used as the indent string -- | ||
59 | + // to use something other than the default (tab), change that variable | ||
60 | + // before calling dojo.toJson(). | ||
61 | + // Note that if native JSON support is available, it will be used for serialization, | ||
62 | + // and native implementations vary on the exact spacing used in pretty printing. | ||
63 | + // returns: | ||
64 | + // A JSON string serialization of the passed-in object. | ||
65 | + // example: | ||
66 | + // simple serialization of a trivial object | ||
67 | + // | var jsonStr = dojo.toJson({ howdy: "stranger!", isStrange: true }); | ||
68 | + // | doh.is('{"howdy":"stranger!","isStrange":true}', jsonStr); | ||
69 | + // example: | ||
70 | + // a custom serializer for an objects of a particular class: | ||
71 | + // | dojo.declare("Furby", null, { | ||
72 | + // | furbies: "are strange", | ||
73 | + // | furbyCount: 10, | ||
74 | + // | __json__: function(){ | ||
75 | + // | }, | ||
76 | + // | }); | ||
77 | + | ||
78 | + // use dojo/json | ||
79 | + return json.stringify(it, function(key, value){ | ||
80 | + if(value){ | ||
81 | + var tf = value.__json__||value.json; | ||
82 | + if(typeof tf == "function"){ | ||
83 | + return tf.call(value); | ||
84 | + } | ||
85 | + } | ||
86 | + return value; | ||
87 | + }, prettyPrint && dojo.toJsonIndentStr); // String | ||
88 | +}; | ||
89 | + | ||
90 | +return dojo; | ||
91 | +}); |
bower_components/dojo/_base/kernel.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/lang.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/loader.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_base/query.js
0 → 100644
bower_components/dojo/_base/sniff.js
0 → 100644
1 | +define(["./kernel", "./lang", "../sniff"], function(dojo, lang, has){ | ||
2 | + // module: | ||
3 | + // dojo/_base/sniff | ||
4 | + | ||
5 | + /*===== | ||
6 | + return { | ||
7 | + // summary: | ||
8 | + // Deprecated. New code should use dojo/sniff. | ||
9 | + // This module populates the dojo browser version sniffing properties like dojo.isIE. | ||
10 | + }; | ||
11 | + =====*/ | ||
12 | + | ||
13 | + if(!has("host-browser")){ | ||
14 | + return has; | ||
15 | + } | ||
16 | + | ||
17 | + // no idea what this is for, or if it's used | ||
18 | + dojo._name = "browser"; | ||
19 | + | ||
20 | + lang.mixin(dojo, { | ||
21 | + // isBrowser: Boolean | ||
22 | + // True if the client is a web-browser | ||
23 | + isBrowser: true, | ||
24 | + | ||
25 | + // isFF: Number|undefined | ||
26 | + // Version as a Number if client is FireFox. undefined otherwise. Corresponds to | ||
27 | + // major detected FireFox version (1.5, 2, 3, etc.) | ||
28 | + isFF: has("ff"), | ||
29 | + | ||
30 | + // isIE: Number|undefined | ||
31 | + // Version as a Number if client is MSIE(PC). undefined otherwise. Corresponds to | ||
32 | + // major detected IE version (6, 7, 8, etc.) | ||
33 | + isIE: has("ie"), | ||
34 | + | ||
35 | + // isKhtml: Number|undefined | ||
36 | + // Version as a Number if client is a KHTML browser. undefined otherwise. Corresponds to major | ||
37 | + // detected version. | ||
38 | + isKhtml: has("khtml"), | ||
39 | + | ||
40 | + // isWebKit: Number|undefined | ||
41 | + // Version as a Number if client is a WebKit-derived browser (Konqueror, | ||
42 | + // Safari, Chrome, etc.). undefined otherwise. | ||
43 | + isWebKit: has("webkit"), | ||
44 | + | ||
45 | + // isMozilla: Number|undefined | ||
46 | + // Version as a Number if client is a Mozilla-based browser (Firefox, | ||
47 | + // SeaMonkey). undefined otherwise. Corresponds to major detected version. | ||
48 | + isMozilla: has("mozilla"), | ||
49 | + // isMoz: Number|undefined | ||
50 | + // Version as a Number if client is a Mozilla-based browser (Firefox, | ||
51 | + // SeaMonkey). undefined otherwise. Corresponds to major detected version. | ||
52 | + isMoz: has("mozilla"), | ||
53 | + | ||
54 | + // isOpera: Number|undefined | ||
55 | + // Version as a Number if client is Opera. undefined otherwise. Corresponds to | ||
56 | + // major detected version. | ||
57 | + isOpera: has("opera"), | ||
58 | + | ||
59 | + // isSafari: Number|undefined | ||
60 | + // Version as a Number if client is Safari or iPhone. undefined otherwise. | ||
61 | + isSafari: has("safari"), | ||
62 | + | ||
63 | + // isChrome: Number|undefined | ||
64 | + // Version as a Number if client is Chrome browser. undefined otherwise. | ||
65 | + isChrome: has("chrome"), | ||
66 | + | ||
67 | + // isMac: Boolean | ||
68 | + // True if the client runs on Mac | ||
69 | + isMac: has("mac"), | ||
70 | + | ||
71 | + // isIos: Number|undefined | ||
72 | + // Version as a Number if client is iPhone, iPod, or iPad. undefined otherwise. | ||
73 | + isIos: has("ios"), | ||
74 | + | ||
75 | + // isAndroid: Number|undefined | ||
76 | + // Version as a Number if client is android browser. undefined otherwise. | ||
77 | + isAndroid: has("android"), | ||
78 | + | ||
79 | + // isWii: Boolean | ||
80 | + // True if client is Wii | ||
81 | + isWii: has("wii"), | ||
82 | + | ||
83 | + // isQuirks: Boolean | ||
84 | + // Page is in quirks mode. | ||
85 | + isQuirks: has("quirks"), | ||
86 | + | ||
87 | + // isAir: Boolean | ||
88 | + // True if client is Adobe Air | ||
89 | + isAir: has("air") | ||
90 | + }); | ||
91 | + | ||
92 | + return has; | ||
93 | +}); |
bower_components/dojo/_base/unload.js
0 → 100644
1 | +define(["./kernel", "./lang", "../on"], function(dojo, lang, on){ | ||
2 | + | ||
3 | +// module: | ||
4 | +// dojo/unload | ||
5 | + | ||
6 | +var win = window; | ||
7 | + | ||
8 | +var unload = { | ||
9 | + // summary: | ||
10 | + // This module contains the document and window unload detection API. | ||
11 | + | ||
12 | + addOnWindowUnload: function(/*Object|Function?*/ obj, /*String|Function?*/ functionName){ | ||
13 | + // summary: | ||
14 | + // registers a function to be triggered when window.onunload | ||
15 | + // fires. | ||
16 | + // description: | ||
17 | + // The first time that addOnWindowUnload is called Dojo | ||
18 | + // will register a page listener to trigger your unload | ||
19 | + // handler with. Note that registering these handlers may | ||
20 | + // destroy "fastback" page caching in browsers that support | ||
21 | + // it. Be careful trying to modify the DOM or access | ||
22 | + // JavaScript properties during this phase of page unloading: | ||
23 | + // they may not always be available. Consider | ||
24 | + // addOnUnload() if you need to modify the DOM or do | ||
25 | + // heavy JavaScript work since it fires at the equivalent of | ||
26 | + // the page's "onbeforeunload" event. | ||
27 | + // example: | ||
28 | + // | unload.addOnWindowUnload(functionPointer) | ||
29 | + // | unload.addOnWindowUnload(object, "functionName"); | ||
30 | + // | unload.addOnWindowUnload(object, function(){ /* ... */}); | ||
31 | + | ||
32 | + if (!dojo.windowUnloaded){ | ||
33 | + on(win, "unload", (dojo.windowUnloaded = function(){ | ||
34 | + // summary: | ||
35 | + // signal fired by impending window destruction. You may use | ||
36 | + // dojo.addOnWindowUnload() to register a listener for this | ||
37 | + // event. NOTE: if you wish to dojo.connect() to this method | ||
38 | + // to perform page/application cleanup, be aware that this | ||
39 | + // event WILL NOT fire if no handler has been registered with | ||
40 | + // addOnWindowUnload(). This behavior started in Dojo 1.3. | ||
41 | + // Previous versions always triggered windowUnloaded(). See | ||
42 | + // addOnWindowUnload for more info. | ||
43 | + })); | ||
44 | + } | ||
45 | + on(win, "unload", lang.hitch(obj, functionName)); | ||
46 | + }, | ||
47 | + | ||
48 | + addOnUnload: function(/*Object?|Function?*/ obj, /*String|Function?*/ functionName){ | ||
49 | + // summary: | ||
50 | + // registers a function to be triggered when the page unloads. | ||
51 | + // description: | ||
52 | + // The first time that addOnUnload is called Dojo will | ||
53 | + // register a page listener to trigger your unload handler | ||
54 | + // with. | ||
55 | + // | ||
56 | + // In a browser environment, the functions will be triggered | ||
57 | + // during the window.onbeforeunload event. Be careful of doing | ||
58 | + // too much work in an unload handler. onbeforeunload can be | ||
59 | + // triggered if a link to download a file is clicked, or if | ||
60 | + // the link is a javascript: link. In these cases, the | ||
61 | + // onbeforeunload event fires, but the document is not | ||
62 | + // actually destroyed. So be careful about doing destructive | ||
63 | + // operations in a dojo.addOnUnload callback. | ||
64 | + // | ||
65 | + // Further note that calling dojo.addOnUnload will prevent | ||
66 | + // browsers from using a "fast back" cache to make page | ||
67 | + // loading via back button instantaneous. | ||
68 | + // example: | ||
69 | + // | dojo.addOnUnload(functionPointer) | ||
70 | + // | dojo.addOnUnload(object, "functionName") | ||
71 | + // | dojo.addOnUnload(object, function(){ /* ... */}); | ||
72 | + | ||
73 | + on(win, "beforeunload", lang.hitch(obj, functionName)); | ||
74 | + } | ||
75 | +}; | ||
76 | + | ||
77 | +dojo.addOnWindowUnload = unload.addOnWindowUnload; | ||
78 | +dojo.addOnUnload = unload.addOnUnload; | ||
79 | + | ||
80 | +return unload; | ||
81 | + | ||
82 | +}); |
bower_components/dojo/_base/url.js
0 → 100644
1 | +define(["./kernel"], function(dojo){ | ||
2 | + // module: | ||
3 | + // dojo/url | ||
4 | + | ||
5 | + var | ||
6 | + ore = new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"), | ||
7 | + ire = new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"), | ||
8 | + _Url = function(){ | ||
9 | + var n = null, | ||
10 | + _a = arguments, | ||
11 | + uri = [_a[0]]; | ||
12 | + // resolve uri components relative to each other | ||
13 | + for(var i = 1; i<_a.length; i++){ | ||
14 | + if(!_a[i]){ continue; } | ||
15 | + | ||
16 | + // Safari doesn't support this.constructor so we have to be explicit | ||
17 | + // FIXME: Tracked (and fixed) in Webkit bug 3537. | ||
18 | + // http://bugs.webkit.org/show_bug.cgi?id=3537 | ||
19 | + var relobj = new _Url(_a[i]+""), | ||
20 | + uriobj = new _Url(uri[0]+""); | ||
21 | + | ||
22 | + if( | ||
23 | + relobj.path == "" && | ||
24 | + !relobj.scheme && | ||
25 | + !relobj.authority && | ||
26 | + !relobj.query | ||
27 | + ){ | ||
28 | + if(relobj.fragment != n){ | ||
29 | + uriobj.fragment = relobj.fragment; | ||
30 | + } | ||
31 | + relobj = uriobj; | ||
32 | + }else if(!relobj.scheme){ | ||
33 | + relobj.scheme = uriobj.scheme; | ||
34 | + | ||
35 | + if(!relobj.authority){ | ||
36 | + relobj.authority = uriobj.authority; | ||
37 | + | ||
38 | + if(relobj.path.charAt(0) != "/"){ | ||
39 | + var path = uriobj.path.substring(0, | ||
40 | + uriobj.path.lastIndexOf("/") + 1) + relobj.path; | ||
41 | + | ||
42 | + var segs = path.split("/"); | ||
43 | + for(var j = 0; j < segs.length; j++){ | ||
44 | + if(segs[j] == "."){ | ||
45 | + // flatten "./" references | ||
46 | + if(j == segs.length - 1){ | ||
47 | + segs[j] = ""; | ||
48 | + }else{ | ||
49 | + segs.splice(j, 1); | ||
50 | + j--; | ||
51 | + } | ||
52 | + }else if(j > 0 && !(j == 1 && segs[0] == "") && | ||
53 | + segs[j] == ".." && segs[j-1] != ".."){ | ||
54 | + // flatten "../" references | ||
55 | + if(j == (segs.length - 1)){ | ||
56 | + segs.splice(j, 1); | ||
57 | + segs[j - 1] = ""; | ||
58 | + }else{ | ||
59 | + segs.splice(j - 1, 2); | ||
60 | + j -= 2; | ||
61 | + } | ||
62 | + } | ||
63 | + } | ||
64 | + relobj.path = segs.join("/"); | ||
65 | + } | ||
66 | + } | ||
67 | + } | ||
68 | + | ||
69 | + uri = []; | ||
70 | + if(relobj.scheme){ | ||
71 | + uri.push(relobj.scheme, ":"); | ||
72 | + } | ||
73 | + if(relobj.authority){ | ||
74 | + uri.push("//", relobj.authority); | ||
75 | + } | ||
76 | + uri.push(relobj.path); | ||
77 | + if(relobj.query){ | ||
78 | + uri.push("?", relobj.query); | ||
79 | + } | ||
80 | + if(relobj.fragment){ | ||
81 | + uri.push("#", relobj.fragment); | ||
82 | + } | ||
83 | + } | ||
84 | + | ||
85 | + this.uri = uri.join(""); | ||
86 | + | ||
87 | + // break the uri into its main components | ||
88 | + var r = this.uri.match(ore); | ||
89 | + | ||
90 | + this.scheme = r[2] || (r[1] ? "" : n); | ||
91 | + this.authority = r[4] || (r[3] ? "" : n); | ||
92 | + this.path = r[5]; // can never be undefined | ||
93 | + this.query = r[7] || (r[6] ? "" : n); | ||
94 | + this.fragment = r[9] || (r[8] ? "" : n); | ||
95 | + | ||
96 | + if(this.authority != n){ | ||
97 | + // server based naming authority | ||
98 | + r = this.authority.match(ire); | ||
99 | + | ||
100 | + this.user = r[3] || n; | ||
101 | + this.password = r[4] || n; | ||
102 | + this.host = r[6] || r[7]; // ipv6 || ipv4 | ||
103 | + this.port = r[9] || n; | ||
104 | + } | ||
105 | + }; | ||
106 | + _Url.prototype.toString = function(){ return this.uri; }; | ||
107 | + | ||
108 | + return dojo._Url = _Url; | ||
109 | +}); |
bower_components/dojo/_base/window.js
0 → 100644
1 | +define(["./kernel", "./lang", "../sniff"], function(dojo, lang, has){ | ||
2 | +// module: | ||
3 | +// dojo/_base/window | ||
4 | + | ||
5 | +var ret = { | ||
6 | + // summary: | ||
7 | + // API to save/set/restore the global/document scope. | ||
8 | + | ||
9 | + global: dojo.global, | ||
10 | + /*===== | ||
11 | + global: { | ||
12 | + // summary: | ||
13 | + // Alias for the current window. 'global' can be modified | ||
14 | + // for temporary context shifting. See also withGlobal(). | ||
15 | + // description: | ||
16 | + // Use this rather than referring to 'window' to ensure your code runs | ||
17 | + // correctly in managed contexts. | ||
18 | + }, | ||
19 | + =====*/ | ||
20 | + | ||
21 | + doc: this["document"] || null, | ||
22 | + /*===== | ||
23 | + doc: { | ||
24 | + // summary: | ||
25 | + // Alias for the current document. 'doc' can be modified | ||
26 | + // for temporary context shifting. See also withDoc(). | ||
27 | + // description: | ||
28 | + // Use this rather than referring to 'window.document' to ensure your code runs | ||
29 | + // correctly in managed contexts. | ||
30 | + // example: | ||
31 | + // | n.appendChild(dojo.doc.createElement('div')); | ||
32 | + }, | ||
33 | + =====*/ | ||
34 | + | ||
35 | + body: function(/*Document?*/ doc){ | ||
36 | + // summary: | ||
37 | + // Return the body element of the specified document or of dojo/_base/window::doc. | ||
38 | + // example: | ||
39 | + // | win.body().appendChild(dojo.doc.createElement('div')); | ||
40 | + | ||
41 | + // Note: document.body is not defined for a strict xhtml document | ||
42 | + // Would like to memoize this, but dojo.doc can change vi dojo.withDoc(). | ||
43 | + doc = doc || dojo.doc; | ||
44 | + return doc.body || doc.getElementsByTagName("body")[0]; // Node | ||
45 | + }, | ||
46 | + | ||
47 | + setContext: function(/*Object*/ globalObject, /*DocumentElement*/ globalDocument){ | ||
48 | + // summary: | ||
49 | + // changes the behavior of many core Dojo functions that deal with | ||
50 | + // namespace and DOM lookup, changing them to work in a new global | ||
51 | + // context (e.g., an iframe). The varibles dojo.global and dojo.doc | ||
52 | + // are modified as a result of calling this function and the result of | ||
53 | + // `dojo.body()` likewise differs. | ||
54 | + dojo.global = ret.global = globalObject; | ||
55 | + dojo.doc = ret.doc = globalDocument; | ||
56 | + }, | ||
57 | + | ||
58 | + withGlobal: function( /*Object*/ globalObject, | ||
59 | + /*Function*/ callback, | ||
60 | + /*Object?*/ thisObject, | ||
61 | + /*Array?*/ cbArguments){ | ||
62 | + // summary: | ||
63 | + // Invoke callback with globalObject as dojo.global and | ||
64 | + // globalObject.document as dojo.doc. | ||
65 | + // description: | ||
66 | + // Invoke callback with globalObject as dojo.global and | ||
67 | + // globalObject.document as dojo.doc. If provided, globalObject | ||
68 | + // will be executed in the context of object thisObject | ||
69 | + // When callback() returns or throws an error, the dojo.global | ||
70 | + // and dojo.doc will be restored to its previous state. | ||
71 | + | ||
72 | + var oldGlob = dojo.global; | ||
73 | + try{ | ||
74 | + dojo.global = ret.global = globalObject; | ||
75 | + return ret.withDoc.call(null, globalObject.document, callback, thisObject, cbArguments); | ||
76 | + }finally{ | ||
77 | + dojo.global = ret.global = oldGlob; | ||
78 | + } | ||
79 | + }, | ||
80 | + | ||
81 | + withDoc: function( /*DocumentElement*/ documentObject, | ||
82 | + /*Function*/ callback, | ||
83 | + /*Object?*/ thisObject, | ||
84 | + /*Array?*/ cbArguments){ | ||
85 | + // summary: | ||
86 | + // Invoke callback with documentObject as dojo/_base/window::doc. | ||
87 | + // description: | ||
88 | + // Invoke callback with documentObject as dojo/_base/window::doc. If provided, | ||
89 | + // callback will be executed in the context of object thisObject | ||
90 | + // When callback() returns or throws an error, the dojo/_base/window::doc will | ||
91 | + // be restored to its previous state. | ||
92 | + | ||
93 | + var oldDoc = ret.doc, | ||
94 | + oldQ = has("quirks"), | ||
95 | + oldIE = has("ie"), isIE, mode, pwin; | ||
96 | + | ||
97 | + try{ | ||
98 | + dojo.doc = ret.doc = documentObject; | ||
99 | + // update dojo.isQuirks and the value of the has feature "quirks". | ||
100 | + // remove setting dojo.isQuirks and dojo.isIE for 2.0 | ||
101 | + dojo.isQuirks = has.add("quirks", dojo.doc.compatMode == "BackCompat", true, true); // no need to check for QuirksMode which was Opera 7 only | ||
102 | + | ||
103 | + if(has("ie")){ | ||
104 | + if((pwin = documentObject.parentWindow) && pwin.navigator){ | ||
105 | + // re-run IE detection logic and update dojo.isIE / has("ie") | ||
106 | + // (the only time parentWindow/navigator wouldn't exist is if we were not | ||
107 | + // passed an actual legitimate document object) | ||
108 | + isIE = parseFloat(pwin.navigator.appVersion.split("MSIE ")[1]) || undefined; | ||
109 | + mode = documentObject.documentMode; | ||
110 | + if(mode && mode != 5 && Math.floor(isIE) != mode){ | ||
111 | + isIE = mode; | ||
112 | + } | ||
113 | + dojo.isIE = has.add("ie", isIE, true, true); | ||
114 | + } | ||
115 | + } | ||
116 | + | ||
117 | + if(thisObject && typeof callback == "string"){ | ||
118 | + callback = thisObject[callback]; | ||
119 | + } | ||
120 | + | ||
121 | + return callback.apply(thisObject, cbArguments || []); | ||
122 | + }finally{ | ||
123 | + dojo.doc = ret.doc = oldDoc; | ||
124 | + dojo.isQuirks = has.add("quirks", oldQ, true, true); | ||
125 | + dojo.isIE = has.add("ie", oldIE, true, true); | ||
126 | + } | ||
127 | + } | ||
128 | +}; | ||
129 | + | ||
130 | +has("extend-dojo") && lang.mixin(dojo, ret); | ||
131 | + | ||
132 | +return ret; | ||
133 | + | ||
134 | +}); |
bower_components/dojo/_base/xhr.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_firebug/LICENSE
0 → 100644
1 | +License Disclaimer: | ||
2 | + | ||
3 | +All contents of this directory are Copyright (c) the Dojo Foundation, with the | ||
4 | +following exceptions: | ||
5 | +------------------------------------------------------------------------------- | ||
6 | + | ||
7 | +firebug.html, firebug.js, errIcon.png, infoIcon.png, warningIcon.png: | ||
8 | + * Copyright (c) 2006-2007, Joe Hewitt, All rights reserved. | ||
9 | + Distributed under the terms of the BSD License (see below) | ||
10 | + | ||
11 | +------------------------------------------------------------------------------- | ||
12 | + | ||
13 | +Copyright (c) 2006-2007, Joe Hewitt | ||
14 | +All rights reserved. | ||
15 | + | ||
16 | +Redistribution and use in source and binary forms, with or without | ||
17 | +modification, are permitted provided that the following conditions are met: | ||
18 | + | ||
19 | + * Redistributions of source code must retain the above copyright notice, this | ||
20 | + list of conditions and the following disclaimer. | ||
21 | + * Redistributions in binary form must reproduce the above copyright notice, | ||
22 | + this list of conditions and the following disclaimer in the documentation | ||
23 | + and/or other materials provided with the distribution. | ||
24 | + * Neither the name of the Dojo Foundation nor the names of its contributors | ||
25 | + may be used to endorse or promote products derived from this software | ||
26 | + without specific prior written permission. | ||
27 | + | ||
28 | +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||
29 | +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
30 | +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
31 | +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE | ||
32 | +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
33 | +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
34 | +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
35 | +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
36 | +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
37 | +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
bower_components/dojo/_firebug/errorIcon.png
0 → 100644
457 Bytes
bower_components/dojo/_firebug/firebug.css
0 → 100644
1 | +.firebug { | ||
2 | + margin: 0; | ||
3 | + background:#fff; | ||
4 | + font-family: Lucida Grande, Tahoma, sans-serif; | ||
5 | + font-size: 11px; | ||
6 | + overflow: hidden; | ||
7 | + border: 1px solid black; | ||
8 | + position: relative; | ||
9 | +} | ||
10 | +.firebug a { | ||
11 | + text-decoration: none; | ||
12 | +} | ||
13 | +.firebug a:hover { | ||
14 | + text-decoration: underline; | ||
15 | +} | ||
16 | +.firebug a:visited{ | ||
17 | + color:#0000FF; | ||
18 | +} | ||
19 | +.firebug #firebugToolbar { | ||
20 | + height: 18px; | ||
21 | + line-height:18px; | ||
22 | + border-top: 1px solid ThreeDHighlight; | ||
23 | + border-bottom: 1px solid ThreeDShadow; | ||
24 | + padding: 2px 6px; | ||
25 | + | ||
26 | + background:#f0f0f0; | ||
27 | +} | ||
28 | + | ||
29 | +.firebug #firebugLog, .firebug #objectLog { | ||
30 | + overflow: auto; | ||
31 | + position: absolute; | ||
32 | + left: 0; | ||
33 | + width: 100%; | ||
34 | +} | ||
35 | +#objectLog{ | ||
36 | + overflow:scroll; | ||
37 | + height:258px; | ||
38 | +} | ||
39 | +.firebug #firebugCommandLine { | ||
40 | + position: absolute; | ||
41 | + bottom: 0; | ||
42 | + left: 0; | ||
43 | + width: 100%; | ||
44 | + height: 18px; | ||
45 | + border: none; | ||
46 | + border-top: 1px solid ThreeDShadow; | ||
47 | +} | ||
48 | +.firebug .logRow { | ||
49 | + position: relative; | ||
50 | + border-bottom: 1px solid #D7D7D7; | ||
51 | + padding: 2px 4px 1px 6px; | ||
52 | + background-color: #FFFFFF; | ||
53 | +} | ||
54 | +.firebug .logRow-command { | ||
55 | + font-family: Monaco, monospace; | ||
56 | + color: blue; | ||
57 | +} | ||
58 | +.firebug .objectBox-null { | ||
59 | + padding: 0 2px; | ||
60 | + border: 1px solid #666666; | ||
61 | + background-color: #888888; | ||
62 | + color: #FFFFFF; | ||
63 | +} | ||
64 | +.firebug .objectBox-string { | ||
65 | + font-family: Monaco, monospace; | ||
66 | + color: red; | ||
67 | + white-space: pre; | ||
68 | +} | ||
69 | +.firebug .objectBox-number { | ||
70 | + color: #000088; | ||
71 | +} | ||
72 | +.firebug .objectBox-function { | ||
73 | + font-family: Monaco, monospace; | ||
74 | + color: DarkGreen; | ||
75 | +} | ||
76 | +.firebug .objectBox-object { | ||
77 | + color: DarkGreen; | ||
78 | + font-weight: bold; | ||
79 | +} | ||
80 | +.firebug .logRow-info, | ||
81 | +.firebug .logRow-error, | ||
82 | +.firebug .logRow-warning | ||
83 | + { | ||
84 | + background: #00FFFF no-repeat 2px 2px; | ||
85 | + padding-left: 20px; | ||
86 | + padding-bottom: 3px; | ||
87 | +} | ||
88 | +.firebug .logRow-info { | ||
89 | + background: #FFF url(infoIcon.png) no-repeat 2px 2px; | ||
90 | + padding-left: 20px; | ||
91 | + padding-bottom: 3px; | ||
92 | +} | ||
93 | +.firebug .logRow-warning { | ||
94 | + | ||
95 | + background: #00FFFF url(warningIcon.png) no-repeat 2px 2px; | ||
96 | + padding-left: 20px; | ||
97 | + padding-bottom: 3px; | ||
98 | +} | ||
99 | +.firebug .logRow-error { | ||
100 | + background: LightYellow url(errorIcon.png) no-repeat 2px 2px; | ||
101 | + padding-left: 20px; | ||
102 | + padding-bottom: 3px; | ||
103 | +} | ||
104 | +.firebug .errorMessage { | ||
105 | + vertical-align: top; | ||
106 | + color: #FF0000; | ||
107 | +} | ||
108 | +.firebug .objectBox-sourceLink { | ||
109 | + position: absolute; | ||
110 | + right: 4px; | ||
111 | + top: 2px; | ||
112 | + padding-left: 8px; | ||
113 | + font-family: Lucida Grande, sans-serif; | ||
114 | + font-weight: bold; | ||
115 | + color: #0000FF; | ||
116 | +} | ||
117 | +.firebug .logRow-group { | ||
118 | + background: #EEEEEE; | ||
119 | + border-bottom: none; | ||
120 | +} | ||
121 | +.firebug .logGroup { | ||
122 | + background: #EEEEEE; | ||
123 | +} | ||
124 | +.firebug .logGroupBox { | ||
125 | + margin-left: 24px; | ||
126 | + border-top: 1px solid #D7D7D7; | ||
127 | + border-left: 1px solid #D7D7D7; | ||
128 | +} | ||
129 | +.firebug .selectorTag, | ||
130 | +.firebug .selectorId, | ||
131 | +.firebug .selectorClass { | ||
132 | + font-family: Monaco, monospace; | ||
133 | + font-weight: normal; | ||
134 | +} | ||
135 | +.firebug .selectorTag { | ||
136 | + color: #0000FF; | ||
137 | +} | ||
138 | +.firebug .selectorId { | ||
139 | + color: DarkBlue; | ||
140 | +} | ||
141 | +.firebug .selectorClass { | ||
142 | + color: red; | ||
143 | +} | ||
144 | +.firebug .objectBox-element { | ||
145 | + font-family: Monaco, monospace; | ||
146 | + color: #000088; | ||
147 | +} | ||
148 | +.firebug .nodeChildren { | ||
149 | + margin-left: 16px; | ||
150 | +} | ||
151 | +.firebug .nodeTag { | ||
152 | + color: blue; | ||
153 | +} | ||
154 | +.firebug .nodeValue { | ||
155 | + color: #FF0000; | ||
156 | + font-weight: normal; | ||
157 | +} | ||
158 | +.firebug .nodeText, | ||
159 | +.firebug .nodeComment { | ||
160 | + margin: 0 2px; | ||
161 | + vertical-align: top; | ||
162 | +} | ||
163 | +.firebug .nodeText { | ||
164 | + color: #333333; | ||
165 | +} | ||
166 | +.firebug .nodeComment { | ||
167 | + color: DarkGreen; | ||
168 | +} | ||
169 | +.firebug .propertyNameCell { | ||
170 | + vertical-align: top; | ||
171 | +} | ||
172 | +.firebug .propertyName { | ||
173 | + font-weight: bold; | ||
174 | +} | ||
175 | + | ||
176 | +/* tabs */ | ||
177 | +#firebugToolbar ul.tabs{ | ||
178 | + margin:0 !important; | ||
179 | + padding:0; | ||
180 | +} | ||
181 | +#firebugToolbar ul.tabs li{ | ||
182 | + list-style:none; | ||
183 | + background:transparent url(tab_lft_norm.png) no-repeat left; | ||
184 | + line-height:18px; | ||
185 | + float:left; | ||
186 | + margin-left:5px; | ||
187 | +} | ||
188 | +#firebugToolbar ul.tabs li.right{ | ||
189 | + float:right; | ||
190 | + margin-right:5px; | ||
191 | + margin-left:0; | ||
192 | +} | ||
193 | +#firebugToolbar ul.tabs li.gap{ | ||
194 | + margin-left:20px; | ||
195 | +} | ||
196 | +#firebugToolbar .tabs a{ | ||
197 | + text-decoration:none; | ||
198 | + background:transparent url(tab_rgt_norm.png) no-repeat right; | ||
199 | + line-height:18px; | ||
200 | + padding:3px 9px 4px 0px; | ||
201 | + margin-left:9px; | ||
202 | + color:#333333; | ||
203 | +} | ||
204 | +#firebugToolbar .tabs li:hover{ | ||
205 | + background:transparent url(tab_lft_over.png) no-repeat left; | ||
206 | +} | ||
207 | +#firebugToolbar .tabs a:hover{ | ||
208 | + text-decoration:none; | ||
209 | + background:transparent url(tab_rgt_over.png) no-repeat right; | ||
210 | + color:#FFFFFF; | ||
211 | +} |
bower_components/dojo/_firebug/firebug.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/_firebug/infoIcon.png
0 → 100644
524 Bytes
193 Bytes
196 Bytes
208 Bytes
208 Bytes
516 Bytes
bower_components/dojo/aspect.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/back.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/behavior.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cache.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/LICENSE
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/README
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/monetary.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ar/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/buddhist.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ca/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ca/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ca/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ca/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/cs/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/cs/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/cs/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/cs/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/cs/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/cs/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/currency.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/da/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/da/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/da/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/da/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/da/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/dangi.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/de/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/de/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/de/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/de/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/de/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/de/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/el/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/el/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/el/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/el/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/en/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/en/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/en/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/en/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/en/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/en/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/es/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/es/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/es/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/es/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/es/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/es/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ethiopic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fi/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fi/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fi/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fi/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fi/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fi/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/fr/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/gregorian.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/he/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/he/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/he/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/he/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/hu/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/it/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/it/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/it/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/it/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/it/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/it/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ja/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/japanese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ko/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ko/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ko/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ko/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ko/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ko/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nb/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nb/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nb/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nb/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nb/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nl/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nl/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nl/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nl/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nl/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/nl/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pl/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt-pt/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/pt/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ro/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ro/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ro/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ro/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ro/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ro/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/ru/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sk/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sk/number.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sl/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sl/number.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/sv/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/th/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/tr/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/chinese.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/coptic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/generic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/hebrew.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/indian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/islamic.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/persian.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/nls/zh/roc.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cldr/supplemental.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/cookie.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/currency.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/data/ObjectStore.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/data/api/Identity.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/data/api/Item.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/data/api/Read.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/data/api/Request.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/data/api/Write.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/data/util/filter.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/data/util/sorter.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/date.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/date/locale.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/date/stamp.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/AutoSource.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Avatar.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Container.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Manager.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Moveable.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Mover.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Selector.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Source.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/Target.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/TimedMoveable.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/autoscroll.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/common.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dnd/move.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dojo.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dojo.profile.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-attr.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-class.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-construct.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-form.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-geometry.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-prop.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom-style.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/dom.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/domReady.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/errors/CancelError.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/errors/RequestError.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/errors/create.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/fx.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/fx/Toggler.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/fx/easing.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/gears.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/has.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/hash.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/hccss.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/html.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/i18n.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/io-query.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/io/iframe.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/io/script.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/json.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/keys.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/loadInit.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/main.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/mouse.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/ar/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/az/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/bg/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/ca/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/cs/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/da/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/de/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/el/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/es/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/fi/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/fr/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/he/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/hr/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/hu/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/it/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/ja/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/kk/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/ko/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/nb/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/nl/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/pl/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/pt-pt/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/pt/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/ro/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/ru/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/sk/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/sl/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/sv/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/th/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/tr/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/uk/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/zh-tw/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/nls/zh/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/node.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/on.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/package.json
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/parser.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/promise/Promise.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/promise/all.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/promise/first.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/promise/tracer.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/query.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/ready.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/regexp.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/default.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/handlers.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/iframe.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/node.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/notify.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/registry.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/script.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/util.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/watch.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/request/xhr.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/require.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/resources/LICENSE
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/resources/blank.gif
0 → 100644
43 Bytes
bower_components/dojo/resources/blank.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/resources/dnd.css
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/resources/dojo.css
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
814 Bytes
785 Bytes
1.3 KB
991 Bytes
bower_components/dojo/robot.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/robotx.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/router.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/router/RouterBase.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/rpc/JsonService.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/rpc/JsonpService.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/rpc/RpcService.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/selector/_loader.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/selector/acme.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/selector/lite.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/sniff.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/Cache.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/DataStore.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/JsonRest.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/Memory.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/Observable.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/README
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/store/api/Store.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/string.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/Deferred.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/DeferredList.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/NodeList-data.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/NodeList-fx.html
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/Stateful.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/TODO
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/Color.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/abs.html
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/array.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/connect.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/declare.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/fx.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/fx.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/html.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/html.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/json.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/lang.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader/coolio/coolio-dev-legacy-async-with-packageMap.html
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/legacyModule.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test-with-layers.profile.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab-cd-ef/amdBundle.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab-cd-ef/legacyBundle.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab/legacyBundle.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/object.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/query.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/query.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/sniff.html
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/window.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/xhr.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/xhr.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/xhr.xml
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/_base/xhtml.php
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/aspect.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/back-hash.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/back.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/back.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/baseonly.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/behavior.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/behavior.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/cache.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/cldr.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/colors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/cookie.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/cookie.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/currency.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/data.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/data/utils.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/date.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/date/locale.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/date/stamp.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/dom-style.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/dom-style.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/errors.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/fx.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/fx.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/hash.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/html.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/i18n.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/i18n.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/io/iframe.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/io/iframe.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/io/script.html
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/io/script.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/io/scriptLoad.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/io/upload.cgi
0 → 100755
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/json.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/module.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/mouse.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/node.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/number.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/on.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/on/bench.html
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/on/on.js
0 → 100644
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/parser.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
bower_components/dojo/tests/promise.js
0 → 100644
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
-
Please register or login to post a comment