abstracted 0.0.6 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +11 -8
  4. data/app/assets/javascripts/abstract_resources.js +29 -25
  5. data/app/assets/javascripts/crud.js.coffee +174 -29
  6. data/app/assets/javascripts/initializers.js.coffee +403 -58
  7. data/app/assets/javascripts/pagescrolling.js.coffee +92 -0
  8. data/app/assets/stylesheets/abstract_resources.css +5 -0
  9. data/app/assets/stylesheets/scaffold.css +4 -2
  10. data/app/assets/stylesheets/selectize.css.scss +0 -0
  11. data/app/controllers/abstract_resources_controller.rb +473 -134
  12. data/app/controllers/application_controller.rb +22 -7
  13. data/app/helpers/abstract_resources_helper.rb +515 -9
  14. data/app/helpers/fab_button_helper.rb +82 -0
  15. data/app/models/abstract_resource.rb +141 -89
  16. data/app/models/ancestry_abstract_resource.rb +27 -0
  17. data/app/models/concerns/roleable.rb +1 -1
  18. data/app/policies/abstract_resource_policy.rb +25 -0
  19. data/app/views/abstract_resources/_title.html.haml +2 -0
  20. data/app/views/abstract_resources/activate.html.haml +5 -0
  21. data/app/views/abstract_resources/attach.html.haml +6 -0
  22. data/app/views/abstract_resources/deactivate.html.haml +5 -0
  23. data/app/views/abstract_resources/defer.html.haml +5 -0
  24. data/app/views/abstract_resources/destroy.js.haml +2 -1
  25. data/app/views/abstract_resources/detach.html.haml +5 -0
  26. data/app/views/abstract_resources/edit.html.haml +4 -9
  27. data/app/views/abstract_resources/error.html.haml +2 -0
  28. data/app/views/abstract_resources/error.js.haml +2 -0
  29. data/app/views/abstract_resources/index.html.haml +27 -0
  30. data/app/views/abstract_resources/index.js.haml +2 -0
  31. data/app/views/abstract_resources/new.html.haml +4 -10
  32. data/app/views/abstract_resources/prefer.html.haml +5 -0
  33. data/app/views/abstract_resources/print.html.haml +2 -0
  34. data/app/views/abstract_resources/print.js.haml +2 -0
  35. data/app/views/abstract_resources/show.html.haml +5 -11
  36. data/app/views/layouts/_messages.html.haml +1 -0
  37. data/app/views/layouts/_navigation.html.haml +13 -0
  38. data/bower.json +34 -0
  39. data/config/initializers/exception.rb +19 -0
  40. data/config/initializers/pundit.rb +22 -0
  41. data/config/routes.rb +24 -0
  42. data/lib/abstracted.rb +3 -0
  43. data/lib/abstracted/version.rb +1 -1
  44. data/lib/abstracted_responder.rb +1 -0
  45. data/lib/exceptions.rb +61 -0
  46. data/vendor/assets/components/jquery/.bower.json +38 -0
  47. data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
  48. data/vendor/assets/components/jquery/bower.json +28 -0
  49. data/vendor/assets/components/jquery/dist/jquery.js +9210 -0
  50. data/vendor/assets/components/jquery/dist/jquery.min.js +5 -0
  51. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  52. data/vendor/assets/components/jquery/src/ajax.js +786 -0
  53. data/vendor/assets/components/jquery/src/ajax/jsonp.js +89 -0
  54. data/vendor/assets/components/jquery/src/ajax/load.js +75 -0
  55. data/vendor/assets/components/jquery/src/ajax/parseJSON.js +13 -0
  56. data/vendor/assets/components/jquery/src/ajax/parseXML.js +28 -0
  57. data/vendor/assets/components/jquery/src/ajax/script.js +64 -0
  58. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  59. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +3 -0
  60. data/vendor/assets/components/jquery/src/ajax/xhr.js +136 -0
  61. data/vendor/assets/components/jquery/src/attributes.js +11 -0
  62. data/vendor/assets/components/jquery/src/attributes/attr.js +141 -0
  63. data/vendor/assets/components/jquery/src/attributes/classes.js +158 -0
  64. data/vendor/assets/components/jquery/src/attributes/prop.js +94 -0
  65. data/vendor/assets/components/jquery/src/attributes/support.js +35 -0
  66. data/vendor/assets/components/jquery/src/attributes/val.js +161 -0
  67. data/vendor/assets/components/jquery/src/callbacks.js +205 -0
  68. data/vendor/assets/components/jquery/src/core.js +502 -0
  69. data/vendor/assets/components/jquery/src/core/access.js +60 -0
  70. data/vendor/assets/components/jquery/src/core/init.js +123 -0
  71. data/vendor/assets/components/jquery/src/core/parseHTML.js +39 -0
  72. data/vendor/assets/components/jquery/src/core/ready.js +97 -0
  73. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +4 -0
  74. data/vendor/assets/components/jquery/src/css.js +450 -0
  75. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +22 -0
  76. data/vendor/assets/components/jquery/src/css/curCSS.js +57 -0
  77. data/vendor/assets/components/jquery/src/css/defaultDisplay.js +70 -0
  78. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  79. data/vendor/assets/components/jquery/src/css/support.js +96 -0
  80. data/vendor/assets/components/jquery/src/css/swap.js +28 -0
  81. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +3 -0
  82. data/vendor/assets/components/jquery/src/css/var/getStyles.js +12 -0
  83. data/vendor/assets/components/jquery/src/css/var/isHidden.js +13 -0
  84. data/vendor/assets/components/jquery/src/css/var/rmargin.js +3 -0
  85. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +5 -0
  86. data/vendor/assets/components/jquery/src/data.js +178 -0
  87. data/vendor/assets/components/jquery/src/data/Data.js +181 -0
  88. data/vendor/assets/components/jquery/src/data/accepts.js +20 -0
  89. data/vendor/assets/components/jquery/src/data/var/data_priv.js +5 -0
  90. data/vendor/assets/components/jquery/src/data/var/data_user.js +5 -0
  91. data/vendor/assets/components/jquery/src/deferred.js +149 -0
  92. data/vendor/assets/components/jquery/src/deprecated.js +13 -0
  93. data/vendor/assets/components/jquery/src/dimensions.js +50 -0
  94. data/vendor/assets/components/jquery/src/effects.js +648 -0
  95. data/vendor/assets/components/jquery/src/effects/Tween.js +114 -0
  96. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +13 -0
  97. data/vendor/assets/components/jquery/src/event.js +868 -0
  98. data/vendor/assets/components/jquery/src/event/ajax.js +13 -0
  99. data/vendor/assets/components/jquery/src/event/alias.js +39 -0
  100. data/vendor/assets/components/jquery/src/event/support.js +9 -0
  101. data/vendor/assets/components/jquery/src/exports/amd.js +24 -0
  102. data/vendor/assets/components/jquery/src/exports/global.js +32 -0
  103. data/vendor/assets/components/jquery/src/intro.js +44 -0
  104. data/vendor/assets/components/jquery/src/jquery.js +37 -0
  105. data/vendor/assets/components/jquery/src/manipulation.js +580 -0
  106. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +18 -0
  107. data/vendor/assets/components/jquery/src/manipulation/support.js +32 -0
  108. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  109. data/vendor/assets/components/jquery/src/offset.js +207 -0
  110. data/vendor/assets/components/jquery/src/outro.js +1 -0
  111. data/vendor/assets/components/jquery/src/queue.js +142 -0
  112. data/vendor/assets/components/jquery/src/queue/delay.js +22 -0
  113. data/vendor/assets/components/jquery/src/selector-native.js +172 -0
  114. data/vendor/assets/components/jquery/src/selector-sizzle.js +14 -0
  115. data/vendor/assets/components/jquery/src/selector.js +1 -0
  116. data/vendor/assets/components/jquery/src/serialize.js +111 -0
  117. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  118. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  119. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  120. data/vendor/assets/components/jquery/src/traversing.js +199 -0
  121. data/vendor/assets/components/jquery/src/traversing/findFilter.js +100 -0
  122. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +6 -0
  123. data/vendor/assets/components/jquery/src/var/arr.js +3 -0
  124. data/vendor/assets/components/jquery/src/var/class2type.js +4 -0
  125. data/vendor/assets/components/jquery/src/var/concat.js +5 -0
  126. data/vendor/assets/components/jquery/src/var/hasOwn.js +5 -0
  127. data/vendor/assets/components/jquery/src/var/indexOf.js +5 -0
  128. data/vendor/assets/components/jquery/src/var/pnum.js +3 -0
  129. data/vendor/assets/components/jquery/src/var/push.js +5 -0
  130. data/vendor/assets/components/jquery/src/var/rnotwhite.js +3 -0
  131. data/vendor/assets/components/jquery/src/var/slice.js +5 -0
  132. data/vendor/assets/components/jquery/src/var/strundefined.js +3 -0
  133. data/vendor/assets/components/jquery/src/var/support.js +4 -0
  134. data/vendor/assets/components/jquery/src/var/toString.js +5 -0
  135. data/vendor/assets/components/jquery/src/wrap.js +79 -0
  136. data/vendor/assets/components/microplugin/.bower.json +38 -0
  137. data/vendor/assets/components/microplugin/.gitignore +2 -0
  138. data/vendor/assets/components/microplugin/.npmignore +3 -0
  139. data/vendor/assets/components/microplugin/README.md +115 -0
  140. data/vendor/assets/components/microplugin/bower.json +22 -0
  141. data/vendor/assets/components/microplugin/package.json +15 -0
  142. data/vendor/assets/components/microplugin/src/microplugin.js +135 -0
  143. data/vendor/assets/components/selectize/.bower.json +60 -0
  144. data/vendor/assets/components/selectize/.gitignore +5 -0
  145. data/vendor/assets/components/selectize/LICENSE +202 -0
  146. data/vendor/assets/components/selectize/README.md +105 -0
  147. data/vendor/assets/components/selectize/bower.json +40 -0
  148. data/vendor/assets/components/selectize/dist/css/selectize.bootstrap2.css +487 -0
  149. data/vendor/assets/components/selectize/dist/css/selectize.bootstrap3.css +401 -0
  150. data/vendor/assets/components/selectize/dist/css/selectize.css +317 -0
  151. data/vendor/assets/components/selectize/dist/css/selectize.default.css +387 -0
  152. data/vendor/assets/components/selectize/dist/css/selectize.legacy.css +364 -0
  153. data/vendor/assets/components/selectize/dist/js/selectize.js +3058 -0
  154. data/vendor/assets/components/selectize/dist/js/selectize.min.js +3 -0
  155. data/vendor/assets/components/selectize/dist/js/standalone/selectize.js +3667 -0
  156. data/vendor/assets/components/selectize/dist/js/standalone/selectize.min.js +3 -0
  157. data/vendor/assets/components/selectize/dist/less/plugins/drag_drop.less +16 -0
  158. data/vendor/assets/components/selectize/dist/less/plugins/dropdown_header.less +20 -0
  159. data/vendor/assets/components/selectize/dist/less/plugins/optgroup_columns.less +17 -0
  160. data/vendor/assets/components/selectize/dist/less/plugins/remove_button.less +37 -0
  161. data/vendor/assets/components/selectize/dist/less/selectize.bootstrap2.less +161 -0
  162. data/vendor/assets/components/selectize/dist/less/selectize.bootstrap3.less +150 -0
  163. data/vendor/assets/components/selectize/dist/less/selectize.default.less +84 -0
  164. data/vendor/assets/components/selectize/dist/less/selectize.legacy.less +75 -0
  165. data/vendor/assets/components/selectize/dist/less/selectize.less +295 -0
  166. data/vendor/assets/components/selectize/karma.conf.js +107 -0
  167. data/vendor/assets/components/sifter/.bower.json +44 -0
  168. data/vendor/assets/components/sifter/.gitignore +3 -0
  169. data/vendor/assets/components/sifter/.npmignore +4 -0
  170. data/vendor/assets/components/sifter/README.md +149 -0
  171. data/vendor/assets/components/sifter/bower.json +23 -0
  172. data/vendor/assets/components/sifter/package.json +48 -0
  173. data/vendor/assets/components/sifter/sifter.js +471 -0
  174. data/vendor/assets/components/sifter/sifter.min.js +2 -0
  175. data/vendor/assets/components/sweetalert/.bower.json +36 -0
  176. data/vendor/assets/components/sweetalert/.editorconfig +11 -0
  177. data/vendor/assets/components/sweetalert/.gitignore +5 -0
  178. data/vendor/assets/components/sweetalert/.jshintrc +11 -0
  179. data/vendor/assets/components/sweetalert/.travis.yml +6 -0
  180. data/vendor/assets/components/sweetalert/LICENSE +22 -0
  181. data/vendor/assets/components/sweetalert/README.md +157 -0
  182. data/vendor/assets/components/sweetalert/bower.json +25 -0
  183. data/vendor/assets/components/sweetalert/dev/gulpfile-wrap-template.js +18 -0
  184. data/vendor/assets/components/sweetalert/dev/ie9.css +23 -0
  185. data/vendor/assets/components/sweetalert/dev/loader-animation.css +209 -0
  186. data/vendor/assets/components/sweetalert/dev/modules/default-params.js +26 -0
  187. data/vendor/assets/components/sweetalert/dev/modules/handle-click.js +128 -0
  188. data/vendor/assets/components/sweetalert/dev/modules/handle-dom.js +161 -0
  189. data/vendor/assets/components/sweetalert/dev/modules/handle-key.js +73 -0
  190. data/vendor/assets/components/sweetalert/dev/modules/handle-swal-dom.js +148 -0
  191. data/vendor/assets/components/sweetalert/dev/modules/injected-html.js +69 -0
  192. data/vendor/assets/components/sweetalert/dev/modules/set-params.js +221 -0
  193. data/vendor/assets/components/sweetalert/dev/modules/utils.js +71 -0
  194. data/vendor/assets/components/sweetalert/dev/sweetalert.es6.js +311 -0
  195. data/vendor/assets/components/sweetalert/dev/sweetalert.scss +648 -0
  196. data/vendor/assets/components/sweetalert/dist/sweetalert-dev.js +1281 -0
  197. data/vendor/assets/components/sweetalert/dist/sweetalert.css +932 -0
  198. data/vendor/assets/components/sweetalert/dist/sweetalert.min.js +1 -0
  199. data/vendor/assets/components/sweetalert/example/example.css +442 -0
  200. data/vendor/assets/components/sweetalert/example/example.scss +580 -0
  201. data/vendor/assets/components/sweetalert/example/images/logo_big.png +0 -0
  202. data/vendor/assets/components/sweetalert/example/images/logo_big@2x.png +0 -0
  203. data/vendor/assets/components/sweetalert/example/images/logo_small.png +0 -0
  204. data/vendor/assets/components/sweetalert/example/images/logo_small@2x.png +0 -0
  205. data/vendor/assets/components/sweetalert/example/images/te-logo-small.svg +12 -0
  206. data/vendor/assets/components/sweetalert/example/images/thumbs-up.jpg +0 -0
  207. data/vendor/assets/components/sweetalert/example/images/vs_icon.png +0 -0
  208. data/vendor/assets/components/sweetalert/example/images/vs_icon@2x.png +0 -0
  209. data/vendor/assets/components/sweetalert/gulpfile.js +97 -0
  210. data/vendor/assets/components/sweetalert/index.html +584 -0
  211. data/vendor/assets/components/sweetalert/package.json +45 -0
  212. data/vendor/assets/components/sweetalert/sweetalert.gif +0 -0
  213. data/vendor/assets/components/sweetalert/test/index.html +20 -0
  214. data/vendor/assets/components/sweetalert/test/tests.js +143 -0
  215. data/vendor/assets/components/sweetalert/themes/facebook/facebook.css +111 -0
  216. data/vendor/assets/components/sweetalert/themes/facebook/facebook.scss +146 -0
  217. data/vendor/assets/components/sweetalert/themes/google/google.css +115 -0
  218. data/vendor/assets/components/sweetalert/themes/google/google.scss +148 -0
  219. data/vendor/assets/components/sweetalert/themes/twitter/twitter.css +140 -0
  220. data/vendor/assets/components/sweetalert/themes/twitter/twitter.scss +177 -0
  221. metadata +214 -5
  222. data/abstracted-0.0.4.gem +0 -0
  223. data/abstracted.gemspec +0 -51
  224. data/app/views/abstract_resources/index.html.erb +0 -1
@@ -0,0 +1,13 @@
1
+ define([
2
+ "../core",
3
+ "../event"
4
+ ], function( jQuery ) {
5
+
6
+ // Attach a bunch of functions for handling common AJAX events
7
+ jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
8
+ jQuery.fn[ type ] = function( fn ) {
9
+ return this.on( type, fn );
10
+ };
11
+ });
12
+
13
+ });
@@ -0,0 +1,39 @@
1
+ define([
2
+ "../core",
3
+ "../event"
4
+ ], function( jQuery ) {
5
+
6
+ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
7
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
8
+ "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
9
+
10
+ // Handle event binding
11
+ jQuery.fn[ name ] = function( data, fn ) {
12
+ return arguments.length > 0 ?
13
+ this.on( name, null, data, fn ) :
14
+ this.trigger( name );
15
+ };
16
+ });
17
+
18
+ jQuery.fn.extend({
19
+ hover: function( fnOver, fnOut ) {
20
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
21
+ },
22
+
23
+ bind: function( types, data, fn ) {
24
+ return this.on( types, null, data, fn );
25
+ },
26
+ unbind: function( types, fn ) {
27
+ return this.off( types, null, fn );
28
+ },
29
+
30
+ delegate: function( selector, types, data, fn ) {
31
+ return this.on( types, selector, data, fn );
32
+ },
33
+ undelegate: function( selector, types, fn ) {
34
+ // ( namespace ) or ( selector, types [, fn] )
35
+ return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
36
+ }
37
+ });
38
+
39
+ });
@@ -0,0 +1,9 @@
1
+ define([
2
+ "../var/support"
3
+ ], function( support ) {
4
+
5
+ support.focusinBubbles = "onfocusin" in window;
6
+
7
+ return support;
8
+
9
+ });
@@ -0,0 +1,24 @@
1
+ define([
2
+ "../core"
3
+ ], function( jQuery ) {
4
+
5
+ // Register as a named AMD module, since jQuery can be concatenated with other
6
+ // files that may use define, but not via a proper concatenation script that
7
+ // understands anonymous AMD modules. A named AMD is safest and most robust
8
+ // way to register. Lowercase jquery is used because AMD module names are
9
+ // derived from file names, and jQuery is normally delivered in a lowercase
10
+ // file name. Do this after creating the global so that if an AMD module wants
11
+ // to call noConflict to hide this version of jQuery, it will work.
12
+
13
+ // Note that for maximum portability, libraries that are not jQuery should
14
+ // declare themselves as anonymous modules, and avoid setting a global if an
15
+ // AMD loader is present. jQuery is a special case. For more information, see
16
+ // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
17
+
18
+ if ( typeof define === "function" && define.amd ) {
19
+ define( "jquery", [], function() {
20
+ return jQuery;
21
+ });
22
+ }
23
+
24
+ });
@@ -0,0 +1,32 @@
1
+ define([
2
+ "../core",
3
+ "../var/strundefined"
4
+ ], function( jQuery, strundefined ) {
5
+
6
+ var
7
+ // Map over jQuery in case of overwrite
8
+ _jQuery = window.jQuery,
9
+
10
+ // Map over the $ in case of overwrite
11
+ _$ = window.$;
12
+
13
+ jQuery.noConflict = function( deep ) {
14
+ if ( window.$ === jQuery ) {
15
+ window.$ = _$;
16
+ }
17
+
18
+ if ( deep && window.jQuery === jQuery ) {
19
+ window.jQuery = _jQuery;
20
+ }
21
+
22
+ return jQuery;
23
+ };
24
+
25
+ // Expose jQuery and $ identifiers, even in AMD
26
+ // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
27
+ // and CommonJS for browser emulators (#13566)
28
+ if ( typeof noGlobal === strundefined ) {
29
+ window.jQuery = window.$ = jQuery;
30
+ }
31
+
32
+ });
@@ -0,0 +1,44 @@
1
+ /*!
2
+ * jQuery JavaScript Library v@VERSION
3
+ * http://jquery.com/
4
+ *
5
+ * Includes Sizzle.js
6
+ * http://sizzlejs.com/
7
+ *
8
+ * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
9
+ * Released under the MIT license
10
+ * http://jquery.org/license
11
+ *
12
+ * Date: @DATE
13
+ */
14
+
15
+ (function( global, factory ) {
16
+
17
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
18
+ // For CommonJS and CommonJS-like environments where a proper `window`
19
+ // is present, execute the factory and get jQuery.
20
+ // For environments that do not have a `window` with a `document`
21
+ // (such as Node.js), expose a factory as module.exports.
22
+ // This accentuates the need for the creation of a real `window`.
23
+ // e.g. var jQuery = require("jquery")(window);
24
+ // See ticket #14549 for more info.
25
+ module.exports = global.document ?
26
+ factory( global, true ) :
27
+ function( w ) {
28
+ if ( !w.document ) {
29
+ throw new Error( "jQuery requires a window with a document" );
30
+ }
31
+ return factory( w );
32
+ };
33
+ } else {
34
+ factory( global );
35
+ }
36
+
37
+ // Pass this if window is not defined yet
38
+ }(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
39
+
40
+ // Support: Firefox 18+
41
+ // Can't be in strict mode, several libs including ASP.NET trace
42
+ // the stack via arguments.caller.callee and Firefox dies if
43
+ // you try to trace through "use strict" call chains. (#13335)
44
+ //"use strict";
@@ -0,0 +1,37 @@
1
+ define([
2
+ "./core",
3
+ "./selector",
4
+ "./traversing",
5
+ "./callbacks",
6
+ "./deferred",
7
+ "./core/ready",
8
+ "./data",
9
+ "./queue",
10
+ "./queue/delay",
11
+ "./attributes",
12
+ "./event",
13
+ "./event/alias",
14
+ "./manipulation",
15
+ "./manipulation/_evalUrl",
16
+ "./wrap",
17
+ "./css",
18
+ "./css/hiddenVisibleSelectors",
19
+ "./serialize",
20
+ "./ajax",
21
+ "./ajax/xhr",
22
+ "./ajax/script",
23
+ "./ajax/jsonp",
24
+ "./ajax/load",
25
+ "./event/ajax",
26
+ "./effects",
27
+ "./effects/animatedSelector",
28
+ "./offset",
29
+ "./dimensions",
30
+ "./deprecated",
31
+ "./exports/amd",
32
+ "./exports/global"
33
+ ], function( jQuery ) {
34
+
35
+ return jQuery;
36
+
37
+ });
@@ -0,0 +1,580 @@
1
+ define([
2
+ "./core",
3
+ "./var/concat",
4
+ "./var/push",
5
+ "./core/access",
6
+ "./manipulation/var/rcheckableType",
7
+ "./manipulation/support",
8
+ "./data/var/data_priv",
9
+ "./data/var/data_user",
10
+
11
+ "./core/init",
12
+ "./data/accepts",
13
+ "./traversing",
14
+ "./selector",
15
+ "./event"
16
+ ], function( jQuery, concat, push, access, rcheckableType, support, data_priv, data_user ) {
17
+
18
+ var
19
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
20
+ rtagName = /<([\w:]+)/,
21
+ rhtml = /<|&#?\w+;/,
22
+ rnoInnerhtml = /<(?:script|style|link)/i,
23
+ // checked="checked" or checked
24
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
25
+ rscriptType = /^$|\/(?:java|ecma)script/i,
26
+ rscriptTypeMasked = /^true\/(.*)/,
27
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
28
+
29
+ // We have to close these tags to support XHTML (#13200)
30
+ wrapMap = {
31
+
32
+ // Support: IE9
33
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
34
+
35
+ thead: [ 1, "<table>", "</table>" ],
36
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
37
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
38
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
39
+
40
+ _default: [ 0, "", "" ]
41
+ };
42
+
43
+ // Support: IE9
44
+ wrapMap.optgroup = wrapMap.option;
45
+
46
+ wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
47
+ wrapMap.th = wrapMap.td;
48
+
49
+ // Support: 1.x compatibility
50
+ // Manipulating tables requires a tbody
51
+ function manipulationTarget( elem, content ) {
52
+ return jQuery.nodeName( elem, "table" ) &&
53
+ jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
54
+
55
+ elem.getElementsByTagName("tbody")[0] ||
56
+ elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
57
+ elem;
58
+ }
59
+
60
+ // Replace/restore the type attribute of script elements for safe DOM manipulation
61
+ function disableScript( elem ) {
62
+ elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type;
63
+ return elem;
64
+ }
65
+ function restoreScript( elem ) {
66
+ var match = rscriptTypeMasked.exec( elem.type );
67
+
68
+ if ( match ) {
69
+ elem.type = match[ 1 ];
70
+ } else {
71
+ elem.removeAttribute("type");
72
+ }
73
+
74
+ return elem;
75
+ }
76
+
77
+ // Mark scripts as having already been evaluated
78
+ function setGlobalEval( elems, refElements ) {
79
+ var i = 0,
80
+ l = elems.length;
81
+
82
+ for ( ; i < l; i++ ) {
83
+ data_priv.set(
84
+ elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" )
85
+ );
86
+ }
87
+ }
88
+
89
+ function cloneCopyEvent( src, dest ) {
90
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
91
+
92
+ if ( dest.nodeType !== 1 ) {
93
+ return;
94
+ }
95
+
96
+ // 1. Copy private data: events, handlers, etc.
97
+ if ( data_priv.hasData( src ) ) {
98
+ pdataOld = data_priv.access( src );
99
+ pdataCur = data_priv.set( dest, pdataOld );
100
+ events = pdataOld.events;
101
+
102
+ if ( events ) {
103
+ delete pdataCur.handle;
104
+ pdataCur.events = {};
105
+
106
+ for ( type in events ) {
107
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
108
+ jQuery.event.add( dest, type, events[ type ][ i ] );
109
+ }
110
+ }
111
+ }
112
+ }
113
+
114
+ // 2. Copy user data
115
+ if ( data_user.hasData( src ) ) {
116
+ udataOld = data_user.access( src );
117
+ udataCur = jQuery.extend( {}, udataOld );
118
+
119
+ data_user.set( dest, udataCur );
120
+ }
121
+ }
122
+
123
+ function getAll( context, tag ) {
124
+ var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) :
125
+ context.querySelectorAll ? context.querySelectorAll( tag || "*" ) :
126
+ [];
127
+
128
+ return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
129
+ jQuery.merge( [ context ], ret ) :
130
+ ret;
131
+ }
132
+
133
+ // Fix IE bugs, see support tests
134
+ function fixInput( src, dest ) {
135
+ var nodeName = dest.nodeName.toLowerCase();
136
+
137
+ // Fails to persist the checked state of a cloned checkbox or radio button.
138
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
139
+ dest.checked = src.checked;
140
+
141
+ // Fails to return the selected option to the default selected state when cloning options
142
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
143
+ dest.defaultValue = src.defaultValue;
144
+ }
145
+ }
146
+
147
+ jQuery.extend({
148
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
149
+ var i, l, srcElements, destElements,
150
+ clone = elem.cloneNode( true ),
151
+ inPage = jQuery.contains( elem.ownerDocument, elem );
152
+
153
+ // Fix IE cloning issues
154
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
155
+ !jQuery.isXMLDoc( elem ) ) {
156
+
157
+ // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
158
+ destElements = getAll( clone );
159
+ srcElements = getAll( elem );
160
+
161
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
162
+ fixInput( srcElements[ i ], destElements[ i ] );
163
+ }
164
+ }
165
+
166
+ // Copy the events from the original to the clone
167
+ if ( dataAndEvents ) {
168
+ if ( deepDataAndEvents ) {
169
+ srcElements = srcElements || getAll( elem );
170
+ destElements = destElements || getAll( clone );
171
+
172
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
173
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
174
+ }
175
+ } else {
176
+ cloneCopyEvent( elem, clone );
177
+ }
178
+ }
179
+
180
+ // Preserve script evaluation history
181
+ destElements = getAll( clone, "script" );
182
+ if ( destElements.length > 0 ) {
183
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
184
+ }
185
+
186
+ // Return the cloned set
187
+ return clone;
188
+ },
189
+
190
+ buildFragment: function( elems, context, scripts, selection ) {
191
+ var elem, tmp, tag, wrap, contains, j,
192
+ fragment = context.createDocumentFragment(),
193
+ nodes = [],
194
+ i = 0,
195
+ l = elems.length;
196
+
197
+ for ( ; i < l; i++ ) {
198
+ elem = elems[ i ];
199
+
200
+ if ( elem || elem === 0 ) {
201
+
202
+ // Add nodes directly
203
+ if ( jQuery.type( elem ) === "object" ) {
204
+ // Support: QtWebKit, PhantomJS
205
+ // push.apply(_, arraylike) throws on ancient WebKit
206
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
207
+
208
+ // Convert non-html into a text node
209
+ } else if ( !rhtml.test( elem ) ) {
210
+ nodes.push( context.createTextNode( elem ) );
211
+
212
+ // Convert html into DOM nodes
213
+ } else {
214
+ tmp = tmp || fragment.appendChild( context.createElement("div") );
215
+
216
+ // Deserialize a standard representation
217
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
218
+ wrap = wrapMap[ tag ] || wrapMap._default;
219
+ tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ];
220
+
221
+ // Descend through wrappers to the right content
222
+ j = wrap[ 0 ];
223
+ while ( j-- ) {
224
+ tmp = tmp.lastChild;
225
+ }
226
+
227
+ // Support: QtWebKit, PhantomJS
228
+ // push.apply(_, arraylike) throws on ancient WebKit
229
+ jQuery.merge( nodes, tmp.childNodes );
230
+
231
+ // Remember the top-level container
232
+ tmp = fragment.firstChild;
233
+
234
+ // Ensure the created nodes are orphaned (#12392)
235
+ tmp.textContent = "";
236
+ }
237
+ }
238
+ }
239
+
240
+ // Remove wrapper from fragment
241
+ fragment.textContent = "";
242
+
243
+ i = 0;
244
+ while ( (elem = nodes[ i++ ]) ) {
245
+
246
+ // #4087 - If origin and destination elements are the same, and this is
247
+ // that element, do not do anything
248
+ if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
249
+ continue;
250
+ }
251
+
252
+ contains = jQuery.contains( elem.ownerDocument, elem );
253
+
254
+ // Append to fragment
255
+ tmp = getAll( fragment.appendChild( elem ), "script" );
256
+
257
+ // Preserve script evaluation history
258
+ if ( contains ) {
259
+ setGlobalEval( tmp );
260
+ }
261
+
262
+ // Capture executables
263
+ if ( scripts ) {
264
+ j = 0;
265
+ while ( (elem = tmp[ j++ ]) ) {
266
+ if ( rscriptType.test( elem.type || "" ) ) {
267
+ scripts.push( elem );
268
+ }
269
+ }
270
+ }
271
+ }
272
+
273
+ return fragment;
274
+ },
275
+
276
+ cleanData: function( elems ) {
277
+ var data, elem, type, key,
278
+ special = jQuery.event.special,
279
+ i = 0;
280
+
281
+ for ( ; (elem = elems[ i ]) !== undefined; i++ ) {
282
+ if ( jQuery.acceptData( elem ) ) {
283
+ key = elem[ data_priv.expando ];
284
+
285
+ if ( key && (data = data_priv.cache[ key ]) ) {
286
+ if ( data.events ) {
287
+ for ( type in data.events ) {
288
+ if ( special[ type ] ) {
289
+ jQuery.event.remove( elem, type );
290
+
291
+ // This is a shortcut to avoid jQuery.event.remove's overhead
292
+ } else {
293
+ jQuery.removeEvent( elem, type, data.handle );
294
+ }
295
+ }
296
+ }
297
+ if ( data_priv.cache[ key ] ) {
298
+ // Discard any remaining `private` data
299
+ delete data_priv.cache[ key ];
300
+ }
301
+ }
302
+ }
303
+ // Discard any remaining `user` data
304
+ delete data_user.cache[ elem[ data_user.expando ] ];
305
+ }
306
+ }
307
+ });
308
+
309
+ jQuery.fn.extend({
310
+ text: function( value ) {
311
+ return access( this, function( value ) {
312
+ return value === undefined ?
313
+ jQuery.text( this ) :
314
+ this.empty().each(function() {
315
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
316
+ this.textContent = value;
317
+ }
318
+ });
319
+ }, null, value, arguments.length );
320
+ },
321
+
322
+ append: function() {
323
+ return this.domManip( arguments, function( elem ) {
324
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
325
+ var target = manipulationTarget( this, elem );
326
+ target.appendChild( elem );
327
+ }
328
+ });
329
+ },
330
+
331
+ prepend: function() {
332
+ return this.domManip( arguments, function( elem ) {
333
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
334
+ var target = manipulationTarget( this, elem );
335
+ target.insertBefore( elem, target.firstChild );
336
+ }
337
+ });
338
+ },
339
+
340
+ before: function() {
341
+ return this.domManip( arguments, function( elem ) {
342
+ if ( this.parentNode ) {
343
+ this.parentNode.insertBefore( elem, this );
344
+ }
345
+ });
346
+ },
347
+
348
+ after: function() {
349
+ return this.domManip( arguments, function( elem ) {
350
+ if ( this.parentNode ) {
351
+ this.parentNode.insertBefore( elem, this.nextSibling );
352
+ }
353
+ });
354
+ },
355
+
356
+ remove: function( selector, keepData /* Internal Use Only */ ) {
357
+ var elem,
358
+ elems = selector ? jQuery.filter( selector, this ) : this,
359
+ i = 0;
360
+
361
+ for ( ; (elem = elems[i]) != null; i++ ) {
362
+ if ( !keepData && elem.nodeType === 1 ) {
363
+ jQuery.cleanData( getAll( elem ) );
364
+ }
365
+
366
+ if ( elem.parentNode ) {
367
+ if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
368
+ setGlobalEval( getAll( elem, "script" ) );
369
+ }
370
+ elem.parentNode.removeChild( elem );
371
+ }
372
+ }
373
+
374
+ return this;
375
+ },
376
+
377
+ empty: function() {
378
+ var elem,
379
+ i = 0;
380
+
381
+ for ( ; (elem = this[i]) != null; i++ ) {
382
+ if ( elem.nodeType === 1 ) {
383
+
384
+ // Prevent memory leaks
385
+ jQuery.cleanData( getAll( elem, false ) );
386
+
387
+ // Remove any remaining nodes
388
+ elem.textContent = "";
389
+ }
390
+ }
391
+
392
+ return this;
393
+ },
394
+
395
+ clone: function( dataAndEvents, deepDataAndEvents ) {
396
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
397
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
398
+
399
+ return this.map(function() {
400
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
401
+ });
402
+ },
403
+
404
+ html: function( value ) {
405
+ return access( this, function( value ) {
406
+ var elem = this[ 0 ] || {},
407
+ i = 0,
408
+ l = this.length;
409
+
410
+ if ( value === undefined && elem.nodeType === 1 ) {
411
+ return elem.innerHTML;
412
+ }
413
+
414
+ // See if we can take a shortcut and just use innerHTML
415
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
416
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
417
+
418
+ value = value.replace( rxhtmlTag, "<$1></$2>" );
419
+
420
+ try {
421
+ for ( ; i < l; i++ ) {
422
+ elem = this[ i ] || {};
423
+
424
+ // Remove element nodes and prevent memory leaks
425
+ if ( elem.nodeType === 1 ) {
426
+ jQuery.cleanData( getAll( elem, false ) );
427
+ elem.innerHTML = value;
428
+ }
429
+ }
430
+
431
+ elem = 0;
432
+
433
+ // If using innerHTML throws an exception, use the fallback method
434
+ } catch( e ) {}
435
+ }
436
+
437
+ if ( elem ) {
438
+ this.empty().append( value );
439
+ }
440
+ }, null, value, arguments.length );
441
+ },
442
+
443
+ replaceWith: function() {
444
+ var arg = arguments[ 0 ];
445
+
446
+ // Make the changes, replacing each context element with the new content
447
+ this.domManip( arguments, function( elem ) {
448
+ arg = this.parentNode;
449
+
450
+ jQuery.cleanData( getAll( this ) );
451
+
452
+ if ( arg ) {
453
+ arg.replaceChild( elem, this );
454
+ }
455
+ });
456
+
457
+ // Force removal if there was no new content (e.g., from empty arguments)
458
+ return arg && (arg.length || arg.nodeType) ? this : this.remove();
459
+ },
460
+
461
+ detach: function( selector ) {
462
+ return this.remove( selector, true );
463
+ },
464
+
465
+ domManip: function( args, callback ) {
466
+
467
+ // Flatten any nested arrays
468
+ args = concat.apply( [], args );
469
+
470
+ var fragment, first, scripts, hasScripts, node, doc,
471
+ i = 0,
472
+ l = this.length,
473
+ set = this,
474
+ iNoClone = l - 1,
475
+ value = args[ 0 ],
476
+ isFunction = jQuery.isFunction( value );
477
+
478
+ // We can't cloneNode fragments that contain checked, in WebKit
479
+ if ( isFunction ||
480
+ ( l > 1 && typeof value === "string" &&
481
+ !support.checkClone && rchecked.test( value ) ) ) {
482
+ return this.each(function( index ) {
483
+ var self = set.eq( index );
484
+ if ( isFunction ) {
485
+ args[ 0 ] = value.call( this, index, self.html() );
486
+ }
487
+ self.domManip( args, callback );
488
+ });
489
+ }
490
+
491
+ if ( l ) {
492
+ fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );
493
+ first = fragment.firstChild;
494
+
495
+ if ( fragment.childNodes.length === 1 ) {
496
+ fragment = first;
497
+ }
498
+
499
+ if ( first ) {
500
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
501
+ hasScripts = scripts.length;
502
+
503
+ // Use the original fragment for the last item instead of the first because it can end up
504
+ // being emptied incorrectly in certain situations (#8070).
505
+ for ( ; i < l; i++ ) {
506
+ node = fragment;
507
+
508
+ if ( i !== iNoClone ) {
509
+ node = jQuery.clone( node, true, true );
510
+
511
+ // Keep references to cloned scripts for later restoration
512
+ if ( hasScripts ) {
513
+ // Support: QtWebKit
514
+ // jQuery.merge because push.apply(_, arraylike) throws
515
+ jQuery.merge( scripts, getAll( node, "script" ) );
516
+ }
517
+ }
518
+
519
+ callback.call( this[ i ], node, i );
520
+ }
521
+
522
+ if ( hasScripts ) {
523
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
524
+
525
+ // Reenable scripts
526
+ jQuery.map( scripts, restoreScript );
527
+
528
+ // Evaluate executable scripts on first document insertion
529
+ for ( i = 0; i < hasScripts; i++ ) {
530
+ node = scripts[ i ];
531
+ if ( rscriptType.test( node.type || "" ) &&
532
+ !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
533
+
534
+ if ( node.src ) {
535
+ // Optional AJAX dependency, but won't run scripts if not present
536
+ if ( jQuery._evalUrl ) {
537
+ jQuery._evalUrl( node.src );
538
+ }
539
+ } else {
540
+ jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
541
+ }
542
+ }
543
+ }
544
+ }
545
+ }
546
+ }
547
+
548
+ return this;
549
+ }
550
+ });
551
+
552
+ jQuery.each({
553
+ appendTo: "append",
554
+ prependTo: "prepend",
555
+ insertBefore: "before",
556
+ insertAfter: "after",
557
+ replaceAll: "replaceWith"
558
+ }, function( name, original ) {
559
+ jQuery.fn[ name ] = function( selector ) {
560
+ var elems,
561
+ ret = [],
562
+ insert = jQuery( selector ),
563
+ last = insert.length - 1,
564
+ i = 0;
565
+
566
+ for ( ; i <= last; i++ ) {
567
+ elems = i === last ? this : this.clone( true );
568
+ jQuery( insert[ i ] )[ original ]( elems );
569
+
570
+ // Support: QtWebKit
571
+ // .get() because push.apply(_, arraylike) throws
572
+ push.apply( ret, elems.get() );
573
+ }
574
+
575
+ return this.pushStack( ret );
576
+ };
577
+ });
578
+
579
+ return jQuery;
580
+ });