joosy 1.2.0.alpha.41 → 1.2.0.alpha.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/Gruntfile.coffee +27 -7
  4. data/bin/joosy +1 -1
  5. data/bower.json +3 -2
  6. data/build/joosy/extensions/preloaders.js +189 -0
  7. data/build/joosy/extensions/resources-form.js +588 -0
  8. data/build/joosy/extensions/resources.js +673 -0
  9. data/build/joosy.js +2395 -0
  10. data/{src/joosy/generators → generators}/base.coffee +2 -2
  11. data/{src/joosy/generators → generators/command}/command.coffee +16 -3
  12. data/generators/command/help.coffee +38 -0
  13. data/{src/joosy/generators → generators}/layout.coffee +0 -0
  14. data/{src/joosy/generators → generators}/page.coffee +0 -0
  15. data/{src/joosy/generators → generators}/project/base.coffee +2 -4
  16. data/{src/joosy/generators → generators}/project/standalone.coffee +4 -3
  17. data/{src/joosy/generators → generators}/project.coffee +0 -0
  18. data/generators/templates/application/base/application.coffee +13 -0
  19. data/{templates → generators/templates}/application/base/helpers/application.coffee +0 -0
  20. data/{templates → generators/templates}/application/base/layouts/application.coffee +0 -0
  21. data/{templates → generators/templates}/application/base/pages/application.coffee +0 -0
  22. data/{templates → generators/templates}/application/base/pages/welcome/index.coffee +0 -0
  23. data/{templates → generators/templates}/application/base/routes.coffee +0 -0
  24. data/{templates → generators/templates}/application/base/templates/layouts/application.jst.hamlc +0 -0
  25. data/{templates → generators/templates}/application/base/templates/pages/welcome/index.jst.hamlc +0 -0
  26. data/{templates → generators/templates}/application/standalone/Gruntfile.coffee +1 -0
  27. data/{templates → generators/templates}/application/standalone/Procfile +0 -0
  28. data/{templates → generators/templates}/application/standalone/_gitignore +0 -0
  29. data/generators/templates/application/standalone/bower.json +17 -0
  30. data/{templates → generators/templates}/application/standalone/package.json +0 -0
  31. data/{templates → generators/templates}/application/standalone/source/haml/index.haml +0 -0
  32. data/{templates → generators/templates}/application/standalone/source/stylesheets/application.styl +0 -0
  33. data/{templates → generators/templates}/layout/basic.coffee +0 -0
  34. data/{templates → generators/templates}/layout/namespaced.coffee +0 -0
  35. data/{templates → generators/templates}/page/basic.coffee +0 -0
  36. data/{templates → generators/templates}/page/namespaced.coffee +0 -0
  37. data/{templates → generators/templates}/widget/basic.coffee +0 -0
  38. data/{templates → generators/templates}/widget/namespaced.coffee +0 -0
  39. data/{src/joosy/generators → generators}/widget.coffee +0 -0
  40. data/lib/joosy.rb +3 -3
  41. data/package.json +2 -3
  42. data/source/joosy/application.coffee +95 -0
  43. data/source/joosy/events/namespace.coffee +24 -0
  44. data/{src → source}/joosy/extensions/preloaders/caching.coffee +0 -0
  45. data/{src → source}/joosy/extensions/preloaders/index.coffee +0 -0
  46. data/{src → source}/joosy/extensions/preloaders/inline.coffee +0 -0
  47. data/{src → source}/joosy/extensions/resources/base.coffee +16 -8
  48. data/{src → source}/joosy/extensions/resources/collection.coffee +0 -0
  49. data/{src → source}/joosy/extensions/resources/index.coffee +0 -0
  50. data/{src → source}/joosy/extensions/resources/rest.coffee +0 -0
  51. data/{src → source}/joosy/extensions/resources/rest_collection.coffee +0 -0
  52. data/{src → source}/joosy/extensions/resources-form/form.coffee +18 -18
  53. data/{src → source}/joosy/extensions/resources-form/helpers/form.coffee +6 -6
  54. data/{src → source}/joosy/extensions/resources-form/index.coffee +0 -0
  55. data/source/joosy/helpers/routes.coffee +10 -0
  56. data/source/joosy/helpers/view.coffee +115 -0
  57. data/{src/joosy/core → source/joosy}/helpers/widgets.coffee +1 -1
  58. data/{src/joosy/core → source/joosy}/joosy.coffee +59 -19
  59. data/source/joosy/layout.coffee +73 -0
  60. data/{src/joosy/core → source/joosy}/module.coffee +7 -2
  61. data/{src/joosy/core/modules/container.coffee → source/joosy/modules/dom.coffee} +24 -17
  62. data/source/joosy/modules/events.coffee +156 -0
  63. data/source/joosy/modules/filters.coffee +67 -0
  64. data/{src/joosy/core → source/joosy}/modules/log.coffee +7 -3
  65. data/source/joosy/modules/page/scrolling.coffee +51 -0
  66. data/source/joosy/modules/page/title.coffee +18 -0
  67. data/{src/joosy/core → source/joosy}/modules/renderer.coffee +12 -13
  68. data/{src/joosy/core → source/joosy}/modules/time_manager.coffee +5 -1
  69. data/{src/joosy/core → source/joosy}/modules/widgets_manager.coffee +9 -5
  70. data/source/joosy/page.coffee +68 -0
  71. data/{src/joosy/core → source/joosy}/resources/watcher.coffee +5 -1
  72. data/source/joosy/router.coffee +305 -0
  73. data/{src/joosy/core → source/joosy}/templaters/jst.coffee +10 -7
  74. data/source/joosy/widget.coffee +385 -0
  75. data/source/joosy.coffee +1 -0
  76. data/{src/vendor → source}/metamorph.coffee +0 -0
  77. data/spec/helpers/matchers.coffee +8 -1
  78. data/spec/joosy/core/application_spec.coffee +121 -20
  79. data/spec/joosy/core/helpers/view_spec.coffee +3 -3
  80. data/spec/joosy/core/helpers/widgets_spec.coffee +3 -6
  81. data/spec/joosy/core/joosy_spec.coffee +0 -5
  82. data/spec/joosy/core/layout_spec.coffee +2 -28
  83. data/spec/joosy/core/modules/dom_spec.coffee +133 -0
  84. data/spec/joosy/core/modules/events_spec.coffee +16 -9
  85. data/spec/joosy/core/modules/filters_spec.coffee +232 -89
  86. data/spec/joosy/core/modules/log_spec.coffee +2 -2
  87. data/spec/joosy/core/modules/renderer_spec.coffee +8 -4
  88. data/spec/joosy/core/page_spec.coffee +2 -201
  89. data/spec/joosy/core/router_spec.coffee +295 -233
  90. data/spec/joosy/core/templaters/jst_spec.coffee +1 -1
  91. data/spec/joosy/core/widget_spec.coffee +373 -34
  92. data/spec/joosy/environments/amd_spec.coffee +38 -0
  93. data/spec/joosy/environments/global_spec.coffee +21 -0
  94. data/spec/joosy/extensions/form/form_spec.coffee +18 -18
  95. data/spec/joosy/extensions/form/helpers/forms_spec.coffee +1 -1
  96. data/spec/joosy/extensions/resources/base_spec.coffee +23 -11
  97. data/tasks/joosy.coffee +6 -9
  98. metadata +75 -69
  99. data/lib/extensions/preloaders.js +0 -193
  100. data/lib/extensions/resources-form.js +0 -592
  101. data/lib/extensions/resources.js +0 -675
  102. data/lib/joosy.js +0 -2199
  103. data/spec/joosy/core/modules/container_spec.coffee +0 -153
  104. data/spec/joosy/core/modules/widget_manager_spec.coffee +0 -96
  105. data/src/joosy/core/application.coffee +0 -59
  106. data/src/joosy/core/helpers/view.coffee +0 -52
  107. data/src/joosy/core/layout.coffee +0 -174
  108. data/src/joosy/core/modules/events.coffee +0 -188
  109. data/src/joosy/core/modules/filters.coffee +0 -42
  110. data/src/joosy/core/page.coffee +0 -383
  111. data/src/joosy/core/router.coffee +0 -313
  112. data/src/joosy/core/widget.coffee +0 -88
  113. data/src/joosy.coffee +0 -1
  114. data/templates/application/base/application.coffee +0 -9
  115. data/templates/application/standalone/bower.json +0 -7
data/tasks/joosy.coffee CHANGED
@@ -39,7 +39,8 @@ module.exports = (grunt) ->
39
39
  assets:
40
40
  instance: (environment='development') ->
41
41
  Mincer.logger.use console
42
- Mincer.StylusEngine.registerConfigurator (stylus) ->
42
+ Mincer.CoffeeEngine.configure bare: false
43
+ Mincer.StylusEngine.configure (stylus) ->
43
44
  stylus.options.paths.push Path.join(process.cwd(), paths.public)
44
45
  stylus.define '$environment', environment
45
46
  stylus.define '$config', grunt.config.get('joosy.config') || {}
@@ -50,7 +51,7 @@ module.exports = (grunt) ->
50
51
  assets.appendPath paths.stylesheets
51
52
  assets.appendPath 'vendor'
52
53
  assets.appendPath 'bower_components'
53
- assets.appendPath 'node_modules/joosy/src'
54
+ assets.appendPath 'node_modules/joosy/source'
54
55
 
55
56
  assets
56
57
 
@@ -60,16 +61,12 @@ module.exports = (grunt) ->
60
61
 
61
62
  for entry in map
62
63
  do (entry) ->
63
- deepness++
64
64
  asset = assets.findAsset entry.src
65
65
  callbacks.error? "Cannot find #{entry.src}" unless asset
66
+ grunt.file.write entry.dest, asset.toString()
67
+ callbacks.compiled? asset, entry.dest
66
68
 
67
- asset.compile (err) ->
68
- deepness--
69
- callbacks.error? asset, err if err
70
- grunt.file.write entry.dest, asset.toString()
71
- callbacks.compiled? asset, entry.dest
72
- callbacks.success?() if deepness == 0
69
+ callbacks.success?()
73
70
 
74
71
  haml:
75
72
  compile: (file, partials=paths.haml, environment='development', locals={}) ->
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: joosy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.alpha.41
4
+ version: 1.2.0.alpha.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boris Staal
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-23 00:00:00.000000000 Z
13
+ date: 2013-08-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sprockets
@@ -53,13 +53,78 @@ files:
53
53
  - README.md
54
54
  - bin/joosy
55
55
  - bower.json
56
+ - build/joosy.js
57
+ - build/joosy/extensions/preloaders.js
58
+ - build/joosy/extensions/resources-form.js
59
+ - build/joosy/extensions/resources.js
60
+ - generators/base.coffee
61
+ - generators/command/command.coffee
62
+ - generators/command/help.coffee
63
+ - generators/layout.coffee
64
+ - generators/page.coffee
65
+ - generators/project.coffee
66
+ - generators/project/base.coffee
67
+ - generators/project/standalone.coffee
68
+ - generators/templates/application/base/application.coffee
69
+ - generators/templates/application/base/helpers/application.coffee
70
+ - generators/templates/application/base/layouts/application.coffee
71
+ - generators/templates/application/base/pages/application.coffee
72
+ - generators/templates/application/base/pages/welcome/index.coffee
73
+ - generators/templates/application/base/routes.coffee
74
+ - generators/templates/application/base/templates/layouts/application.jst.hamlc
75
+ - generators/templates/application/base/templates/pages/welcome/index.jst.hamlc
76
+ - generators/templates/application/standalone/Gruntfile.coffee
77
+ - generators/templates/application/standalone/Procfile
78
+ - generators/templates/application/standalone/_gitignore
79
+ - generators/templates/application/standalone/bower.json
80
+ - generators/templates/application/standalone/package.json
81
+ - generators/templates/application/standalone/source/haml/index.haml
82
+ - generators/templates/application/standalone/source/stylesheets/application.styl
83
+ - generators/templates/layout/basic.coffee
84
+ - generators/templates/layout/namespaced.coffee
85
+ - generators/templates/page/basic.coffee
86
+ - generators/templates/page/namespaced.coffee
87
+ - generators/templates/widget/basic.coffee
88
+ - generators/templates/widget/namespaced.coffee
89
+ - generators/widget.coffee
56
90
  - joosy.gemspec
57
- - lib/extensions/preloaders.js
58
- - lib/extensions/resources-form.js
59
- - lib/extensions/resources.js
60
- - lib/joosy.js
61
91
  - lib/joosy.rb
62
92
  - package.json
93
+ - source/joosy.coffee
94
+ - source/joosy/application.coffee
95
+ - source/joosy/events/namespace.coffee
96
+ - source/joosy/extensions/preloaders/caching.coffee
97
+ - source/joosy/extensions/preloaders/index.coffee
98
+ - source/joosy/extensions/preloaders/inline.coffee
99
+ - source/joosy/extensions/resources-form/form.coffee
100
+ - source/joosy/extensions/resources-form/helpers/form.coffee
101
+ - source/joosy/extensions/resources-form/index.coffee
102
+ - source/joosy/extensions/resources/base.coffee
103
+ - source/joosy/extensions/resources/collection.coffee
104
+ - source/joosy/extensions/resources/index.coffee
105
+ - source/joosy/extensions/resources/rest.coffee
106
+ - source/joosy/extensions/resources/rest_collection.coffee
107
+ - source/joosy/helpers/routes.coffee
108
+ - source/joosy/helpers/view.coffee
109
+ - source/joosy/helpers/widgets.coffee
110
+ - source/joosy/joosy.coffee
111
+ - source/joosy/layout.coffee
112
+ - source/joosy/module.coffee
113
+ - source/joosy/modules/dom.coffee
114
+ - source/joosy/modules/events.coffee
115
+ - source/joosy/modules/filters.coffee
116
+ - source/joosy/modules/log.coffee
117
+ - source/joosy/modules/page/scrolling.coffee
118
+ - source/joosy/modules/page/title.coffee
119
+ - source/joosy/modules/renderer.coffee
120
+ - source/joosy/modules/time_manager.coffee
121
+ - source/joosy/modules/widgets_manager.coffee
122
+ - source/joosy/page.coffee
123
+ - source/joosy/resources/watcher.coffee
124
+ - source/joosy/router.coffee
125
+ - source/joosy/templaters/jst.coffee
126
+ - source/joosy/widget.coffee
127
+ - source/metamorph.coffee
63
128
  - spec/helpers/ground.coffee
64
129
  - spec/helpers/matchers.coffee
65
130
  - spec/joosy/core/application_spec.coffee
@@ -67,18 +132,19 @@ files:
67
132
  - spec/joosy/core/helpers/widgets_spec.coffee
68
133
  - spec/joosy/core/joosy_spec.coffee
69
134
  - spec/joosy/core/layout_spec.coffee
70
- - spec/joosy/core/modules/container_spec.coffee
135
+ - spec/joosy/core/modules/dom_spec.coffee
71
136
  - spec/joosy/core/modules/events_spec.coffee
72
137
  - spec/joosy/core/modules/filters_spec.coffee
73
138
  - spec/joosy/core/modules/log_spec.coffee
74
139
  - spec/joosy/core/modules/module_spec.coffee
75
140
  - spec/joosy/core/modules/renderer_spec.coffee
76
141
  - spec/joosy/core/modules/time_manager_spec.coffee
77
- - spec/joosy/core/modules/widget_manager_spec.coffee
78
142
  - spec/joosy/core/page_spec.coffee
79
143
  - spec/joosy/core/router_spec.coffee
80
144
  - spec/joosy/core/templaters/jst_spec.coffee
81
145
  - spec/joosy/core/widget_spec.coffee
146
+ - spec/joosy/environments/amd_spec.coffee
147
+ - spec/joosy/environments/global_spec.coffee
82
148
  - spec/joosy/extensions/form/form_spec.coffee
83
149
  - spec/joosy/extensions/form/helpers/forms_spec.coffee
84
150
  - spec/joosy/extensions/preloaders/caching_spec.coffee
@@ -88,67 +154,7 @@ files:
88
154
  - spec/joosy/extensions/resources/rest_collection_spec.coffee
89
155
  - spec/joosy/extensions/resources/rest_spec.coffee
90
156
  - spec/support/test.js
91
- - src/joosy.coffee
92
- - src/joosy/core/application.coffee
93
- - src/joosy/core/helpers/view.coffee
94
- - src/joosy/core/helpers/widgets.coffee
95
- - src/joosy/core/joosy.coffee
96
- - src/joosy/core/layout.coffee
97
- - src/joosy/core/module.coffee
98
- - src/joosy/core/modules/container.coffee
99
- - src/joosy/core/modules/events.coffee
100
- - src/joosy/core/modules/filters.coffee
101
- - src/joosy/core/modules/log.coffee
102
- - src/joosy/core/modules/renderer.coffee
103
- - src/joosy/core/modules/time_manager.coffee
104
- - src/joosy/core/modules/widgets_manager.coffee
105
- - src/joosy/core/page.coffee
106
- - src/joosy/core/resources/watcher.coffee
107
- - src/joosy/core/router.coffee
108
- - src/joosy/core/templaters/jst.coffee
109
- - src/joosy/core/widget.coffee
110
- - src/joosy/extensions/preloaders/caching.coffee
111
- - src/joosy/extensions/preloaders/index.coffee
112
- - src/joosy/extensions/preloaders/inline.coffee
113
- - src/joosy/extensions/resources-form/form.coffee
114
- - src/joosy/extensions/resources-form/helpers/form.coffee
115
- - src/joosy/extensions/resources-form/index.coffee
116
- - src/joosy/extensions/resources/base.coffee
117
- - src/joosy/extensions/resources/collection.coffee
118
- - src/joosy/extensions/resources/index.coffee
119
- - src/joosy/extensions/resources/rest.coffee
120
- - src/joosy/extensions/resources/rest_collection.coffee
121
- - src/joosy/generators/base.coffee
122
- - src/joosy/generators/command.coffee
123
- - src/joosy/generators/layout.coffee
124
- - src/joosy/generators/page.coffee
125
- - src/joosy/generators/project.coffee
126
- - src/joosy/generators/project/base.coffee
127
- - src/joosy/generators/project/standalone.coffee
128
- - src/joosy/generators/widget.coffee
129
- - src/vendor/metamorph.coffee
130
157
  - tasks/joosy.coffee
131
- - templates/application/base/application.coffee
132
- - templates/application/base/helpers/application.coffee
133
- - templates/application/base/layouts/application.coffee
134
- - templates/application/base/pages/application.coffee
135
- - templates/application/base/pages/welcome/index.coffee
136
- - templates/application/base/routes.coffee
137
- - templates/application/base/templates/layouts/application.jst.hamlc
138
- - templates/application/base/templates/pages/welcome/index.jst.hamlc
139
- - templates/application/standalone/Gruntfile.coffee
140
- - templates/application/standalone/Procfile
141
- - templates/application/standalone/_gitignore
142
- - templates/application/standalone/bower.json
143
- - templates/application/standalone/package.json
144
- - templates/application/standalone/source/haml/index.haml
145
- - templates/application/standalone/source/stylesheets/application.styl
146
- - templates/layout/basic.coffee
147
- - templates/layout/namespaced.coffee
148
- - templates/page/basic.coffee
149
- - templates/page/namespaced.coffee
150
- - templates/widget/basic.coffee
151
- - templates/widget/namespaced.coffee
152
158
  homepage: http://github.com/joosy/joosy
153
159
  licenses:
154
160
  - MIT
@@ -169,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
175
  version: 1.3.1
170
176
  requirements: []
171
177
  rubyforge_project:
172
- rubygems_version: 2.0.2
178
+ rubygems_version: 2.0.6
173
179
  signing_key:
174
180
  specification_version: 4
175
181
  summary: Joosy Framework
@@ -1,193 +0,0 @@
1
-
2
-
3
- /*** src/joosy/extensions/preloaders/caching ***/
4
-
5
- this.CachingPreloader = {
6
- force: false,
7
- prefix: "cache:",
8
- counter: 0,
9
- load: function(libraries, options) {
10
- var i, key, lib, val, _i, _len, _ref, _ref1;
11
- if (options == null) {
12
- options = {};
13
- }
14
- for (key in options) {
15
- val = options[key];
16
- this[key] = val;
17
- }
18
- this.libraries = libraries.slice();
19
- _ref = this.libraries;
20
- for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
21
- lib = _ref[i];
22
- this.libraries[i] = this.prefix + lib[0];
23
- }
24
- if (!this.force && this.check()) {
25
- return this.restore();
26
- } else {
27
- if ((_ref1 = this.start) != null) {
28
- _ref1.call(window);
29
- }
30
- this.clean();
31
- return this.download(libraries);
32
- }
33
- },
34
- check: function() {
35
- var flag, i, name, _i, _len, _ref;
36
- flag = true;
37
- _ref = this.libraries;
38
- for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
39
- name = _ref[i];
40
- flag && (flag = window.localStorage.getItem(name) != null);
41
- }
42
- return flag;
43
- },
44
- escapeStr: function(str) {
45
- return str.replace(new RegExp("\u0001", 'g'), "\\u0001").replace(new RegExp("\u000B", 'g'), "\\u000B");
46
- },
47
- restore: function() {
48
- var i, name, _i, _len, _ref, _ref1;
49
- _ref = this.libraries;
50
- for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
51
- name = _ref[i];
52
- window.evalGlobaly(window.localStorage.getItem(name));
53
- }
54
- return (_ref1 = this.complete) != null ? _ref1.call(window, true) : void 0;
55
- },
56
- download: function(libraries) {
57
- var lib, size, url, _ref,
58
- _this = this;
59
- if (libraries.length > 0) {
60
- this.counter += 1;
61
- lib = libraries.shift();
62
- url = lib[0];
63
- size = lib[1];
64
- return this.ajax(url, size, function(xhr) {
65
- var code;
66
- code = xhr.responseText;
67
- if (window.navigator.appName === "Microsoft Internet Explorer") {
68
- code = _this.escapeStr(code);
69
- }
70
- window.localStorage.setItem(_this.prefix + url, code);
71
- window.evalGlobaly(xhr.responseText);
72
- return _this.download(libraries);
73
- });
74
- } else {
75
- return (_ref = this.complete) != null ? _ref.call(window) : void 0;
76
- }
77
- },
78
- ajax: function(url, size, callback) {
79
- var poller, x,
80
- _this = this;
81
- if (window.XMLHttpRequest) {
82
- x = new XMLHttpRequest;
83
- } else {
84
- x = new ActiveXObject('Microsoft.XMLHTTP');
85
- }
86
- x.open('GET', url, 1);
87
- x.onreadystatechange = function() {
88
- if (x.readyState > 3) {
89
- clearInterval(_this.interval);
90
- return typeof callback === "function" ? callback(x) : void 0;
91
- }
92
- };
93
- if (this.progress) {
94
- poller = function() {
95
- var e;
96
- try {
97
- return _this.progress.call(window, Math.round((x.responseText.length / size) * (_this.counter / _this.libraries.length) * 100));
98
- } catch (_error) {
99
- e = _error;
100
- }
101
- };
102
- this.interval = setInterval(poller, 100);
103
- }
104
- return x.send();
105
- },
106
- clean: function() {
107
- var find, i, key, _results;
108
- i = 0;
109
- find = function(arr, obj) {
110
- var x, _i, _len;
111
- for (_i = 0, _len = arr.length; _i < _len; _i++) {
112
- x = arr[_i];
113
- if (obj === x) {
114
- return i;
115
- }
116
- }
117
- return -1;
118
- };
119
- _results = [];
120
- while (i < window.localStorage.length && (key = window.localStorage.key(i))) {
121
- if (key.indexOf(this.prefix) === 0 && find(this.libraries, key) < 0) {
122
- _results.push(window.localStorage.removeItem(key));
123
- } else {
124
- _results.push(i += 1);
125
- }
126
- }
127
- return _results;
128
- }
129
- };
130
-
131
- window.evalGlobaly = function(src) {
132
- if (src.length === 0) {
133
- return;
134
- }
135
- if (window.execScript) {
136
- return window.execScript(src);
137
- } else {
138
- return window["eval"](src);
139
- }
140
- };
141
-
142
- this.Preloader = this.CachingPreloader;
143
-
144
-
145
- /*** src/joosy/extensions/preloaders/inline ***/
146
-
147
- this.InlinePreloader = {
148
- load: function(libraries, options) {
149
- var key, val,
150
- _this = this;
151
- for (key in options) {
152
- val = options[key];
153
- this[key] = val;
154
- }
155
- if (typeof this.start === "function") {
156
- this.start();
157
- }
158
- if (libraries.length > 0) {
159
- return this.receive(libraries.shift()[0], function() {
160
- return _this.load(libraries);
161
- });
162
- } else {
163
- return typeof this.complete === "function" ? this.complete() : void 0;
164
- }
165
- },
166
- receive: function(url, callback) {
167
- var done, head, proceed, script;
168
- head = document.getElementsByTagName("head")[0];
169
- script = document.createElement("script");
170
- script.src = url;
171
- done = false;
172
- proceed = function() {
173
- if (!done && ((this.readyState == null) || this.readyState === "loaded" || this.readyState === "complete")) {
174
- done = true;
175
- if (typeof callback === "function") {
176
- callback();
177
- }
178
- return script.onload = script.onreadystatechange = null;
179
- }
180
- };
181
- script.onload = script.onreadystatechange = proceed;
182
- head.appendChild(script);
183
- return void 0;
184
- }
185
- };
186
-
187
- this.Preloader = this.InlinePreloader;
188
-
189
-
190
- /*** src/joosy/extensions/preloaders/index ***/
191
-
192
-
193
- ;