thin_man 0.18.8 → 0.19.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfcee398a512f3c1566f1ccb7b39cebfa7d11a7b
4
- data.tar.gz: 15401b14f19967df3219dcf4319d6dce7622c149
3
+ metadata.gz: 22cee53a7335296016234e29f4cabb9c6fb82772
4
+ data.tar.gz: b542a31e952e980e53c5c4cc9ca4774a531c814b
5
5
  SHA512:
6
- metadata.gz: 5efd97ae8d11384ba9b15ba00aef30e1cafb8ca4cd12081b12ef792d5aebdc9dd56492d95e8995beb86b286e87d35c0dbdf6d108c70c7edc5ee2f15c694bebfc
7
- data.tar.gz: 4c34d42f254d97957bed9af5169aae3ee82cc704dfb837b842e702c81e85a0aa8b1e364841c038b014add4d3febd1ad4907f442c9487a23015e007be5f4d977e
6
+ metadata.gz: 946774208ed521efd504380c900531eb4967c0f50c84e7c5ce1653c9f563c88dcf41813b6c643eb37315737a390b3d03bbfe6aa9526518154e9f61c47f01ae17
7
+ data.tar.gz: 3072557e1b96b03bedc190349b385c97cf85b0e34e48482b12ba48bfc7dee351094cda135a4b09f6bac4c1d59007353cd7a93430b2dcd547c2bf22c1537ec3d6
@@ -63,18 +63,20 @@ var initThinMan = function(){
63
63
  }),
64
64
  AjaxSubmission: Class.extend({
65
65
  init: function(jq_obj,params){
66
- this.jq_obj = jq_obj;
67
- this.params = params;
66
+ this.jq_obj = jq_obj
67
+ this.params = params
68
68
  if(!this.params){ this.params = {}}
69
69
  // Bail out if this is a no-mouse-click ajax element and we were mouse clicked
70
70
  if(this.wasMouseClicked() && this.noMouseClick()){
71
- return false;
72
- }
73
- this.getTrigger();
74
- this.getTarget();
75
- this.getErrorTarget();
76
- this.progress_color = jq_obj.data('progress-color');
77
- this.progress_target = $(jq_obj.data('progress-target'));
71
+ return false
72
+ }
73
+ this.getTrigger()
74
+ this.getTarget()
75
+ this.getErrorTarget()
76
+ this.progress_color = jq_obj.data('progress-color')
77
+ this.progress_target = $(jq_obj.data('progress-target'))
78
+ this.$mask_target = $(jq_obj.data('mask-target'))
79
+ this.$mask_message = jq_obj.data('mask-message')
78
80
  this.custom_progress = typeof(jq_obj.data('custom-progress')) != 'undefined';
79
81
  this.scroll_to = jq_obj.data('scroll-to')
80
82
  this.watchers = []
@@ -82,8 +84,8 @@ var initThinMan = function(){
82
84
  this.progress_target = this.trigger
83
85
  this.trigger_is_progress_target = true
84
86
  }
85
- this.insert_method = this.getInsertMethod();
86
- var ajax_submission = this;
87
+ this.insert_method = this.getInsertMethod()
88
+ var ajax_submission = this
87
89
  this.ajax_options = {
88
90
  url: ajax_submission.getAjaxUrl(),
89
91
  type: ajax_submission.getAjaxType(),
@@ -276,6 +278,9 @@ var initThinMan = function(){
276
278
  } else if(!this.trigger_is_progress_target){
277
279
  this.progress_target.remove();
278
280
  }
281
+ if(this.$mask_target){
282
+ this.mask.remove();
283
+ }
279
284
  try{
280
285
  var response_data = JSON.parse(jqXHR.responseText)
281
286
  } catch(err) {
@@ -307,6 +312,9 @@ var initThinMan = function(){
307
312
  if(!this.custom_progress){
308
313
  this.progress_indicator = new thin_man.AjaxProgress(this.progress_target,this.target,this.progress_color);
309
314
  }
315
+ if(this.$mask_target){
316
+ this.mask = new thin_man.AjaxMask(this.$mask_target,this.$mask_message)
317
+ }
310
318
  },
311
319
  ajaxError: function( jqXHR ) {
312
320
  debug_logger.log('thin_man.AjaxSubmission.ajaxError jqXHR:')
@@ -405,7 +413,7 @@ var initThinMan = function(){
405
413
  var progress_color = 'black';
406
414
  }
407
415
  this.progress_container = $('#ajax_progress_container').clone();
408
- uuid = new UUID;
416
+ var uuid = new UUID;
409
417
  this.progress_container.prop('id', 'thin_man_ajax_progress_' + uuid.value);
410
418
  this.progress_target.append(this.progress_container);
411
419
  var css = {display: 'block', visibility: 'visible','color': progress_color, 'z-index': 1000000}
@@ -420,6 +428,33 @@ var initThinMan = function(){
420
428
  this.progress_container.remove();
421
429
  }
422
430
  }),
431
+ AjaxMask: Class.extend({
432
+ init: function($mask_target,mask_message){
433
+ var uuid = new UUID;
434
+ this.$mask_target = $mask_target
435
+ this.$mask = $('#thin_man_mask').clone()
436
+ this.$mask.prop('id','thin_man_mask' + uuid.value)
437
+ if(typeof mask_message != 'undefined'){
438
+ var $message = this.$mask.find('[data-thin-man-mask-message]')
439
+ $message.html(mask_message)
440
+ }
441
+ var height = this.$mask_target.outerHeight()
442
+ var width = this.$mask_target.outerWidth()
443
+ var radius = this.$mask_target.css('border-radius')
444
+ this.$mask.css({'height': height, 'width': width, 'left': 0, 'top':0, 'border-radius':radius})
445
+ this.$mask.css({'position': 'absolute', 'z-index': 10000})
446
+
447
+ this.$mask_target.append(this.$mask)
448
+ this.$mask.on('click', function(e){
449
+ e.preventDefault();
450
+ return false;
451
+ })
452
+ this.$mask.show()
453
+ },
454
+ remove: function(){
455
+ this.$mask.remove()
456
+ }
457
+ }),
423
458
  AjaxFlash: Class.extend({
424
459
  init: function(type,message,elem,duration){
425
460
  this.flash_container = $('[data-thin-man-flash-template]').clone();
@@ -1,3 +1,3 @@
1
1
  module ThinMan
2
- VERSION = "0.18.8"
2
+ VERSION = "0.19.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thin_man
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.8
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Draut, Adam Bialek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-21 00:00:00.000000000 Z
11
+ date: 2017-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  version: '0'
129
129
  requirements: []
130
130
  rubyforge_project:
131
- rubygems_version: 2.5.1
131
+ rubygems_version: 2.6.11
132
132
  signing_key:
133
133
  specification_version: 4
134
134
  summary: A Rails library that makes web apps lively while keeping all the logic on