zet-lib 1.0.67 → 1.0.68
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 +1 -1
- package/lib/zRoute.js +33 -4
- package/package.json +1 -1
package/lib/Form.js
CHANGED
|
@@ -350,7 +350,7 @@ Form.field = (obj) => {
|
|
|
350
350
|
</span>
|
|
351
351
|
</div>`
|
|
352
352
|
return `<div class="input-group">
|
|
353
|
-
<select ${tabindex} class="form-control" ${id} ${placeholder} ${htmlOptions} >${selects}</select>
|
|
353
|
+
<select ${tabindex} class="form-control ${obj.class} dropdown-multi" ${id} ${placeholder} ${htmlOptions} >${selects}</select>
|
|
354
354
|
<span id="dropdownadd${obj.id}" class="input-group-text dropdownadd" data-id="${obj.id}" style="cursor: pointer;" title=" ${LANGUAGE['form_add_data']} ">+</span>
|
|
355
355
|
</div>
|
|
356
356
|
<div id="dropdownbox${obj.id}" class="boxy mb-3">${spanmulti}</div>`
|
package/lib/zRoute.js
CHANGED
|
@@ -2543,7 +2543,7 @@ zRoute.moduleLib = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
2543
2543
|
Util.writeFile(`${path_script}/${time}.js`, uglifyJS.minify(jsObj.script))
|
|
2544
2544
|
Util.writeFile(`${path_head}/head.txt`, jsObj.head)
|
|
2545
2545
|
Util.writeFile(`${path_end}/end.txt`, jsObj.end)
|
|
2546
|
-
end += `<script src="/runtime/script/${table}/${time}
|
|
2546
|
+
end += `<script src="/runtime/script/${table}/${time}.js"></script>`
|
|
2547
2547
|
if (jsObj.head) {
|
|
2548
2548
|
head += jsObj.head
|
|
2549
2549
|
}
|
|
@@ -2555,8 +2555,25 @@ zRoute.moduleLib = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
2555
2555
|
if (head) {
|
|
2556
2556
|
res.locals.moduleHead = head
|
|
2557
2557
|
}
|
|
2558
|
+
|
|
2559
|
+
//add script for dropdown multi in table type
|
|
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}`;
|
|
2569
|
+
}
|
|
2570
|
+
}
|
|
2571
|
+
}
|
|
2572
|
+
}
|
|
2573
|
+
|
|
2574
|
+
//end
|
|
2558
2575
|
if (end) {
|
|
2559
|
-
res.locals.moduleEnd = end
|
|
2576
|
+
res.locals.moduleEnd = scriptTemp + end
|
|
2560
2577
|
}
|
|
2561
2578
|
}
|
|
2562
2579
|
|
|
@@ -2861,6 +2878,7 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
2861
2878
|
for (let qq in MODEL_TABLE.widgets) {
|
|
2862
2879
|
//check if have dropdown_multi
|
|
2863
2880
|
if (MODEL_TABLE.widgets[qq].name == 'dropdown_multi') {
|
|
2881
|
+
dropdownMultis.push(qq);
|
|
2864
2882
|
scriptForm += `$("#body-${keys}").on("click", "#dropdownadd${qq}",function () {
|
|
2865
2883
|
let elm = $(this).siblings("#${qq}");
|
|
2866
2884
|
var val = elm.val();
|
|
@@ -2904,8 +2922,8 @@ $("#body-${keys}>tr").each(function (index, tr) {
|
|
|
2904
2922
|
$(input).removeAttr("name");
|
|
2905
2923
|
$(input).attr("name",dataname+"["+index+"]["+$(input).data("name")+"]");
|
|
2906
2924
|
}
|
|
2907
|
-
});
|
|
2908
|
-
|
|
2925
|
+
});
|
|
2926
|
+
|
|
2909
2927
|
var textareas = $(tr).find("textarea");
|
|
2910
2928
|
textareas.each(function (i,input) {
|
|
2911
2929
|
if($(input).data("name")){
|
|
@@ -2943,6 +2961,17 @@ $("#body-${keys}>tr").each(function (index, tr) {
|
|
|
2943
2961
|
$(".${subname}_" + key).eq(index).closest("TD").find("img").attr("src",filename).addClass("boxy");
|
|
2944
2962
|
$(".${subname}_" + key).eq(index).closest("TD").append('<a href="'+filenamex+'" target="_blank" style="font-size: 12px">'+myimg+'</a>');
|
|
2945
2963
|
}
|
|
2964
|
+
} else if($(".${subname}_" + key).eq(index).hasClass("dropdown-multi")){
|
|
2965
|
+
var dropdownsData = '';
|
|
2966
|
+
var mydropdowns = myobj[key] || [];
|
|
2967
|
+
mydropdowns = mydropdowns.filter((item) => item.length > 0);
|
|
2968
|
+
|
|
2969
|
+
mydropdowns.map((item, i) => {
|
|
2970
|
+
var text = ${dropdownMultis[0]}Object[item];
|
|
2971
|
+
dropdownsData += "<span class='span"+key+"' > "+(i+1)+". <input type='hidden' name='${MYMODEL.table}[${keys}]["+index+"]["+key+"]["+i+"]' value='"+item+"' /> " + text +" <img class='tabler-icons icons-filter-danger pull-right' src='/assets/icons/trash-filled.svg' onclick='$(this).closest(\`span\`).remove();' title='Delete' /> <br></span>";
|
|
2972
|
+
|
|
2973
|
+
});
|
|
2974
|
+
$(".${subname}_" + key).eq(index).closest("TD").find("#dropdownboxparameter_income").html(dropdownsData);
|
|
2946
2975
|
} else {
|
|
2947
2976
|
$(".${subname}_" + key).eq(index).val(myobj[key] ? myobj[key] : '');
|
|
2948
2977
|
}
|