trusty-cms 3.1.8 → 3.1.9

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 (215) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/Gemfile.lock +13 -9
  4. data/app/assets/images/admin/move_higher.png +0 -0
  5. data/app/assets/images/admin/move_lower.png +0 -0
  6. data/app/assets/images/admin/move_to_bottom.png +0 -0
  7. data/app/assets/images/admin/move_to_top.png +0 -0
  8. data/app/assets/images/admin/remove.png +0 -0
  9. data/app/assets/stylesheets/admin/_multi_site_main.scss +85 -0
  10. data/app/assets/stylesheets/admin/_site_chooser.scss +76 -0
  11. data/app/assets/stylesheets/admin/main.scss +3 -0
  12. data/app/controllers/admin/sites_controller.rb +14 -0
  13. data/app/helpers/scoped_helper.rb +19 -0
  14. data/app/helpers/sites_helper.rb +10 -0
  15. data/app/models/site.rb +86 -0
  16. data/app/models/snippet.rb +23 -0
  17. data/app/models/snippet_finder.rb +24 -0
  18. data/app/models/snippet_tags.rb +80 -0
  19. data/app/users/_choose_site.html.haml +8 -0
  20. data/app/views/admin/layouts/_choose_site.html.haml +8 -0
  21. data/app/views/admin/layouts/_site_chooser.html.haml +11 -0
  22. data/app/views/admin/sites/_form.haml +50 -0
  23. data/app/views/admin/sites/edit.haml +7 -0
  24. data/app/views/admin/sites/index.haml +43 -0
  25. data/app/views/admin/sites/new.haml +7 -0
  26. data/app/views/admin/snippets/_choose_site.html.haml +6 -0
  27. data/app/views/{snippets → admin/snippets}/_form.html.haml +0 -0
  28. data/app/views/{snippets → admin/snippets}/_popups.html.haml +0 -0
  29. data/app/views/{snippets → admin/snippets}/edit.html.haml +0 -0
  30. data/app/views/{snippets → admin/snippets}/index.html.haml +0 -0
  31. data/app/views/{snippets → admin/snippets}/new.html.haml +0 -0
  32. data/app/views/{snippets → admin/snippets}/remove.html.haml +0 -0
  33. data/app/views/admin/users/_choose_site.html.haml +8 -0
  34. data/config/application.rb +0 -2
  35. data/config/initializers/trusty_cms_config.rb +6 -0
  36. data/config/routes.rb +8 -0
  37. data/coverage/index.html +3837 -2759
  38. data/db/migrate/006_remove_user_login_index.rb +8 -0
  39. data/db/migrate/010_create_sites.rb +13 -0
  40. data/db/migrate/011_add_order_to_sites.rb +9 -0
  41. data/db/migrate/022_add_admin_fields_to_sites.rb +17 -0
  42. data/db/migrate/023_add_sites.rb +13 -0
  43. data/db/migrate/024_site_abbreviation.rb +9 -0
  44. data/db/migrate/025_recreate_non_unique_index_on_snippets_name.rb +11 -0
  45. data/db/migrate/026_add_site_id_to_pages.rb +24 -0
  46. data/db/migrate/027_add_base_domain_to_sites.rb +9 -0
  47. data/lib/trusty_cms.rb +1 -1
  48. data/spec/dummy/db/schema.rb +20 -2
  49. data/spec/dummy/log/test.log +44621 -0
  50. data/spec/dummy/node_modules/jquery/AUTHORS.txt +301 -0
  51. data/spec/dummy/node_modules/jquery/LICENSE.txt +36 -0
  52. data/spec/dummy/node_modules/jquery/README.md +67 -0
  53. data/spec/dummy/node_modules/jquery/bower.json +14 -0
  54. data/spec/dummy/node_modules/jquery/dist/core.js +476 -0
  55. data/spec/dummy/node_modules/jquery/dist/jquery.js +10253 -0
  56. data/spec/dummy/node_modules/jquery/dist/jquery.min.js +4 -0
  57. data/spec/dummy/node_modules/jquery/dist/jquery.min.map +1 -0
  58. data/spec/dummy/node_modules/jquery/dist/jquery.slim.js +8160 -0
  59. data/spec/dummy/node_modules/jquery/dist/jquery.slim.min.js +4 -0
  60. data/spec/dummy/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  61. data/spec/dummy/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  62. data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.js +2272 -0
  63. data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  64. data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  65. data/spec/dummy/node_modules/jquery/package.json +97 -0
  66. data/spec/dummy/node_modules/jquery/src/ajax/jsonp.js +102 -0
  67. data/spec/dummy/node_modules/jquery/src/ajax/load.js +76 -0
  68. data/spec/dummy/node_modules/jquery/src/ajax/parseXML.js +30 -0
  69. data/spec/dummy/node_modules/jquery/src/ajax/script.js +77 -0
  70. data/spec/dummy/node_modules/jquery/src/ajax/var/location.js +5 -0
  71. data/spec/dummy/node_modules/jquery/src/ajax/var/nonce.js +7 -0
  72. data/spec/dummy/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  73. data/spec/dummy/node_modules/jquery/src/ajax/xhr.js +169 -0
  74. data/spec/dummy/node_modules/jquery/src/ajax.js +855 -0
  75. data/spec/dummy/node_modules/jquery/src/attributes/attr.js +141 -0
  76. data/spec/dummy/node_modules/jquery/src/attributes/classes.js +174 -0
  77. data/spec/dummy/node_modules/jquery/src/attributes/prop.js +143 -0
  78. data/spec/dummy/node_modules/jquery/src/attributes/support.js +33 -0
  79. data/spec/dummy/node_modules/jquery/src/attributes/val.js +190 -0
  80. data/spec/dummy/node_modules/jquery/src/attributes.js +13 -0
  81. data/spec/dummy/node_modules/jquery/src/callbacks.js +234 -0
  82. data/spec/dummy/node_modules/jquery/src/core/DOMEval.js +16 -0
  83. data/spec/dummy/node_modules/jquery/src/core/access.js +70 -0
  84. data/spec/dummy/node_modules/jquery/src/core/init.js +128 -0
  85. data/spec/dummy/node_modules/jquery/src/core/nodeName.js +13 -0
  86. data/spec/dummy/node_modules/jquery/src/core/parseHTML.js +65 -0
  87. data/spec/dummy/node_modules/jquery/src/core/ready-no-deferred.js +96 -0
  88. data/spec/dummy/node_modules/jquery/src/core/ready.js +86 -0
  89. data/spec/dummy/node_modules/jquery/src/core/readyException.js +13 -0
  90. data/spec/dummy/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  91. data/spec/dummy/node_modules/jquery/src/core/support.js +20 -0
  92. data/spec/dummy/node_modules/jquery/src/core/var/rsingleTag.js +6 -0
  93. data/spec/dummy/node_modules/jquery/src/core.js +476 -0
  94. data/spec/dummy/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  95. data/spec/dummy/node_modules/jquery/src/css/adjustCSS.js +71 -0
  96. data/spec/dummy/node_modules/jquery/src/css/curCSS.js +65 -0
  97. data/spec/dummy/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  98. data/spec/dummy/node_modules/jquery/src/css/showHide.js +105 -0
  99. data/spec/dummy/node_modules/jquery/src/css/support.js +89 -0
  100. data/spec/dummy/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  101. data/spec/dummy/node_modules/jquery/src/css/var/getStyles.js +17 -0
  102. data/spec/dummy/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  103. data/spec/dummy/node_modules/jquery/src/css/var/rmargin.js +5 -0
  104. data/spec/dummy/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  105. data/spec/dummy/node_modules/jquery/src/css/var/swap.js +26 -0
  106. data/spec/dummy/node_modules/jquery/src/css.js +438 -0
  107. data/spec/dummy/node_modules/jquery/src/data/Data.js +161 -0
  108. data/spec/dummy/node_modules/jquery/src/data/var/acceptData.js +19 -0
  109. data/spec/dummy/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  110. data/spec/dummy/node_modules/jquery/src/data/var/dataUser.js +7 -0
  111. data/spec/dummy/node_modules/jquery/src/data.js +179 -0
  112. data/spec/dummy/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  113. data/spec/dummy/node_modules/jquery/src/deferred.js +391 -0
  114. data/spec/dummy/node_modules/jquery/src/deprecated.js +40 -0
  115. data/spec/dummy/node_modules/jquery/src/dimensions.js +56 -0
  116. data/spec/dummy/node_modules/jquery/src/effects/Tween.js +123 -0
  117. data/spec/dummy/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  118. data/spec/dummy/node_modules/jquery/src/effects.js +699 -0
  119. data/spec/dummy/node_modules/jquery/src/event/ajax.js +22 -0
  120. data/spec/dummy/node_modules/jquery/src/event/alias.js +29 -0
  121. data/spec/dummy/node_modules/jquery/src/event/focusin.js +55 -0
  122. data/spec/dummy/node_modules/jquery/src/event/support.js +11 -0
  123. data/spec/dummy/node_modules/jquery/src/event/trigger.js +185 -0
  124. data/spec/dummy/node_modules/jquery/src/event.js +746 -0
  125. data/spec/dummy/node_modules/jquery/src/exports/amd.js +26 -0
  126. data/spec/dummy/node_modules/jquery/src/exports/global.js +34 -0
  127. data/spec/dummy/node_modules/jquery/src/jquery.js +41 -0
  128. data/spec/dummy/node_modules/jquery/src/manipulation/_evalUrl.js +23 -0
  129. data/spec/dummy/node_modules/jquery/src/manipulation/buildFragment.js +104 -0
  130. data/spec/dummy/node_modules/jquery/src/manipulation/getAll.js +32 -0
  131. data/spec/dummy/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  132. data/spec/dummy/node_modules/jquery/src/manipulation/support.js +35 -0
  133. data/spec/dummy/node_modules/jquery/src/manipulation/var/rcheckableType.js +5 -0
  134. data/spec/dummy/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  135. data/spec/dummy/node_modules/jquery/src/manipulation/var/rtagName.js +5 -0
  136. data/spec/dummy/node_modules/jquery/src/manipulation/wrapMap.js +29 -0
  137. data/spec/dummy/node_modules/jquery/src/manipulation.js +488 -0
  138. data/spec/dummy/node_modules/jquery/src/offset.js +229 -0
  139. data/spec/dummy/node_modules/jquery/src/queue/delay.js +24 -0
  140. data/spec/dummy/node_modules/jquery/src/queue.js +145 -0
  141. data/spec/dummy/node_modules/jquery/src/selector-native.js +237 -0
  142. data/spec/dummy/node_modules/jquery/src/selector-sizzle.js +19 -0
  143. data/spec/dummy/node_modules/jquery/src/selector.js +3 -0
  144. data/spec/dummy/node_modules/jquery/src/serialize.js +130 -0
  145. data/spec/dummy/node_modules/jquery/src/traversing/findFilter.js +106 -0
  146. data/spec/dummy/node_modules/jquery/src/traversing/var/dir.js +22 -0
  147. data/spec/dummy/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  148. data/spec/dummy/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  149. data/spec/dummy/node_modules/jquery/src/traversing.js +191 -0
  150. data/spec/dummy/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  151. data/spec/dummy/node_modules/jquery/src/var/arr.js +5 -0
  152. data/spec/dummy/node_modules/jquery/src/var/class2type.js +6 -0
  153. data/spec/dummy/node_modules/jquery/src/var/concat.js +7 -0
  154. data/spec/dummy/node_modules/jquery/src/var/document.js +5 -0
  155. data/spec/dummy/node_modules/jquery/src/var/documentElement.js +7 -0
  156. data/spec/dummy/node_modules/jquery/src/var/fnToString.js +7 -0
  157. data/spec/dummy/node_modules/jquery/src/var/getProto.js +5 -0
  158. data/spec/dummy/node_modules/jquery/src/var/hasOwn.js +7 -0
  159. data/spec/dummy/node_modules/jquery/src/var/indexOf.js +7 -0
  160. data/spec/dummy/node_modules/jquery/src/var/pnum.js +5 -0
  161. data/spec/dummy/node_modules/jquery/src/var/push.js +7 -0
  162. data/spec/dummy/node_modules/jquery/src/var/rcssNum.js +9 -0
  163. data/spec/dummy/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  164. data/spec/dummy/node_modules/jquery/src/var/slice.js +7 -0
  165. data/spec/dummy/node_modules/jquery/src/var/support.js +6 -0
  166. data/spec/dummy/node_modules/jquery/src/var/toString.js +7 -0
  167. data/spec/dummy/node_modules/jquery/src/wrap.js +77 -0
  168. data/spec/dummy/node_modules/jquery-ui-bundle/AUTHORS.txt +333 -0
  169. data/spec/dummy/node_modules/jquery-ui-bundle/LICENSE.txt +43 -0
  170. data/spec/dummy/node_modules/jquery-ui-bundle/external/jquery/jquery.js +11008 -0
  171. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_444444_256x240.png +0 -0
  172. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_555555_256x240.png +0 -0
  173. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_777620_256x240.png +0 -0
  174. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_777777_256x240.png +0 -0
  175. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_cc0000_256x240.png +0 -0
  176. data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_ffffff_256x240.png +0 -0
  177. data/spec/dummy/node_modules/jquery-ui-bundle/index.html +559 -0
  178. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.css +1312 -0
  179. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.js +18706 -0
  180. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.min.css +7 -0
  181. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.min.js +13 -0
  182. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.structure.css +886 -0
  183. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.structure.min.css +5 -0
  184. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.theme.css +443 -0
  185. data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.theme.min.css +5 -0
  186. data/spec/dummy/node_modules/jquery-ui-bundle/package.json +33 -0
  187. data/spec/dummy/node_modules/jquery-ujs/CONTRIBUTING.md +109 -0
  188. data/spec/dummy/node_modules/jquery-ujs/MIT-LICENSE +20 -0
  189. data/spec/dummy/node_modules/jquery-ujs/README.md +86 -0
  190. data/spec/dummy/node_modules/jquery-ujs/RELEASE.md +23 -0
  191. data/spec/dummy/node_modules/jquery-ujs/bower.json +19 -0
  192. data/spec/dummy/node_modules/jquery-ujs/package.json +26 -0
  193. data/spec/dummy/node_modules/jquery-ujs/src/rails.js +555 -0
  194. data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
  195. data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
  196. data/vendor/extensions/multi-site-extension/lib/multi_site/admin_ui.rb +45 -0
  197. data/vendor/extensions/multi-site-extension/lib/multi_site/application_controller_extensions.rb +40 -0
  198. data/vendor/extensions/multi-site-extension/lib/multi_site/application_controller_filter_extensions.rb +22 -0
  199. data/vendor/extensions/multi-site-extension/lib/multi_site/engine.rb +10 -0
  200. data/vendor/extensions/multi-site-extension/lib/multi_site/page_extensions.rb +81 -0
  201. data/vendor/extensions/multi-site-extension/lib/multi_site/pages_controller_extensions.rb +55 -0
  202. data/vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb +42 -0
  203. data/vendor/extensions/multi-site-extension/lib/multi_site/route_extensions.rb +22 -0
  204. data/vendor/extensions/multi-site-extension/lib/multi_site/route_set_extensions.rb +17 -0
  205. data/vendor/extensions/multi-site-extension/lib/multi_site/scoped_model.rb +133 -0
  206. data/vendor/extensions/multi-site-extension/lib/multi_site/scoped_validation.rb +33 -0
  207. data/vendor/extensions/multi-site-extension/lib/multi_site/site_chooser_helper.rb +14 -0
  208. data/vendor/extensions/multi-site-extension/lib/multi_site/site_controller_extensions.rb +30 -0
  209. data/vendor/extensions/multi-site-extension/lib/tasks/multi_site_extension_tasks.rake +28 -0
  210. data/vendor/extensions/multi-site-extension/lib/tasks/scoped_admin_extension_tasks.rake +28 -0
  211. data/vendor/extensions/multi-site-extension/lib/trusty-multi-site-extension.rb +1 -0
  212. data/vendor/extensions/multi-site-extension/multi_site_extension.rb +61 -0
  213. data/vendor/extensions/snippets-extension/lib/trusty-snippets-extension.rb +0 -0
  214. data/vendor/extensions/snippets-extension/snippets_extension.rb +46 -0
  215. metadata +347 -8
@@ -0,0 +1,438 @@
1
+ define( [
2
+ "./core",
3
+ "./var/pnum",
4
+ "./core/access",
5
+ "./css/var/rmargin",
6
+ "./var/document",
7
+ "./var/rcssNum",
8
+ "./css/var/rnumnonpx",
9
+ "./css/var/cssExpand",
10
+ "./css/var/getStyles",
11
+ "./css/var/swap",
12
+ "./css/curCSS",
13
+ "./css/adjustCSS",
14
+ "./css/addGetHookIf",
15
+ "./css/support",
16
+
17
+ "./core/init",
18
+ "./core/ready",
19
+ "./selector" // contains
20
+ ], function( jQuery, pnum, access, rmargin, document, rcssNum, rnumnonpx, cssExpand,
21
+ getStyles, swap, curCSS, adjustCSS, addGetHookIf, support ) {
22
+
23
+ "use strict";
24
+
25
+ var
26
+
27
+ // Swappable if display is none or starts with table
28
+ // except "table", "table-cell", or "table-caption"
29
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
30
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
31
+ rcustomProp = /^--/,
32
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
33
+ cssNormalTransform = {
34
+ letterSpacing: "0",
35
+ fontWeight: "400"
36
+ },
37
+
38
+ cssPrefixes = [ "Webkit", "Moz", "ms" ],
39
+ emptyStyle = document.createElement( "div" ).style;
40
+
41
+ // Return a css property mapped to a potentially vendor prefixed property
42
+ function vendorPropName( name ) {
43
+
44
+ // Shortcut for names that are not vendor prefixed
45
+ if ( name in emptyStyle ) {
46
+ return name;
47
+ }
48
+
49
+ // Check for vendor prefixed names
50
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
51
+ i = cssPrefixes.length;
52
+
53
+ while ( i-- ) {
54
+ name = cssPrefixes[ i ] + capName;
55
+ if ( name in emptyStyle ) {
56
+ return name;
57
+ }
58
+ }
59
+ }
60
+
61
+ // Return a property mapped along what jQuery.cssProps suggests or to
62
+ // a vendor prefixed property.
63
+ function finalPropName( name ) {
64
+ var ret = jQuery.cssProps[ name ];
65
+ if ( !ret ) {
66
+ ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
67
+ }
68
+ return ret;
69
+ }
70
+
71
+ function setPositiveNumber( elem, value, subtract ) {
72
+
73
+ // Any relative (+/-) values have already been
74
+ // normalized at this point
75
+ var matches = rcssNum.exec( value );
76
+ return matches ?
77
+
78
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
79
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
80
+ value;
81
+ }
82
+
83
+ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
84
+ var i,
85
+ val = 0;
86
+
87
+ // If we already have the right measurement, avoid augmentation
88
+ if ( extra === ( isBorderBox ? "border" : "content" ) ) {
89
+ i = 4;
90
+
91
+ // Otherwise initialize for horizontal or vertical properties
92
+ } else {
93
+ i = name === "width" ? 1 : 0;
94
+ }
95
+
96
+ for ( ; i < 4; i += 2 ) {
97
+
98
+ // Both box models exclude margin, so add it if we want it
99
+ if ( extra === "margin" ) {
100
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
101
+ }
102
+
103
+ if ( isBorderBox ) {
104
+
105
+ // border-box includes padding, so remove it if we want content
106
+ if ( extra === "content" ) {
107
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
108
+ }
109
+
110
+ // At this point, extra isn't border nor margin, so remove border
111
+ if ( extra !== "margin" ) {
112
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
113
+ }
114
+ } else {
115
+
116
+ // At this point, extra isn't content, so add padding
117
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
118
+
119
+ // At this point, extra isn't content nor padding, so add border
120
+ if ( extra !== "padding" ) {
121
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
122
+ }
123
+ }
124
+ }
125
+
126
+ return val;
127
+ }
128
+
129
+ function getWidthOrHeight( elem, name, extra ) {
130
+
131
+ // Start with computed style
132
+ var valueIsBorderBox,
133
+ styles = getStyles( elem ),
134
+ val = curCSS( elem, name, styles ),
135
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
136
+
137
+ // Computed unit is not pixels. Stop here and return.
138
+ if ( rnumnonpx.test( val ) ) {
139
+ return val;
140
+ }
141
+
142
+ // Check for style in case a browser which returns unreliable values
143
+ // for getComputedStyle silently falls back to the reliable elem.style
144
+ valueIsBorderBox = isBorderBox &&
145
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
146
+
147
+ // Fall back to offsetWidth/Height when value is "auto"
148
+ // This happens for inline elements with no explicit setting (gh-3571)
149
+ if ( val === "auto" ) {
150
+ val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
151
+ }
152
+
153
+ // Normalize "", auto, and prepare for extra
154
+ val = parseFloat( val ) || 0;
155
+
156
+ // Use the active box-sizing model to add/subtract irrelevant styles
157
+ return ( val +
158
+ augmentWidthOrHeight(
159
+ elem,
160
+ name,
161
+ extra || ( isBorderBox ? "border" : "content" ),
162
+ valueIsBorderBox,
163
+ styles
164
+ )
165
+ ) + "px";
166
+ }
167
+
168
+ jQuery.extend( {
169
+
170
+ // Add in style property hooks for overriding the default
171
+ // behavior of getting and setting a style property
172
+ cssHooks: {
173
+ opacity: {
174
+ get: function( elem, computed ) {
175
+ if ( computed ) {
176
+
177
+ // We should always get a number back from opacity
178
+ var ret = curCSS( elem, "opacity" );
179
+ return ret === "" ? "1" : ret;
180
+ }
181
+ }
182
+ }
183
+ },
184
+
185
+ // Don't automatically add "px" to these possibly-unitless properties
186
+ cssNumber: {
187
+ "animationIterationCount": true,
188
+ "columnCount": true,
189
+ "fillOpacity": true,
190
+ "flexGrow": true,
191
+ "flexShrink": true,
192
+ "fontWeight": true,
193
+ "lineHeight": true,
194
+ "opacity": true,
195
+ "order": true,
196
+ "orphans": true,
197
+ "widows": true,
198
+ "zIndex": true,
199
+ "zoom": true
200
+ },
201
+
202
+ // Add in properties whose names you wish to fix before
203
+ // setting or getting the value
204
+ cssProps: {
205
+ "float": "cssFloat"
206
+ },
207
+
208
+ // Get and set the style property on a DOM Node
209
+ style: function( elem, name, value, extra ) {
210
+
211
+ // Don't set styles on text and comment nodes
212
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
213
+ return;
214
+ }
215
+
216
+ // Make sure that we're working with the right name
217
+ var ret, type, hooks,
218
+ origName = jQuery.camelCase( name ),
219
+ isCustomProp = rcustomProp.test( name ),
220
+ style = elem.style;
221
+
222
+ // Make sure that we're working with the right name. We don't
223
+ // want to query the value if it is a CSS custom property
224
+ // since they are user-defined.
225
+ if ( !isCustomProp ) {
226
+ name = finalPropName( origName );
227
+ }
228
+
229
+ // Gets hook for the prefixed version, then unprefixed version
230
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
231
+
232
+ // Check if we're setting a value
233
+ if ( value !== undefined ) {
234
+ type = typeof value;
235
+
236
+ // Convert "+=" or "-=" to relative numbers (#7345)
237
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
238
+ value = adjustCSS( elem, name, ret );
239
+
240
+ // Fixes bug #9237
241
+ type = "number";
242
+ }
243
+
244
+ // Make sure that null and NaN values aren't set (#7116)
245
+ if ( value == null || value !== value ) {
246
+ return;
247
+ }
248
+
249
+ // If a number was passed in, add the unit (except for certain CSS properties)
250
+ if ( type === "number" ) {
251
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
252
+ }
253
+
254
+ // background-* props affect original clone's values
255
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
256
+ style[ name ] = "inherit";
257
+ }
258
+
259
+ // If a hook was provided, use that value, otherwise just set the specified value
260
+ if ( !hooks || !( "set" in hooks ) ||
261
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
262
+
263
+ if ( isCustomProp ) {
264
+ style.setProperty( name, value );
265
+ } else {
266
+ style[ name ] = value;
267
+ }
268
+ }
269
+
270
+ } else {
271
+
272
+ // If a hook was provided get the non-computed value from there
273
+ if ( hooks && "get" in hooks &&
274
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
275
+
276
+ return ret;
277
+ }
278
+
279
+ // Otherwise just get the value from the style object
280
+ return style[ name ];
281
+ }
282
+ },
283
+
284
+ css: function( elem, name, extra, styles ) {
285
+ var val, num, hooks,
286
+ origName = jQuery.camelCase( name ),
287
+ isCustomProp = rcustomProp.test( name );
288
+
289
+ // Make sure that we're working with the right name. We don't
290
+ // want to modify the value if it is a CSS custom property
291
+ // since they are user-defined.
292
+ if ( !isCustomProp ) {
293
+ name = finalPropName( origName );
294
+ }
295
+
296
+ // Try prefixed name followed by the unprefixed name
297
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
298
+
299
+ // If a hook was provided get the computed value from there
300
+ if ( hooks && "get" in hooks ) {
301
+ val = hooks.get( elem, true, extra );
302
+ }
303
+
304
+ // Otherwise, if a way to get the computed value exists, use that
305
+ if ( val === undefined ) {
306
+ val = curCSS( elem, name, styles );
307
+ }
308
+
309
+ // Convert "normal" to computed value
310
+ if ( val === "normal" && name in cssNormalTransform ) {
311
+ val = cssNormalTransform[ name ];
312
+ }
313
+
314
+ // Make numeric if forced or a qualifier was provided and val looks numeric
315
+ if ( extra === "" || extra ) {
316
+ num = parseFloat( val );
317
+ return extra === true || isFinite( num ) ? num || 0 : val;
318
+ }
319
+
320
+ return val;
321
+ }
322
+ } );
323
+
324
+ jQuery.each( [ "height", "width" ], function( i, name ) {
325
+ jQuery.cssHooks[ name ] = {
326
+ get: function( elem, computed, extra ) {
327
+ if ( computed ) {
328
+
329
+ // Certain elements can have dimension info if we invisibly show them
330
+ // but it must have a current display style that would benefit
331
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
332
+
333
+ // Support: Safari 8+
334
+ // Table columns in Safari have non-zero offsetWidth & zero
335
+ // getBoundingClientRect().width unless display is changed.
336
+ // Support: IE <=11 only
337
+ // Running getBoundingClientRect on a disconnected node
338
+ // in IE throws an error.
339
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
340
+ swap( elem, cssShow, function() {
341
+ return getWidthOrHeight( elem, name, extra );
342
+ } ) :
343
+ getWidthOrHeight( elem, name, extra );
344
+ }
345
+ },
346
+
347
+ set: function( elem, value, extra ) {
348
+ var matches,
349
+ styles = extra && getStyles( elem ),
350
+ subtract = extra && augmentWidthOrHeight(
351
+ elem,
352
+ name,
353
+ extra,
354
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
355
+ styles
356
+ );
357
+
358
+ // Convert to pixels if value adjustment is needed
359
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
360
+ ( matches[ 3 ] || "px" ) !== "px" ) {
361
+
362
+ elem.style[ name ] = value;
363
+ value = jQuery.css( elem, name );
364
+ }
365
+
366
+ return setPositiveNumber( elem, value, subtract );
367
+ }
368
+ };
369
+ } );
370
+
371
+ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
372
+ function( elem, computed ) {
373
+ if ( computed ) {
374
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
375
+ elem.getBoundingClientRect().left -
376
+ swap( elem, { marginLeft: 0 }, function() {
377
+ return elem.getBoundingClientRect().left;
378
+ } )
379
+ ) + "px";
380
+ }
381
+ }
382
+ );
383
+
384
+ // These hooks are used by animate to expand properties
385
+ jQuery.each( {
386
+ margin: "",
387
+ padding: "",
388
+ border: "Width"
389
+ }, function( prefix, suffix ) {
390
+ jQuery.cssHooks[ prefix + suffix ] = {
391
+ expand: function( value ) {
392
+ var i = 0,
393
+ expanded = {},
394
+
395
+ // Assumes a single number if not a string
396
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
397
+
398
+ for ( ; i < 4; i++ ) {
399
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
400
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
401
+ }
402
+
403
+ return expanded;
404
+ }
405
+ };
406
+
407
+ if ( !rmargin.test( prefix ) ) {
408
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
409
+ }
410
+ } );
411
+
412
+ jQuery.fn.extend( {
413
+ css: function( name, value ) {
414
+ return access( this, function( elem, name, value ) {
415
+ var styles, len,
416
+ map = {},
417
+ i = 0;
418
+
419
+ if ( Array.isArray( name ) ) {
420
+ styles = getStyles( elem );
421
+ len = name.length;
422
+
423
+ for ( ; i < len; i++ ) {
424
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
425
+ }
426
+
427
+ return map;
428
+ }
429
+
430
+ return value !== undefined ?
431
+ jQuery.style( elem, name, value ) :
432
+ jQuery.css( elem, name );
433
+ }, name, value, arguments.length > 1 );
434
+ }
435
+ } );
436
+
437
+ return jQuery;
438
+ } );
@@ -0,0 +1,161 @@
1
+ define( [
2
+ "../core",
3
+ "../var/rnothtmlwhite",
4
+ "./var/acceptData"
5
+ ], function( jQuery, rnothtmlwhite, acceptData ) {
6
+
7
+ "use strict";
8
+
9
+ function Data() {
10
+ this.expando = jQuery.expando + Data.uid++;
11
+ }
12
+
13
+ Data.uid = 1;
14
+
15
+ Data.prototype = {
16
+
17
+ cache: function( owner ) {
18
+
19
+ // Check if the owner object already has a cache
20
+ var value = owner[ this.expando ];
21
+
22
+ // If not, create one
23
+ if ( !value ) {
24
+ value = {};
25
+
26
+ // We can accept data for non-element nodes in modern browsers,
27
+ // but we should not, see #8335.
28
+ // Always return an empty object.
29
+ if ( acceptData( owner ) ) {
30
+
31
+ // If it is a node unlikely to be stringify-ed or looped over
32
+ // use plain assignment
33
+ if ( owner.nodeType ) {
34
+ owner[ this.expando ] = value;
35
+
36
+ // Otherwise secure it in a non-enumerable property
37
+ // configurable must be true to allow the property to be
38
+ // deleted when data is removed
39
+ } else {
40
+ Object.defineProperty( owner, this.expando, {
41
+ value: value,
42
+ configurable: true
43
+ } );
44
+ }
45
+ }
46
+ }
47
+
48
+ return value;
49
+ },
50
+ set: function( owner, data, value ) {
51
+ var prop,
52
+ cache = this.cache( owner );
53
+
54
+ // Handle: [ owner, key, value ] args
55
+ // Always use camelCase key (gh-2257)
56
+ if ( typeof data === "string" ) {
57
+ cache[ jQuery.camelCase( data ) ] = value;
58
+
59
+ // Handle: [ owner, { properties } ] args
60
+ } else {
61
+
62
+ // Copy the properties one-by-one to the cache object
63
+ for ( prop in data ) {
64
+ cache[ jQuery.camelCase( prop ) ] = data[ prop ];
65
+ }
66
+ }
67
+ return cache;
68
+ },
69
+ get: function( owner, key ) {
70
+ return key === undefined ?
71
+ this.cache( owner ) :
72
+
73
+ // Always use camelCase key (gh-2257)
74
+ owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
75
+ },
76
+ access: function( owner, key, value ) {
77
+
78
+ // In cases where either:
79
+ //
80
+ // 1. No key was specified
81
+ // 2. A string key was specified, but no value provided
82
+ //
83
+ // Take the "read" path and allow the get method to determine
84
+ // which value to return, respectively either:
85
+ //
86
+ // 1. The entire cache object
87
+ // 2. The data stored at the key
88
+ //
89
+ if ( key === undefined ||
90
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
91
+
92
+ return this.get( owner, key );
93
+ }
94
+
95
+ // When the key is not a string, or both a key and value
96
+ // are specified, set or extend (existing objects) with either:
97
+ //
98
+ // 1. An object of properties
99
+ // 2. A key and value
100
+ //
101
+ this.set( owner, key, value );
102
+
103
+ // Since the "set" path can have two possible entry points
104
+ // return the expected data based on which path was taken[*]
105
+ return value !== undefined ? value : key;
106
+ },
107
+ remove: function( owner, key ) {
108
+ var i,
109
+ cache = owner[ this.expando ];
110
+
111
+ if ( cache === undefined ) {
112
+ return;
113
+ }
114
+
115
+ if ( key !== undefined ) {
116
+
117
+ // Support array or space separated string of keys
118
+ if ( Array.isArray( key ) ) {
119
+
120
+ // If key is an array of keys...
121
+ // We always set camelCase keys, so remove that.
122
+ key = key.map( jQuery.camelCase );
123
+ } else {
124
+ key = jQuery.camelCase( key );
125
+
126
+ // If a key with the spaces exists, use it.
127
+ // Otherwise, create an array by matching non-whitespace
128
+ key = key in cache ?
129
+ [ key ] :
130
+ ( key.match( rnothtmlwhite ) || [] );
131
+ }
132
+
133
+ i = key.length;
134
+
135
+ while ( i-- ) {
136
+ delete cache[ key[ i ] ];
137
+ }
138
+ }
139
+
140
+ // Remove the expando if there's no more data
141
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
142
+
143
+ // Support: Chrome <=35 - 45
144
+ // Webkit & Blink performance suffers when deleting properties
145
+ // from DOM nodes, so set to undefined instead
146
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
147
+ if ( owner.nodeType ) {
148
+ owner[ this.expando ] = undefined;
149
+ } else {
150
+ delete owner[ this.expando ];
151
+ }
152
+ }
153
+ },
154
+ hasData: function( owner ) {
155
+ var cache = owner[ this.expando ];
156
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
157
+ }
158
+ };
159
+
160
+ return Data;
161
+ } );
@@ -0,0 +1,19 @@
1
+ define( function() {
2
+
3
+ "use strict";
4
+
5
+ /**
6
+ * Determines whether an object can have data
7
+ */
8
+ return function( owner ) {
9
+
10
+ // Accepts only:
11
+ // - Node
12
+ // - Node.ELEMENT_NODE
13
+ // - Node.DOCUMENT_NODE
14
+ // - Object
15
+ // - Any
16
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
17
+ };
18
+
19
+ } );
@@ -0,0 +1,7 @@
1
+ define( [
2
+ "../Data"
3
+ ], function( Data ) {
4
+ "use strict";
5
+
6
+ return new Data();
7
+ } );
@@ -0,0 +1,7 @@
1
+ define( [
2
+ "../Data"
3
+ ], function( Data ) {
4
+ "use strict";
5
+
6
+ return new Data();
7
+ } );