vue_crud 0.1.9.5 → 0.1.9.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/vue_crud/example_generator.rb +12 -0
  3. data/lib/generators/vue_crud/install_generator.rb +1 -1
  4. data/lib/generators/vue_crud/pace_generator.rb +11 -0
  5. data/lib/generators/vue_crud/semantic_generator.rb +12 -0
  6. data/lib/generators/vue_crud/templates/assets/images/semantic-ui/flags.png +0 -0
  7. data/lib/generators/vue_crud/templates/assets/javascripts/pace.min.js +1 -0
  8. data/lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/checkbox.js +831 -0
  9. data/lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/dimmer.js +708 -0
  10. data/lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/dropdown.js +3741 -0
  11. data/lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/modal.js +913 -0
  12. data/lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/site.js +487 -0
  13. data/lib/generators/vue_crud/templates/assets/javascripts/semantic-ui/transition.js +1089 -0
  14. data/lib/generators/vue_crud/templates/assets/javascripts/vue.js +7402 -0
  15. data/lib/generators/vue_crud/templates/assets/stylesheets/pace.min.css +1 -0
  16. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/.DS_Store +0 -0
  17. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/.DS_Store +0 -0
  18. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_all.scss +7 -0
  19. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +124 -0
  20. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_form.scss +1706 -0
  21. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_grid.scss +84 -0
  22. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_grid_bk.scss +2032 -0
  23. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_menu.scss +2021 -0
  24. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_message.scss +482 -0
  25. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_mixins.scss +3 -0
  26. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/_table.scss +1108 -0
  27. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/mixins/.DS_Store +0 -0
  28. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/mixins/_clearfix.scss +1 -0
  29. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/mixins/_grid-framework.scss +1 -0
  30. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/collections/mixins/_grid.scss +1 -0
  31. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_all.scss +15 -0
  32. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_button.scss +3470 -0
  33. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_container.scss +148 -0
  34. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_divider.scss +262 -0
  35. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_flag.scss +1031 -0
  36. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_header.scss +721 -0
  37. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_icon.scss +3148 -0
  38. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_image.scss +306 -0
  39. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_input.scss +517 -0
  40. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_label.scss +1314 -0
  41. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_list.scss +951 -0
  42. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_loader.scss +349 -0
  43. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_rail.scss +152 -0
  44. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_reveal.scss +307 -0
  45. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_segment.scss +799 -0
  46. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/elements/_step.scss +646 -0
  47. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/globals/_all.scss +3 -0
  48. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/globals/_reset.scss +424 -0
  49. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/globals/_site.scss +163 -0
  50. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/globals/_variables.scss +32 -0
  51. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_accordion.scss +256 -0
  52. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_all.scss +17 -0
  53. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_checkbox.scss +627 -0
  54. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_dimmer.scss +199 -0
  55. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_dropdown.scss +1425 -0
  56. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_embed.scss +167 -0
  57. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_modal.scss +509 -0
  58. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_nag.scss +147 -0
  59. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_popup.scss +764 -0
  60. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_progress.scss +516 -0
  61. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_rating.scss +265 -0
  62. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_search.scss +409 -0
  63. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_shape.scss +157 -0
  64. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_sidebar.scss +644 -0
  65. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_sticky.scss +78 -0
  66. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_tab.scss +91 -0
  67. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_transition.scss +1981 -0
  68. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/modules/_video.scss +125 -0
  69. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_ad.scss +276 -0
  70. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_all.scss +6 -0
  71. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_card.scss +685 -0
  72. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_comment.scss +270 -0
  73. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_feed.scss +300 -0
  74. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_item.scss +481 -0
  75. data/lib/generators/vue_crud/templates/assets/stylesheets/semantic-ui/views/_statistic.scss +583 -0
  76. data/lib/generators/vue_crud/templates/example/user.rb +10 -0
  77. data/lib/generators/vue_crud/templates/example/users/index.html.erb +154 -0
  78. data/lib/generators/vue_crud/templates/example/users/index.json.jbuilder +15 -0
  79. data/lib/generators/vue_crud/templates/example/users/show.json.jbuilder +11 -0
  80. data/lib/generators/vue_crud/templates/example/users_controller.rb +85 -0
  81. data/lib/generators/vue_crud/vuejs_generator.rb +10 -0
  82. data/lib/vue_crud/version.rb +1 -1
  83. data/vendor/assets/javascripts/vue_crud.js +24 -3
  84. data/vendor/assets/stylesheets/vue_crud.css +0 -2
  85. metadata +80 -6
  86. data/vue_crud-0.1.5.gem +0 -0
  87. data/vue_crud-0.1.6.gem +0 -0
  88. data/vue_crud-0.1.7.gem +0 -0
  89. data/vue_crud-0.1.8.gem +0 -0
  90. data/vue_crud-0.1.9.gem +0 -0
@@ -0,0 +1,708 @@
1
+ /*!
2
+ * # Semantic UI - Dimmer
3
+ * http://github.com/semantic-org/semantic-ui/
4
+ *
5
+ *
6
+ * Released under the MIT license
7
+ * http://opensource.org/licenses/MIT
8
+ *
9
+ */
10
+
11
+ ;(function ($, window, document, undefined) {
12
+
13
+ "use strict";
14
+
15
+ window = (typeof window != 'undefined' && window.Math == Math)
16
+ ? window
17
+ : (typeof self != 'undefined' && self.Math == Math)
18
+ ? self
19
+ : Function('return this')()
20
+ ;
21
+
22
+ $.fn.dimmer = function(parameters) {
23
+ var
24
+ $allModules = $(this),
25
+
26
+ time = new Date().getTime(),
27
+ performance = [],
28
+
29
+ query = arguments[0],
30
+ methodInvoked = (typeof query == 'string'),
31
+ queryArguments = [].slice.call(arguments, 1),
32
+
33
+ returnedValue
34
+ ;
35
+
36
+ $allModules
37
+ .each(function() {
38
+ var
39
+ settings = ( $.isPlainObject(parameters) )
40
+ ? $.extend(true, {}, $.fn.dimmer.settings, parameters)
41
+ : $.extend({}, $.fn.dimmer.settings),
42
+
43
+ selector = settings.selector,
44
+ namespace = settings.namespace,
45
+ className = settings.className,
46
+ error = settings.error,
47
+
48
+ eventNamespace = '.' + namespace,
49
+ moduleNamespace = 'module-' + namespace,
50
+ moduleSelector = $allModules.selector || '',
51
+
52
+ clickEvent = ('ontouchstart' in document.documentElement)
53
+ ? 'touchstart'
54
+ : 'click',
55
+
56
+ $module = $(this),
57
+ $dimmer,
58
+ $dimmable,
59
+
60
+ element = this,
61
+ instance = $module.data(moduleNamespace),
62
+ module
63
+ ;
64
+
65
+ module = {
66
+
67
+ preinitialize: function() {
68
+ if( module.is.dimmer() ) {
69
+
70
+ $dimmable = $module.parent();
71
+ $dimmer = $module;
72
+ }
73
+ else {
74
+ $dimmable = $module;
75
+ if( module.has.dimmer() ) {
76
+ if(settings.dimmerName) {
77
+ $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);
78
+ }
79
+ else {
80
+ $dimmer = $dimmable.find(selector.dimmer);
81
+ }
82
+ }
83
+ else {
84
+ $dimmer = module.create();
85
+ }
86
+ module.set.variation();
87
+ }
88
+ },
89
+
90
+ initialize: function() {
91
+ module.debug('Initializing dimmer', settings);
92
+
93
+ module.bind.events();
94
+ module.set.dimmable();
95
+ module.instantiate();
96
+ },
97
+
98
+ instantiate: function() {
99
+ module.verbose('Storing instance of module', module);
100
+ instance = module;
101
+ $module
102
+ .data(moduleNamespace, instance)
103
+ ;
104
+ },
105
+
106
+ destroy: function() {
107
+ module.verbose('Destroying previous module', $dimmer);
108
+ module.unbind.events();
109
+ module.remove.variation();
110
+ $dimmable
111
+ .off(eventNamespace)
112
+ ;
113
+ },
114
+
115
+ bind: {
116
+ events: function() {
117
+ if(settings.on == 'hover') {
118
+ $dimmable
119
+ .on('mouseenter' + eventNamespace, module.show)
120
+ .on('mouseleave' + eventNamespace, module.hide)
121
+ ;
122
+ }
123
+ else if(settings.on == 'click') {
124
+ $dimmable
125
+ .on(clickEvent + eventNamespace, module.toggle)
126
+ ;
127
+ }
128
+ if( module.is.page() ) {
129
+ module.debug('Setting as a page dimmer', $dimmable);
130
+ module.set.pageDimmer();
131
+ }
132
+
133
+ if( module.is.closable() ) {
134
+ module.verbose('Adding dimmer close event', $dimmer);
135
+ $dimmable
136
+ .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
137
+ ;
138
+ }
139
+ }
140
+ },
141
+
142
+ unbind: {
143
+ events: function() {
144
+ $module
145
+ .removeData(moduleNamespace)
146
+ ;
147
+ $dimmable
148
+ .off(eventNamespace)
149
+ ;
150
+ }
151
+ },
152
+
153
+ event: {
154
+ click: function(event) {
155
+ module.verbose('Determining if event occured on dimmer', event);
156
+ if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {
157
+ module.hide();
158
+ event.stopImmediatePropagation();
159
+ }
160
+ }
161
+ },
162
+
163
+ addContent: function(element) {
164
+ var
165
+ $content = $(element)
166
+ ;
167
+ module.debug('Add content to dimmer', $content);
168
+ if($content.parent()[0] !== $dimmer[0]) {
169
+ $content.detach().appendTo($dimmer);
170
+ }
171
+ },
172
+
173
+ create: function() {
174
+ var
175
+ $element = $( settings.template.dimmer() )
176
+ ;
177
+ if(settings.dimmerName) {
178
+ module.debug('Creating named dimmer', settings.dimmerName);
179
+ $element.addClass(settings.dimmerName);
180
+ }
181
+ $element
182
+ .appendTo($dimmable)
183
+ ;
184
+ return $element;
185
+ },
186
+
187
+ show: function(callback) {
188
+ callback = $.isFunction(callback)
189
+ ? callback
190
+ : function(){}
191
+ ;
192
+ module.debug('Showing dimmer', $dimmer, settings);
193
+ if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {
194
+ module.animate.show(callback);
195
+ settings.onShow.call(element);
196
+ settings.onChange.call(element);
197
+ }
198
+ else {
199
+ module.debug('Dimmer is already shown or disabled');
200
+ }
201
+ },
202
+
203
+ hide: function(callback) {
204
+ callback = $.isFunction(callback)
205
+ ? callback
206
+ : function(){}
207
+ ;
208
+ if( module.is.dimmed() || module.is.animating() ) {
209
+ module.debug('Hiding dimmer', $dimmer);
210
+ module.animate.hide(callback);
211
+ settings.onHide.call(element);
212
+ settings.onChange.call(element);
213
+ }
214
+ else {
215
+ module.debug('Dimmer is not visible');
216
+ }
217
+ },
218
+
219
+ toggle: function() {
220
+ module.verbose('Toggling dimmer visibility', $dimmer);
221
+ if( !module.is.dimmed() ) {
222
+ module.show();
223
+ }
224
+ else {
225
+ module.hide();
226
+ }
227
+ },
228
+
229
+ animate: {
230
+ show: function(callback) {
231
+ callback = $.isFunction(callback)
232
+ ? callback
233
+ : function(){}
234
+ ;
235
+ if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
236
+ if(settings.opacity !== 'auto') {
237
+ module.set.opacity();
238
+ }
239
+ $dimmer
240
+ .transition({
241
+ animation : settings.transition + ' in',
242
+ queue : false,
243
+ duration : module.get.duration(),
244
+ useFailSafe : true,
245
+ onStart : function() {
246
+ module.set.dimmed();
247
+ },
248
+ onComplete : function() {
249
+ module.set.active();
250
+ callback();
251
+ }
252
+ })
253
+ ;
254
+ }
255
+ else {
256
+ module.verbose('Showing dimmer animation with javascript');
257
+ module.set.dimmed();
258
+ if(settings.opacity == 'auto') {
259
+ settings.opacity = 0.8;
260
+ }
261
+ $dimmer
262
+ .stop()
263
+ .css({
264
+ opacity : 0,
265
+ width : '100%',
266
+ height : '100%'
267
+ })
268
+ .fadeTo(module.get.duration(), settings.opacity, function() {
269
+ $dimmer.removeAttr('style');
270
+ module.set.active();
271
+ callback();
272
+ })
273
+ ;
274
+ }
275
+ },
276
+ hide: function(callback) {
277
+ callback = $.isFunction(callback)
278
+ ? callback
279
+ : function(){}
280
+ ;
281
+ if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
282
+ module.verbose('Hiding dimmer with css');
283
+ $dimmer
284
+ .transition({
285
+ animation : settings.transition + ' out',
286
+ queue : false,
287
+ duration : module.get.duration(),
288
+ useFailSafe : true,
289
+ onStart : function() {
290
+ module.remove.dimmed();
291
+ },
292
+ onComplete : function() {
293
+ module.remove.active();
294
+ callback();
295
+ }
296
+ })
297
+ ;
298
+ }
299
+ else {
300
+ module.verbose('Hiding dimmer with javascript');
301
+ module.remove.dimmed();
302
+ $dimmer
303
+ .stop()
304
+ .fadeOut(module.get.duration(), function() {
305
+ module.remove.active();
306
+ $dimmer.removeAttr('style');
307
+ callback();
308
+ })
309
+ ;
310
+ }
311
+ }
312
+ },
313
+
314
+ get: {
315
+ dimmer: function() {
316
+ return $dimmer;
317
+ },
318
+ duration: function() {
319
+ if(typeof settings.duration == 'object') {
320
+ if( module.is.active() ) {
321
+ return settings.duration.hide;
322
+ }
323
+ else {
324
+ return settings.duration.show;
325
+ }
326
+ }
327
+ return settings.duration;
328
+ }
329
+ },
330
+
331
+ has: {
332
+ dimmer: function() {
333
+ if(settings.dimmerName) {
334
+ return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);
335
+ }
336
+ else {
337
+ return ( $module.find(selector.dimmer).length > 0 );
338
+ }
339
+ }
340
+ },
341
+
342
+ is: {
343
+ active: function() {
344
+ return $dimmer.hasClass(className.active);
345
+ },
346
+ animating: function() {
347
+ return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );
348
+ },
349
+ closable: function() {
350
+ if(settings.closable == 'auto') {
351
+ if(settings.on == 'hover') {
352
+ return false;
353
+ }
354
+ return true;
355
+ }
356
+ return settings.closable;
357
+ },
358
+ dimmer: function() {
359
+ return $module.hasClass(className.dimmer);
360
+ },
361
+ dimmable: function() {
362
+ return $module.hasClass(className.dimmable);
363
+ },
364
+ dimmed: function() {
365
+ return $dimmable.hasClass(className.dimmed);
366
+ },
367
+ disabled: function() {
368
+ return $dimmable.hasClass(className.disabled);
369
+ },
370
+ enabled: function() {
371
+ return !module.is.disabled();
372
+ },
373
+ page: function () {
374
+ return $dimmable.is('body');
375
+ },
376
+ pageDimmer: function() {
377
+ return $dimmer.hasClass(className.pageDimmer);
378
+ }
379
+ },
380
+
381
+ can: {
382
+ show: function() {
383
+ return !$dimmer.hasClass(className.disabled);
384
+ }
385
+ },
386
+
387
+ set: {
388
+ opacity: function(opacity) {
389
+ var
390
+ color = $dimmer.css('background-color'),
391
+ colorArray = color.split(','),
392
+ isRGB = (colorArray && colorArray.length == 3),
393
+ isRGBA = (colorArray && colorArray.length == 4)
394
+ ;
395
+ opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
396
+ if(isRGB || isRGBA) {
397
+ colorArray[3] = opacity + ')';
398
+ color = colorArray.join(',');
399
+ }
400
+ else {
401
+ color = 'rgba(0, 0, 0, ' + opacity + ')';
402
+ }
403
+ module.debug('Setting opacity to', opacity);
404
+ $dimmer.css('background-color', color);
405
+ },
406
+ active: function() {
407
+ $dimmer.addClass(className.active);
408
+ },
409
+ dimmable: function() {
410
+ $dimmable.addClass(className.dimmable);
411
+ },
412
+ dimmed: function() {
413
+ $dimmable.addClass(className.dimmed);
414
+ },
415
+ pageDimmer: function() {
416
+ $dimmer.addClass(className.pageDimmer);
417
+ },
418
+ disabled: function() {
419
+ $dimmer.addClass(className.disabled);
420
+ },
421
+ variation: function(variation) {
422
+ variation = variation || settings.variation;
423
+ if(variation) {
424
+ $dimmer.addClass(variation);
425
+ }
426
+ }
427
+ },
428
+
429
+ remove: {
430
+ active: function() {
431
+ $dimmer
432
+ .removeClass(className.active)
433
+ ;
434
+ },
435
+ dimmed: function() {
436
+ $dimmable.removeClass(className.dimmed);
437
+ },
438
+ disabled: function() {
439
+ $dimmer.removeClass(className.disabled);
440
+ },
441
+ variation: function(variation) {
442
+ variation = variation || settings.variation;
443
+ if(variation) {
444
+ $dimmer.removeClass(variation);
445
+ }
446
+ }
447
+ },
448
+
449
+ setting: function(name, value) {
450
+ module.debug('Changing setting', name, value);
451
+ if( $.isPlainObject(name) ) {
452
+ $.extend(true, settings, name);
453
+ }
454
+ else if(value !== undefined) {
455
+ if($.isPlainObject(settings[name])) {
456
+ $.extend(true, settings[name], value);
457
+ }
458
+ else {
459
+ settings[name] = value;
460
+ }
461
+ }
462
+ else {
463
+ return settings[name];
464
+ }
465
+ },
466
+ internal: function(name, value) {
467
+ if( $.isPlainObject(name) ) {
468
+ $.extend(true, module, name);
469
+ }
470
+ else if(value !== undefined) {
471
+ module[name] = value;
472
+ }
473
+ else {
474
+ return module[name];
475
+ }
476
+ },
477
+ debug: function() {
478
+ if(!settings.silent && settings.debug) {
479
+ if(settings.performance) {
480
+ module.performance.log(arguments);
481
+ }
482
+ else {
483
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
484
+ module.debug.apply(console, arguments);
485
+ }
486
+ }
487
+ },
488
+ verbose: function() {
489
+ if(!settings.silent && settings.verbose && settings.debug) {
490
+ if(settings.performance) {
491
+ module.performance.log(arguments);
492
+ }
493
+ else {
494
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
495
+ module.verbose.apply(console, arguments);
496
+ }
497
+ }
498
+ },
499
+ error: function() {
500
+ if(!settings.silent) {
501
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
502
+ module.error.apply(console, arguments);
503
+ }
504
+ },
505
+ performance: {
506
+ log: function(message) {
507
+ var
508
+ currentTime,
509
+ executionTime,
510
+ previousTime
511
+ ;
512
+ if(settings.performance) {
513
+ currentTime = new Date().getTime();
514
+ previousTime = time || currentTime;
515
+ executionTime = currentTime - previousTime;
516
+ time = currentTime;
517
+ performance.push({
518
+ 'Name' : message[0],
519
+ 'Arguments' : [].slice.call(message, 1) || '',
520
+ 'Element' : element,
521
+ 'Execution Time' : executionTime
522
+ });
523
+ }
524
+ clearTimeout(module.performance.timer);
525
+ module.performance.timer = setTimeout(module.performance.display, 500);
526
+ },
527
+ display: function() {
528
+ var
529
+ title = settings.name + ':',
530
+ totalTime = 0
531
+ ;
532
+ time = false;
533
+ clearTimeout(module.performance.timer);
534
+ $.each(performance, function(index, data) {
535
+ totalTime += data['Execution Time'];
536
+ });
537
+ title += ' ' + totalTime + 'ms';
538
+ if(moduleSelector) {
539
+ title += ' \'' + moduleSelector + '\'';
540
+ }
541
+ if($allModules.length > 1) {
542
+ title += ' ' + '(' + $allModules.length + ')';
543
+ }
544
+ if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
545
+ console.groupCollapsed(title);
546
+ if(console.table) {
547
+ console.table(performance);
548
+ }
549
+ else {
550
+ $.each(performance, function(index, data) {
551
+ console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
552
+ });
553
+ }
554
+ console.groupEnd();
555
+ }
556
+ performance = [];
557
+ }
558
+ },
559
+ invoke: function(query, passedArguments, context) {
560
+ var
561
+ object = instance,
562
+ maxDepth,
563
+ found,
564
+ response
565
+ ;
566
+ passedArguments = passedArguments || queryArguments;
567
+ context = element || context;
568
+ if(typeof query == 'string' && object !== undefined) {
569
+ query = query.split(/[\. ]/);
570
+ maxDepth = query.length - 1;
571
+ $.each(query, function(depth, value) {
572
+ var camelCaseValue = (depth != maxDepth)
573
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
574
+ : query
575
+ ;
576
+ if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
577
+ object = object[camelCaseValue];
578
+ }
579
+ else if( object[camelCaseValue] !== undefined ) {
580
+ found = object[camelCaseValue];
581
+ return false;
582
+ }
583
+ else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
584
+ object = object[value];
585
+ }
586
+ else if( object[value] !== undefined ) {
587
+ found = object[value];
588
+ return false;
589
+ }
590
+ else {
591
+ module.error(error.method, query);
592
+ return false;
593
+ }
594
+ });
595
+ }
596
+ if ( $.isFunction( found ) ) {
597
+ response = found.apply(context, passedArguments);
598
+ }
599
+ else if(found !== undefined) {
600
+ response = found;
601
+ }
602
+ if($.isArray(returnedValue)) {
603
+ returnedValue.push(response);
604
+ }
605
+ else if(returnedValue !== undefined) {
606
+ returnedValue = [returnedValue, response];
607
+ }
608
+ else if(response !== undefined) {
609
+ returnedValue = response;
610
+ }
611
+ return found;
612
+ }
613
+ };
614
+
615
+ module.preinitialize();
616
+
617
+ if(methodInvoked) {
618
+ if(instance === undefined) {
619
+ module.initialize();
620
+ }
621
+ module.invoke(query);
622
+ }
623
+ else {
624
+ if(instance !== undefined) {
625
+ instance.invoke('destroy');
626
+ }
627
+ module.initialize();
628
+ }
629
+ })
630
+ ;
631
+
632
+ return (returnedValue !== undefined)
633
+ ? returnedValue
634
+ : this
635
+ ;
636
+ };
637
+
638
+ $.fn.dimmer.settings = {
639
+
640
+ name : 'Dimmer',
641
+ namespace : 'dimmer',
642
+
643
+ silent : false,
644
+ debug : false,
645
+ verbose : false,
646
+ performance : true,
647
+
648
+ // name to distinguish between multiple dimmers in context
649
+ dimmerName : false,
650
+
651
+ // whether to add a variation type
652
+ variation : false,
653
+
654
+ // whether to bind close events
655
+ closable : 'auto',
656
+
657
+ // whether to use css animations
658
+ useCSS : true,
659
+
660
+ // css animation to use
661
+ transition : 'fade',
662
+
663
+ // event to bind to
664
+ on : false,
665
+
666
+ // overriding opacity value
667
+ opacity : 'auto',
668
+
669
+ // transition durations
670
+ duration : {
671
+ show : 500,
672
+ hide : 500
673
+ },
674
+
675
+ onChange : function(){},
676
+ onShow : function(){},
677
+ onHide : function(){},
678
+
679
+ error : {
680
+ method : 'The method you called is not defined.'
681
+ },
682
+
683
+ className : {
684
+ active : 'active',
685
+ animating : 'animating',
686
+ dimmable : 'dimmable',
687
+ dimmed : 'dimmed',
688
+ dimmer : 'dimmer',
689
+ disabled : 'disabled',
690
+ hide : 'hide',
691
+ pageDimmer : 'page',
692
+ show : 'show'
693
+ },
694
+
695
+ selector: {
696
+ dimmer : '> .ui.dimmer',
697
+ content : '.ui.dimmer > .content, .ui.dimmer > .content > .center'
698
+ },
699
+
700
+ template: {
701
+ dimmer: function() {
702
+ return $('<div />').attr('class', 'ui dimmer');
703
+ }
704
+ }
705
+
706
+ };
707
+
708
+ })( jQuery, window, document );