zet-lib 1.0.66 → 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 +35 -5
- 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,16 +2878,18 @@ 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') {
|
|
2864
|
-
|
|
2881
|
+
dropdownMultis.push(qq);
|
|
2882
|
+
scriptForm += `$("#body-${keys}").on("click", "#dropdownadd${qq}",function () {
|
|
2865
2883
|
let elm = $(this).siblings("#${qq}");
|
|
2866
2884
|
var val = elm.val();
|
|
2867
2885
|
if(val == ""){
|
|
2868
2886
|
alert("Please select data");
|
|
2869
2887
|
return false;
|
|
2870
2888
|
}
|
|
2889
|
+
var lengthOfItem = $(this).closest("tr").attr("data-id");
|
|
2871
2890
|
let text = elm.find("option:selected").text();
|
|
2872
2891
|
var count = $(this).parent().parent().find(".span${qq}").length;
|
|
2873
|
-
var data = "<span class='span${qq}' > "+(count+1)+". <input type='hidden' name='${
|
|
2892
|
+
var data = "<span class='span${qq}' > "+(count+1)+". <input type='hidden' name='${MYMODEL.table}[${keys}]["+lengthOfItem+"][${qq}]["+count+"]' value='"+val+"' /> " + 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>";
|
|
2874
2893
|
$(this).parent().parent().find("#dropdownbox${qq}").append(data);
|
|
2875
2894
|
$(this).siblings("#${qq}").val("");
|
|
2876
2895
|
});${Util.newLine}`
|
|
@@ -2904,7 +2923,7 @@ $("#body-${keys}>tr").each(function (index, tr) {
|
|
|
2904
2923
|
$(input).attr("name",dataname+"["+index+"]["+$(input).data("name")+"]");
|
|
2905
2924
|
}
|
|
2906
2925
|
});
|
|
2907
|
-
|
|
2926
|
+
|
|
2908
2927
|
var textareas = $(tr).find("textarea");
|
|
2909
2928
|
textareas.each(function (i,input) {
|
|
2910
2929
|
if($(input).data("name")){
|
|
@@ -2942,6 +2961,17 @@ $("#body-${keys}>tr").each(function (index, tr) {
|
|
|
2942
2961
|
$(".${subname}_" + key).eq(index).closest("TD").find("img").attr("src",filename).addClass("boxy");
|
|
2943
2962
|
$(".${subname}_" + key).eq(index).closest("TD").append('<a href="'+filenamex+'" target="_blank" style="font-size: 12px">'+myimg+'</a>');
|
|
2944
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);
|
|
2945
2975
|
} else {
|
|
2946
2976
|
$(".${subname}_" + key).eq(index).val(myobj[key] ? myobj[key] : '');
|
|
2947
2977
|
}
|