zet-lib 1.3.38 → 1.3.39

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.
Files changed (3) hide show
  1. package/lib/Util.js +20 -3
  2. package/lib/zRoute.js +110 -105
  3. package/package.json +1 -1
package/lib/Util.js CHANGED
@@ -1335,23 +1335,40 @@ Util.terbilang = (nilai) => {
1335
1335
  return penyimpanan
1336
1336
  }
1337
1337
 
1338
- Util.tableShowInGrid = (arr) => {
1338
+ Util.array_id_to_zname = (arr) => {
1339
+ let r = {}
1340
+ arr.map((item) => {
1341
+ r[item.id] = item.zname;
1342
+ })
1343
+ return r;
1344
+ }
1345
+
1346
+ Util.tableShowInGrid = (arr, qey, MYMODEL, myCache, companyId) => {
1339
1347
  try {
1340
1348
  if (typeof arr != 'object') {
1341
1349
  arr = []
1342
1350
  }
1343
1351
  arr = arr || []
1344
1352
  let html = ''
1353
+ let MYMODELS = myCache.get('MYMODELS');
1354
+ let mywidget = MYMODELS[MYMODEL.widgets[qey].table].widgets
1345
1355
  if (arr.length > 0) {
1346
1356
  html += `<table class="table table-sm table-striped table-bordered table-hover">`
1347
1357
  let json = arr[0]
1348
1358
  arr.map((item) => {
1349
1359
  html += `<tr>`
1350
1360
  for (let key in item) {
1361
+ var keyFields = key + 'Fields'
1362
+ var keyObject = key + 'Object'
1351
1363
  let value = item[key]
1352
- if (Util.isNumeric(value)) {
1353
- value = Util.formatNumber(value, '.')
1364
+ if(mywidget[key].name == "relation"){
1365
+ value = value ? Util.array_id_to_zname(myCache.get(`${mywidget[key].table}_${MYMODEL.widgets[qey].table}___${key}_${companyId}`))[value] : ''
1366
+ } else {
1367
+ if (Util.isNumeric(value)) {
1368
+ value = Util.formatNumber(value, '.')
1369
+ }
1354
1370
  }
1371
+
1355
1372
  html += `<td>${value}</td>`
1356
1373
  }
1357
1374
  html += `</tr>`
package/lib/zRoute.js CHANGED
@@ -1026,137 +1026,141 @@ zRoute.approval_history_data = (arr = []) => {
1026
1026
  return myvalue
1027
1027
  }
1028
1028
 
1029
- zRoute.dataTableData = (key, value, MYMODEL, relations, myid = '') => {
1030
- relations = relations || {}
1031
- var keyFields = key + 'Fields'
1032
- var keyObject = key + 'Object'
1033
- let myvalue = value
1034
- var widgetName = MYMODEL.widgets[key] ? MYMODEL.widgets[key].name : ''
1035
- if (key == 'lock') {
1036
- myvalue = value == 1 ? 'Lock' : 'Unlock'
1037
- } else if (key == 'approval_history') {
1038
- myvalue = zRoute.approval_history_data(myvalue)
1039
- } else {
1040
- if (widgetName) {
1041
- switch (widgetName) {
1042
- case 'switch':
1043
- myvalue = relations[keyFields][value] || ''
1044
- break
1029
+ zRoute.dataTableData = (key, value, MYMODEL, relations, myid = '', companyId = 1) => {
1030
+ try {
1031
+ relations = relations || {}
1032
+ var keyFields = key + 'Fields'
1033
+ var keyObject = key + 'Object'
1034
+ let myvalue = value
1035
+ var widgetName = MYMODEL.widgets[key] ? MYMODEL.widgets[key].name : ''
1036
+ if (key == 'lock') {
1037
+ myvalue = value == 1 ? 'Lock' : 'Unlock'
1038
+ } else if (key == 'approval_history') {
1039
+ myvalue = zRoute.approval_history_data(myvalue)
1040
+ } else {
1041
+ if (widgetName) {
1042
+ switch (widgetName) {
1043
+ case 'switch':
1044
+ myvalue = relations[keyFields][value] || ''
1045
+ break
1045
1046
 
1046
- case 'color':
1047
- myvalue = `<input type="color" value="${value}">`
1048
- break
1047
+ case 'color':
1048
+ myvalue = `<input type="color" value="${value}">`
1049
+ break
1049
1050
 
1050
- case 'relation':
1051
- myvalue = relations[keyObject][value] || ''
1052
- break
1051
+ case 'relation':
1052
+ myvalue = relations[keyObject][value] || ''
1053
+ break
1053
1054
 
1054
- case 'dropdown_multi':
1055
- let arr = value ? value : []
1056
- if (arr.length) {
1057
- let myarr = []
1058
- arr.forEach(function (item) {
1059
- myarr.push(relations[keyObject][item])
1060
- })
1061
- myvalue = myarr.length ? myarr.join(', ') : ''
1062
- }
1063
- break
1055
+ case 'dropdown_multi':
1056
+ let arr = value ? value : []
1057
+ if (arr.length) {
1058
+ let myarr = []
1059
+ arr.forEach(function (item) {
1060
+ myarr.push(relations[keyObject][item])
1061
+ })
1062
+ myvalue = myarr.length ? myarr.join(', ') : ''
1063
+ }
1064
+ break
1064
1065
 
1065
- case 'dragdrop':
1066
- let arr2 = value ? value : []
1067
- if (arr2.length) {
1068
- let myarr2 = []
1069
- arr2.forEach(function (item) {
1070
- myarr2.push(relations[keyObject][item])
1071
- })
1072
- myvalue = myarr2.length ? myarr2.join(', ') : ''
1073
- }
1074
- break
1066
+ case 'dragdrop':
1067
+ let arr2 = value ? value : []
1068
+ if (arr2.length) {
1069
+ let myarr2 = []
1070
+ arr2.forEach(function (item) {
1071
+ myarr2.push(relations[keyObject][item])
1072
+ })
1073
+ myvalue = myarr2.length ? myarr2.join(', ') : ''
1074
+ }
1075
+ break
1075
1076
 
1076
- case 'dropdown_chain':
1077
- myvalue = relations[key][value] || ''
1078
- break
1077
+ case 'dropdown_chain':
1078
+ myvalue = relations[key][value] || ''
1079
+ break
1079
1080
 
1080
- case 'select':
1081
- myvalue = relations[keyFields][value] || ''
1082
- break
1081
+ case 'select':
1082
+ myvalue = relations[keyFields][value] || ''
1083
+ break
1083
1084
 
1084
- case 'radio':
1085
- myvalue = relations[keyFields][value] || ''
1086
- break
1085
+ case 'radio':
1086
+ myvalue = relations[keyFields][value] || ''
1087
+ break
1087
1088
 
1088
- case 'typeahead':
1089
- myvalue = relations[keyObject][value] || ''
1090
- break
1089
+ case 'typeahead':
1090
+ myvalue = relations[keyObject][value] || ''
1091
+ break
1091
1092
 
1092
- case 'datetime':
1093
- myvalue = Util.timeSql(value)
1094
- break
1093
+ case 'datetime':
1094
+ myvalue = Util.timeSql(value)
1095
+ break
1095
1096
 
1096
- case 'datepicker':
1097
- myvalue = Util.dateFormat(value, MYMODEL.widgets[key].format)
1098
- break
1097
+ case 'datepicker':
1098
+ myvalue = Util.dateFormat(value, MYMODEL.widgets[key].format)
1099
+ break
1099
1100
 
1100
- case 'number':
1101
- myvalue = Util.formatNumber(value)
1102
- break
1101
+ case 'number':
1102
+ myvalue = Util.formatNumber(value)
1103
+ break
1103
1104
 
1104
- case 'integer':
1105
- myvalue = value + ''
1106
- break
1105
+ case 'integer':
1106
+ myvalue = value + ''
1107
+ break
1107
1108
 
1108
- case 'image':
1109
- myvalue = Util.fileView('/uploads/' + MYMODEL.routeName + '/', value, { width: 60 })
1110
- break
1109
+ case 'image':
1110
+ myvalue = Util.fileView('/uploads/' + MYMODEL.routeName + '/', value, { width: 60 })
1111
+ break
1111
1112
 
1112
- case 'file':
1113
- myvalue = Util.fileView('/uploads/' + MYMODEL.routeName + '/', value)
1114
- break
1113
+ case 'file':
1114
+ myvalue = Util.fileView('/uploads/' + MYMODEL.routeName + '/', value)
1115
+ break
1115
1116
 
1116
- case 'dropzone':
1117
- if (myvalue && myvalue.length > 0) {
1118
- if (typeof myvalue === 'string') {
1119
- value = [myvalue]
1117
+ case 'dropzone':
1118
+ if (myvalue && myvalue.length > 0) {
1119
+ if (typeof myvalue === 'string') {
1120
+ value = [myvalue]
1121
+ }
1122
+ myvalue = value.map((item) => `<a class="text-success" target="_blank" href="/uploads/${MYMODEL.routeName}/${key}/${item}"> ${item.substring(13)}</a> `)
1120
1123
  }
1121
- myvalue = value.map((item) => `<a class="text-success" target="_blank" href="/uploads/${MYMODEL.routeName}/${key}/${item}"> ${item.substring(13)}</a> `)
1122
- }
1123
- break
1124
+ break
1124
1125
 
1125
- case 'password':
1126
- myvalue = 'xxxxxx'
1127
- break
1126
+ case 'password':
1127
+ myvalue = 'xxxxxx'
1128
+ break
1128
1129
 
1129
- case 'json':
1130
- myvalue = value ? JSON.stringify(value).replaceAll('","', '", "') : ''
1131
- break
1130
+ case 'json':
1131
+ myvalue = value ? JSON.stringify(value).replaceAll('","', '", "') : ''
1132
+ break
1132
1133
 
1133
- case 'location':
1134
- myvalue = value ? value.address1 : ''
1135
- break
1134
+ case 'location':
1135
+ myvalue = value ? value.address1 : ''
1136
+ break
1136
1137
 
1137
- case 'json_array':
1138
- myvalue = value ? JSON.stringify(value).replaceAll('","', '", "') : ''
1139
- break
1138
+ case 'json_array':
1139
+ myvalue = value ? JSON.stringify(value).replaceAll('","', '", "') : ''
1140
+ break
1140
1141
 
1141
- case 'dropdown_checkbox':
1142
- myvalue = value ? value.reduce((acc, item) => `${acc} <u>${item}</u> `, '') : ''
1143
- break
1142
+ case 'dropdown_checkbox':
1143
+ myvalue = value ? value.reduce((acc, item) => `${acc} <u>${item}</u> `, '') : ''
1144
+ break
1144
1145
 
1145
- case 'array':
1146
- myvalue = value ? JSON.stringify(value).replaceAll('","', '", "') : ''
1147
- break
1146
+ case 'array':
1147
+ myvalue = value ? JSON.stringify(value).replaceAll('","', '", "') : ''
1148
+ break
1148
1149
 
1149
- case 'table':
1150
- myvalue = Util.tableShowInGrid(value)
1151
- break
1150
+ case 'table':
1151
+ myvalue = Util.tableShowInGrid(value, key, MYMODEL, myCache, companyId)
1152
+ break
1152
1153
 
1153
- default:
1154
- value = value || ''
1155
- myvalue = value.length > 50 ? value.substring(0, 50) : value
1154
+ default:
1155
+ value = value || ''
1156
+ myvalue = value.length > 50 ? value.substring(0, 50) : value
1157
+ }
1156
1158
  }
1157
1159
  }
1160
+ return myvalue
1161
+ } catch (e) {
1162
+ console.log(e)
1158
1163
  }
1159
- return myvalue
1160
1164
  }
1161
1165
 
1162
1166
  zRoute.users = async (req) => {
@@ -2172,6 +2176,7 @@ zRoute.listDataTable = async (req, res, objData = {}) => {
2172
2176
  zRoute.listData = async (req, res, MYMODEL, zRole, actionButtonsFn) => {
2173
2177
  const room = res.locals.token || 'aa'
2174
2178
  const table = MYMODEL.table
2179
+ const companyId = res.locals.companyId;
2175
2180
  try {
2176
2181
  actionButtonsFn = actionButtonsFn || function () {}
2177
2182
  const relations = await zRoute.relations(req, res, MYMODEL.table)
@@ -2281,7 +2286,7 @@ zRoute.listData = async (req, res, MYMODEL, zRole, actionButtonsFn) => {
2281
2286
  let buttons = !actionButtonsFn(levels, row, MYMODEL.table) ? zRoute.actionButtons(levels, row, MYMODEL.table) : actionButtonsFn(levels, row, MYMODEL.table)
2282
2287
  arr.push(buttons)
2283
2288
  } else {
2284
- arr.push(zRoute.dataTableData(item, row[item], MYMODEL, relations, row.id))
2289
+ arr.push(zRoute.dataTableData(item, row[item], MYMODEL, relations, row.id, companyId))
2285
2290
  }
2286
2291
  })
2287
2292
  datas.push(arr)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zet-lib",
3
- "version": "1.3.38",
3
+ "version": "1.3.39",
4
4
  "description": "zet is a library that part of zet generator.",
5
5
  "engines": {
6
6
  "node": ">=18"