semantic-ui-rails 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d34f1c794fca0e412350b36fd819cefb94084485
4
- data.tar.gz: f1ed9d45ec916db2f10077bf0c939bd6e26e2ed4
3
+ metadata.gz: a5f93fd2fb3a88efdca7083aba97c00d77062cf8
4
+ data.tar.gz: c67f535c006305a9740124543ff1c9be218ab4cf
5
5
  SHA512:
6
- metadata.gz: 00fba62ec741a97ba9fce64c9fa8bd3a2b1d8583a6f99a36ecf6b77ebb8352af19f81211d870cfbdbe527114f4e16d675a613dd4fa0e1860db96e6a205c1e649
7
- data.tar.gz: ef5f8e855802eb6f4e37d2aa9edd0395d44c96cf53fffdd141f1de7d1f86d5e3f2cdfc9f4c9238905ba6ab990dd07707d1e6f2049b5465c2b51bf859fe22c9dd
6
+ metadata.gz: 054488aee4ca61a0ab9b0ec3f4c4cb5db70f68f18ca182485bb1b1e69528ff7b72c28dc9782e6f88df9a55e4ec8ab441dccd3e3e167feb59363386dba4e1942f
7
+ data.tar.gz: c70999b03309f54c9013a0fee8c9b3ce7ea7d21b46465634ffd3d1131f817f555b127b7aeb4f9b5d7199bdfd72e793f76caafccfc7cbed26546e13a4f0f8dd61
@@ -360,7 +360,7 @@ $.fn.form = function(fields, parameters) {
360
360
  var
361
361
  $field = module.get.field(field.identifier),
362
362
  type = validation.type,
363
- value = $field.val(),
363
+ value = $field.val() + '',
364
364
 
365
365
  bracketRegExp = /\[(.*?)\]/i,
366
366
  bracket = bracketRegExp.exec(type),
@@ -370,7 +370,7 @@ $.fn.form = function(fields, parameters) {
370
370
  ;
371
371
  // if bracket notation is used, pass in extra parameters
372
372
  if(bracket !== undefined && bracket !== null) {
373
- ancillary = bracket[1];
373
+ ancillary = '' + bracket[1];
374
374
  functionType = type.replace(bracket[0], '');
375
375
  isValid = $.proxy(settings.rules[functionType], $module)(value, ancillary);
376
376
  }
@@ -652,6 +652,7 @@ $.fn.form.settings = {
652
652
  return (value != notValue);
653
653
  },
654
654
  contains: function(value, text) {
655
+ text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
655
656
  return (value.search(text) !== -1);
656
657
  },
657
658
  is: function(value, text) {
@@ -476,12 +476,12 @@ $.fn.dimmer = function(parameters) {
476
476
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
477
477
  : query
478
478
  ;
479
- if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) {
480
- instance = instance[value];
481
- }
482
- else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) {
479
+ if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) {
483
480
  instance = instance[camelCaseValue];
484
481
  }
482
+ else if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) {
483
+ instance = instance[value];
484
+ }
485
485
  else if( instance[value] !== undefined ) {
486
486
  found = instance[value];
487
487
  return false;
@@ -46,9 +46,10 @@ $.fn.modal = function(parameters) {
46
46
 
47
47
  $module = $(this),
48
48
  $context = $(settings.context),
49
- $otherModals = $allModules.not($module),
50
49
  $close = $module.find(selector.close),
51
50
 
51
+ $allModals,
52
+ $otherModals,
52
53
  $focusedElement,
53
54
  $dimmable,
54
55
  $dimmer,
@@ -80,12 +81,15 @@ $.fn.modal = function(parameters) {
80
81
  .dimmer('get dimmer')
81
82
  ;
82
83
 
84
+ $otherModals = $module.siblings(selector.modal);
85
+ $allModals = $otherModals.add($module);
86
+
83
87
  module.verbose('Attaching close events', $close);
84
88
  $close
85
89
  .on('click' + eventNamespace, module.event.close)
86
90
  ;
87
91
  $window
88
- .on('resize', function() {
92
+ .on('resize' + eventNamespace, function() {
89
93
  module.event.debounce(module.refresh, 50);
90
94
  })
91
95
  ;
@@ -165,9 +169,9 @@ $.fn.modal = function(parameters) {
165
169
  }
166
170
  },
167
171
  click: function(event) {
168
- module.verbose('Determining if event occured on dimmer', event);
169
- if( $dimmer.find(event.target).size() === 0 ) {
170
- module.hide();
172
+ if( $(event.target).closest(selector.modal).size() === 0 ) {
173
+ module.debug('Dimmer clicked, hiding all modals');
174
+ module.hideAll();
171
175
  event.stopImmediatePropagation();
172
176
  }
173
177
  },
@@ -207,79 +211,145 @@ $.fn.modal = function(parameters) {
207
211
  }
208
212
  },
209
213
 
210
- show: function() {
214
+ show: function(callback) {
215
+ callback = $.isFunction(callback)
216
+ ? callback
217
+ : function(){}
218
+ ;
211
219
  module.showDimmer();
212
- module.cacheSizes();
213
- module.set.position();
214
- module.hideAll();
215
- if(settings.transition && $.fn.transition !== undefined) {
216
- $module
217
- .transition(settings.transition + ' in', settings.duration, module.set.active)
218
- ;
220
+ module.showModal(callback);
221
+ },
222
+
223
+ showModal: function(callback) {
224
+ callback = $.isFunction(callback)
225
+ ? callback
226
+ : function(){}
227
+ ;
228
+ if( !module.is.active() ) {
229
+ module.debug('Showing modal');
230
+ module.cacheSizes();
231
+ module.set.position();
232
+
233
+ if( $otherModals.filter(':visible').size() > 0 ) {
234
+ module.debug('Other modals visible, queueing show animation');
235
+ module.hideOthers(module.showModal);
236
+ }
237
+ else {
238
+ if(settings.transition && $.fn.transition !== undefined) {
239
+ $module
240
+ .transition(settings.transition + ' in', settings.duration, function() {
241
+ module.set.active();
242
+ callback();
243
+ })
244
+ ;
245
+ }
246
+ else {
247
+ $module
248
+ .fadeIn(settings.duration, settings.easing, function() {
249
+ module.set.active();
250
+ callback();
251
+ })
252
+ ;
253
+ }
254
+ $.proxy(settings.onShow, element)();
255
+ }
219
256
  }
220
257
  else {
221
- $module
222
- .fadeIn(settings.duration, settings.easing, module.set.active)
223
- ;
258
+ module.debug('Modal is already visible');
224
259
  }
225
- module.debug('Triggering dimmer');
226
- $.proxy(settings.onShow, element)();
227
260
  },
228
261
 
229
262
  showDimmer: function() {
230
- module.debug('Showing modal');
231
- $dimmable.dimmer('show');
263
+ if( !$dimmable.dimmer('is active') ) {
264
+ module.debug('Showing dimmer');
265
+ $dimmable.dimmer('show');
266
+ }
267
+ else {
268
+ module.debug('Dimmer already visible');
269
+ }
232
270
  },
233
271
 
234
- hide: function() {
235
- if(settings.closable) {
236
- $dimmer
237
- .off('click' + eventNamespace)
238
- ;
239
- }
272
+ hide: function(callback) {
273
+ callback = $.isFunction(callback)
274
+ ? callback
275
+ : function(){}
276
+ ;
277
+ module.hideDimmer();
278
+ module.hideModal(callback);
279
+ },
280
+
281
+ hideDimmer: function() {
240
282
  if( $dimmable.dimmer('is active') ) {
283
+ module.debug('Hiding dimmer');
284
+ if(settings.closable) {
285
+ $dimmer
286
+ .off('click' + eventNamespace)
287
+ ;
288
+ }
241
289
  $dimmable.dimmer('hide');
242
290
  }
243
- if( module.is.active() ) {
244
- module.hideModal();
245
- $.proxy(settings.onHide, element)();
246
- }
247
291
  else {
248
- module.debug('Cannot hide modal, modal is not visible');
292
+ module.debug('Dimmer is not visible cannot hide');
249
293
  }
250
294
  },
251
295
 
252
- hideDimmer: function() {
253
- module.debug('Hiding dimmer');
254
- $dimmable.dimmer('hide');
296
+ hideModal: function(callback) {
297
+ callback = $.isFunction(callback)
298
+ ? callback
299
+ : function(){}
300
+ ;
301
+ if( module.is.active() ) {
302
+ module.debug('Hiding modal');
303
+ module.remove.keyboardShortcuts();
304
+ if(settings.transition && $.fn.transition !== undefined) {
305
+ $module
306
+ .transition(settings.transition + ' out', settings.duration, function() {
307
+ module.remove.active();
308
+ module.restore.focus();
309
+ callback();
310
+ })
311
+ ;
312
+ }
313
+ else {
314
+ $module
315
+ .fadeOut(settings.duration, settings.easing, function() {
316
+ module.remove.active();
317
+ module.restore.focus();
318
+ callback();
319
+ })
320
+ ;
321
+ }
322
+ $.proxy(settings.onHide, element)();
323
+ }
255
324
  },
256
325
 
257
- hideModal: function() {
258
- module.debug('Hiding modal');
259
- module.remove.keyboardShortcuts();
260
- if(settings.transition && $.fn.transition !== undefined) {
261
- $module
262
- .transition(settings.transition + ' out', settings.duration, function() {
263
- module.remove.active();
264
- module.restore.focus();
265
- })
266
- ;
267
- }
268
- else {
269
- $module
270
- .fadeOut(settings.duration, settings.easing, function() {
271
- module.remove.active();
272
- module.restore.focus();
273
- })
326
+ hideAll: function(callback) {
327
+ callback = $.isFunction(callback)
328
+ ? callback
329
+ : function(){}
330
+ ;
331
+ if( $allModals.is(':visible') ) {
332
+ module.debug('Hiding all visible modals');
333
+ module.hideDimmer();
334
+ $allModals
335
+ .filter(':visible')
336
+ .modal('hide modal', callback)
274
337
  ;
275
338
  }
276
339
  },
277
340
 
278
- hideAll: function() {
279
- $otherModals
280
- .filter(':visible')
281
- .modal('hide')
341
+ hideOthers: function(callback) {
342
+ callback = $.isFunction(callback)
343
+ ? callback
344
+ : function(){}
282
345
  ;
346
+ if( $otherModals.is(':visible') ) {
347
+ module.debug('Hiding other modals');
348
+ $otherModals
349
+ .filter(':visible')
350
+ .modal('hide modal', callback)
351
+ ;
352
+ }
283
353
  },
284
354
 
285
355
  add: {
@@ -357,6 +427,7 @@ $.fn.modal = function(parameters) {
357
427
  ;
358
428
  if(settings.closable) {
359
429
  $dimmer
430
+ .off('click' + eventNamespace)
360
431
  .on('click' + eventNamespace, module.event.click)
361
432
  ;
362
433
  }
@@ -511,20 +582,20 @@ $.fn.modal = function(parameters) {
511
582
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
512
583
  : query
513
584
  ;
514
- if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) {
515
- instance = instance[value];
516
- }
517
- else if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) {
585
+ if( $.isPlainObject( instance[camelCaseValue] ) && (depth != maxDepth) ) {
518
586
  instance = instance[camelCaseValue];
519
587
  }
520
- else if( instance[value] !== undefined ) {
521
- found = instance[value];
522
- return false;
523
- }
524
588
  else if( instance[camelCaseValue] !== undefined ) {
525
589
  found = instance[camelCaseValue];
526
590
  return false;
527
591
  }
592
+ else if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) {
593
+ instance = instance[value];
594
+ }
595
+ else if( instance[value] !== undefined ) {
596
+ found = instance[value];
597
+ return false;
598
+ }
528
599
  else {
529
600
  module.error(error.method);
530
601
  return false;
@@ -595,7 +666,8 @@ $.fn.modal.settings = {
595
666
  selector : {
596
667
  close : '.close, .actions .button',
597
668
  approve : '.actions .positive, .actions .approve',
598
- deny : '.actions .negative, .actions .cancel'
669
+ deny : '.actions .negative, .actions .cancel',
670
+ modal : '.ui.modal'
599
671
  },
600
672
  error : {
601
673
  dimmer : 'UI Dimmer, a required component is not included in this page',
@@ -246,9 +246,18 @@
246
246
 
247
247
  /* On Field(s) */
248
248
  .ui.form .fields.error .field label,
249
- .ui.form .field.error label {
249
+ .ui.form .field.error label,
250
+ .ui.form .fields.error .field .input,
251
+ .ui.form .field.error .input {
250
252
  color: #D95C5C;
251
253
  }
254
+
255
+ .ui.form .fields.error .field .corner.label,
256
+ .ui.form .field.error .corner.label {
257
+ border-color: #D95C5C;
258
+ color: #FFFFFF;
259
+ }
260
+
252
261
  .ui.form .fields.error .field textarea,
253
262
  .ui.form .fields.error .field input[type="text"],
254
263
  .ui.form .fields.error .field input[type="email"],
@@ -276,7 +285,6 @@
276
285
  -webkit-box-shadow: 0.3em 0em 0em 0em #D95C5C inset;
277
286
  -moz-box-shadow: 0.3em 0em 0em 0em #D95C5C inset;
278
287
  box-shadow: 0.3em 0em 0em 0em #D95C5C inset;
279
-
280
288
  }
281
289
  .ui.form .field.error textarea:focus,
282
290
  .ui.form .field.error input[type="text"]:focus,
@@ -67,6 +67,17 @@ a.ui.label {
67
67
  cursor: pointer;
68
68
  }
69
69
 
70
+ /* Inside Link */
71
+ .ui.label a {
72
+ cursor: pointer;
73
+ color: inherit;
74
+ opacity: 0.8;
75
+ transition: 0.2s opacity ease;
76
+ }
77
+ .ui.label a:hover {
78
+ opacity: 1;
79
+ }
80
+
70
81
  /* Detail */
71
82
  .ui.label .detail {
72
83
  display: inline-block;
@@ -1,7 +1,7 @@
1
1
  module Semantic
2
2
  module Ui
3
3
  module Rails
4
- VERSION = "0.8.2"
4
+ VERSION = "0.8.3"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semantic-ui-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - nd0ut
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-29 00:00:00.000000000 Z
11
+ date: 2013-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: less-rails