va_common 0.1.0 → 0.2.0

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 (182) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -4
  3. data/app/assets/js/va_common_main.js +16 -1
  4. data/lib/va_common/version.rb +1 -1
  5. data/lib/va_common.rb +4 -0
  6. data/va_common.gemspec +15 -0
  7. metadata +200 -177
  8. data/app/assets/js/foundation/foundation.abide.js +0 -408
  9. data/app/assets/js/foundation/foundation.accordion.js +0 -88
  10. data/app/assets/js/foundation/foundation.alert.js +0 -43
  11. data/app/assets/js/foundation/foundation.clearing.js +0 -586
  12. data/app/assets/js/foundation/foundation.dropdown.js +0 -463
  13. data/app/assets/js/foundation/foundation.equalizer.js +0 -104
  14. data/app/assets/js/foundation/foundation.interchange.js +0 -359
  15. data/app/assets/js/foundation/foundation.joyride.js +0 -932
  16. data/app/assets/js/foundation/foundation.js +0 -725
  17. data/app/assets/js/foundation/foundation.magellan.js +0 -215
  18. data/app/assets/js/foundation/foundation.offcanvas.js +0 -152
  19. data/app/assets/js/foundation/foundation.orbit.js +0 -476
  20. data/app/assets/js/foundation/foundation.reveal.js +0 -498
  21. data/app/assets/js/foundation/foundation.slider.js +0 -281
  22. data/app/assets/js/foundation/foundation.tab.js +0 -249
  23. data/app/assets/js/foundation/foundation.tooltip.js +0 -339
  24. data/app/assets/js/foundation/foundation.topbar.js +0 -458
  25. data/app/assets/js/foundation.min.js +0 -6376
  26. data/app/assets/js/vendor/html5shiv.js +0 -8
  27. data/app/assets/js/vendor/jquery-1.11.0.min.js +0 -4
  28. data/app/assets/js/vendor/jquery.js +0 -9789
  29. data/app/assets/js/vendor/jquery.smooth-scroll.js +0 -255
  30. data/app/assets/js/vendor/jquery.stellar.js +0 -651
  31. data/app/assets/js/vendor/jquery.tipsy.js +0 -258
  32. data/app/assets/js/vendor/menu.js +0 -40
  33. data/app/assets/js/vendor/modernizr.custom.js +0 -4
  34. data/app/assets/js/vendor/respond.min.js +0 -6
  35. data/app/assets/js/vendor/selectivizr-1.0.3b.js +0 -560
  36. data/app/assets/js/vendor/tota11y.min.js +0 -28
  37. data/app/assets/js/vendor/wow.min.js +0 -2
  38. data/app/assets/stylesheets/foundation/_functions.scss +0 -146
  39. data/app/assets/stylesheets/foundation/_settings.scss +0 -1467
  40. data/app/assets/stylesheets/foundation/_variables.scss +0 -1286
  41. data/app/assets/stylesheets/foundation/components/_accordion.scss +0 -157
  42. data/app/assets/stylesheets/foundation/components/_alert-boxes.scss +0 -128
  43. data/app/assets/stylesheets/foundation/components/_block-grid.scss +0 -132
  44. data/app/assets/stylesheets/foundation/components/_breadcrumbs.scss +0 -132
  45. data/app/assets/stylesheets/foundation/components/_button-groups.scss +0 -200
  46. data/app/assets/stylesheets/foundation/components/_buttons.scss +0 -259
  47. data/app/assets/stylesheets/foundation/components/_clearing.scss +0 -256
  48. data/app/assets/stylesheets/foundation/components/_dropdown-buttons.scss +0 -131
  49. data/app/assets/stylesheets/foundation/components/_dropdown.scss +0 -262
  50. data/app/assets/stylesheets/foundation/components/_flex-video.scss +0 -51
  51. data/app/assets/stylesheets/foundation/components/_forms.scss +0 -570
  52. data/app/assets/stylesheets/foundation/components/_global.scss +0 -481
  53. data/app/assets/stylesheets/foundation/components/_grid.scss +0 -289
  54. data/app/assets/stylesheets/foundation/components/_icon-bar.scss +0 -358
  55. data/app/assets/stylesheets/foundation/components/_inline-lists.scss +0 -57
  56. data/app/assets/stylesheets/foundation/components/_joyride.scss +0 -222
  57. data/app/assets/stylesheets/foundation/components/_keystrokes.scss +0 -61
  58. data/app/assets/stylesheets/foundation/components/_labels.scss +0 -106
  59. data/app/assets/stylesheets/foundation/components/_magellan.scss +0 -34
  60. data/app/assets/stylesheets/foundation/components/_offcanvas.scss +0 -515
  61. data/app/assets/stylesheets/foundation/components/_orbit.scss +0 -368
  62. data/app/assets/stylesheets/foundation/components/_pagination.scss +0 -162
  63. data/app/assets/stylesheets/foundation/components/_panels.scss +0 -101
  64. data/app/assets/stylesheets/foundation/components/_pricing-tables.scss +0 -150
  65. data/app/assets/stylesheets/foundation/components/_progress-bars.scss +0 -79
  66. data/app/assets/stylesheets/foundation/components/_range-slider.scss +0 -169
  67. data/app/assets/stylesheets/foundation/components/_reveal.scss +0 -202
  68. data/app/assets/stylesheets/foundation/components/_side-nav.scss +0 -116
  69. data/app/assets/stylesheets/foundation/components/_split-buttons.scss +0 -199
  70. data/app/assets/stylesheets/foundation/components/_sub-nav.scss +0 -123
  71. data/app/assets/stylesheets/foundation/components/_switches.scss +0 -238
  72. data/app/assets/stylesheets/foundation/components/_tables.scss +0 -135
  73. data/app/assets/stylesheets/foundation/components/_tabs.scss +0 -123
  74. data/app/assets/stylesheets/foundation/components/_thumbs.scss +0 -66
  75. data/app/assets/stylesheets/foundation/components/_toolbar.scss +0 -70
  76. data/app/assets/stylesheets/foundation/components/_tooltips.scss +0 -142
  77. data/app/assets/stylesheets/foundation/components/_top-bar.scss +0 -691
  78. data/app/assets/stylesheets/foundation/components/_type.scss +0 -525
  79. data/app/assets/stylesheets/foundation/components/_visibility.scss +0 -408
  80. data/app/assets/stylesheets/lib/_normalize.scss +0 -427
  81. data/app/assets/stylesheets/lib/bourbon/_bourbon-deprecated-upcoming.scss +0 -411
  82. data/app/assets/stylesheets/lib/bourbon/_bourbon.scss +0 -87
  83. data/app/assets/stylesheets/lib/bourbon/addons/_border-color.scss +0 -26
  84. data/app/assets/stylesheets/lib/bourbon/addons/_border-radius.scss +0 -48
  85. data/app/assets/stylesheets/lib/bourbon/addons/_border-style.scss +0 -25
  86. data/app/assets/stylesheets/lib/bourbon/addons/_border-width.scss +0 -25
  87. data/app/assets/stylesheets/lib/bourbon/addons/_buttons.scss +0 -64
  88. data/app/assets/stylesheets/lib/bourbon/addons/_clearfix.scss +0 -25
  89. data/app/assets/stylesheets/lib/bourbon/addons/_ellipsis.scss +0 -30
  90. data/app/assets/stylesheets/lib/bourbon/addons/_font-stacks.scss +0 -31
  91. data/app/assets/stylesheets/lib/bourbon/addons/_hide-text.scss +0 -27
  92. data/app/assets/stylesheets/lib/bourbon/addons/_margin.scss +0 -26
  93. data/app/assets/stylesheets/lib/bourbon/addons/_padding.scss +0 -26
  94. data/app/assets/stylesheets/lib/bourbon/addons/_position.scss +0 -48
  95. data/app/assets/stylesheets/lib/bourbon/addons/_prefixer.scss +0 -66
  96. data/app/assets/stylesheets/lib/bourbon/addons/_retina-image.scss +0 -25
  97. data/app/assets/stylesheets/lib/bourbon/addons/_size.scss +0 -51
  98. data/app/assets/stylesheets/lib/bourbon/addons/_text-inputs.scss +0 -112
  99. data/app/assets/stylesheets/lib/bourbon/addons/_timing-functions.scss +0 -34
  100. data/app/assets/stylesheets/lib/bourbon/addons/_triangle.scss +0 -63
  101. data/app/assets/stylesheets/lib/bourbon/addons/_word-wrap.scss +0 -29
  102. data/app/assets/stylesheets/lib/bourbon/css3/_animation.scss +0 -43
  103. data/app/assets/stylesheets/lib/bourbon/css3/_appearance.scss +0 -3
  104. data/app/assets/stylesheets/lib/bourbon/css3/_backface-visibility.scss +0 -3
  105. data/app/assets/stylesheets/lib/bourbon/css3/_background-image.scss +0 -42
  106. data/app/assets/stylesheets/lib/bourbon/css3/_background.scss +0 -55
  107. data/app/assets/stylesheets/lib/bourbon/css3/_border-image.scss +0 -59
  108. data/app/assets/stylesheets/lib/bourbon/css3/_calc.scss +0 -4
  109. data/app/assets/stylesheets/lib/bourbon/css3/_columns.scss +0 -47
  110. data/app/assets/stylesheets/lib/bourbon/css3/_filter.scss +0 -4
  111. data/app/assets/stylesheets/lib/bourbon/css3/_flex-box.scss +0 -287
  112. data/app/assets/stylesheets/lib/bourbon/css3/_font-face.scss +0 -24
  113. data/app/assets/stylesheets/lib/bourbon/css3/_font-feature-settings.scss +0 -4
  114. data/app/assets/stylesheets/lib/bourbon/css3/_hidpi-media-query.scss +0 -10
  115. data/app/assets/stylesheets/lib/bourbon/css3/_hyphens.scss +0 -4
  116. data/app/assets/stylesheets/lib/bourbon/css3/_image-rendering.scss +0 -14
  117. data/app/assets/stylesheets/lib/bourbon/css3/_keyframes.scss +0 -36
  118. data/app/assets/stylesheets/lib/bourbon/css3/_linear-gradient.scss +0 -38
  119. data/app/assets/stylesheets/lib/bourbon/css3/_perspective.scss +0 -8
  120. data/app/assets/stylesheets/lib/bourbon/css3/_placeholder.scss +0 -8
  121. data/app/assets/stylesheets/lib/bourbon/css3/_radial-gradient.scss +0 -39
  122. data/app/assets/stylesheets/lib/bourbon/css3/_selection.scss +0 -42
  123. data/app/assets/stylesheets/lib/bourbon/css3/_text-decoration.scss +0 -19
  124. data/app/assets/stylesheets/lib/bourbon/css3/_transform.scss +0 -15
  125. data/app/assets/stylesheets/lib/bourbon/css3/_transition.scss +0 -71
  126. data/app/assets/stylesheets/lib/bourbon/css3/_user-select.scss +0 -3
  127. data/app/assets/stylesheets/lib/bourbon/functions/_assign-inputs.scss +0 -11
  128. data/app/assets/stylesheets/lib/bourbon/functions/_contains-falsy.scss +0 -20
  129. data/app/assets/stylesheets/lib/bourbon/functions/_contains.scss +0 -26
  130. data/app/assets/stylesheets/lib/bourbon/functions/_is-length.scss +0 -11
  131. data/app/assets/stylesheets/lib/bourbon/functions/_is-light.scss +0 -21
  132. data/app/assets/stylesheets/lib/bourbon/functions/_is-number.scss +0 -11
  133. data/app/assets/stylesheets/lib/bourbon/functions/_is-size.scss +0 -13
  134. data/app/assets/stylesheets/lib/bourbon/functions/_modular-scale.scss +0 -69
  135. data/app/assets/stylesheets/lib/bourbon/functions/_px-to-em.scss +0 -13
  136. data/app/assets/stylesheets/lib/bourbon/functions/_px-to-rem.scss +0 -15
  137. data/app/assets/stylesheets/lib/bourbon/functions/_shade.scss +0 -24
  138. data/app/assets/stylesheets/lib/bourbon/functions/_strip-units.scss +0 -17
  139. data/app/assets/stylesheets/lib/bourbon/functions/_tint.scss +0 -24
  140. data/app/assets/stylesheets/lib/bourbon/functions/_transition-property-name.scss +0 -22
  141. data/app/assets/stylesheets/lib/bourbon/functions/_unpack.scss +0 -27
  142. data/app/assets/stylesheets/lib/bourbon/helpers/_convert-units.scss +0 -21
  143. data/app/assets/stylesheets/lib/bourbon/helpers/_directional-values.scss +0 -96
  144. data/app/assets/stylesheets/lib/bourbon/helpers/_font-source-declaration.scss +0 -43
  145. data/app/assets/stylesheets/lib/bourbon/helpers/_gradient-positions-parser.scss +0 -13
  146. data/app/assets/stylesheets/lib/bourbon/helpers/_linear-angle-parser.scss +0 -25
  147. data/app/assets/stylesheets/lib/bourbon/helpers/_linear-gradient-parser.scss +0 -41
  148. data/app/assets/stylesheets/lib/bourbon/helpers/_linear-positions-parser.scss +0 -61
  149. data/app/assets/stylesheets/lib/bourbon/helpers/_linear-side-corner-parser.scss +0 -31
  150. data/app/assets/stylesheets/lib/bourbon/helpers/_radial-arg-parser.scss +0 -69
  151. data/app/assets/stylesheets/lib/bourbon/helpers/_radial-gradient-parser.scss +0 -50
  152. data/app/assets/stylesheets/lib/bourbon/helpers/_radial-positions-parser.scss +0 -18
  153. data/app/assets/stylesheets/lib/bourbon/helpers/_render-gradients.scss +0 -26
  154. data/app/assets/stylesheets/lib/bourbon/helpers/_shape-size-stripper.scss +0 -10
  155. data/app/assets/stylesheets/lib/bourbon/helpers/_str-to-num.scss +0 -50
  156. data/app/assets/stylesheets/lib/bourbon/settings/_asset-pipeline.scss +0 -7
  157. data/app/assets/stylesheets/lib/bourbon/settings/_prefixer.scss +0 -9
  158. data/app/assets/stylesheets/lib/bourbon/settings/_px-to-em.scss +0 -1
  159. data/app/assets/stylesheets/lib/neat/_neat-helpers.scss +0 -8
  160. data/app/assets/stylesheets/lib/neat/_neat.scss +0 -23
  161. data/app/assets/stylesheets/lib/neat/functions/_new-breakpoint.scss +0 -49
  162. data/app/assets/stylesheets/lib/neat/functions/_private.scss +0 -114
  163. data/app/assets/stylesheets/lib/neat/grid/_box-sizing.scss +0 -15
  164. data/app/assets/stylesheets/lib/neat/grid/_direction-context.scss +0 -33
  165. data/app/assets/stylesheets/lib/neat/grid/_display-context.scss +0 -28
  166. data/app/assets/stylesheets/lib/neat/grid/_fill-parent.scss +0 -22
  167. data/app/assets/stylesheets/lib/neat/grid/_media.scss +0 -92
  168. data/app/assets/stylesheets/lib/neat/grid/_omega.scss +0 -87
  169. data/app/assets/stylesheets/lib/neat/grid/_outer-container.scss +0 -38
  170. data/app/assets/stylesheets/lib/neat/grid/_pad.scss +0 -25
  171. data/app/assets/stylesheets/lib/neat/grid/_private.scss +0 -35
  172. data/app/assets/stylesheets/lib/neat/grid/_row.scss +0 -52
  173. data/app/assets/stylesheets/lib/neat/grid/_shift.scss +0 -50
  174. data/app/assets/stylesheets/lib/neat/grid/_span-columns.scss +0 -94
  175. data/app/assets/stylesheets/lib/neat/grid/_to-deprecate.scss +0 -97
  176. data/app/assets/stylesheets/lib/neat/grid/_visual-grid.scss +0 -42
  177. data/app/assets/stylesheets/lib/neat/settings/_disable-warnings.scss +0 -13
  178. data/app/assets/stylesheets/lib/neat/settings/_grid.scss +0 -51
  179. data/app/assets/stylesheets/lib/neat/settings/_visual-grid.scss +0 -27
  180. data/app/assets/stylesheets/va_common_main.css.scss +0 -18
  181. /data/app/assets/js/{vendor/scroll-settings.js → scroll-settings.js} +0 -0
  182. /data/app/assets/js/{vendor/stellar-settings.js → stellar-settings.js} +0 -0
@@ -1,359 +0,0 @@
1
- ;(function ($, window, document, undefined) {
2
- 'use strict';
3
-
4
- Foundation.libs.interchange = {
5
- name : 'interchange',
6
-
7
- version : '5.5.2',
8
-
9
- cache : {},
10
-
11
- images_loaded : false,
12
- nodes_loaded : false,
13
-
14
- settings : {
15
- load_attr : 'interchange',
16
-
17
- named_queries : {
18
- 'default' : 'only screen',
19
- 'small' : Foundation.media_queries['small'],
20
- 'small-only' : Foundation.media_queries['small-only'],
21
- 'medium' : Foundation.media_queries['medium'],
22
- 'medium-only' : Foundation.media_queries['medium-only'],
23
- 'large' : Foundation.media_queries['large'],
24
- 'large-only' : Foundation.media_queries['large-only'],
25
- 'xlarge' : Foundation.media_queries['xlarge'],
26
- 'xlarge-only' : Foundation.media_queries['xlarge-only'],
27
- 'xxlarge' : Foundation.media_queries['xxlarge'],
28
- 'landscape' : 'only screen and (orientation: landscape)',
29
- 'portrait' : 'only screen and (orientation: portrait)',
30
- 'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
31
- 'only screen and (min--moz-device-pixel-ratio: 2),' +
32
- 'only screen and (-o-min-device-pixel-ratio: 2/1),' +
33
- 'only screen and (min-device-pixel-ratio: 2),' +
34
- 'only screen and (min-resolution: 192dpi),' +
35
- 'only screen and (min-resolution: 2dppx)'
36
- },
37
-
38
- directives : {
39
- replace : function (el, path, trigger) {
40
- // The trigger argument, if called within the directive, fires
41
- // an event named after the directive on the element, passing
42
- // any parameters along to the event that you pass to trigger.
43
- //
44
- // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c)
45
- //
46
- // This allows you to bind a callback like so:
47
- // $('#interchangeContainer').on('replace', function (e, a, b, c) {
48
- // console.log($(this).html(), a, b, c);
49
- // });
50
-
51
- if (el !== null && /IMG/.test(el[0].nodeName)) {
52
- var orig_path = el[0].src;
53
-
54
- if (new RegExp(path, 'i').test(orig_path)) {
55
- return;
56
- }
57
-
58
- el.attr("src", path);
59
-
60
- return trigger(el[0].src);
61
- }
62
- var last_path = el.data(this.data_attr + '-last-path'),
63
- self = this;
64
-
65
- if (last_path == path) {
66
- return;
67
- }
68
-
69
- if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) {
70
- $(el).css('background-image', 'url(' + path + ')');
71
- el.data('interchange-last-path', path);
72
- return trigger(path);
73
- }
74
-
75
- return $.get(path, function (response) {
76
- el.html(response);
77
- el.data(self.data_attr + '-last-path', path);
78
- trigger();
79
- });
80
-
81
- }
82
- }
83
- },
84
-
85
- init : function (scope, method, options) {
86
- Foundation.inherit(this, 'throttle random_str');
87
-
88
- this.data_attr = this.set_data_attr();
89
- $.extend(true, this.settings, method, options);
90
- this.bindings(method, options);
91
- this.reflow();
92
- },
93
-
94
- get_media_hash : function () {
95
- var mediaHash = '';
96
- for (var queryName in this.settings.named_queries ) {
97
- mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString();
98
- }
99
- return mediaHash;
100
- },
101
-
102
- events : function () {
103
- var self = this, prevMediaHash;
104
-
105
- $(window)
106
- .off('.interchange')
107
- .on('resize.fndtn.interchange', self.throttle(function () {
108
- var currMediaHash = self.get_media_hash();
109
- if (currMediaHash !== prevMediaHash) {
110
- self.resize();
111
- }
112
- prevMediaHash = currMediaHash;
113
- }, 50));
114
-
115
- return this;
116
- },
117
-
118
- resize : function () {
119
- var cache = this.cache;
120
-
121
- if (!this.images_loaded || !this.nodes_loaded) {
122
- setTimeout($.proxy(this.resize, this), 50);
123
- return;
124
- }
125
-
126
- for (var uuid in cache) {
127
- if (cache.hasOwnProperty(uuid)) {
128
- var passed = this.results(uuid, cache[uuid]);
129
- if (passed) {
130
- this.settings.directives[passed
131
- .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) {
132
- if (arguments[0] instanceof Array) {
133
- var args = arguments[0];
134
- } else {
135
- var args = Array.prototype.slice.call(arguments, 0);
136
- }
137
-
138
- return function() {
139
- passed.el.trigger(passed.scenario[1], args);
140
- }
141
- }(passed)));
142
- }
143
- }
144
- }
145
-
146
- },
147
-
148
- results : function (uuid, scenarios) {
149
- var count = scenarios.length;
150
-
151
- if (count > 0) {
152
- var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]');
153
-
154
- while (count--) {
155
- var mq, rule = scenarios[count][2];
156
- if (this.settings.named_queries.hasOwnProperty(rule)) {
157
- mq = matchMedia(this.settings.named_queries[rule]);
158
- } else {
159
- mq = matchMedia(rule);
160
- }
161
- if (mq.matches) {
162
- return {el : el, scenario : scenarios[count]};
163
- }
164
- }
165
- }
166
-
167
- return false;
168
- },
169
-
170
- load : function (type, force_update) {
171
- if (typeof this['cached_' + type] === 'undefined' || force_update) {
172
- this['update_' + type]();
173
- }
174
-
175
- return this['cached_' + type];
176
- },
177
-
178
- update_images : function () {
179
- var images = this.S('img[' + this.data_attr + ']'),
180
- count = images.length,
181
- i = count,
182
- loaded_count = 0,
183
- data_attr = this.data_attr;
184
-
185
- this.cache = {};
186
- this.cached_images = [];
187
- this.images_loaded = (count === 0);
188
-
189
- while (i--) {
190
- loaded_count++;
191
- if (images[i]) {
192
- var str = images[i].getAttribute(data_attr) || '';
193
-
194
- if (str.length > 0) {
195
- this.cached_images.push(images[i]);
196
- }
197
- }
198
-
199
- if (loaded_count === count) {
200
- this.images_loaded = true;
201
- this.enhance('images');
202
- }
203
- }
204
-
205
- return this;
206
- },
207
-
208
- update_nodes : function () {
209
- var nodes = this.S('[' + this.data_attr + ']').not('img'),
210
- count = nodes.length,
211
- i = count,
212
- loaded_count = 0,
213
- data_attr = this.data_attr;
214
-
215
- this.cached_nodes = [];
216
- this.nodes_loaded = (count === 0);
217
-
218
- while (i--) {
219
- loaded_count++;
220
- var str = nodes[i].getAttribute(data_attr) || '';
221
-
222
- if (str.length > 0) {
223
- this.cached_nodes.push(nodes[i]);
224
- }
225
-
226
- if (loaded_count === count) {
227
- this.nodes_loaded = true;
228
- this.enhance('nodes');
229
- }
230
- }
231
-
232
- return this;
233
- },
234
-
235
- enhance : function (type) {
236
- var i = this['cached_' + type].length;
237
-
238
- while (i--) {
239
- this.object($(this['cached_' + type][i]));
240
- }
241
-
242
- return $(window).trigger('resize.fndtn.interchange');
243
- },
244
-
245
- convert_directive : function (directive) {
246
-
247
- var trimmed = this.trim(directive);
248
-
249
- if (trimmed.length > 0) {
250
- return trimmed;
251
- }
252
-
253
- return 'replace';
254
- },
255
-
256
- parse_scenario : function (scenario) {
257
- // This logic had to be made more complex since some users were using commas in the url path
258
- // So we cannot simply just split on a comma
259
-
260
- var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/),
261
- // getting the mq has gotten a bit complicated since we started accounting for several use cases
262
- // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios
263
- // as nested objects or arrays in F6.
264
- // regex: match everything before close parenthesis for mq
265
- media_query = scenario[1].match(/(.*)\)/);
266
-
267
- if (directive_match) {
268
- var path = directive_match[1],
269
- directive = directive_match[2];
270
-
271
- } else {
272
- var cached_split = scenario[0].split(/,\s*$/),
273
- path = cached_split[0],
274
- directive = '';
275
- }
276
-
277
- return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])];
278
- },
279
-
280
- object : function (el) {
281
- var raw_arr = this.parse_data_attr(el),
282
- scenarios = [],
283
- i = raw_arr.length;
284
-
285
- if (i > 0) {
286
- while (i--) {
287
- // split array between comma delimited content and mq
288
- // regex: comma, optional space, open parenthesis
289
- var scenario = raw_arr[i].split(/,\s?\(/);
290
-
291
- if (scenario.length > 1) {
292
- var params = this.parse_scenario(scenario);
293
- scenarios.push(params);
294
- }
295
- }
296
- }
297
-
298
- return this.store(el, scenarios);
299
- },
300
-
301
- store : function (el, scenarios) {
302
- var uuid = this.random_str(),
303
- current_uuid = el.data(this.add_namespace('uuid', true));
304
-
305
- if (this.cache[current_uuid]) {
306
- return this.cache[current_uuid];
307
- }
308
-
309
- el.attr(this.add_namespace('data-uuid'), uuid);
310
- return this.cache[uuid] = scenarios;
311
- },
312
-
313
- trim : function (str) {
314
-
315
- if (typeof str === 'string') {
316
- return $.trim(str);
317
- }
318
-
319
- return str;
320
- },
321
-
322
- set_data_attr : function (init) {
323
- if (init) {
324
- if (this.namespace.length > 0) {
325
- return this.namespace + '-' + this.settings.load_attr;
326
- }
327
-
328
- return this.settings.load_attr;
329
- }
330
-
331
- if (this.namespace.length > 0) {
332
- return 'data-' + this.namespace + '-' + this.settings.load_attr;
333
- }
334
-
335
- return 'data-' + this.settings.load_attr;
336
- },
337
-
338
- parse_data_attr : function (el) {
339
- var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/),
340
- i = raw.length,
341
- output = [];
342
-
343
- while (i--) {
344
- if (raw[i].replace(/[\W\d]+/, '').length > 4) {
345
- output.push(raw[i]);
346
- }
347
- }
348
-
349
- return output;
350
- },
351
-
352
- reflow : function () {
353
- this.load('images', true);
354
- this.load('nodes', true);
355
- }
356
-
357
- };
358
-
359
- }(jQuery, window, window.document));