dta_rapid 0.7.0 → 0.7.1

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: 6ad7c29e07cb8d51307279a2098029abbb9c6a95
4
- data.tar.gz: 6158fac70edd2440badf36823e5c3d2e3810b835
3
+ metadata.gz: 75511b2be2280c78eca20b3791fb20b96996fb34
4
+ data.tar.gz: 966b1c45267fdd60c400a1c09da8a26415cc9a95
5
5
  SHA512:
6
- metadata.gz: 6a7fb16589a3dce490fafabb9016c907a577c069b63950b475b59e8c2d05c2fe151cce50cba2cff161ba66cbd2ecb3cd4961dd40f3d4648c589c8ff94e1f1ab1
7
- data.tar.gz: c04bb54b87ed675c36f6a01f14cf179fc2e15000dc6f3451b685f6acfeacebf4942fbd329f592486c4275fe538b46e362dc37fe765bcf9a69c6dc326d016da5e
6
+ metadata.gz: 860eda072684ccc4063c63623229c25ceb22bc4e07a6c79337210a013c48a3ef4806e57b8fab0e4589dfe31670873ba8f58f1cc346d5de4bd45e604ec9871264
7
+ data.tar.gz: c1e7c2e22036ba899428686726f8d58dc7a1c3fbec5a0c5036060ef73af5590627da7a801a2b6baecf213e9e20c9cf4fcfc688ecdad65d18b75536e8bec6987c
@@ -18,6 +18,7 @@
18
18
  type="{{ include.type | default: 'radio' }}"
19
19
  data-parsley-errors-container="#control-input__{{ question_slug }}"
20
20
  data-parsley-error-message="{{ include.validation_message }}"
21
+ data-value="{{ option }}"
21
22
  value="{{ question_slug }}__{{ option_slug }}">
22
23
  <span class="uikit-control-input__text">{{ option }}</span>
23
24
  </label>
@@ -42,6 +42,7 @@
42
42
  <script src="/assets/js/vendor/jquery-3.1.1.min.js"></script>
43
43
  <script src="/assets/js/vendor/parsley.min.js"></script>
44
44
  <script src="/assets/js/vendor/list.min.js"></script>
45
+ <script src="/assets/js/vendor/main.js"></script>
45
46
  </body>
46
47
 
47
48
  </html>
@@ -0,0 +1,78 @@
1
+
2
+ let radioSaver = elm => elm.checked ? 1 : 0;
3
+ let textSaver = elm => elm.value;
4
+
5
+ let saver = function(selector, key, savingFunction) {
6
+ let elements = document.querySelectorAll(selector);
7
+ let values = Array.prototype.map.call(elements, savingFunction);
8
+
9
+ localStorage.setItem(key, JSON.stringify(values));
10
+ };
11
+
12
+ let radioLoader = elements => (val, ind) => elements[ind].checked = val === 1 ? true : false;
13
+ let textLoader = elements => (val, ind) => elements[ind].value = val;
14
+
15
+ let loader = function(selector, localKey, loadingFunction) {
16
+ let elements = document.querySelectorAll(selector);
17
+ let stringifiedValues = localStorage.getItem(localKey);
18
+ try {
19
+ let values = JSON.parse(stringifiedValues);
20
+ values.forEach(loadingFunction(elements));
21
+ } catch (e) {
22
+ console.log(`No local data for ${localKey}`);
23
+ }
24
+ };
25
+
26
+ let saveRadioValues = function() {
27
+ saver('input[type=radio]', 'radioValues', radioSaver);
28
+ };
29
+
30
+ let saveCheckBoxValues = function() {
31
+ saver('input[type=checkbox]', 'checkBoxValues', radioSaver);
32
+ };
33
+
34
+ let saveTextInputValues = function() {
35
+ saver('input[type=text]', 'textInputValues', textSaver);
36
+ };
37
+
38
+ let saveDateInputValues = function() {
39
+ saver('input[type=date]', 'dateInputValues', textSaver);
40
+ };
41
+
42
+ let loadRadioValues = function() {
43
+ loader('input[type=radio]', 'radioValues', radioLoader);
44
+ };
45
+
46
+ let loadCheckBoxValues = function() {
47
+ loader('input[type=checkbox]', 'checkBoxValues', radioLoader);
48
+ };
49
+
50
+ let loadTextInputValues = function() {
51
+ loader('input[type=text]', 'textInputValues', textLoader);
52
+ };
53
+
54
+ let loadDateInputValues = function() {
55
+ loader('input[type=date]', 'dateInputValues', textLoader);
56
+ };
57
+
58
+ let saveForm = () => {
59
+ saveRadioValues();
60
+ saveCheckBoxValues();
61
+ saveTextInputValues();
62
+ saveDateInputValues();
63
+ }
64
+
65
+ let loadForm = function() {
66
+ loadRadioValues();
67
+ loadCheckBoxValues();
68
+ loadTextInputValues();
69
+ loadDateInputValues();
70
+ };
71
+
72
+ window.onbeforeunload = (e) => {
73
+ saveForm();
74
+ }
75
+
76
+ window.onload = (e) => {
77
+ loadForm();
78
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dta_rapid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gareth Rogers
@@ -94,6 +94,7 @@ files:
94
94
  - assets/css/style.min.css
95
95
  - assets/js/vendor/jquery-3.1.1.min.js
96
96
  - assets/js/vendor/list.min.js
97
+ - assets/js/vendor/main.js
97
98
  - assets/js/vendor/parsley.min.js
98
99
  - assets/uikit.css
99
100
  homepage: https://github.com/gtrogers/dta_rapid
@@ -116,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
117
  version: '0'
117
118
  requirements: []
118
119
  rubyforge_project:
119
- rubygems_version: 2.6.10
120
+ rubygems_version: 2.6.8
120
121
  signing_key:
121
122
  specification_version: 4
122
123
  summary: Converting the DTA UI kit (see https://github.com/AusDTO/gov-au-ui-kit) into