zet-lib 1.0.48 → 1.0.49
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/zRoute.js +64 -43
- package/package.json +2 -2
package/lib/zRoute.js
CHANGED
|
@@ -2738,32 +2738,14 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = '', data = {}) => {
|
|
|
2738
2738
|
let MODEL_TABLE = MYMODELS[MYMODEL.widgets[keys].table] || require(`${dirRoot}/models/${MYMODEL.widgets[keys].table}`)
|
|
2739
2739
|
//let MODEL_TABLE_RELATIONS = await zRoute.relations(req, res, MODEL_TABLE.table);
|
|
2740
2740
|
//relations[key + "TABLE"]
|
|
2741
|
-
let MODEL_TABLE_RELATIONS = relations[keys + 'TABLE']
|
|
2741
|
+
let MODEL_TABLE_RELATIONS = relations && relations.hasOwnProperty(keys + 'TABLE') ? relations[keys + 'TABLE'] : {}
|
|
2742
2742
|
let zForm = zRoute.formField(req, res, MODEL_TABLE, MODEL_TABLE_RELATIONS)
|
|
2743
2743
|
zRoute.moduleLib(req, res, MODEL_TABLE, MODEL_TABLE_RELATIONS, zForms)
|
|
2744
2744
|
let trash = `trash_${keys}_${MYMODEL.widgets[keys].table}`
|
|
2745
|
-
let trtd = ''
|
|
2746
|
-
for (let key in relations[keys]) {
|
|
2747
|
-
obj = zForm.obj[key] || {}
|
|
2748
|
-
let name = MYMODEL.table + '[' + keys + '][${increment}][' + key + ']'
|
|
2749
|
-
obj.name = name
|
|
2750
|
-
//obj.class = MYMODEL.table + "_" + keys + "_" + key;
|
|
2751
|
-
obj.class = `${MYMODEL.table}_${keys}_${key} form-control`
|
|
2752
|
-
obj.id = key
|
|
2753
|
-
obj.options = {
|
|
2754
|
-
'data-name': key,
|
|
2755
|
-
'data-id': obj.class,
|
|
2756
|
-
}
|
|
2757
|
-
trtd += `<td class="td_${key}_${MYMODEL.widgets[keys].table}">${cForm.field(obj)}</td>`
|
|
2758
|
-
}
|
|
2759
|
-
|
|
2760
|
-
trtd += `<td style="vertical-align:top"><span class="icon-small icons-danger ${trash}" title="Delete"><img class="icons-bg-white griddelete icon-image" src="/assets/icons/trash-filled.svg"></span></td></tr>`
|
|
2761
2745
|
let subname = MYMODEL.table + '_' + keys
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
scriptForm +=
|
|
2765
|
-
scriptForm += trtd
|
|
2766
|
-
scriptForm += '`}'
|
|
2746
|
+
let relationsWithKeys = relations ? relations[keys] : {}
|
|
2747
|
+
|
|
2748
|
+
scriptForm += `var append${keys} = (increment, callback) => { buildform(increment,'${MYMODEL.table}','${keys}','${JSON.stringify(relationsWithKeys)}', (data) => callback(data)) } `
|
|
2767
2749
|
scriptForm += Util.newLine
|
|
2768
2750
|
scriptForm += `var append${keys}Max = $('tbody#body-${keys}>tr').length;${Util.newLine}`
|
|
2769
2751
|
scriptForm += `function ${keys}Handler(){
|
|
@@ -2804,36 +2786,38 @@ $("#body-${keys}>tr").each(function (index, tr) {
|
|
|
2804
2786
|
|
|
2805
2787
|
scriptForm += ` $(function () {
|
|
2806
2788
|
$('#add${keys}').on('click',function(){
|
|
2807
|
-
$
|
|
2789
|
+
append${keys}(append${keys}Max, (data) => $('#body-${keys}').append(data));
|
|
2808
2790
|
append${keys}Max++;
|
|
2809
2791
|
${keys}Handler();
|
|
2810
2792
|
});
|
|
2811
2793
|
var ${keys} = $("#body-${keys}").data("value") ? $("#body-${keys}").data("value") : [];
|
|
2812
2794
|
${keys}.forEach(function (myobj, index) {
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
$(".${subname}_" + key).eq(index).
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2795
|
+
append${keys}(index, (data) => {
|
|
2796
|
+
$("#body-${keys}").append(data);
|
|
2797
|
+
${keys}Handler();
|
|
2798
|
+
for(var key in myobj){
|
|
2799
|
+
if($(".${subname}_" + key).eq(index).attr("type") == "checkbox" && myobj[key] == 1){
|
|
2800
|
+
$(".${subname}_" + key).eq(index).prop("checked", true);
|
|
2801
|
+
$(".${subname}_" + key).eq(index).val(myobj[key] ? myobj[key] : '');
|
|
2802
|
+
} else if($(".${subname}_" + key).eq(index).attr("type") == "file"){
|
|
2803
|
+
var myimg = myobj[key] ? myobj[key] : '';
|
|
2804
|
+
var pathName = "/uploads/${MYMODEL.table}/${keys}/";
|
|
2805
|
+
if(myimg) {
|
|
2806
|
+
var filename = filenamex = pathName+myimg;
|
|
2807
|
+
if (!myimg.match(/\\.(jpg|jpeg|png|gif|svg|jiff)$/i)) {
|
|
2808
|
+
filename = "/img/file.png";
|
|
2809
|
+
}
|
|
2810
|
+
$(".${subname}_" + key).eq(index).closest("TD").find("img").attr("src",filename).addClass("boxy");
|
|
2811
|
+
$(".${subname}_" + key).eq(index).closest("TD").append('<a href="'+filenamex+'" target="_blank" style="font-size: 12px">'+myimg+'</a>');
|
|
2826
2812
|
}
|
|
2827
|
-
|
|
2828
|
-
$(".${subname}_" + key).eq(index).
|
|
2813
|
+
} else {
|
|
2814
|
+
$(".${subname}_" + key).eq(index).val(myobj[key] ? myobj[key] : '');
|
|
2829
2815
|
}
|
|
2830
|
-
} else {
|
|
2831
|
-
$(".${subname}_" + key).eq(index).val(myobj[key] ? myobj[key] : '');
|
|
2832
2816
|
}
|
|
2833
|
-
|
|
2834
|
-
}
|
|
2835
|
-
append${keys}Max = index + 1;
|
|
2817
|
+
append${keys}Max = index + 1;
|
|
2818
|
+
});
|
|
2836
2819
|
});
|
|
2820
|
+
|
|
2837
2821
|
});${Util.newLine}`
|
|
2838
2822
|
break
|
|
2839
2823
|
|
|
@@ -3111,6 +3095,43 @@ zRoute.import = async (req, res, MYMODEL) => {
|
|
|
3111
3095
|
res.json(json)
|
|
3112
3096
|
}
|
|
3113
3097
|
|
|
3098
|
+
/*
|
|
3099
|
+
This is post data return form with tr td htmlform
|
|
3100
|
+
*/
|
|
3101
|
+
zRoute.buildForm = async (req, res) => {
|
|
3102
|
+
const MYMODELS = myCache.get('MYMODELS')
|
|
3103
|
+
let increment = req.body.increment
|
|
3104
|
+
let table = req.body.table
|
|
3105
|
+
let keys = req.body.keys
|
|
3106
|
+
let relations = JSON.parse(req.body.relations)
|
|
3107
|
+
let MYMODEL = MYMODELS[table] || require(`${dirRoot}/models/${table}`)
|
|
3108
|
+
let MODEL_TABLE = MYMODELS[MYMODEL.widgets[keys].table] || require(`${dirRoot}/models/${MYMODEL.widgets[keys].table}`)
|
|
3109
|
+
let MODEL_TABLE_RELATIONS = await zRoute.relations(req, res, MODEL_TABLE.table)
|
|
3110
|
+
let dataName = `${MYMODEL.table}[${keys}]`
|
|
3111
|
+
|
|
3112
|
+
let forms = zRoute.formField(req, res, MODEL_TABLE, MODEL_TABLE_RELATIONS)
|
|
3113
|
+
zRoute.moduleLib(req, res, MODEL_TABLE, MODEL_TABLE_RELATIONS, forms)
|
|
3114
|
+
let trash = `trash_${keys}_${MYMODEL.widgets[keys].table}`
|
|
3115
|
+
let trtd = ''
|
|
3116
|
+
for (let key in relations) {
|
|
3117
|
+
let obj = forms.obj[key] || {}
|
|
3118
|
+
let name = `${table}[${keys}][${increment}][${key}]`
|
|
3119
|
+
obj.name = name
|
|
3120
|
+
obj.class = `${MYMODEL.table}_${keys}_${key} form-control`
|
|
3121
|
+
obj.id = key
|
|
3122
|
+
obj.options = {
|
|
3123
|
+
'data-name': key,
|
|
3124
|
+
'data-id': obj.class,
|
|
3125
|
+
}
|
|
3126
|
+
trtd += `<td class="td_${key}_${MYMODEL.widgets[keys].table}">${cForm.field(obj)}</td>`
|
|
3127
|
+
}
|
|
3128
|
+
trtd += `<td style="vertical-align:top"><span class="icon-small icons-danger ${trash}" onclick="$(this).closest('tr').remove()" title="Delete"><img class="icons-bg-white griddelete icon-image" src="/assets/icons/trash-filled.svg"></span></td></tr>`
|
|
3129
|
+
let tabledata = `<tr data-id="${increment}" data-name="${dataName}" >`
|
|
3130
|
+
tabledata += trtd
|
|
3131
|
+
|
|
3132
|
+
res.send(tabledata)
|
|
3133
|
+
}
|
|
3134
|
+
|
|
3114
3135
|
zRoute.buildFileModel = (json, index = 0) => {
|
|
3115
3136
|
//let text = `module.exports = { ${Util.newLine}`;
|
|
3116
3137
|
let text = ''
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zet-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.49",
|
|
4
4
|
"description": "zet is a library that part of zet generator.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"homepage": "https://github.com/sintret/zet",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "https://github.com/sintret/zet"
|
|
11
|
+
"url": "git+https://github.com/sintret/zet.git"
|
|
12
12
|
},
|
|
13
13
|
"keywords": [
|
|
14
14
|
"expressjs"
|