zet-lib 1.3.33 → 1.3.35
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 +26 -16
- package/lib/moduleLib.js +24 -0
- package/lib/zRoute.js +13 -3
- package/package.json +1 -1
package/lib/Form.js
CHANGED
|
@@ -232,42 +232,52 @@ Form.field = (obj) => {
|
|
|
232
232
|
break
|
|
233
233
|
|
|
234
234
|
case 'select':
|
|
235
|
+
var please_select = obj.please_select
|
|
236
|
+
if (please_select != undefined) {
|
|
237
|
+
if (please_select != '') {
|
|
238
|
+
selects += `<option value="">${please_select}</option>`
|
|
239
|
+
}
|
|
240
|
+
}
|
|
235
241
|
if (obj.hasOwnProperty('array')) {
|
|
236
242
|
var items = obj.array || []
|
|
237
|
-
var please_select = obj.please_select
|
|
238
|
-
if (please_select != undefined) {
|
|
239
|
-
if (please_select != '') {
|
|
240
|
-
selects += `<option value="">${please_select}</option>`
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
243
|
if (items.length) {
|
|
244
244
|
items.forEach(function (item) {
|
|
245
|
-
|
|
246
|
-
|
|
245
|
+
if (item.label) {
|
|
246
|
+
const selected = item.value == value ? ' selected ' : ''
|
|
247
|
+
selects += `<option value="${item.value}" ${selected}>${item.label}</option>`
|
|
248
|
+
}
|
|
247
249
|
})
|
|
248
250
|
} else {
|
|
249
251
|
if (Array.isArray(data)) {
|
|
250
252
|
data.map((item) => {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
+
if (item.zname) {
|
|
254
|
+
var selected = item.id == value ? ' selected ' : ''
|
|
255
|
+
selects += `<option value="${item.id}" ${selected}>${item.zname}</option>`
|
|
256
|
+
}
|
|
253
257
|
})
|
|
254
258
|
} else {
|
|
255
259
|
for (var keys in data) {
|
|
256
|
-
|
|
257
|
-
|
|
260
|
+
if (data[keys]) {
|
|
261
|
+
var selected = keys == value ? ' selected ' : ''
|
|
262
|
+
selects += `<option value="${keys}" ${selected}>${data[keys]}</option>`
|
|
263
|
+
}
|
|
258
264
|
}
|
|
259
265
|
}
|
|
260
266
|
}
|
|
261
267
|
} else {
|
|
262
268
|
if (Array.isArray(data)) {
|
|
263
269
|
data.map((item) => {
|
|
264
|
-
|
|
265
|
-
|
|
270
|
+
if (item.zname) {
|
|
271
|
+
const selected = item.id == value ? ' selected ' : ''
|
|
272
|
+
selects += `<option value="${item.id}" ${selected}>${item.zname}</option>`
|
|
273
|
+
}
|
|
266
274
|
})
|
|
267
275
|
} else {
|
|
268
276
|
for (let keys in data) {
|
|
269
|
-
|
|
270
|
-
|
|
277
|
+
if (data[keys]) {
|
|
278
|
+
let selected = keys == value ? ' selected ' : ''
|
|
279
|
+
selects += `<option value="${keys}" ${selected}>${data[keys]}</option>`
|
|
280
|
+
}
|
|
271
281
|
}
|
|
272
282
|
}
|
|
273
283
|
}
|
package/lib/moduleLib.js
CHANGED
|
@@ -63,6 +63,30 @@ m.datepicker = function (req, res, elem) {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
//module for selectize
|
|
67
|
+
//https://selectize.dev
|
|
68
|
+
//https://github.com/selectize/selectize.js
|
|
69
|
+
m.selectize = function (req, res, elem) {
|
|
70
|
+
let script = ''
|
|
71
|
+
let head = ``
|
|
72
|
+
let end = ``
|
|
73
|
+
elem = elem || '.selectize'
|
|
74
|
+
head += '<link href="/modules/selectizejs/css/selectize.bootstrap5.css" rel="stylesheet">'
|
|
75
|
+
end += '<script src="/modules/selectizejs/js/selectize.min.js"></script>'
|
|
76
|
+
|
|
77
|
+
script += `$(() => {
|
|
78
|
+
$('${elem}').selectize({
|
|
79
|
+
sortField: 'text'
|
|
80
|
+
});
|
|
81
|
+
});`
|
|
82
|
+
|
|
83
|
+
return {
|
|
84
|
+
head: head,
|
|
85
|
+
end: end,
|
|
86
|
+
script: script,
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
66
90
|
//module for dropzone
|
|
67
91
|
m.dropzone = function (req, res, elem) {
|
|
68
92
|
let script = ''
|
package/lib/zRoute.js
CHANGED
|
@@ -3370,6 +3370,7 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
3370
3370
|
let mapKey = ''
|
|
3371
3371
|
let hasAttributes = []
|
|
3372
3372
|
let joinsFields = []
|
|
3373
|
+
let selectize = []
|
|
3373
3374
|
if (MYMODEL.joins) {
|
|
3374
3375
|
joinsFields = MYMODEL.joins.list
|
|
3375
3376
|
}
|
|
@@ -3439,6 +3440,10 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
3439
3440
|
if (widgets[key].isAttributes) {
|
|
3440
3441
|
hasAttributes.push(key)
|
|
3441
3442
|
}
|
|
3443
|
+
//add search on select
|
|
3444
|
+
if (widgets[key].isSearch) {
|
|
3445
|
+
selectize.push(key)
|
|
3446
|
+
}
|
|
3442
3447
|
}
|
|
3443
3448
|
}
|
|
3444
3449
|
}
|
|
@@ -3478,9 +3483,14 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
3478
3483
|
headObj.datetimepicker = datetimepickerObj.head
|
|
3479
3484
|
endObj.datetimepicker = datetimepickerObj.end
|
|
3480
3485
|
}
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3486
|
+
if (selectize.length > 0) {
|
|
3487
|
+
selectize.map((item) => {
|
|
3488
|
+
let selectizeObj = moduleLib.selectize(req, res, `#${item}`)
|
|
3489
|
+
scriptForm += selectizeObj.script
|
|
3490
|
+
headObj.selectize = selectizeObj.head
|
|
3491
|
+
endObj.selectize = selectizeObj.end
|
|
3492
|
+
})
|
|
3493
|
+
}
|
|
3484
3494
|
if (hasIde) {
|
|
3485
3495
|
let ideCDNObj = moduleLib.ideCDN(req, res)
|
|
3486
3496
|
//scriptForm += ideCDNObj.script;
|