unpoly-rails 0.32.0 → 0.33.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of unpoly-rails might be problematic. Click here for more details.

Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +106 -76
  3. data/README.md +8 -5
  4. data/README_RAILS.md +1 -1
  5. data/design/test_rejected_promise.txt +5 -0
  6. data/dist/unpoly-bootstrap3.js +1 -1
  7. data/dist/unpoly-bootstrap3.min.js +1 -1
  8. data/dist/unpoly.js +814 -417
  9. data/dist/unpoly.min.js +3 -3
  10. data/lib/assets/javascripts/unpoly/{browser.js.coffee → browser.coffee} +15 -6
  11. data/lib/assets/javascripts/unpoly/{bus.js.coffee → bus.coffee} +13 -13
  12. data/lib/assets/javascripts/unpoly/dom/extract_cascade.coffee +73 -0
  13. data/lib/assets/javascripts/unpoly/dom/extract_plan.coffee +65 -0
  14. data/lib/assets/javascripts/unpoly/{flow.js.coffee → dom.coffee} +109 -114
  15. data/lib/assets/javascripts/unpoly/{navigation.js.coffee → feedback.coffee} +11 -11
  16. data/lib/assets/javascripts/unpoly/{form.js.coffee → form.coffee} +35 -24
  17. data/lib/assets/javascripts/unpoly/{history.js.coffee → history.coffee} +9 -10
  18. data/lib/assets/javascripts/unpoly/{layout.js.coffee → layout.coffee} +53 -21
  19. data/lib/assets/javascripts/unpoly/{link.js.coffee → link.coffee} +46 -40
  20. data/lib/assets/javascripts/unpoly/{log.js.coffee → log.coffee} +2 -2
  21. data/lib/assets/javascripts/unpoly/{modal.js.coffee → modal.coffee} +17 -14
  22. data/lib/assets/javascripts/unpoly/{motion.js.coffee → motion.coffee} +28 -31
  23. data/lib/assets/javascripts/unpoly/namespace.coffee.erb +10 -0
  24. data/lib/assets/javascripts/unpoly/{popup.js.coffee → popup.coffee} +22 -10
  25. data/lib/assets/javascripts/unpoly/{proxy.js.coffee → proxy.coffee} +34 -12
  26. data/lib/assets/javascripts/unpoly/{rails.js.coffee → rails.coffee} +0 -0
  27. data/lib/assets/javascripts/unpoly/{syntax.js.coffee → syntax.coffee} +32 -21
  28. data/lib/assets/javascripts/unpoly/{toast.js.coffee → toast.coffee} +0 -0
  29. data/lib/assets/javascripts/unpoly/{tooltip.js.coffee → tooltip.coffee} +2 -2
  30. data/lib/assets/javascripts/unpoly/{util.js.coffee → util.coffee} +122 -35
  31. data/lib/assets/javascripts/unpoly-bootstrap3/{form-ext.js.coffee → form-ext.coffee} +0 -0
  32. data/lib/assets/javascripts/unpoly-bootstrap3/{layout-ext.js.coffee → layout-ext.coffee} +0 -0
  33. data/lib/assets/javascripts/unpoly-bootstrap3/{modal-ext.js.coffee → modal-ext.coffee} +0 -0
  34. data/lib/assets/javascripts/unpoly-bootstrap3/{navigation-ext.js.coffee → navigation-ext.coffee} +1 -1
  35. data/lib/assets/javascripts/{unpoly-bootstrap3.js.coffee → unpoly-bootstrap3.coffee} +0 -0
  36. data/lib/assets/javascripts/unpoly.coffee +22 -0
  37. data/lib/assets/stylesheets/unpoly/{close.css.sass → close.sass} +0 -0
  38. data/lib/assets/stylesheets/unpoly/{flow.css.sass → flow.sass} +0 -0
  39. data/lib/assets/stylesheets/unpoly/{link.css.sass → link.sass} +0 -0
  40. data/lib/assets/stylesheets/unpoly/{modal.css.sass → modal.sass} +0 -0
  41. data/lib/assets/stylesheets/unpoly/{popup.css.sass → popup.sass} +0 -0
  42. data/lib/assets/stylesheets/unpoly/{toast.css.sass → toast.sass} +0 -0
  43. data/lib/assets/stylesheets/unpoly/{tooltip.css.sass → tooltip.sass} +0 -0
  44. data/lib/assets/stylesheets/unpoly-bootstrap3/{modal-ext.css.sass → modal-ext.sass} +0 -0
  45. data/lib/assets/stylesheets/{unpoly-bootstrap3.css.sass → unpoly-bootstrap3.sass} +0 -0
  46. data/lib/assets/stylesheets/{unpoly.css.sass → unpoly.sass} +0 -0
  47. data/lib/unpoly/rails/version.rb +1 -1
  48. data/package.json +1 -1
  49. data/spec_app/Gemfile.lock +11 -13
  50. data/spec_app/app/assets/javascripts/jasmine_specs.coffee +1 -1
  51. data/spec_app/app/assets/stylesheets/_helpers.sass +1 -1
  52. data/spec_app/config/initializers/assets.rb +1 -5
  53. data/spec_app/spec/javascripts/up/{flow_spec.js.coffee → dom_spec.js.coffee} +294 -44
  54. data/spec_app/spec/javascripts/up/{navigation_spec.js.coffee → feedback_spec.js.coffee} +2 -2
  55. data/spec_app/spec/javascripts/up/form_spec.js.coffee +1 -0
  56. data/spec_app/spec/javascripts/up/layout_spec.js.coffee +10 -0
  57. data/spec_app/spec/javascripts/up/link_spec.js.coffee +28 -0
  58. data/spec_app/spec/javascripts/up/modal_spec.js.coffee +46 -9
  59. data/spec_app/spec/javascripts/up/motion_spec.js.coffee +32 -2
  60. data/spec_app/spec/javascripts/up/popup_spec.js.coffee +5 -4
  61. data/spec_app/spec/javascripts/up/util_spec.js.coffee +75 -0
  62. data/spec_app/vendor/{assets/bower_components/jasmine-ajax → asset-libs/jasmine-ajax-3.3.1}/.bower.json +0 -0
  63. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.gitignore +6 -0
  64. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.npmignore +10 -0
  65. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.pairs +6 -0
  66. data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.travis.yml +56 -0
  67. data/spec_app/vendor/{assets/bower_components/jasmine-ajax/lib/mock-ajax.js → asset-libs/jasmine-ajax-3.3.1/jasmine-ajax.js} +83 -26
  68. data/spec_app/vendor/{assets/bower_components/jasmine-fixture/dist → asset-libs/jasmine-fixture-1.3.4}/jasmine-fixture.js +13 -13
  69. data/spec_app/vendor/{assets/bower_components/jasmine-jquery → asset-libs/jasmine-jquery-2.1.1}/.bower.json +0 -0
  70. data/spec_app/vendor/{assets/bower_components/jasmine-jquery/lib → asset-libs/jasmine-jquery-2.1.1}/jasmine-jquery.js +0 -0
  71. data/spec_app/vendor/assets/{javascripts/.keep → .keep} +0 -0
  72. metadata +52 -203
  73. data/lib/assets/javascripts/unpoly/module.js.coffee.erb +0 -8
  74. data/lib/assets/javascripts/unpoly.js.coffee +0 -21
  75. data/spec_app/Bowerfile +0 -3
  76. data/spec_app/vendor/assets/.bowerrc +0 -3
  77. data/spec_app/vendor/assets/bower.json +0 -8
  78. data/spec_app/vendor/assets/bower_components/jasmine/.bower.json +0 -50
  79. data/spec_app/vendor/assets/bower_components/jasmine/CONTRIBUTING.md +0 -130
  80. data/spec_app/vendor/assets/bower_components/jasmine/GOALS_2.0.md +0 -64
  81. data/spec_app/vendor/assets/bower_components/jasmine/MANIFEST.in +0 -5
  82. data/spec_app/vendor/assets/bower_components/jasmine/MIT.LICENSE +0 -20
  83. data/spec_app/vendor/assets/bower_components/jasmine/README.md +0 -73
  84. data/spec_app/vendor/assets/bower_components/jasmine/RELEASE.md +0 -73
  85. data/spec_app/vendor/assets/bower_components/jasmine/bower.json +0 -41
  86. data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine-horizontal.png +0 -0
  87. data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine-horizontal.svg +0 -102
  88. data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine_favicon.png +0 -0
  89. data/spec_app/vendor/assets/bower_components/jasmine/lib/console/console.js +0 -190
  90. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/boot.js +0 -143
  91. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/lib/jasmine_examples/Player.js +0 -24
  92. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/lib/jasmine_examples/Song.js +0 -9
  93. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine-html.js +0 -446
  94. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.css +0 -58
  95. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.js +0 -3298
  96. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/json2.js +0 -489
  97. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/node_boot.js +0 -41
  98. data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core.js +0 -37
  99. data/spec_app/vendor/assets/bower_components/jasmine/package.json +0 -34
  100. data/spec_app/vendor/assets/bower_components/jasmine/requirements.txt +0 -1
  101. data/spec_app/vendor/assets/bower_components/jasmine-ajax/MIT.LICENSE +0 -20
  102. data/spec_app/vendor/assets/bower_components/jasmine-ajax/README.markdown +0 -289
  103. data/spec_app/vendor/assets/bower_components/jasmine-ajax/bower.json +0 -35
  104. data/spec_app/vendor/assets/bower_components/jasmine-ajax/package.json +0 -26
  105. data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/2.0.2.md +0 -50
  106. data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/2.99.md +0 -14
  107. data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.0.md +0 -28
  108. data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.1.0.md +0 -24
  109. data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.1.1.md +0 -23
  110. data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.2.0.md +0 -20
  111. data/spec_app/vendor/assets/bower_components/jasmine-fixture/.bower.json +0 -27
  112. data/spec_app/vendor/assets/bower_components/jasmine-fixture/.gitignore +0 -8
  113. data/spec_app/vendor/assets/bower_components/jasmine-fixture/.npmignore +0 -8
  114. data/spec_app/vendor/assets/bower_components/jasmine-fixture/LICENSE.txt +0 -24
  115. data/spec_app/vendor/assets/bower_components/jasmine-fixture/README.md +0 -118
  116. data/spec_app/vendor/assets/bower_components/jasmine-fixture/bower.json +0 -17
  117. data/spec_app/vendor/assets/bower_components/jasmine-fixture/dist/jasmine-fixture.min.js +0 -5
  118. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/basic-usage-spec.coffee +0 -14
  119. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/invariants.coffee +0 -17
  120. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/spec-within-a-spec.coffee +0 -24
  121. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/tmp-files.coffee +0 -8
  122. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/support/jasmine1-testem-config.json +0 -11
  123. data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/support/jasmine2-testem-config.json +0 -11
  124. data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-1.11.0.js +0 -10337
  125. data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-1.8.3.js +0 -9472
  126. data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-2.1.0.js +0 -9111
  127. data/spec_app/vendor/assets/bower_components/jasmine-jquery/CONTRIBUTING.md +0 -28
  128. data/spec_app/vendor/assets/bower_components/jasmine-jquery/Gruntfile.js +0 -49
  129. data/spec_app/vendor/assets/bower_components/jasmine-jquery/LICENSE +0 -20
  130. data/spec_app/vendor/assets/bower_components/jasmine-jquery/README.md +0 -367
  131. data/spec_app/vendor/assets/bower_components/jasmine-jquery/bower.json +0 -15
  132. data/spec_app/vendor/assets/bower_components/jasmine-jquery/package.json +0 -35
  133. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_checkbox_with_checked.html +0 -6
  134. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_javascript.html +0 -1
  135. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_javascript_block.html +0 -1
  136. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_click.js +0 -1
  137. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_hover.js +0 -1
  138. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/json/jasmine_json_test.json +0 -1
  139. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/real_non_mocked_fixture.html +0 -1
  140. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/real_non_mocked_fixture_style.css +0 -1
  141. data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/suites/jasmine-jquery-spec.js +0 -1842
  142. data/spec_app/vendor/assets/bower_components/jquery/.bower.json +0 -38
  143. data/spec_app/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  144. data/spec_app/vendor/assets/bower_components/jquery/bower.json +0 -28
  145. data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9210
  146. data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  147. data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  148. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  149. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  150. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  151. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  152. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  153. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  154. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  155. data/spec_app/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -136
  156. data/spec_app/vendor/assets/bower_components/jquery/src/ajax.js +0 -786
  157. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -141
  158. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  159. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -94
  160. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  161. data/spec_app/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -161
  162. data/spec_app/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  163. data/spec_app/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  164. data/spec_app/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  165. data/spec_app/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  166. data/spec_app/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  167. data/spec_app/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  168. data/spec_app/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  169. data/spec_app/vendor/assets/bower_components/jquery/src/core.js +0 -502
  170. data/spec_app/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  171. data/spec_app/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  172. data/spec_app/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  173. data/spec_app/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  174. data/spec_app/vendor/assets/bower_components/jquery/src/css/support.js +0 -96
  175. data/spec_app/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  176. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  177. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -12
  178. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  179. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  180. data/spec_app/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  181. data/spec_app/vendor/assets/bower_components/jquery/src/css.js +0 -450
  182. data/spec_app/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  183. data/spec_app/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  184. data/spec_app/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  185. data/spec_app/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  186. data/spec_app/vendor/assets/bower_components/jquery/src/data.js +0 -178
  187. data/spec_app/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  188. data/spec_app/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  189. data/spec_app/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  190. data/spec_app/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  191. data/spec_app/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  192. data/spec_app/vendor/assets/bower_components/jquery/src/effects.js +0 -648
  193. data/spec_app/vendor/assets/bower_components/jquery/src/event/ajax.js +0 -13
  194. data/spec_app/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  195. data/spec_app/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  196. data/spec_app/vendor/assets/bower_components/jquery/src/event.js +0 -868
  197. data/spec_app/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  198. data/spec_app/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  199. data/spec_app/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  200. data/spec_app/vendor/assets/bower_components/jquery/src/jquery.js +0 -37
  201. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  202. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -32
  203. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  204. data/spec_app/vendor/assets/bower_components/jquery/src/manipulation.js +0 -580
  205. data/spec_app/vendor/assets/bower_components/jquery/src/offset.js +0 -207
  206. data/spec_app/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  207. data/spec_app/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  208. data/spec_app/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  209. data/spec_app/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  210. data/spec_app/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  211. data/spec_app/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  212. data/spec_app/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  213. data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  214. data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  215. data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  216. data/spec_app/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  217. data/spec_app/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  218. data/spec_app/vendor/assets/bower_components/jquery/src/traversing.js +0 -199
  219. data/spec_app/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  220. data/spec_app/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  221. data/spec_app/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  222. data/spec_app/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  223. data/spec_app/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  224. data/spec_app/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  225. data/spec_app/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  226. data/spec_app/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  227. data/spec_app/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  228. data/spec_app/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  229. data/spec_app/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  230. data/spec_app/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  231. data/spec_app/vendor/assets/bower_components/jquery/src/wrap.js +0 -79
  232. data/spec_app/vendor/assets/stylesheets/.keep +0 -0
@@ -1,181 +0,0 @@
1
- define([
2
- "../core",
3
- "../var/rnotwhite",
4
- "./accepts"
5
- ], function( jQuery, rnotwhite ) {
6
-
7
- function Data() {
8
- // Support: Android<4,
9
- // Old WebKit does not have Object.preventExtensions/freeze method,
10
- // return new empty object instead with no [[set]] accessor
11
- Object.defineProperty( this.cache = {}, 0, {
12
- get: function() {
13
- return {};
14
- }
15
- });
16
-
17
- this.expando = jQuery.expando + Data.uid++;
18
- }
19
-
20
- Data.uid = 1;
21
- Data.accepts = jQuery.acceptData;
22
-
23
- Data.prototype = {
24
- key: function( owner ) {
25
- // We can accept data for non-element nodes in modern browsers,
26
- // but we should not, see #8335.
27
- // Always return the key for a frozen object.
28
- if ( !Data.accepts( owner ) ) {
29
- return 0;
30
- }
31
-
32
- var descriptor = {},
33
- // Check if the owner object already has a cache key
34
- unlock = owner[ this.expando ];
35
-
36
- // If not, create one
37
- if ( !unlock ) {
38
- unlock = Data.uid++;
39
-
40
- // Secure it in a non-enumerable, non-writable property
41
- try {
42
- descriptor[ this.expando ] = { value: unlock };
43
- Object.defineProperties( owner, descriptor );
44
-
45
- // Support: Android<4
46
- // Fallback to a less secure definition
47
- } catch ( e ) {
48
- descriptor[ this.expando ] = unlock;
49
- jQuery.extend( owner, descriptor );
50
- }
51
- }
52
-
53
- // Ensure the cache object
54
- if ( !this.cache[ unlock ] ) {
55
- this.cache[ unlock ] = {};
56
- }
57
-
58
- return unlock;
59
- },
60
- set: function( owner, data, value ) {
61
- var prop,
62
- // There may be an unlock assigned to this node,
63
- // if there is no entry for this "owner", create one inline
64
- // and set the unlock as though an owner entry had always existed
65
- unlock = this.key( owner ),
66
- cache = this.cache[ unlock ];
67
-
68
- // Handle: [ owner, key, value ] args
69
- if ( typeof data === "string" ) {
70
- cache[ data ] = value;
71
-
72
- // Handle: [ owner, { properties } ] args
73
- } else {
74
- // Fresh assignments by object are shallow copied
75
- if ( jQuery.isEmptyObject( cache ) ) {
76
- jQuery.extend( this.cache[ unlock ], data );
77
- // Otherwise, copy the properties one-by-one to the cache object
78
- } else {
79
- for ( prop in data ) {
80
- cache[ prop ] = data[ prop ];
81
- }
82
- }
83
- }
84
- return cache;
85
- },
86
- get: function( owner, key ) {
87
- // Either a valid cache is found, or will be created.
88
- // New caches will be created and the unlock returned,
89
- // allowing direct access to the newly created
90
- // empty data object. A valid owner object must be provided.
91
- var cache = this.cache[ this.key( owner ) ];
92
-
93
- return key === undefined ?
94
- cache : cache[ key ];
95
- },
96
- access: function( owner, key, value ) {
97
- var stored;
98
- // In cases where either:
99
- //
100
- // 1. No key was specified
101
- // 2. A string key was specified, but no value provided
102
- //
103
- // Take the "read" path and allow the get method to determine
104
- // which value to return, respectively either:
105
- //
106
- // 1. The entire cache object
107
- // 2. The data stored at the key
108
- //
109
- if ( key === undefined ||
110
- ((key && typeof key === "string") && value === undefined) ) {
111
-
112
- stored = this.get( owner, key );
113
-
114
- return stored !== undefined ?
115
- stored : this.get( owner, jQuery.camelCase(key) );
116
- }
117
-
118
- // [*]When the key is not a string, or both a key and value
119
- // are specified, set or extend (existing objects) with either:
120
- //
121
- // 1. An object of properties
122
- // 2. A key and value
123
- //
124
- this.set( owner, key, value );
125
-
126
- // Since the "set" path can have two possible entry points
127
- // return the expected data based on which path was taken[*]
128
- return value !== undefined ? value : key;
129
- },
130
- remove: function( owner, key ) {
131
- var i, name, camel,
132
- unlock = this.key( owner ),
133
- cache = this.cache[ unlock ];
134
-
135
- if ( key === undefined ) {
136
- this.cache[ unlock ] = {};
137
-
138
- } else {
139
- // Support array or space separated string of keys
140
- if ( jQuery.isArray( key ) ) {
141
- // If "name" is an array of keys...
142
- // When data is initially created, via ("key", "val") signature,
143
- // keys will be converted to camelCase.
144
- // Since there is no way to tell _how_ a key was added, remove
145
- // both plain key and camelCase key. #12786
146
- // This will only penalize the array argument path.
147
- name = key.concat( key.map( jQuery.camelCase ) );
148
- } else {
149
- camel = jQuery.camelCase( key );
150
- // Try the string as a key before any manipulation
151
- if ( key in cache ) {
152
- name = [ key, camel ];
153
- } else {
154
- // If a key with the spaces exists, use it.
155
- // Otherwise, create an array by matching non-whitespace
156
- name = camel;
157
- name = name in cache ?
158
- [ name ] : ( name.match( rnotwhite ) || [] );
159
- }
160
- }
161
-
162
- i = name.length;
163
- while ( i-- ) {
164
- delete cache[ name[ i ] ];
165
- }
166
- }
167
- },
168
- hasData: function( owner ) {
169
- return !jQuery.isEmptyObject(
170
- this.cache[ owner[ this.expando ] ] || {}
171
- );
172
- },
173
- discard: function( owner ) {
174
- if ( owner[ this.expando ] ) {
175
- delete this.cache[ owner[ this.expando ] ];
176
- }
177
- }
178
- };
179
-
180
- return Data;
181
- });
@@ -1,20 +0,0 @@
1
- define([
2
- "../core"
3
- ], function( jQuery ) {
4
-
5
- /**
6
- * Determines whether an object can have data
7
- */
8
- jQuery.acceptData = function( owner ) {
9
- // Accepts only:
10
- // - Node
11
- // - Node.ELEMENT_NODE
12
- // - Node.DOCUMENT_NODE
13
- // - Object
14
- // - Any
15
- /* jshint -W018 */
16
- return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
17
- };
18
-
19
- return jQuery.acceptData;
20
- });
@@ -1,5 +0,0 @@
1
- define([
2
- "../Data"
3
- ], function( Data ) {
4
- return new Data();
5
- });
@@ -1,5 +0,0 @@
1
- define([
2
- "../Data"
3
- ], function( Data ) {
4
- return new Data();
5
- });
@@ -1,178 +0,0 @@
1
- define([
2
- "./core",
3
- "./var/rnotwhite",
4
- "./core/access",
5
- "./data/var/data_priv",
6
- "./data/var/data_user"
7
- ], function( jQuery, rnotwhite, access, data_priv, data_user ) {
8
-
9
- // Implementation Summary
10
- //
11
- // 1. Enforce API surface and semantic compatibility with 1.9.x branch
12
- // 2. Improve the module's maintainability by reducing the storage
13
- // paths to a single mechanism.
14
- // 3. Use the same single mechanism to support "private" and "user" data.
15
- // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
16
- // 5. Avoid exposing implementation details on user objects (eg. expando properties)
17
- // 6. Provide a clear path for implementation upgrade to WeakMap in 2014
18
-
19
- var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
20
- rmultiDash = /([A-Z])/g;
21
-
22
- function dataAttr( elem, key, data ) {
23
- var name;
24
-
25
- // If nothing was found internally, try to fetch any
26
- // data from the HTML5 data-* attribute
27
- if ( data === undefined && elem.nodeType === 1 ) {
28
- name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
29
- data = elem.getAttribute( name );
30
-
31
- if ( typeof data === "string" ) {
32
- try {
33
- data = data === "true" ? true :
34
- data === "false" ? false :
35
- data === "null" ? null :
36
- // Only convert to a number if it doesn't change the string
37
- +data + "" === data ? +data :
38
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
39
- data;
40
- } catch( e ) {}
41
-
42
- // Make sure we set the data so it isn't changed later
43
- data_user.set( elem, key, data );
44
- } else {
45
- data = undefined;
46
- }
47
- }
48
- return data;
49
- }
50
-
51
- jQuery.extend({
52
- hasData: function( elem ) {
53
- return data_user.hasData( elem ) || data_priv.hasData( elem );
54
- },
55
-
56
- data: function( elem, name, data ) {
57
- return data_user.access( elem, name, data );
58
- },
59
-
60
- removeData: function( elem, name ) {
61
- data_user.remove( elem, name );
62
- },
63
-
64
- // TODO: Now that all calls to _data and _removeData have been replaced
65
- // with direct calls to data_priv methods, these can be deprecated.
66
- _data: function( elem, name, data ) {
67
- return data_priv.access( elem, name, data );
68
- },
69
-
70
- _removeData: function( elem, name ) {
71
- data_priv.remove( elem, name );
72
- }
73
- });
74
-
75
- jQuery.fn.extend({
76
- data: function( key, value ) {
77
- var i, name, data,
78
- elem = this[ 0 ],
79
- attrs = elem && elem.attributes;
80
-
81
- // Gets all values
82
- if ( key === undefined ) {
83
- if ( this.length ) {
84
- data = data_user.get( elem );
85
-
86
- if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
87
- i = attrs.length;
88
- while ( i-- ) {
89
-
90
- // Support: IE11+
91
- // The attrs elements can be null (#14894)
92
- if ( attrs[ i ] ) {
93
- name = attrs[ i ].name;
94
- if ( name.indexOf( "data-" ) === 0 ) {
95
- name = jQuery.camelCase( name.slice(5) );
96
- dataAttr( elem, name, data[ name ] );
97
- }
98
- }
99
- }
100
- data_priv.set( elem, "hasDataAttrs", true );
101
- }
102
- }
103
-
104
- return data;
105
- }
106
-
107
- // Sets multiple values
108
- if ( typeof key === "object" ) {
109
- return this.each(function() {
110
- data_user.set( this, key );
111
- });
112
- }
113
-
114
- return access( this, function( value ) {
115
- var data,
116
- camelKey = jQuery.camelCase( key );
117
-
118
- // The calling jQuery object (element matches) is not empty
119
- // (and therefore has an element appears at this[ 0 ]) and the
120
- // `value` parameter was not undefined. An empty jQuery object
121
- // will result in `undefined` for elem = this[ 0 ] which will
122
- // throw an exception if an attempt to read a data cache is made.
123
- if ( elem && value === undefined ) {
124
- // Attempt to get data from the cache
125
- // with the key as-is
126
- data = data_user.get( elem, key );
127
- if ( data !== undefined ) {
128
- return data;
129
- }
130
-
131
- // Attempt to get data from the cache
132
- // with the key camelized
133
- data = data_user.get( elem, camelKey );
134
- if ( data !== undefined ) {
135
- return data;
136
- }
137
-
138
- // Attempt to "discover" the data in
139
- // HTML5 custom data-* attrs
140
- data = dataAttr( elem, camelKey, undefined );
141
- if ( data !== undefined ) {
142
- return data;
143
- }
144
-
145
- // We tried really hard, but the data doesn't exist.
146
- return;
147
- }
148
-
149
- // Set the data...
150
- this.each(function() {
151
- // First, attempt to store a copy or reference of any
152
- // data that might've been store with a camelCased key.
153
- var data = data_user.get( this, camelKey );
154
-
155
- // For HTML5 data-* attribute interop, we have to
156
- // store property names with dashes in a camelCase form.
157
- // This might not apply to all properties...*
158
- data_user.set( this, camelKey, value );
159
-
160
- // *... In the case of properties that might _actually_
161
- // have dashes, we need to also store a copy of that
162
- // unchanged property.
163
- if ( key.indexOf("-") !== -1 && data !== undefined ) {
164
- data_user.set( this, key, value );
165
- }
166
- });
167
- }, null, value, arguments.length > 1, null, true );
168
- },
169
-
170
- removeData: function( key ) {
171
- return this.each(function() {
172
- data_user.remove( this, key );
173
- });
174
- }
175
- });
176
-
177
- return jQuery;
178
- });
@@ -1,149 +0,0 @@
1
- define([
2
- "./core",
3
- "./var/slice",
4
- "./callbacks"
5
- ], function( jQuery, slice ) {
6
-
7
- jQuery.extend({
8
-
9
- Deferred: function( func ) {
10
- var tuples = [
11
- // action, add listener, listener list, final state
12
- [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
13
- [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
14
- [ "notify", "progress", jQuery.Callbacks("memory") ]
15
- ],
16
- state = "pending",
17
- promise = {
18
- state: function() {
19
- return state;
20
- },
21
- always: function() {
22
- deferred.done( arguments ).fail( arguments );
23
- return this;
24
- },
25
- then: function( /* fnDone, fnFail, fnProgress */ ) {
26
- var fns = arguments;
27
- return jQuery.Deferred(function( newDefer ) {
28
- jQuery.each( tuples, function( i, tuple ) {
29
- var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
30
- // deferred[ done | fail | progress ] for forwarding actions to newDefer
31
- deferred[ tuple[1] ](function() {
32
- var returned = fn && fn.apply( this, arguments );
33
- if ( returned && jQuery.isFunction( returned.promise ) ) {
34
- returned.promise()
35
- .done( newDefer.resolve )
36
- .fail( newDefer.reject )
37
- .progress( newDefer.notify );
38
- } else {
39
- newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
40
- }
41
- });
42
- });
43
- fns = null;
44
- }).promise();
45
- },
46
- // Get a promise for this deferred
47
- // If obj is provided, the promise aspect is added to the object
48
- promise: function( obj ) {
49
- return obj != null ? jQuery.extend( obj, promise ) : promise;
50
- }
51
- },
52
- deferred = {};
53
-
54
- // Keep pipe for back-compat
55
- promise.pipe = promise.then;
56
-
57
- // Add list-specific methods
58
- jQuery.each( tuples, function( i, tuple ) {
59
- var list = tuple[ 2 ],
60
- stateString = tuple[ 3 ];
61
-
62
- // promise[ done | fail | progress ] = list.add
63
- promise[ tuple[1] ] = list.add;
64
-
65
- // Handle state
66
- if ( stateString ) {
67
- list.add(function() {
68
- // state = [ resolved | rejected ]
69
- state = stateString;
70
-
71
- // [ reject_list | resolve_list ].disable; progress_list.lock
72
- }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
73
- }
74
-
75
- // deferred[ resolve | reject | notify ]
76
- deferred[ tuple[0] ] = function() {
77
- deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
78
- return this;
79
- };
80
- deferred[ tuple[0] + "With" ] = list.fireWith;
81
- });
82
-
83
- // Make the deferred a promise
84
- promise.promise( deferred );
85
-
86
- // Call given func if any
87
- if ( func ) {
88
- func.call( deferred, deferred );
89
- }
90
-
91
- // All done!
92
- return deferred;
93
- },
94
-
95
- // Deferred helper
96
- when: function( subordinate /* , ..., subordinateN */ ) {
97
- var i = 0,
98
- resolveValues = slice.call( arguments ),
99
- length = resolveValues.length,
100
-
101
- // the count of uncompleted subordinates
102
- remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
103
-
104
- // the master Deferred. If resolveValues consist of only a single Deferred, just use that.
105
- deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
106
-
107
- // Update function for both resolve and progress values
108
- updateFunc = function( i, contexts, values ) {
109
- return function( value ) {
110
- contexts[ i ] = this;
111
- values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
112
- if ( values === progressValues ) {
113
- deferred.notifyWith( contexts, values );
114
- } else if ( !( --remaining ) ) {
115
- deferred.resolveWith( contexts, values );
116
- }
117
- };
118
- },
119
-
120
- progressValues, progressContexts, resolveContexts;
121
-
122
- // Add listeners to Deferred subordinates; treat others as resolved
123
- if ( length > 1 ) {
124
- progressValues = new Array( length );
125
- progressContexts = new Array( length );
126
- resolveContexts = new Array( length );
127
- for ( ; i < length; i++ ) {
128
- if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
129
- resolveValues[ i ].promise()
130
- .done( updateFunc( i, resolveContexts, resolveValues ) )
131
- .fail( deferred.reject )
132
- .progress( updateFunc( i, progressContexts, progressValues ) );
133
- } else {
134
- --remaining;
135
- }
136
- }
137
- }
138
-
139
- // If we're not waiting on anything, resolve the master
140
- if ( !remaining ) {
141
- deferred.resolveWith( resolveContexts, resolveValues );
142
- }
143
-
144
- return deferred.promise();
145
- }
146
- });
147
-
148
- return jQuery;
149
- });
@@ -1,13 +0,0 @@
1
- define([
2
- "./core",
3
- "./traversing"
4
- ], function( jQuery ) {
5
-
6
- // The number of elements contained in the matched element set
7
- jQuery.fn.size = function() {
8
- return this.length;
9
- };
10
-
11
- jQuery.fn.andSelf = jQuery.fn.addBack;
12
-
13
- });
@@ -1,50 +0,0 @@
1
- define([
2
- "./core",
3
- "./core/access",
4
- "./css"
5
- ], function( jQuery, access ) {
6
-
7
- // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
8
- jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
9
- jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
10
- // Margin is only for outerHeight, outerWidth
11
- jQuery.fn[ funcName ] = function( margin, value ) {
12
- var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
13
- extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
14
-
15
- return access( this, function( elem, type, value ) {
16
- var doc;
17
-
18
- if ( jQuery.isWindow( elem ) ) {
19
- // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
20
- // isn't a whole lot we can do. See pull request at this URL for discussion:
21
- // https://github.com/jquery/jquery/pull/764
22
- return elem.document.documentElement[ "client" + name ];
23
- }
24
-
25
- // Get document width or height
26
- if ( elem.nodeType === 9 ) {
27
- doc = elem.documentElement;
28
-
29
- // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
30
- // whichever is greatest
31
- return Math.max(
32
- elem.body[ "scroll" + name ], doc[ "scroll" + name ],
33
- elem.body[ "offset" + name ], doc[ "offset" + name ],
34
- doc[ "client" + name ]
35
- );
36
- }
37
-
38
- return value === undefined ?
39
- // Get width or height on the element, requesting but not forcing parseFloat
40
- jQuery.css( elem, type, extra ) :
41
-
42
- // Set width or height on the element
43
- jQuery.style( elem, type, value, extra );
44
- }, type, chainable ? margin : undefined, chainable, null );
45
- };
46
- });
47
- });
48
-
49
- return jQuery;
50
- });