zet-lib 1.0.68 → 1.0.70

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.
package/lib/Form.js CHANGED
@@ -196,7 +196,7 @@ Form.field = (obj) => {
196
196
 
197
197
  case 'switch':
198
198
  checked = value == 1 ? ' checked ' : ''
199
- displayForm = `${prepend}<p><input ${tabindex} type="checkbox" ${classview} ${readonly} ${style} ${id} ${name} ${checked} ></p>${information}${append}`
199
+ displayForm = `${prepend}<p><input ${tabindex} type="checkbox" ${classview} ${readonly} ${style} ${id} ${name} ${checked} ></p>${information}${append}`
200
200
  break
201
201
 
202
202
  case 'lexical':
@@ -746,6 +746,7 @@ const tabBootstrap5 = (arr = []) => {
746
746
  Form.build = (obj) => {
747
747
  let html = ''
748
748
  let required = !obj.required ? '' : `<span class="required-mark">*</span>`
749
+ let labelOptions = !obj.labelOptions ? '' : obj.labelOptions
749
750
  let relation = ''
750
751
  //form float
751
752
  let float = false
@@ -777,15 +778,15 @@ Form.build = (obj) => {
777
778
  } else {
778
779
  if (inline) {
779
780
  if (obj.type == 'checkbox') {
780
- html += ` <div class="mb-3 row"><label for="${obj.id}" class="col form-check-label">${obj.title} ${obj.labelOptions} ${required} ${relation}</label><div class="col-8">${Form.field(obj)}</div></div>`
781
+ html += ` <div class="mb-3 row"><label for="${obj.id}" class="col form-check-label">${obj.title} ${labelOptions} ${required} ${relation}</label><div class="col-8">${Form.field(obj)}</div></div>`
781
782
  } else {
782
- html += ` <div class="mb-3 row"><label for="${obj.id}" class="col col-form-label">${obj.title} ${obj.labelOptions} ${required} ${relation}</label><div class="col-8">${Form.field(obj)}</div></div>`
783
+ html += ` <div class="mb-3 row"><label for="${obj.id}" class="col col-form-label">${obj.title} ${labelOptions} ${required} ${relation}</label><div class="col-8">${Form.field(obj)}</div></div>`
783
784
  }
784
785
  } else {
785
786
  if (obj.type == 'checkbox') {
786
- html += `<div class="form-check div${obj.id} mb-3">${Form.field(obj)}<label class="form-check-label" for="${obj.id}">${obj.title} ${obj.labelOptions} ${required}</label></div>`
787
+ html += `<div class="form-check div${obj.id} mb-3">${Form.field(obj)}<label class="form-check-label" for="${obj.id}">${obj.title} ${labelOptions} ${required}</label></div>`
787
788
  } else {
788
- html += `<div class="form-group div${obj.id} mb-3"><label for="${obj.id}">${obj.title} ${obj.labelOptions} ${required} ${relation}</label>${Form.field(obj)}</div>`
789
+ html += `<div class="form-group div${obj.id} mb-3"><label for="${obj.id}">${obj.title} ${labelOptions} ${required} ${relation}</label>${Form.field(obj)}</div>`
789
790
  }
790
791
  }
791
792
  }
package/lib/moduleLib.js CHANGED
@@ -1,326 +1,315 @@
1
- const Util = require('./Util');
2
- const newLine = Util.newLine;
1
+ const Util = require('./Util')
2
+ const newLine = Util.newLine
3
3
 
4
- const m = {};
4
+ const m = {}
5
5
 
6
6
  //module for ide code editor
7
- m.ideCDN = function (req,res) {
8
- let script = '';
9
- let head = ``;
10
- let end = ``;
11
- end += `<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.15.0/ace.js"></script>${Util.newLine}`;
12
-
13
- return {
14
- head : head,
15
- end : end,
16
- script: script
17
- }
18
- };
19
-
20
- m.ide = function (req,res,elem) {
21
- let script = '';
22
- let head = ``;
23
- let end = ``;
24
- elem = elem || "#ide_editor";
25
- end += `<script> var editor_${elem} = ace.edit("${elem}");
7
+ m.ideCDN = function (req, res) {
8
+ let script = ''
9
+ let head = ``
10
+ let end = ``
11
+ end += `<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.15.0/ace.js"></script>${Util.newLine}`
12
+
13
+ return {
14
+ head: head,
15
+ end: end,
16
+ script: script,
17
+ }
18
+ }
19
+
20
+ m.ide = function (req, res, elem) {
21
+ let script = ''
22
+ let head = ``
23
+ let end = ``
24
+ elem = elem || '#ide_editor'
25
+ end += `<script> var editor_${elem} = ace.edit("${elem}");
26
26
  editor_${elem}.getSession().setMode("ace/mode/ejs");
27
- </script> ${Util.newLine}`;
28
- return {
29
- head : head,
30
- end : end,
31
- script: script
32
- }
33
- };
34
-
35
- m.tags = function(req,res,elem) {
36
- let script = '';
37
- let head = ``;
38
- let end = ``;
39
- elem = elem || ".tags";
40
- end += `<script type="module">import Tags from "https://cdn.jsdelivr.net/gh/lekoala/bootstrap5-tags@master/tags.js";Tags.init("${elem}");</script>`;
41
- return {
42
- head : head,
43
- end : end,
44
- script: script
45
- }
46
- };
27
+ </script> ${Util.newLine}`
28
+ return {
29
+ head: head,
30
+ end: end,
31
+ script: script,
32
+ }
33
+ }
34
+
35
+ m.tags = function (req, res, elem) {
36
+ let script = ''
37
+ let head = ``
38
+ let end = ``
39
+ elem = elem || '.tags'
40
+ end += `<script type="module">import Tags from "https://cdn.jsdelivr.net/gh/lekoala/bootstrap5-tags@master/tags.js";Tags.init("${elem}");</script>`
41
+ return {
42
+ head: head,
43
+ end: end,
44
+ script: script,
45
+ }
46
+ }
47
47
  //module for datepicker
48
48
  m.datepicker = function (req, res, elem) {
49
- let script = '';
50
- let head = ``;
51
- let end = ``;
52
- elem = elem || ".datepicker";
53
- /* head += '<link href="/css/bootstrap-datepicker.css" rel="stylesheet">';
49
+ let script = ''
50
+ let head = ``
51
+ let end = ``
52
+ elem = elem || '.datepicker'
53
+ /* head += '<link href="/css/bootstrap-datepicker.css" rel="stylesheet">';
54
54
  end += '<script src="/js/bootstrap-datepicker.min.js"></script>';*/
55
- head += '<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" rel="stylesheet">';
56
- end += '<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script>';
57
- script = `$.fn.datepicker.defaults.format = "yyyy-mm-dd";$.fn.datepicker.defaults.todayHighlight = true;$("body").on("click", "${elem}", function(){$(this).datepicker();$(this).datepicker("show");});`;
58
-
59
- return {
60
- head : head,
61
- end : end,
62
- script: script
63
- }
64
- };
55
+ head += '<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" rel="stylesheet">'
56
+ end += '<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script>'
57
+ script = `$.fn.datepicker.defaults.format = "yyyy-mm-dd";$.fn.datepicker.defaults.todayHighlight = true;$("body").on("click", "${elem}", function(){$(this).datepicker();$(this).datepicker("show");});`
58
+
59
+ return {
60
+ head: head,
61
+ end: end,
62
+ script: script,
63
+ }
64
+ }
65
65
 
66
66
  //module for datepicker
67
67
  m.datetimepicker = function (req, res, elem) {
68
- let script = '';
69
- let head = ``;
70
- let end = ``;
71
- elem = elem || ".datetimepicker";
72
- head += '<link href="/css/bootstrap-datetimepicker.min.css" rel="stylesheet" />';
73
- end += '<script type="text/javascript" src="/js/moment-with-locales.min.js" ></script>';
74
- end += '<script type="text/javascript" src="/js/bootstrap-datetimepicker.min.js" ></script>';
75
- script += `$(function () { $("${elem}").datetimepicker({format:'YYYY-MM-DD hh:mm:ss'}); });`;
76
- script += `setTimeout(function () { $("body").click();},1000);`;
77
- script += `$("body").on("click", function(){$("${elem}").datetimepicker({format:'YYYY-MM-DD hh:mm:ss'});});`;
78
-
79
-
80
- return {
81
- head : head,
82
- end : end,
83
- script: script
84
- }
85
- };
86
-
68
+ let script = ''
69
+ let head = ``
70
+ let end = ``
71
+ elem = elem || '.datetimepicker'
72
+ head += '<link href="/css/bootstrap-datetimepicker.min.css" rel="stylesheet" />'
73
+ end += '<script type="text/javascript" src="/js/moment-with-locales.min.js" ></script>'
74
+ end += '<script type="text/javascript" src="/js/bootstrap-datetimepicker.min.js" ></script>'
75
+ script += `$(function () { $("${elem}").datetimepicker({format:'YYYY-MM-DD hh:mm:ss'}); });`
76
+ script += `setTimeout(function () { $("body").click();},1000);`
77
+ script += `$("body").on("click", function(){$("${elem}").datetimepicker({format:'YYYY-MM-DD hh:mm:ss'});});`
78
+
79
+ return {
80
+ head: head,
81
+ end: end,
82
+ script: script,
83
+ }
84
+ }
87
85
 
88
86
  //using ckeditor
89
87
  m.ckeditor = function (req, res, elem) {
90
- let script = '';
91
- let head = ``;
92
- let end = ``;
93
- elem = elem || ".editor";
94
- end += '<script src="/modules/ckeditor5-build-classic/ckeditor.js"></script>' + newLine;
95
- end += '<script>';
96
- end += 'ClassicEditor.create( document.querySelector( "' + elem + '" ) ).catch( error => {console.error( error );} );' + newLine;
97
- end += '</script>';
98
- return {
99
- head : head,
100
- end : end,
101
- script: script
102
- }
103
- };
104
-
88
+ let script = ''
89
+ let head = ``
90
+ let end = ``
91
+ elem = elem || '.editor'
92
+ end += '<script src="/modules/ckeditor5-build-classic/ckeditor.js"></script>' + newLine
93
+ end += '<script>'
94
+ end += 'ClassicEditor.create( document.querySelector( "' + elem + '" ) ).catch( error => {console.error( error );} );' + newLine
95
+ end += '</script>'
96
+ return {
97
+ head: head,
98
+ end: end,
99
+ script: script,
100
+ }
101
+ }
105
102
 
106
103
  //using tinymce
107
104
  m.tinymce = function (req, res, elem) {
108
- let script = '';
109
- let head = ``;
110
- let end = ``;
111
- elem = elem || ".tinymce";
112
- end += '<script src="https://cdn.tiny.cloud/1/b7054u42l8lw67ch5oh9qutnvbyu8exzryg4edy0gg2snhtr/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>' + newLine;
113
- script += ` tinymce.init({
105
+ let script = ''
106
+ let head = ``
107
+ let end = ``
108
+ elem = elem || '.tinymce'
109
+ end += '<script src="https://cdn.tiny.cloud/1/b7054u42l8lw67ch5oh9qutnvbyu8exzryg4edy0gg2snhtr/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>' + newLine
110
+ script += ` tinymce.init({
114
111
  selector: '${elem}',
115
112
  plugins: 'anchor autolink charmap codesample emoticons image link lists media searchreplace table visualblocks wordcount',
116
113
  toolbar: 'undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table | align lineheight | numlist bullist indent outdent | emoticons charmap | removeformat',
117
- });`;
118
- return {
119
- head : head,
120
- end : end,
121
- script: script
122
- }
123
- };
114
+ });`
115
+ return {
116
+ head: head,
117
+ end: end,
118
+ script: script,
119
+ }
120
+ }
124
121
 
125
122
  //using froala
126
123
  m.froala = function (req, res, elem) {
127
- let script = '';
128
- let head = ``;
129
- let end = ``;
130
- elem = elem || ".editor";
131
-
132
- head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_editor.pkgd.min.css" rel="stylesheet" type="text/css" />';
133
- head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_style.min.css" rel="stylesheet" type="text/css" />';
134
- end += '<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/js/froala_editor.pkgd.min.js"></script>';
135
- script += `$(function() {$("${elem}").froalaEditor({height: 200})});`;
136
-
137
- return {
138
- head : head,
139
- end : end,
140
- script: script
141
- }
142
- };
143
-
144
- m.lexical = function(req,res,elem) {
145
- let script = '';
146
- let head = ``;
147
- let end = ``;
148
- elem = elem || ".editor";
149
- head += `<link rel="stylesheet" href="/assets/main.143ecbc6.css">`;
150
- end += `<script type="module" crossorigin src="/assets/main.3be493b7.js"></script>`;
151
-
152
- return {
153
- head : head,
154
- end : end,
155
- script: script
156
- }
157
- };
158
-
124
+ let script = ''
125
+ let head = ``
126
+ let end = ``
127
+ elem = elem || '.editor'
128
+
129
+ head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_editor.pkgd.min.css" rel="stylesheet" type="text/css" />'
130
+ head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_style.min.css" rel="stylesheet" type="text/css" />'
131
+ end += '<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/js/froala_editor.pkgd.min.js"></script>'
132
+ script += `$(function() {$("${elem}").froalaEditor({height: 200})});`
133
+
134
+ return {
135
+ head: head,
136
+ end: end,
137
+ script: script,
138
+ }
139
+ }
159
140
 
141
+ m.lexical = function (req, res, elem) {
142
+ let script = ''
143
+ let head = ``
144
+ let end = ``
145
+ elem = elem || '.editor'
146
+ head += `<link rel="stylesheet" href="/assets/main.143ecbc6.css">`
147
+ end += `<script type="module" crossorigin src="/assets/main.3be493b7.js"></script>`
148
+ return {
149
+ head: head,
150
+ end: end,
151
+ script: script,
152
+ }
153
+ }
160
154
 
161
155
  //Default editor is froala
162
- m.editor = (req, res, elem = "") => {
163
- elem = elem || ".editor";
164
- //Default editor is froala
165
- //return m.froala(req, res, elem);
166
- //return m.tinymce(req, res, elem);
167
- //return m.ckeditor(req, res, elem);
168
- //return m.lexical(req,res,elem);
169
-
170
- let script = '';
171
- let head = ``;
172
- let end = ``;
173
-
174
- head += '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.4.2/css/all.min.css" integrity="sha512-NicFTMUg/LwBeG8C7VG+gC4YiiRtQACl98QdkmfsLy37RzXdkaUAuPyVMND0olPP4Jn8M/ctesGSB2pgUBDRIw==" crossorigin="anonymous" referrerpolicy="no-referrer" />';
175
- head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_editor.pkgd.min.css" rel="stylesheet" type="text/css" />';
176
- head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_style.min.css" rel="stylesheet" type="text/css" />';
177
- end += '<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/js/froala_editor.pkgd.min.js"></script>';
178
- script += `$(function() {$("${elem}").froalaEditor({height: 200})});`;
179
-
180
- return {
181
- head : head,
182
- end : end,
183
- script: script
184
- }
185
- };
156
+ m.editor = (req, res, elem = '') => {
157
+ elem = elem || '.editor'
158
+ //Default editor is froala
159
+ //return m.froala(req, res, elem);
160
+ //return m.tinymce(req, res, elem);
161
+ //return m.ckeditor(req, res, elem);
162
+ //return m.lexical(req,res,elem);
163
+
164
+ let script = ''
165
+ let head = ``
166
+ let end = ``
167
+
168
+ head += '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.4.2/css/all.min.css" integrity="sha512-NicFTMUg/LwBeG8C7VG+gC4YiiRtQACl98QdkmfsLy37RzXdkaUAuPyVMND0olPP4Jn8M/ctesGSB2pgUBDRIw==" crossorigin="anonymous" referrerpolicy="no-referrer" />'
169
+ head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_editor.pkgd.min.css" rel="stylesheet" type="text/css" />'
170
+ head += '<link href="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/css/froala_style.min.css" rel="stylesheet" type="text/css" />'
171
+ end += '<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/froala-editor@2.9.0/js/froala_editor.pkgd.min.js"></script>'
172
+ script += `$(function() {$("${elem}").froalaEditor({height: 200})});`
173
+
174
+ return {
175
+ head: head,
176
+ end: end,
177
+ script: script,
178
+ }
179
+ }
186
180
 
187
181
  m.switch = function (req, res, elem, array) {
188
- elem = elem || ".switch";
189
- let script = '';
190
- let head = ``;
191
- let end = ``;
192
-
193
- head += '<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.4/css/bootstrap3/bootstrap-switch.css" rel="stylesheet" type="text/css" />' + newLine;
194
- end += '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.4/js/bootstrap-switch.js"></script>' + newLine;
195
-
196
- let labels = '';
197
- if (Array.isArray(array)) {
198
- labels = '{offText:"' + array[0] + '", onText:"' + array[1] + '"}';
199
- }
200
- script += '$("' + elem + '").bootstrapSwitch(' + labels + ');' + newLine;
201
- return {
202
- head : head,
203
- end:end,
204
- script:script
205
- };
206
- };
207
-
182
+ elem = elem || '.switch'
183
+ let script = ''
184
+ let head = ``
185
+ let end = ``
186
+
187
+ head += '<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.4/css/bootstrap3/bootstrap-switch.css" rel="stylesheet" type="text/css" />' + newLine
188
+ end += '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.4/js/bootstrap-switch.js"></script>' + newLine
189
+
190
+ let labels = ''
191
+ if (Array.isArray(array)) {
192
+ labels = '{offText:"' + array[0] + '", onText:"' + array[1] + '"}'
193
+ }
194
+ script += '$("' + elem + '").bootstrapSwitch(' + labels + ');' + newLine
195
+ return {
196
+ head: head,
197
+ end: end,
198
+ script: script,
199
+ }
200
+ }
208
201
 
209
202
  m.switchOld = function (req, res, elem, array) {
210
- let script = '';
211
- let head = ``;
212
- let end = ``;
213
- elem = elem || ".switch";
214
- head += '<link href="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/css/bootstrap4-toggle.min.css" rel="stylesheet">' + newLine;
215
- end += '<script src="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/js/bootstrap4-toggle.min.js"></script>' + newLine;
216
-
217
- let labels = '';
218
- if (Array.isArray(array)) {
219
- labels = '{off:"' + array[0] + '", on:"' + array[1] + '"}';
220
- }
221
- script += `$(function(){$('${elem}').bootstrapToggle(${labels});});${Util.newLine}`;
222
-
223
- return {
224
- head : head,
225
- end:end,
226
- script:script
227
- };
228
- };
203
+ let script = ''
204
+ let head = ``
205
+ let end = ``
206
+ elem = elem || '.switch'
207
+ head += '<link href="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/css/bootstrap4-toggle.min.css" rel="stylesheet">' + newLine
208
+ end += '<script src="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/js/bootstrap4-toggle.min.js"></script>' + newLine
209
+
210
+ let labels = ''
211
+ if (Array.isArray(array)) {
212
+ labels = '{off:"' + array[0] + '", on:"' + array[1] + '"}'
213
+ }
214
+ script += `$(function(){$('${elem}').bootstrapToggle(${labels});});${Util.newLine}`
215
+
216
+ return {
217
+ head: head,
218
+ end: end,
219
+ script: script,
220
+ }
221
+ }
229
222
 
230
223
  m.clockpicker = function (req, res, elem) {
231
- let script = '';
232
- let head = ``;
233
- let end = ``;
234
- elem = elem || ".clockpicker";
235
- head += '<link href="https://cdn.jsdelivr.net/npm/clockpicker@0.0.7/dist/jquery-clockpicker.min.css" rel="stylesheet" type="text/css" />' + newLine;
236
- end += '<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/clockpicker@0.0.7/dist/bootstrap-clockpicker.min.js"></script>' + newLine;
237
- script += `$("body").on("click", "${elem}", function(){$(this).clockpicker({donetext: "Done"});});`;
238
- //end += '$("' + elem + '").clockpicker({donetext: "Done"});' + newLine;
239
- return {
240
- head : head,
241
- end : end,
242
- script: script
243
- }
244
- };
224
+ let script = ''
225
+ let head = ``
226
+ let end = ``
227
+ elem = elem || '.clockpicker'
228
+ head += '<link href="https://cdn.jsdelivr.net/npm/clockpicker@0.0.7/dist/jquery-clockpicker.min.css" rel="stylesheet" type="text/css" />' + newLine
229
+ end += '<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/clockpicker@0.0.7/dist/bootstrap-clockpicker.min.js"></script>' + newLine
230
+ script += `$("body").on("click", "${elem}", function(){$(this).clockpicker({donetext: "Done"});});`
231
+ //end += '$("' + elem + '").clockpicker({donetext: "Done"});' + newLine;
232
+ return {
233
+ head: head,
234
+ end: end,
235
+ script: script,
236
+ }
237
+ }
245
238
 
246
239
  m.number = (req, res, elem) => {
247
- let script = '';
248
- let head = ``;
249
- let end = ``;
250
- elem = elem || ".number";
251
-
252
- end += '<script type="text/javascript" src="/js/jquery-currency.js"></script>';
253
- script += `$(function () { $(".number").formatCurrencyLive({symbol:"",roundToDecimalPlace :0,digitGroupSymbol :"."}); });`;
254
- script += `setTimeout(function () { $("body").click();},1000);`;
255
- script += `$("body").on("click", function(){$(".number").formatCurrencyLive({symbol:"",roundToDecimalPlace :0,digitGroupSymbol :"."});});`;
256
-
257
- return {
258
- head : head,
259
- end : end,
260
- script: script
261
- }
262
- };
240
+ let script = ''
241
+ let head = ``
242
+ let end = ``
243
+ elem = elem || '.number'
244
+
245
+ end += '<script type="text/javascript" src="/js/jquery-currency.js"></script>'
246
+ script += `$(function () { $(".number").formatCurrencyLive({symbol:"",roundToDecimalPlace :0,digitGroupSymbol :"."}); });`
247
+ script += `setTimeout(function () { $("body").click();},1000);`
248
+ script += `$("body").on("click", function(){$(".number").formatCurrencyLive({symbol:"",roundToDecimalPlace :0,digitGroupSymbol :"."});});`
249
+
250
+ return {
251
+ head: head,
252
+ end: end,
253
+ script: script,
254
+ }
255
+ }
263
256
 
264
257
  m.typeahead = (req, res, elem, data) => {
265
- let script = '';
266
- let head = ``;
267
- let end = ``;
268
- data = data || [];
269
- elem = elem || ".typeahead";
270
- end += '<script type="text/javascript" src="/modules/typeahead/typeahead.js"></script>' + newLine;
271
-
272
- let elemData = elem.replace(".", "");
273
- elemData = elemData.replace("#", "");
274
- let element = elem.replace("Typeahead", "");
275
-
276
- script += 'const ' + elemData + 'Data = ' + JSON.stringify(data.filter(function (value, index, arr) {
277
- return index > 0;
278
- })) + ';' + newLine;
279
- script += `$("body").on("change", "${elem}", function(){
258
+ let script = ''
259
+ let head = ``
260
+ let end = ``
261
+ data = data || []
262
+ elem = elem || '.typeahead'
263
+ end += '<script type="text/javascript" src="/modules/typeahead/typeahead.js"></script>' + newLine
264
+
265
+ let elemData = elem.replace('.', '')
266
+ elemData = elemData.replace('#', '')
267
+ let element = elem.replace('Typeahead', '')
268
+
269
+ // var script using existing cache
270
+ //script += `var ${elemData}Data = ${JSON.stringify(data)}${Util.newLine}`;
271
+ script += `$("body").on("change", "${elem}", function(){
280
272
  var current = $("${elem}").typeahead("getActive");
281
273
  if(current){
282
274
  $("${element}").val(current.id);
283
275
  $("${element}").change();
284
276
  }
285
- });${Util.newLine}`;
286
- script += `$("body").on("click", "${element}Clear", function(){
277
+ });${Util.newLine}`
278
+ script += `$("body").on("click", "${element}Clear", function(){
287
279
  $("${elem}").val("");
288
280
  $("${element}").val("");
289
281
  $("${elem}").change();
290
- });${Util.newLine}`;
291
- script += '$("' + elem + '").typeahead({source: ' + elemData + 'Data ,items: 50, displayText: function(item){ return item.zname.toString();}});' + newLine;
292
-
293
- return {
294
- head : head,
295
- end : end,
296
- script: script
297
- }
298
- };
299
-
300
- m.custom = (req, res, script, css, src)=> {
301
- src = src || "";
302
- css = css || "";
303
- let head = res.locals.moduleHead;
304
- let end = res.locals.moduleEnd;
305
- if (script) {
306
- end += '<script>' + newLine;
307
- end += script + newLine;
308
- end += '</script>' + newLine;;
309
- }
310
- if (css) {
311
- head += css;
312
- }
313
- if (src) {
314
- end += `<script src="${src}"> ${newLine}`;
315
- }
316
- res.locals.moduleHead = head;
317
- res.locals.moduleEnd = end;
318
- };
319
-
320
- m.script = (req, res, table) => {
321
-
322
- };
282
+ });${Util.newLine}`
283
+ script += '$("' + elem + '").typeahead({source: ' + elemData + 'Data ,items: 50, displayText: function(item){ return item.zname.toString();}});' + newLine
284
+
285
+ return {
286
+ head: head,
287
+ end: end,
288
+ script: script,
289
+ }
290
+ }
291
+
292
+ m.custom = (req, res, script, css, src) => {
293
+ src = src || ''
294
+ css = css || ''
295
+ let head = res.locals.moduleHead
296
+ let end = res.locals.moduleEnd
297
+ if (script) {
298
+ end += '<script>' + newLine
299
+ end += script + newLine
300
+ end += '</script>' + newLine
301
+ }
302
+ if (css) {
303
+ head += css
304
+ }
305
+ if (src) {
306
+ end += `<script src="${src}"> ${newLine}`
307
+ }
308
+ res.locals.moduleHead = head
309
+ res.locals.moduleEnd = end
310
+ }
323
311
 
312
+ m.script = (req, res, table) => {}
324
313
 
325
314
  /*
326
315
  add scrip code in the body html
@@ -329,100 +318,114 @@ m.script = (req, res, table) => {
329
318
 
330
319
  type : script / css
331
320
  */
332
- m.addScript = (req, res, contentScript, at = "end", type = "script") => {
333
- if (contentScript) {
334
- let generateId = "app_"+ Util.generate(6);
335
- let tagOpen = type == "script" ? `<script id="${generateId}">` : '<style type="text/css">';
336
- let tagClose = type == "script" ? '</script>' : '</style>';
337
- let content = at == "end" ? res.locals.moduleEnd : res.locals.moduleHead;
338
- content += tagOpen + newLine;
339
- content += contentScript + newLine;
340
- content += tagClose + newLine;
341
-
342
- if(at == "end"){
343
- res.locals.moduleEnd = content;
344
- } else res.locals.moduleHead = content;
345
- }
346
- };
347
-
348
- m.addModule = (req,res, content, isModuleHead = false) => {
349
- let moduleContent = isModuleHead ? res.locals.moduleHead : res.locals.moduleEnd;
350
- moduleContent += content;
351
- if(isModuleHead) {
352
- res.locals.moduleHead = moduleContent;
353
- } else {
354
- res.locals.moduleEnd = moduleContent;
355
- }
356
- };
357
-
358
- m.highchart = async(req, res, obj) => {
359
- obj = obj || {};
360
- let head = res.locals.moduleHead;
361
- let end = res.locals.moduleEnd;
362
- if (end.indexOf("highcharts") < 0) {
363
- end += '<script src="https://code.highcharts.com/highcharts.js"></script>' + newLine;
364
- }
365
-
366
- if (!Util.isEmptyObject(obj)) {
367
- const highcharts = require('./highcharts');
368
- end += '<script>' + newLine;
369
- end += await highcharts.build(obj);
370
- end += '</script>' + newLine;
371
- }
372
-
373
- res.locals.moduleHead = head;
374
- res.locals.moduleEnd = end;
321
+ m.addScript = (req, res, contentScript, at = 'end', type = 'script') => {
322
+ if (contentScript) {
323
+ let generateId = 'app_' + Util.generate(6)
324
+ let tagOpen = type == 'script' ? `<script id="${generateId}">` : '<style type="text/css">'
325
+ let tagClose = type == 'script' ? '</script>' : '</style>'
326
+ let content = at == 'end' ? res.locals.moduleEnd : res.locals.moduleHead
327
+ content += tagOpen + newLine
328
+ content += contentScript + newLine
329
+ content += tagClose + newLine
330
+
331
+ if (at == 'end') {
332
+ res.locals.moduleEnd = content
333
+ } else res.locals.moduleHead = content
334
+ }
335
+ }
336
+
337
+ m.addModule = (req, res, content, isModuleHead = false) => {
338
+ let moduleContent = isModuleHead ? res.locals.moduleHead : res.locals.moduleEnd
339
+ moduleContent += content
340
+ if (isModuleHead) {
341
+ res.locals.moduleHead = moduleContent
342
+ } else {
343
+ res.locals.moduleEnd = moduleContent
344
+ }
345
+ }
346
+
347
+ m.highchart = async (req, res, obj) => {
348
+ obj = obj || {}
349
+ let head = res.locals.moduleHead
350
+ let end = res.locals.moduleEnd
351
+ if (end.indexOf('highcharts') < 0) {
352
+ end += '<script src="https://code.highcharts.com/highcharts.js"></script>' + newLine
353
+ }
354
+
355
+ if (!Util.isEmptyObject(obj)) {
356
+ const highcharts = require('./highcharts')
357
+ end += '<script>' + newLine
358
+ end += await highcharts.build(obj)
359
+ end += '</script>' + newLine
360
+ }
361
+
362
+ res.locals.moduleHead = head
363
+ res.locals.moduleEnd = end
364
+ }
365
+
366
+ //build auto js and css based on function type
367
+ m.build = (req, res, objData) => {
368
+ let head = res.locals.moduleHead
369
+ let end = res.locals.moduleEnd
370
+
371
+ head += objData.head
372
+ end += objData.end
373
+ if (objData.script) {
374
+ end += `<script>${objData.script}</script>`
375
+ }
376
+ res.locals.moduleHead = head
377
+ res.locals.moduleEnd = end
375
378
  }
376
379
 
377
380
  m.tableForm = (req, res, name, table) => {
378
- let head = res.locals.moduleHead;
379
- let end = res.locals.moduleEnd;
380
- res.locals.moduleHead = head;
381
- res.locals.moduleEnd = end;
381
+ let head = res.locals.moduleHead
382
+ let end = res.locals.moduleEnd
383
+ res.locals.moduleHead = head
384
+ res.locals.moduleEnd = end
382
385
  }
383
386
 
384
387
  m.selectYear = (req, res, elem, val, startYear, endYear) => {
385
- let dt = new Date();
386
- endYear = endYear || dt.getFullYear();
387
- val = val || "";
388
- var options = "";
389
- for (var i = endYear; i >= startYear; i--) {
390
- var selected = i == val ? " selected " : "";
391
- options += `<option value="${i}" ${selected}>${i}</option>`
392
- }
393
- let end = res.locals.moduleEnd;
394
- end += '<script>' + newLine;
395
- end += `$("${elem}").html('${options}')`;
396
- end += '</script>' + newLine;
397
- res.locals.moduleEnd = end;
388
+ let dt = new Date()
389
+ endYear = endYear || dt.getFullYear()
390
+ val = val || ''
391
+ var options = ''
392
+ for (var i = endYear; i >= startYear; i--) {
393
+ var selected = i == val ? ' selected ' : ''
394
+ options += `<option value="${i}" ${selected}>${i}</option>`
395
+ }
396
+ let end = res.locals.moduleEnd
397
+ end += '<script>' + newLine
398
+ end += `$("${elem}").html('${options}')`
399
+ end += '</script>' + newLine
400
+ res.locals.moduleEnd = end
398
401
  }
399
402
 
400
403
  //https://highlightjs.org/usage/
401
404
  m.highlight = (req, res, elem) => {
402
- elem = elem || ".codes";
403
- let head = res.locals.moduleHead;
404
- let end = res.locals.moduleEnd;
405
- if (head.indexOf("highlight") < 0) {
406
- head += '<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.4.1/styles/default.min.css"> ' + newLine;
407
- end += '<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.4.1/highlight.min.js"></script>' + newLine;
408
- }
409
- end += '<script>$(function(){ document.querySelectorAll("' + elem + '").forEach((block) => {hljs.highlightBlock(block);}); })</script>' + newLine;
410
- res.locals.moduleHead = head;
411
- res.locals.moduleEnd = end;
405
+ elem = elem || '.codes'
406
+ let head = res.locals.moduleHead
407
+ let end = res.locals.moduleEnd
408
+ if (head.indexOf('highlight') < 0) {
409
+ head += '<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.4.1/styles/default.min.css"> ' + newLine
410
+ end += '<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.4.1/highlight.min.js"></script>' + newLine
411
+ }
412
+ end += '<script>$(function(){ document.querySelectorAll("' + elem + '").forEach((block) => {hljs.highlightBlock(block);}); })</script>' + newLine
413
+ res.locals.moduleHead = head
414
+ res.locals.moduleEnd = end
412
415
  }
413
416
 
414
417
  //https://developer.snapappointments.com/bootstrap-select/
415
418
  m.selectpicker = function (req, res, elem) {
416
- elem = elem || ".selectpicker";
417
- let head = res.locals.moduleHead;
418
- let end = res.locals.moduleEnd;
419
- if (head.indexOf("bootstrap-select") < 0) {
420
- head += '<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">' + newLine;
421
- end += '<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>' + newLine;
422
- end += `<script>$(function () {$('${elem}').selectpicker();});</script>${newLine}`;
423
- }
424
- res.locals.moduleHead = head;
425
- res.locals.moduleEnd = end;
426
- };
427
-
428
- module.exports = m;
419
+ elem = elem || '.selectpicker'
420
+ let head = res.locals.moduleHead
421
+ let end = res.locals.moduleEnd
422
+ if (head.indexOf('bootstrap-select') < 0) {
423
+ head += '<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">' + newLine
424
+ end += '<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>' + newLine
425
+ end += `<script>$(function () {$('${elem}').selectpicker();});</script>${newLine}`
426
+ }
427
+ res.locals.moduleHead = head
428
+ res.locals.moduleEnd = end
429
+ }
430
+
431
+ module.exports = m
package/lib/zRoute.js CHANGED
@@ -2558,14 +2558,14 @@ zRoute.moduleLib = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
2558
2558
 
2559
2559
  //add script for dropdown multi in table type
2560
2560
  //stupid way temporary
2561
- let scriptTemp = '';
2562
- for(let keys in MYMODEL.widgets) {
2563
- if(MYMODEL.widgets[keys].name == "table") {
2564
- let MODEL_TABLE = require(`${dirRoot}/models/${MYMODEL.widgets[keys].table}`);
2565
- for(let key in MODEL_TABLE.widgets) {
2566
- if(MODEL_TABLE.widgets[key].name == "dropdown_multi") {
2567
- let relObject = relations[keys+'Row'][key+'Object'];
2568
- scriptTemp += `<script>var ${key}Object = ${JSON.stringify(relObject)};</script>${Util.newLine}`;
2561
+ let scriptTemp = ''
2562
+ for (let keys in MYMODEL.widgets) {
2563
+ if (MYMODEL.widgets[keys].name == 'table') {
2564
+ let MODEL_TABLE = require(`${dirRoot}/models/${MYMODEL.widgets[keys].table}`)
2565
+ for (let key in MODEL_TABLE.widgets) {
2566
+ if (MODEL_TABLE.widgets[key].name == 'dropdown_multi') {
2567
+ let relObject = relations[keys + 'Row'][key + 'Object']
2568
+ scriptTemp += `<script>var ${key}Object = ${JSON.stringify(relObject)};</script>${Util.newLine}`
2569
2569
  }
2570
2570
  }
2571
2571
  }
@@ -2878,7 +2878,7 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
2878
2878
  for (let qq in MODEL_TABLE.widgets) {
2879
2879
  //check if have dropdown_multi
2880
2880
  if (MODEL_TABLE.widgets[qq].name == 'dropdown_multi') {
2881
- dropdownMultis.push(qq);
2881
+ dropdownMultis.push(qq)
2882
2882
  scriptForm += `$("#body-${keys}").on("click", "#dropdownadd${qq}",function () {
2883
2883
  let elm = $(this).siblings("#${qq}");
2884
2884
  var val = elm.val();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zet-lib",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "zet is a library that part of zet generator.",
5
5
  "engines": {
6
6
  "node": ">=18"