less-rails-semantic_ui 2.0.6.0 → 2.0.7.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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/assets/javascripts/semantic_ui/definitions/behaviors/api.js +61 -33
  3. data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +3 -2
  4. data/assets/javascripts/semantic_ui/definitions/modules/popup.js +8 -7
  5. data/assets/stylesheets/semantic_ui/definitions/collections/breadcrumb.less +0 -0
  6. data/assets/stylesheets/semantic_ui/definitions/collections/form.less +0 -0
  7. data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +0 -0
  8. data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +0 -0
  9. data/assets/stylesheets/semantic_ui/definitions/collections/message.less +0 -0
  10. data/assets/stylesheets/semantic_ui/definitions/collections/table.less +0 -0
  11. data/assets/stylesheets/semantic_ui/definitions/elements/button.less +6 -3
  12. data/assets/stylesheets/semantic_ui/definitions/elements/divider.less +0 -0
  13. data/assets/stylesheets/semantic_ui/definitions/elements/flag.less +0 -0
  14. data/assets/stylesheets/semantic_ui/definitions/elements/header.less +0 -0
  15. data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +0 -0
  16. data/assets/stylesheets/semantic_ui/definitions/elements/image.less +0 -0
  17. data/assets/stylesheets/semantic_ui/definitions/elements/input.less +0 -0
  18. data/assets/stylesheets/semantic_ui/definitions/elements/label.less +0 -0
  19. data/assets/stylesheets/semantic_ui/definitions/elements/list.less +0 -0
  20. data/assets/stylesheets/semantic_ui/definitions/elements/loader.less +0 -0
  21. data/assets/stylesheets/semantic_ui/definitions/elements/rail.less +0 -0
  22. data/assets/stylesheets/semantic_ui/definitions/elements/reveal.less +0 -0
  23. data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +0 -0
  24. data/assets/stylesheets/semantic_ui/definitions/elements/step.less +0 -0
  25. data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +0 -0
  26. data/assets/stylesheets/semantic_ui/definitions/globals/site.less +0 -0
  27. data/assets/stylesheets/semantic_ui/definitions/modules/accordion.less +0 -0
  28. data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +1 -0
  29. data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +0 -0
  30. data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +0 -0
  31. data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +0 -0
  32. data/assets/stylesheets/semantic_ui/definitions/modules/nag.less +0 -0
  33. data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +0 -0
  34. data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +0 -0
  35. data/assets/stylesheets/semantic_ui/definitions/modules/rating.less +0 -0
  36. data/assets/stylesheets/semantic_ui/definitions/modules/search.less +0 -0
  37. data/assets/stylesheets/semantic_ui/definitions/modules/shape.less +0 -0
  38. data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +0 -0
  39. data/assets/stylesheets/semantic_ui/definitions/modules/sticky.less +0 -0
  40. data/assets/stylesheets/semantic_ui/definitions/modules/tab.less +0 -0
  41. data/assets/stylesheets/semantic_ui/definitions/modules/transition.less +0 -0
  42. data/assets/stylesheets/semantic_ui/definitions/views/card.less +0 -0
  43. data/assets/stylesheets/semantic_ui/definitions/views/comment.less +0 -0
  44. data/assets/stylesheets/semantic_ui/definitions/views/feed.less +0 -0
  45. data/assets/stylesheets/semantic_ui/definitions/views/item.less +0 -0
  46. data/assets/stylesheets/semantic_ui/definitions/views/statistic.less +0 -0
  47. data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.overrides +0 -0
  48. data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.variables +0 -0
  49. data/lib/generators/semantic_ui/install/templates/config/collections/form.overrides +0 -0
  50. data/lib/generators/semantic_ui/install/templates/config/collections/grid.overrides +0 -0
  51. data/lib/generators/semantic_ui/install/templates/config/collections/menu.overrides +0 -0
  52. data/lib/generators/semantic_ui/install/templates/config/collections/table.overrides +0 -0
  53. data/lib/generators/semantic_ui/install/templates/config/elements/button.overrides +0 -0
  54. data/lib/generators/semantic_ui/install/templates/config/elements/divider.overrides +0 -0
  55. data/lib/generators/semantic_ui/install/templates/config/elements/flag.overrides +0 -0
  56. data/lib/generators/semantic_ui/install/templates/config/elements/header.overrides +0 -0
  57. data/lib/generators/semantic_ui/install/templates/config/elements/icon.overrides +0 -0
  58. data/lib/generators/semantic_ui/install/templates/config/elements/image.overrides +0 -0
  59. data/lib/generators/semantic_ui/install/templates/config/elements/input.overrides +0 -0
  60. data/lib/generators/semantic_ui/install/templates/config/elements/label.overrides +0 -0
  61. data/lib/generators/semantic_ui/install/templates/config/elements/loader.overrides +0 -0
  62. data/lib/generators/semantic_ui/install/templates/config/elements/rail.overrides +0 -0
  63. data/lib/generators/semantic_ui/install/templates/config/elements/reveal.overrides +0 -0
  64. data/lib/generators/semantic_ui/install/templates/config/elements/segment.overrides +0 -0
  65. data/lib/generators/semantic_ui/install/templates/config/elements/step.overrides +0 -0
  66. data/lib/generators/semantic_ui/install/templates/config/globals/reset.overrides +0 -0
  67. data/lib/generators/semantic_ui/install/templates/config/globals/site.overrides +0 -0
  68. data/lib/generators/semantic_ui/install/templates/config/modules/checkbox.overrides +0 -0
  69. data/lib/generators/semantic_ui/install/templates/config/modules/modal.overrides +0 -0
  70. data/lib/generators/semantic_ui/install/templates/config/modules/modal.variables +0 -0
  71. data/lib/generators/semantic_ui/install/templates/config/modules/progress.overrides +0 -0
  72. data/lib/generators/semantic_ui/install/templates/config/modules/rating.overrides +0 -0
  73. data/lib/generators/semantic_ui/install/templates/config/modules/rating.variables +0 -0
  74. data/lib/generators/semantic_ui/install/templates/config/modules/search.overrides +0 -0
  75. data/lib/generators/semantic_ui/install/templates/config/modules/search.variables +0 -0
  76. data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.overrides +0 -0
  77. data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.variables +0 -0
  78. data/lib/generators/semantic_ui/install/templates/config/modules/sticky.overrides +0 -0
  79. data/lib/generators/semantic_ui/install/templates/config/modules/sticky.variables +0 -0
  80. data/lib/generators/semantic_ui/install/templates/config/modules/transition.overrides +0 -0
  81. data/lib/generators/semantic_ui/install/templates/config/modules/video.overrides +0 -0
  82. data/lib/generators/semantic_ui/install/templates/theme.config +0 -0
  83. data/lib/less/rails/semantic_ui/version.rb +1 -1
  84. data/tasks/update.rake +9 -0
  85. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbf4e1ce235b9e59cd0525fbf78a1e96ea4fe99b
4
- data.tar.gz: 6b93df85deadfdac5827a014aa748e5ffe1fa42c
3
+ metadata.gz: e8d24723db4d5cb6e18e7274de27abf0bbf82cee
4
+ data.tar.gz: a63d17ebed38233ed9977c912d94cadd1fb03513
5
5
  SHA512:
6
- metadata.gz: 50678692bb0a499e35b5b51ccccec0935e1e089486ab8f9ed20b7eaf8f07215d9d0b23a8d3d17e3a5eb39e8411b3f002e1a4114bd28786df3a6c6a5180e2aa6c
7
- data.tar.gz: 2675e2b3a622029103ef975c6d7eff5057d9b9d720c80263e01a64b232b0316277c2372848719eb65ad548b4172be8827723c6a8a5bf5a401f8c927ba54c9145
6
+ metadata.gz: be0f79c5614e0ec2d5ea5617edb619dabaeddbbe3a50320625e3a43e503b51d4ea0e35ab08967b357f5e402eddfcce2ef8c38a825e2c532a5ed07d612eba37e6
7
+ data.tar.gz: 3e34a365b0063f9decea360b5210189433e7f7ca55f564d5d9fdae4fbd246bddf046e78005b308aaa734d8fd8af192e28bbcf11ae914149a86f191ddd8edd435
@@ -115,6 +115,20 @@ $.api = $.fn.api = function(parameters) {
115
115
  }
116
116
  },
117
117
 
118
+ decode: {
119
+ json: function(response) {
120
+ if(response !== undefined && typeof response == 'string') {
121
+ try {
122
+ response = JSON.parse(response);
123
+ }
124
+ catch(e) {
125
+ // isnt json string
126
+ }
127
+ }
128
+ return response;
129
+ }
130
+ },
131
+
118
132
  read: {
119
133
  cachedResponse: function(url) {
120
134
  var
@@ -126,15 +140,7 @@ $.api = $.fn.api = function(parameters) {
126
140
  }
127
141
  response = sessionStorage.getItem(url);
128
142
  module.debug('Using cached response', url, response);
129
- if(response !== undefined) {
130
- try {
131
- response = JSON.parse(response);
132
- }
133
- catch(e) {
134
- // didnt store object
135
- }
136
- return response;
137
- }
143
+ response = module.decode.json(response);
138
144
  return false;
139
145
  }
140
146
  },
@@ -287,7 +293,7 @@ $.api = $.fn.api = function(parameters) {
287
293
  }
288
294
  },
289
295
  validResponse: function(response) {
290
- if( settings.dataType !== 'json' || !$.isFunction(settings.successTest) ) {
296
+ if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) {
291
297
  module.verbose('Response is not JSON, skipping validation', settings.successTest, response);
292
298
  return true;
293
299
  }
@@ -445,13 +451,13 @@ $.api = $.fn.api = function(parameters) {
445
451
  },
446
452
  xhr: {
447
453
  always: function() {
448
- // calculate if loading time was below minimum threshold
454
+ // nothing special
449
455
  },
450
456
  done: function(response, textStatus, xhr) {
451
457
  var
452
- context = this,
453
- elapsedTime = (new Date().getTime() - requestStartTime),
454
- timeLeft = (settings.loadingDuration - elapsedTime),
458
+ context = this,
459
+ elapsedTime = (new Date().getTime() - requestStartTime),
460
+ timeLeft = (settings.loadingDuration - elapsedTime),
455
461
  translatedResponse = ( $.isFunction(settings.onResponse) )
456
462
  ? settings.onResponse.call(context, $.extend(true, {}, response))
457
463
  : false
@@ -469,7 +475,7 @@ $.api = $.fn.api = function(parameters) {
469
475
  }
470
476
  setTimeout(function() {
471
477
  if( module.is.validResponse(response) ) {
472
- module.request.resolveWith(context, [response]);
478
+ module.request.resolveWith(context, [response, xhr]);
473
479
  }
474
480
  else {
475
481
  module.request.rejectWith(context, [xhr, 'invalid']);
@@ -500,46 +506,52 @@ $.api = $.fn.api = function(parameters) {
500
506
  }
501
507
  },
502
508
  request: {
503
- complete: function(response) {
504
- module.remove.loading();
505
- settings.onComplete.call(context, response, $module);
506
- },
507
- done: function(response) {
509
+ done: function(response, xhr) {
508
510
  module.debug('Successful API Response', response);
509
511
  if(settings.cache === 'local' && url) {
510
512
  module.write.cachedResponse(url, response);
511
513
  module.debug('Saving server response locally', module.cache);
512
514
  }
513
- settings.onSuccess.call(context, response, $module);
515
+ settings.onSuccess.call(context, response, $module, xhr);
516
+ },
517
+ complete: function(firstParameter, secondParameter) {
518
+ var
519
+ xhr,
520
+ response
521
+ ;
522
+ // have to guess callback parameters based on request success
523
+ if( module.was.succesful() ) {
524
+ response = firstParameter;
525
+ xhr = secondParameter;
526
+ }
527
+ else {
528
+ xhr = firstParameter;
529
+ response = module.get.responseFromXHR(xhr);
530
+ }
531
+ module.remove.loading();
532
+ settings.onComplete.call(context, response, $module, xhr);
514
533
  },
515
534
  fail: function(xhr, status, httpMessage) {
516
535
  var
517
536
  // pull response from xhr if available
518
- response = $.isPlainObject(xhr)
519
- ? (xhr.responseText)
520
- : false,
521
- errorMessage = ($.isPlainObject(response) && response.error !== undefined)
522
- ? response.error // use json error message
523
- : (settings.error[status] !== undefined) // use server error message
524
- ? settings.error[status]
525
- : httpMessage
537
+ response = module.get.responseFromXHR(xhr),
538
+ errorMessage = module.get.errorFromRequest(response, status, httpMessage)
526
539
  ;
527
540
  if(status == 'aborted') {
528
541
  module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
529
- settings.onAbort.call(context, status, $module);
542
+ settings.onAbort.call(context, status, $module, xhr);
530
543
  }
531
544
  else if(status == 'invalid') {
532
545
  module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);
533
546
  }
534
547
  else if(status == 'error') {
535
-
536
548
  if(xhr !== undefined) {
537
549
  module.debug('XHR produced a server error', status, httpMessage);
538
550
  // make sure we have an error to display to console
539
551
  if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {
540
552
  module.error(error.statusMessage + httpMessage, ajaxSettings.url);
541
553
  }
542
- settings.onError.call(context, errorMessage, $module);
554
+ settings.onError.call(context, errorMessage, $module, xhr);
543
555
  }
544
556
  }
545
557
 
@@ -549,7 +561,7 @@ $.api = $.fn.api = function(parameters) {
549
561
  setTimeout(module.remove.error, settings.errorDuration);
550
562
  }
551
563
  module.debug('API Request failed', errorMessage, xhr);
552
- settings.onFailure.call(context, response, $module);
564
+ settings.onFailure.call(context, response, $module, xhr);
553
565
  }
554
566
  }
555
567
  },
@@ -650,6 +662,22 @@ $.api = $.fn.api = function(parameters) {
650
662
  },
651
663
 
652
664
  get: {
665
+ responseFromXHR: function(xhr) {
666
+ return $.isPlainObject(xhr)
667
+ ? (settings.dataType == 'json' || settings.dataType == 'jsonp')
668
+ ? module.decode.json(xhr.responseText)
669
+ : xhr.responseText
670
+ : false
671
+ ;
672
+ },
673
+ errorFromRequest: function(response, status, httpMessage) {
674
+ return ($.isPlainObject(response) && response.error !== undefined)
675
+ ? response.error // use json error message
676
+ : (settings.error[status] !== undefined) // use server error message
677
+ ? settings.error[status]
678
+ : httpMessage
679
+ ;
680
+ },
653
681
  request: function() {
654
682
  return module.request || false;
655
683
  },
@@ -895,7 +895,7 @@ $.fn.dropdown = function(parameters) {
895
895
  toggleBehavior = (module.is.multiple())
896
896
  ? module.show
897
897
  : module.toggle
898
- ;
898
+ ;
899
899
  if( module.determine.eventOnElement(event, toggleBehavior) ) {
900
900
  event.preventDefault();
901
901
  }
@@ -1297,7 +1297,8 @@ $.fn.dropdown = function(parameters) {
1297
1297
  eventOnElement: function(event, callback) {
1298
1298
  var
1299
1299
  $target = $(event.target),
1300
- notOnLabel = ($target.closest(selector.siblingLabel).length === 0),
1300
+ $label = $target.closest(selector.siblingLabel),
1301
+ notOnLabel = ($module.find($label).length === 0),
1301
1302
  notInMenu = ($target.closest($menu).length === 0)
1302
1303
  ;
1303
1304
  callback = $.isFunction(callback)
@@ -22,7 +22,7 @@ $.fn.popup = function(parameters) {
22
22
 
23
23
  moduleSelector = $allModules.selector || '',
24
24
 
25
- hasTouch = ('ontouchstart' in document.documentElement),
25
+ hasTouch = (true),
26
26
  time = new Date().getTime(),
27
27
  performance = [],
28
28
 
@@ -156,7 +156,9 @@ $.fn.popup = function(parameters) {
156
156
  : settings.delay
157
157
  ;
158
158
  clearTimeout(module.hideTimer);
159
- module.showTimer = setTimeout(module.show, delay);
159
+ if(!openedWithTouch) {
160
+ module.showTimer = setTimeout(module.show, delay);
161
+ }
160
162
  },
161
163
  end: function() {
162
164
  var
@@ -169,7 +171,7 @@ $.fn.popup = function(parameters) {
169
171
  },
170
172
  touchstart: function(event) {
171
173
  openedWithTouch = true;
172
- module.event.start();
174
+ module.show();
173
175
  },
174
176
  resize: function() {
175
177
  if( module.is.visible() ) {
@@ -279,7 +281,6 @@ $.fn.popup = function(parameters) {
279
281
  show: function(callback) {
280
282
  callback = callback || function(){};
281
283
  module.debug('Showing pop-up', settings.transition);
282
-
283
284
  if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {
284
285
  if( !module.exists() ) {
285
286
  module.create();
@@ -398,8 +399,8 @@ $.fn.popup = function(parameters) {
398
399
  hide: function(callback) {
399
400
  callback = $.isFunction(callback) ? callback : function(){};
400
401
  module.debug('Hiding pop-up');
401
- if(settings.onShow.call($popup, element) === false) {
402
- module.debug('onShow callback returned false, cancelling popup animation');
402
+ if(settings.onHide.call($popup, element) === false) {
403
+ module.debug('onHide callback returned false, cancelling popup animation');
403
404
  return;
404
405
  }
405
406
  if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
@@ -884,7 +885,7 @@ $.fn.popup = function(parameters) {
884
885
  .on('touchstart' + eventNamespace, module.event.touchstart)
885
886
  ;
886
887
  }
887
- else if( module.get.startEvent() ) {
888
+ if( module.get.startEvent() ) {
888
889
  $module
889
890
  .on(module.get.startEvent() + eventNamespace, module.event.start)
890
891
  .on(module.get.endEvent() + eventNamespace, module.event.end)
@@ -777,13 +777,14 @@
777
777
  position: absolute;
778
778
  height: 100%;
779
779
  line-height: 1;
780
+ border-radius: 0px;
781
+ border-top-left-radius: inherit;
782
+ border-bottom-left-radius: inherit;
780
783
 
781
784
  width: @labeledIconWidth;
782
785
  background-color: @labeledIconBackgroundColor;
783
786
  text-align: center;
784
787
  color: @labeledIconColor;
785
-
786
- border-radius: @borderRadius 0px 0px @borderRadius;
787
788
  box-shadow: @labeledIconLeftShadow;
788
789
  }
789
790
 
@@ -802,7 +803,9 @@
802
803
  .ui[class*="right labeled"].icon.button > .icon {
803
804
  left: auto;
804
805
  right: 0em;
805
- border-radius: 0em @borderRadius @borderRadius 0em;
806
+ border-radius: 0px;
807
+ border-top-right-radius: inherit;
808
+ border-bottom-right-radius: inherit;
806
809
  box-shadow: @labeledIconRightShadow;
807
810
  }
808
811
 
@@ -43,6 +43,7 @@
43
43
  backface-visibility: hidden;
44
44
  outline: none;
45
45
  vertical-align: baseline;
46
+ font-style: normal;
46
47
 
47
48
  min-height: @checkboxSize;
48
49
  font-size: @medium;
@@ -1,7 +1,7 @@
1
1
  module Less
2
2
  module Rails
3
3
  module SemanticUI
4
- VERSION = '2.0.6.0'
4
+ VERSION = '2.0.7.0'
5
5
  end
6
6
  end
7
7
  end
data/tasks/update.rake CHANGED
@@ -15,6 +15,8 @@ namespace :update do
15
15
  transform_sources
16
16
 
17
17
  bump_gem_version(version)
18
+
19
+ mark_all_files_as_world_readable
18
20
  end
19
21
 
20
22
  def paths
@@ -191,6 +193,13 @@ namespace :update do
191
193
  File.write(version_file, File.read(version_file).gsub(/\d+\.\d+\.\d+\.\d+/, "#{version}.0"))
192
194
  end
193
195
 
196
+ def mark_all_files_as_world_readable
197
+ Dir[File.join(paths.root, '{assets,lib,spec,tasks}', '**/*')].each do |file|
198
+ mode = File.directory?(file) ? 0755 : 0644
199
+ File.chmod(mode, file)
200
+ end
201
+ end
202
+
194
203
  private
195
204
 
196
205
  def copy_tree(src, src_dir, dest_dir)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: less-rails-semantic_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6.0
4
+ version: 2.0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxim Dobryakov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-23 00:00:00.000000000 Z
11
+ date: 2015-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: less-rails