thecore_dataentry_commons 1.4.7 → 2.0.2

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
  SHA256:
3
- metadata.gz: 5c32e615b4d9709032878d535a678e424161a124075427c4630feed29a4b6c46
4
- data.tar.gz: '092968d69255797c074bd22fbd5f4cbea0a78ca480344c3131c3d84703f74d31'
3
+ metadata.gz: 98cf537394cb413a353796313e4244682d652b6ac2e99a7b58312b4338ec3ae0
4
+ data.tar.gz: 6161a1a38897ed7c2164b75aca068436f33a1a201f41e3afc717a93efba0caa1
5
5
  SHA512:
6
- metadata.gz: 2bd0cbbdb728ae47e4614fe48d29fc1bbb83e551e473d49692bee167aebf74a2a9fa05e55e534f3beeef2a2f106321ae015a497c3b8ed9244192726b3d948b08
7
- data.tar.gz: cafdeb83b68bb348892114af3c1403575c80af52963e494bf0ace1362541f4617c2909d2be70036b987c40ce1056dc759d7e4dda5c80328cfec1c384088a4535
6
+ metadata.gz: caae373573cb3779a99a56dbca2854c49a75925f18c9b3db7c521f7c3a2a597e8252418087a76a1178754245d4131d71c37b33bf1e85a9b7c81c5c1e7ca075b6
7
+ data.tar.gz: f6bd40ed3859fb50a797c3625f1bf62c1ba54bdbab4628b3e121d315f5f31815c0dc4bba3735b15b6d78bd0d28e059c7fe25d351d102b996c5a74c3aa0d62be8
@@ -3,10 +3,22 @@
3
3
 
4
4
  <%= render "dataentry_commons_data_container", hide_action: (hide_action rescue true)%>
5
5
 
6
+ <%= render "dataentry_commons_data_action" %>
6
7
  <script>
7
8
  var code;
8
9
  var returnedData;
9
10
  var additionalData = {};
11
+ var disableKeyManagement = false;
12
+
13
+ function resetInfo() {
14
+ returnedData = code = undefined;
15
+ $("#barcode").empty();
16
+ $("#data-info").empty().hide();
17
+ $("#data-content").empty().hide();
18
+ <%-unless (hide_action rescue true)%>
19
+ $("#data-action").hide();
20
+ <%-end%>
21
+ }
10
22
 
11
23
  // These functions can be overridden in the containing file
12
24
  function setAll() {
@@ -17,14 +29,10 @@
17
29
  <%-end%>
18
30
  }
19
31
 
20
- function resetInfo() {
21
- returnedData = code = undefined;
22
- $("#barcode").empty();
23
- $("#data-info").empty().hide();
24
- $("#data-content").empty().hide();
25
- <%-unless (hide_action rescue true)%>
26
- $("#data-action").hide();
27
- <%-end%>
32
+ function resetAll() {
33
+ // Resetting all to the starting condition
34
+ resetCurrentBtn();
35
+ resetInfo();
28
36
  }
29
37
 
30
38
  function contentHtmlString(data){
@@ -33,6 +41,8 @@
33
41
 
34
42
  function barcodeScannedSuccess(data, status) {
35
43
  returnedData = data;
44
+ if(disableKeyManagement)
45
+ $(window).off('keydown');
36
46
  // Cleaning up
37
47
  $("#data-content").empty().hide();
38
48
  // Setting info already formatted from the controller
@@ -49,30 +59,21 @@
49
59
  function barcodeScannedThen(appended){}
50
60
 
51
61
  function barcodeScannedFailure(errorObj) {
52
- // Resetting all to the starting condition
53
- resetCurrentBtn();
54
- resetInfo();
62
+ returnedData = errorObj.responseJSON;
55
63
  // Showing modal error
56
- openModal("<%=t :error %>", errorObj.responseJSON.error);
64
+ var primary = null
65
+ var secondary = null
66
+ if (errorObj.responseJSON.primary_btn)
67
+ primary = window[errorObj.responseJSON.primary_btn];
68
+ if (errorObj.responseJSON.secondary_btn)
69
+ secondary = window[errorObj.responseJSON.secondary_btn];
70
+ openModal("<%=t :error %>", errorObj.responseJSON.error, primary, secondary);
71
+ if(!primary && !secondary)
72
+ resetAll();
57
73
  }
58
74
 
59
75
  <%-unless (hide_action rescue true)%>
60
- function dataActionSuccess(data, status) {
61
- openModal("<%=t :success %>", data.message);
62
- setAll();
63
- resetCurrentBtn();
64
- return data;
65
- }
66
-
67
- function dataActionThen(data){}
68
-
69
- function dataActionFailure(errorObj) {
70
- barcodeScannedFailure(errorObj);
71
- }
72
-
73
- function dataActionAlways(){
74
- $("#data-action").button('reset');
75
- }
76
+ dataAction.init();
76
77
  <%-end%>
77
78
  // END of overridable functions
78
79
 
@@ -86,27 +87,13 @@
86
87
  parameters: additionalData
87
88
  }).then(barcodeScannedSuccess).done(barcodeScannedThen).fail(barcodeScannedFailure);
88
89
  }
90
+
89
91
  <%-if (start_disabled rescue false)%>
90
92
  $('#send').off('click', sendFunction);
91
93
  <%-else%>
92
94
  $('#send').on('click', sendFunction);
93
95
  <%-end%>
94
96
 
95
- <%-unless (hide_action rescue true)%>
96
- // Operation on button click
97
- $("#data-action").click(function () {
98
- code = $('#barcode');
99
- code.prop('disabled', true);
100
- $(this).button('loading');
101
- $.get('<%=rails_admin.send("#{action_name}_path")%>', {
102
- barcode: code.val(),
103
- parameters: additionalData,
104
- what_to_do: "data-action",
105
- data: returnedData
106
- }).then(dataActionSuccess).done(dataActionThen).fail(dataActionFailure).always(dataActionAlways);
107
- });
108
- <%-end%>
109
-
110
97
  // Starting with a clean interface
111
98
  resetInfo();
112
99
  </script>
@@ -0,0 +1,54 @@
1
+ <script>
2
+ var dataAction = {
3
+
4
+ success: function(data, status) {
5
+ openModal('<%=t :success %>', data.message || data.info);
6
+ setAll();
7
+ resetCurrentBtn();
8
+ return data;
9
+ },
10
+
11
+ then: function(data) {},
12
+
13
+ failure: function(errorObj) {
14
+ barcodeScannedFailure(errorObj);
15
+ },
16
+
17
+ always: function () {
18
+ $("#data-action").button('reset');
19
+ dataAction.dispose();
20
+ },
21
+ // Operation on button click
22
+ before: function() {},
23
+
24
+ run: function() {
25
+ code = $('#barcode');
26
+ code.prop('disabled', true);
27
+ $(this).button('loading');
28
+ this.before();
29
+ $.post('<%=rails_admin.send("#{action_name}_path")%>', {
30
+ barcode: code.val(),
31
+ parameters: additionalData,
32
+ what_to_do: "data-action",
33
+ data: returnedData
34
+ }).then(this.success).done(this.then).fail(this.failure).always(this.always);
35
+ },
36
+
37
+ init: function() {
38
+ $(window).off('keydown', manageScannedKeystrokes);
39
+ let dataActionHtml = $([
40
+ '<div class="row" id="data-action-container">',
41
+ ' <button id="data-action" onclick="dataAction.run(); return false;" class="btn btn-danger col-lg-12" data-loading-text="<i class=\'fa fa-spinner fa-spin \'></i> <%=t :loading %>"><%=t "barcode.action.name"%></button>',
42
+ '</div>'
43
+ ].join("\n"));
44
+ $("#info-container").append(dataActionHtml);
45
+ // $("#data-action").click(dataAction.run);
46
+ },
47
+
48
+ dispose: function() {
49
+ $("#data-action-container").remove();
50
+ $(window).off('keydown');
51
+ $(window).on('keydown', manageScannedKeystrokes);
52
+ }
53
+ }
54
+ </script>
@@ -1,13 +1,8 @@
1
- <div class="container" style="margin-top: 1em;">
1
+ <div class="container" style="margin-top: 1em;" id="info-container">
2
2
  <div class="row">
3
3
  <div id="data-info" class="alert alert-warning col-lg-12"></div>
4
4
  </div>
5
5
  <div class="row">
6
6
  <div id="data-content" class="alert alert-warning col-lg-12"></div>
7
7
  </div>
8
- <%-unless (hide_action rescue true)%>
9
- <div class="row">
10
- <button id="data-action" class="btn btn-danger col-lg-12" data-loading-text="<i class='fa fa-spinner fa-spin '></i> <%=t :loading %>"><%=t "barcode.action.name"%></button>
11
- </div>
12
- <%-end%>
13
8
  </div>
@@ -1 +1,9 @@
1
+ <script>
2
+ function resetCurrentBtn() {
3
+ $("#send").button('reset');
4
+ $("#barcode").prop('disabled', false);
5
+ $("#barcode").val('');
6
+ // sendMessageToServer(msg_input_plugin_enable); clickedBtn = code = null;
7
+ }
8
+ </script>
1
9
  <%=render (@type.presence || "kp"), start_disabled: (start_disabled rescue false) %>
@@ -13,12 +13,6 @@
13
13
  // var clickedBtn; var code; Gestisco il keypress sull'input
14
14
  // $("#barcode").on(kpMode, keypressAndReturn);
15
15
 
16
- function resetCurrentBtn() {
17
- $("#send").button('reset');
18
- $("#barcode").prop('disabled', false);
19
- $("#barcode").val('');
20
- // sendMessageToServer(msg_input_plugin_enable); clickedBtn = code = null;
21
- }
22
16
  // var clickedBtn; var code; Gestisco il keypress sull'input
23
17
  function manageScannedKeystrokes(event) {
24
18
  const keycode = (event.keyCode ? event.keyCode : event.which);
@@ -0,0 +1,65 @@
1
+ <script>
2
+ function buildDTPicker(id, label, initialValue, ro, date_only){
3
+ var html = '<div class="input-group date" default-date="'+initialValue+'">';
4
+ html += '<label class="input-group-addon">'+label+'</label>';
5
+ html += '<input class="form-control" type="text" readonly/>';
6
+ html += '<label class="input-group-addon"><i class="fa fa-fw fa-calendar"></i></label>';
7
+ html += '</div>';
8
+ var jqueryObj = $(html);
9
+ var dtParams = {
10
+ locale: "<%=I18n.locale%>",
11
+ defaultDate: initialValue,
12
+ ignoreReadonly: !ro,
13
+ allowInputToggle: true,
14
+ sideBySide: true,
15
+ icons: {
16
+ time: 'fa fa-clock',
17
+ date: 'fa fa-calendar',
18
+ up: 'fa fa-chevron-up',
19
+ down: 'fa fa-chevron-down',
20
+ previous: 'fa fa-chevron-left',
21
+ next: 'fa fa-chevron-right',
22
+ today: 'fa fa-calendar-check',
23
+ clear: 'fa fa-trash',
24
+ close: 'fa fa-times'
25
+ }
26
+ }
27
+ if(date_only)
28
+ dtParams.format = "L";
29
+ jqueryObj.datetimepicker(dtParams).on('dp.change', function (e){
30
+ returnedData[id.replace(/-/g, '_')] = e.date.format();
31
+ $(this).datetimepicker('hide');
32
+ });
33
+ return jqueryObj;
34
+ }
35
+
36
+ function buildDatePicker(id, initialValue) {
37
+ var html = '<div class="input-group date" id="' + id + '">';
38
+ html += '<input type="text" class="form-control" />';
39
+ html += '<label class="input-group-addon"><i class="fa fa-fw fa-calendar"></i></label>';
40
+ html += '</div>';
41
+ var jqueryObj = $(html);
42
+ var dtParams = {
43
+ locale: "<%=I18n.locale%>",
44
+ defaultDate: initialValue,
45
+ allowInputToggle: true,
46
+ format: 'L',
47
+ icons: {
48
+ time: 'fa fa-clock',
49
+ date: 'fa fa-calendar',
50
+ up: 'fa fa-chevron-up',
51
+ down: 'fa fa-chevron-down',
52
+ previous: 'fa fa-chevron-left',
53
+ next: 'fa fa-chevron-right',
54
+ today: 'fa fa-calendar-check',
55
+ clear: 'fa fa-trash',
56
+ close: 'fa fa-times'
57
+ }
58
+ }
59
+ jqueryObj.datetimepicker(dtParams).on('dp.change', function (e){
60
+ $(this).datetimepicker('hide');
61
+ //returnedData[id.replace(/-/g, '_')] = e.date.format();
62
+ });
63
+ return jqueryObj;
64
+ }
65
+ </script>
@@ -16,4 +16,4 @@ en:
16
16
  barcode:
17
17
  action:
18
18
  name:
19
- Send (CTRL + space)
19
+ Send
@@ -16,4 +16,4 @@ it:
16
16
  barcode:
17
17
  action:
18
18
  name:
19
- Invia (CTRL + spazio)
19
+ Elabora
@@ -1,6 +1,6 @@
1
- require "thecore_settings"
2
- require "thecore_dataentry_commons/engine"
1
+ require "thecore_ui_rails_admin"
3
2
  require "browser"
3
+ require "thecore_dataentry_commons/engine"
4
4
 
5
5
  module ThecoreDataentryCommons
6
6
  # Your code goes here...
@@ -1,3 +1,3 @@
1
1
  module ThecoreDataentryCommons
2
- VERSION = '1.4.7'.freeze
2
+ VERSION = '2.0.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thecore_dataentry_commons
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriele Tassoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-30 00:00:00.000000000 Z
11
+ date: 2020-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: thecore_settings
14
+ name: thecore_ui_rails_admin
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.1'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.1'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: browser
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.5'
33
+ version: '4.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.5'
40
+ version: '4.1'
41
41
  description: This plugin adds some partials to deal with DataWedge WebSocket.
42
42
  email:
43
43
  - gabriele.tassoni@gmail.com
@@ -49,11 +49,13 @@ files:
49
49
  - README.md
50
50
  - app/views/higher_level/_barcode_simple_scan.html.erb
51
51
  - app/views/rails_admin/main/_barcode_scan_mode_detection.html.erb
52
+ - app/views/rails_admin/main/_dataentry_commons_data_action.html.erb
52
53
  - app/views/rails_admin/main/_dataentry_commons_data_container.html.erb
53
54
  - app/views/rails_admin/main/_dataentry_commons_input_group.html.erb
54
55
  - app/views/rails_admin/main/_dataentry_commons_input_group_logic.html.erb
55
56
  - app/views/rails_admin/main/_kp.html.erb
56
57
  - app/views/rails_admin/main/_ws.html.erb
58
+ - app/views/thecore_utils/_html_helpers.html.erb
57
59
  - config/locales/en.thecore_datawedge_websocket_helpers.yml
58
60
  - config/locales/it.thecore_datawedge_websocket_helpers.yml
59
61
  - db/migrate/20170913192906_add_keymode_to_settings.rb
@@ -80,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
82
  - !ruby/object:Gem::Version
81
83
  version: '0'
82
84
  requirements: []
83
- rubygems_version: 3.0.1
85
+ rubygems_version: 3.0.3
84
86
  signing_key:
85
87
  specification_version: 4
86
88
  summary: Some javascripts and partials to handle DW WS.