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 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}/.js"></script>`
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zet-lib",
3
- "version": "1.0.67",
3
+ "version": "1.0.68",
4
4
  "description": "zet is a library that part of zet generator.",
5
5
  "engines": {
6
6
  "node": ">=18"