@opengis/fastify-table 1.4.87 → 1.5.0

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 (489) hide show
  1. package/dist/config.js +33 -0
  2. package/dist/dblist.js +5 -0
  3. package/dist/index.js +170 -0
  4. package/dist/redactionList.js +6 -0
  5. package/dist/server/helpers/core/badge.js +16 -0
  6. package/dist/server/helpers/core/buttonFilePreview.js +12 -0
  7. package/dist/server/helpers/core/buttonHelper.js +20 -0
  8. package/{server → dist/server}/helpers/core/token.js +16 -18
  9. package/dist/server/helpers/format/formatAuto.js +14 -0
  10. package/dist/server/helpers/format/formatDate.js +231 -0
  11. package/{server → dist/server}/helpers/format/formatDigit.js +21 -21
  12. package/dist/server/helpers/format/formatNum.js +331 -0
  13. package/{server → dist/server}/helpers/format/formatNumber.js +50 -55
  14. package/dist/server/helpers/format/formatRelative.js +180 -0
  15. package/{server → dist/server}/helpers/format/formatUnit.js +41 -40
  16. package/{server → dist/server}/helpers/format/num_format.js +40 -44
  17. package/{server → dist/server}/helpers/format/set.js +26 -27
  18. package/{server → dist/server}/helpers/funcs/_math.js +49 -50
  19. package/{server → dist/server}/helpers/funcs/contentList.js +52 -57
  20. package/{server → dist/server}/helpers/funcs/empty.js +21 -21
  21. package/dist/server/helpers/funcs/ifCond.js +109 -0
  22. package/dist/server/helpers/funcs/ifCondAnd.js +109 -0
  23. package/dist/server/helpers/funcs/ifCondOr.js +110 -0
  24. package/{server → dist/server}/helpers/funcs/inc.js +19 -20
  25. package/{server → dist/server}/helpers/funcs/json.js +3 -3
  26. package/dist/server/helpers/funcs/qrcode.js +65 -0
  27. package/{server → dist/server}/helpers/funcs/round.js +27 -29
  28. package/dist/server/helpers/funcs/select.js +39 -0
  29. package/dist/server/helpers/index.js +125 -0
  30. package/dist/server/helpers/list/buttonHelper.js +20 -0
  31. package/{server → dist/server}/helpers/list/descriptionList.js +39 -45
  32. package/dist/server/helpers/list/tableList.js +104 -0
  33. package/{server → dist/server}/helpers/list/utils/button.js +3 -3
  34. package/{server → dist/server}/helpers/list/utils/buttonDel.js +8 -9
  35. package/{server → dist/server}/helpers/list/utils/buttonEdit.js +8 -9
  36. package/{server → dist/server}/helpers/string/coalesce.js +33 -39
  37. package/{server → dist/server}/helpers/string/concat.js +25 -28
  38. package/{server → dist/server}/helpers/string/split.js +19 -20
  39. package/{server → dist/server}/helpers/string/str_replace.js +57 -62
  40. package/{server → dist/server}/helpers/string/substr.js +28 -32
  41. package/{server → dist/server}/helpers/string/translit.js +20 -23
  42. package/dist/server/helpers/string/utils/alphabet.js +76 -0
  43. package/{server → dist/server}/helpers/utils/button.js +3 -3
  44. package/{server → dist/server}/helpers/utils/buttonAdd.js +4 -4
  45. package/{server → dist/server}/helpers/utils/buttonDel.js +11 -15
  46. package/{server → dist/server}/helpers/utils/buttonDownload.js +3 -3
  47. package/dist/server/helpers/utils/buttonEdit.js +14 -0
  48. package/{server → dist/server}/helpers/utils/buttonPreview.js +3 -3
  49. package/{server → dist/server}/helpers/utils/mdToHTML.js +16 -17
  50. package/{server → dist/server}/helpers/utils/paddingNumber.js +5 -5
  51. package/dist/server/plugins/access/funcs/getAdminAccess.js +11 -0
  52. package/dist/server/plugins/cron/cronList.js +2 -0
  53. package/dist/server/plugins/cron/funcs/addCron.js +41 -0
  54. package/{server → dist/server}/plugins/cron/funcs/interval2ms.js +36 -40
  55. package/dist/server/plugins/cron/funcs/runCron.js +20 -0
  56. package/{server → dist/server}/plugins/cron/funcs/verifyUnique.js +19 -23
  57. package/dist/server/plugins/cron/index.js +75 -0
  58. package/dist/server/plugins/crud/funcs/dataDelete.js +87 -0
  59. package/dist/server/plugins/crud/funcs/dataInsert.js +134 -0
  60. package/dist/server/plugins/crud/funcs/dataUpdate.js +198 -0
  61. package/dist/server/plugins/crud/funcs/getAccess.js +82 -0
  62. package/dist/server/plugins/crud/funcs/getOpt.js +13 -0
  63. package/dist/server/plugins/crud/funcs/getToken.js +24 -0
  64. package/dist/server/plugins/crud/funcs/isFileExists.js +11 -0
  65. package/dist/server/plugins/crud/funcs/setOpt.js +19 -0
  66. package/dist/server/plugins/crud/funcs/setToken.js +41 -0
  67. package/dist/server/plugins/crud/funcs/utils/getFolder.js +13 -0
  68. package/dist/server/plugins/crud/funcs/utils/getInsertQuery.js +54 -0
  69. package/dist/server/plugins/crud/funcs/utils/logChanges.js +144 -0
  70. package/{server → dist/server}/plugins/crud/funcs/validateData.js +91 -83
  71. package/dist/server/plugins/extra/extraData.js +81 -0
  72. package/dist/server/plugins/extra/extraDataGet.js +52 -0
  73. package/dist/server/plugins/file/downloadFile.js +15 -0
  74. package/{server → dist/server}/plugins/file/getExport.js +18 -38
  75. package/dist/server/plugins/file/isFileExists.js +13 -0
  76. package/dist/server/plugins/file/providers/fs.js +86 -0
  77. package/dist/server/plugins/file/providers/index.js +28 -0
  78. package/dist/server/plugins/file/providers/mime/index.js +7 -0
  79. package/dist/server/plugins/file/providers/mime/mimes.js +1179 -0
  80. package/dist/server/plugins/file/providers/s3/client.js +26 -0
  81. package/dist/server/plugins/file/providers/s3/funcs/downloadFile.js +42 -0
  82. package/dist/server/plugins/file/providers/s3/funcs/fileExists.js +24 -0
  83. package/dist/server/plugins/file/providers/s3/funcs/uploadFile.js +35 -0
  84. package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +18 -0
  85. package/{server → dist/server}/plugins/file/providers/s3/index.js +11 -12
  86. package/dist/server/plugins/file/providers/utils/getDataSize.js +19 -0
  87. package/dist/server/plugins/file/providers/utils/getValidData.js +30 -0
  88. package/dist/server/plugins/file/providers/utils/handlers/dataTypes.js +7 -0
  89. package/dist/server/plugins/file/providers/utils/handlers/index.js +50 -0
  90. package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.js +9 -0
  91. package/dist/server/plugins/file/providers/utils/streamToBuffer.js +7 -0
  92. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isArray.js +2 -3
  93. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isBuffer.js +2 -3
  94. package/dist/server/plugins/file/providers/utils/typeguards/isPath.js +3 -0
  95. package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.js +7 -0
  96. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isText.js +2 -3
  97. package/dist/server/plugins/file/uploadFile.js +14 -0
  98. package/dist/server/plugins/file/uploadMultiPart.js +101 -0
  99. package/dist/server/plugins/file/utils/allowedExtensions.js +60 -0
  100. package/{server → dist/server}/plugins/file/utils/getFileType.js +12 -10
  101. package/dist/server/plugins/file/utils/getPath.js +30 -0
  102. package/dist/server/plugins/file/utils/isFileExists.js +15 -0
  103. package/dist/server/plugins/grpc/file2json.js +50 -0
  104. package/dist/server/plugins/grpc/grpc.js +103 -0
  105. package/dist/server/plugins/grpc/office2pdf.js +78 -0
  106. package/dist/server/plugins/grpc/utils/csv2xls.js +6 -0
  107. package/dist/server/plugins/grpc/utils/excel2Json.js +10 -0
  108. package/dist/server/plugins/grpc/utils/html2doc.js +17 -0
  109. package/dist/server/plugins/grpc/utils/html2img.js +17 -0
  110. package/dist/server/plugins/grpc/utils/html2pdf.js +19 -0
  111. package/{server → dist/server}/plugins/grpc/utils/htmlTemplate.js +3 -4
  112. package/dist/server/plugins/grpc/utils/json2xls.js +11 -0
  113. package/dist/server/plugins/grpc/utils/mergePdf.js +18 -0
  114. package/dist/server/plugins/hook/funcs/addHook.js +7 -0
  115. package/dist/server/plugins/hook/funcs/applyHook.js +25 -0
  116. package/dist/server/plugins/hook/funcs/applyHookSync.js +7 -0
  117. package/dist/server/plugins/hook/hookList.js +2 -0
  118. package/{server → dist/server}/plugins/hook/index.js +7 -8
  119. package/dist/server/plugins/logger/createFileStream.js +79 -0
  120. package/dist/server/plugins/logger/errorMessage.js +24 -0
  121. package/dist/server/plugins/logger/errorStatus.js +17 -0
  122. package/dist/server/plugins/logger/getHooks.js +17 -0
  123. package/dist/server/plugins/logger/getLogger.js +52 -0
  124. package/dist/server/plugins/logger/index.js +37 -0
  125. package/dist/server/plugins/logger/labels.js +10 -0
  126. package/dist/server/plugins/logger/serializers.js +22 -0
  127. package/{server → dist/server}/plugins/logger/timestampWithTimeZone.js +5 -5
  128. package/dist/server/plugins/md/funcs/formatMdoc.js +45 -0
  129. package/{server → dist/server}/plugins/md/funcs/mdToHTML.js +16 -17
  130. package/dist/server/plugins/metric/index.js +6 -0
  131. package/dist/server/plugins/metric/loggerSystem.js +127 -0
  132. package/dist/server/plugins/metric/systemMetricsFifthly.js +20 -0
  133. package/dist/server/plugins/migration/exec.migrations.js +59 -0
  134. package/dist/server/plugins/migration/exec.sql.js +61 -0
  135. package/{server → dist/server}/plugins/migration/index.js +5 -7
  136. package/dist/server/plugins/pg/funcs/autoIndex.js +102 -0
  137. package/{server → dist/server}/plugins/pg/funcs/getDBParams.js +16 -15
  138. package/dist/server/plugins/pg/funcs/getMeta.js +48 -0
  139. package/dist/server/plugins/pg/funcs/getPG.js +39 -0
  140. package/dist/server/plugins/pg/funcs/getPGAsync.js +45 -0
  141. package/dist/server/plugins/pg/funcs/init.js +157 -0
  142. package/dist/server/plugins/pg/index.js +47 -0
  143. package/dist/server/plugins/pg/pgClients.js +20 -0
  144. package/dist/server/plugins/policy/funcs/checkPolicy.js +173 -0
  145. package/dist/server/plugins/policy/funcs/checkXSS.js +44 -0
  146. package/dist/server/plugins/policy/index.js +11 -0
  147. package/dist/server/plugins/policy/sqlInjection.js +33 -0
  148. package/dist/server/plugins/policy/xssInjection.js +72 -0
  149. package/{server → dist/server}/plugins/redis/client.js +6 -8
  150. package/dist/server/plugins/redis/funcs/getRedis.js +23 -0
  151. package/{server → dist/server}/plugins/redis/funcs/redisClients.js +2 -3
  152. package/dist/server/plugins/redis/index.js +8 -0
  153. package/dist/server/plugins/sqlite/funcs/getSqlite.js +27 -0
  154. package/dist/server/plugins/sqlite/funcs/init.js +45 -0
  155. package/dist/server/plugins/sqlite/index.js +8 -0
  156. package/dist/server/plugins/sqlite/sqliteClients.js +24 -0
  157. package/dist/server/plugins/table/funcs/addMenu.js +12 -0
  158. package/dist/server/plugins/table/funcs/addTemplateDir.js +16 -0
  159. package/dist/server/plugins/table/funcs/customTokens.js +2 -0
  160. package/dist/server/plugins/table/funcs/getData.js +25 -0
  161. package/dist/server/plugins/table/funcs/getFilter.js +18 -0
  162. package/dist/server/plugins/table/funcs/getFilterSQL/index.js +201 -0
  163. package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +131 -0
  164. package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +11 -0
  165. package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +84 -0
  166. package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +11 -0
  167. package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +161 -0
  168. package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +40 -0
  169. package/dist/server/plugins/table/funcs/getSelect.js +37 -0
  170. package/dist/server/plugins/table/funcs/getSelectMeta.js +77 -0
  171. package/dist/server/plugins/table/funcs/getTemplate.js +86 -0
  172. package/dist/server/plugins/table/funcs/getTemplatePath.js +60 -0
  173. package/dist/server/plugins/table/funcs/getTemplateSync.js +84 -0
  174. package/dist/server/plugins/table/funcs/getTemplates.js +15 -0
  175. package/dist/server/plugins/table/funcs/gisIRColumn.js +81 -0
  176. package/dist/server/plugins/table/funcs/loadTemplate.js +2 -0
  177. package/dist/server/plugins/table/funcs/loadTemplatePath.js +2 -0
  178. package/dist/server/plugins/table/funcs/menuDirs.js +2 -0
  179. package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.js +75 -0
  180. package/dist/server/plugins/table/funcs/metaFormat/index.js +64 -0
  181. package/dist/server/plugins/table/funcs/userTemplateDir.js +2 -0
  182. package/dist/server/plugins/table/funcs/userTokens.js +2 -0
  183. package/dist/server/plugins/util/funcs/eventStream.js +28 -0
  184. package/{server → dist/server}/plugins/util/funcs/flattenObject.js +14 -12
  185. package/{server → dist/server}/plugins/util/funcs/unflattenObject.js +48 -46
  186. package/{server → dist/server}/plugins/yml/funcs/json2yml.js +3 -5
  187. package/{server → dist/server}/plugins/yml/funcs/yml2json.js +11 -14
  188. package/{server → dist/server}/routes/access/controllers/access.group.js +17 -23
  189. package/{server → dist/server}/routes/access/controllers/access.group.post.js +46 -53
  190. package/dist/server/routes/access/controllers/access.interface.js +36 -0
  191. package/{server/routes/access/index.mjs → dist/server/routes/access/index.js} +10 -12
  192. package/{server/routes/access/schema.mjs → dist/server/routes/access/schema.js} +65 -68
  193. package/dist/server/routes/cron/controllers/cronApi.js +16 -0
  194. package/dist/server/routes/cron/index.js +15 -0
  195. package/dist/server/routes/crud/controllers/deleteCrud.js +90 -0
  196. package/dist/server/routes/crud/controllers/insert.js +110 -0
  197. package/dist/server/routes/crud/controllers/table.js +144 -0
  198. package/dist/server/routes/crud/controllers/update.js +113 -0
  199. package/dist/server/routes/crud/index.js +22 -0
  200. package/dist/server/routes/dblist/controllers/readItems.js +25 -0
  201. package/dist/server/routes/dblist/controllers/setItem.js +20 -0
  202. package/dist/server/routes/dblist/index.js +17 -0
  203. package/dist/server/routes/dblist/utils/formatData.js +8 -0
  204. package/dist/server/routes/file/controllers/delete.js +99 -0
  205. package/dist/server/routes/file/controllers/download.js +56 -0
  206. package/dist/server/routes/file/controllers/export.js +294 -0
  207. package/dist/server/routes/file/controllers/files.js +57 -0
  208. package/dist/server/routes/file/controllers/resize.js +86 -0
  209. package/dist/server/routes/file/controllers/resizeAll.js +140 -0
  210. package/dist/server/routes/file/controllers/upload.js +56 -0
  211. package/dist/server/routes/file/controllers/uploadImage.js +45 -0
  212. package/dist/server/routes/file/controllers/utils/formatResult.js +13 -0
  213. package/dist/server/routes/file/controllers/utils/jsonToCsv.js +40 -0
  214. package/dist/server/routes/file/controllers/utils/jsonToXls.js +37 -0
  215. package/dist/server/routes/file/index.js +22 -0
  216. package/dist/server/routes/file/schema.js +14 -0
  217. package/dist/server/routes/grpc/controllers/file2geojson.js +54 -0
  218. package/dist/server/routes/grpc/controllers/filePreview.js +87 -0
  219. package/dist/server/routes/grpc/index.js +9 -0
  220. package/dist/server/routes/logger/controllers/logger.file.js +81 -0
  221. package/dist/server/routes/logger/controllers/logger.test.api.js +42 -0
  222. package/dist/server/routes/logger/controllers/utils/checkUserAccess.js +22 -0
  223. package/dist/server/routes/logger/controllers/utils/getRootDir.js +25 -0
  224. package/dist/server/routes/logger/index.js +18 -0
  225. package/dist/server/routes/menu/controllers/getMenu.js +98 -0
  226. package/dist/server/routes/menu/controllers/interfaces.js +18 -0
  227. package/dist/server/routes/menu/index.js +7 -0
  228. package/dist/server/routes/properties/controllers/properties.get.js +23 -0
  229. package/dist/server/routes/properties/controllers/properties.post.js +68 -0
  230. package/dist/server/routes/properties/index.js +21 -0
  231. package/dist/server/routes/table/controllers/card.js +79 -0
  232. package/dist/server/routes/table/controllers/cardData.js +161 -0
  233. package/dist/server/routes/table/controllers/cardTabData.js +49 -0
  234. package/dist/server/routes/table/controllers/dataInfo.js +57 -0
  235. package/dist/server/routes/table/controllers/filter.js +181 -0
  236. package/dist/server/routes/table/controllers/form.js +41 -0
  237. package/{server → dist/server}/routes/table/controllers/getFormByTable.js +105 -125
  238. package/dist/server/routes/table/controllers/search.js +80 -0
  239. package/dist/server/routes/table/controllers/suggest.js +242 -0
  240. package/dist/server/routes/table/controllers/tableData.js +88 -0
  241. package/dist/server/routes/table/controllers/tableInfo.js +112 -0
  242. package/dist/server/routes/table/controllers/tokenInfo.js +10 -0
  243. package/dist/server/routes/table/controllers/utils/conditions.js +30 -0
  244. package/dist/server/routes/table/controllers/utils/formatSchema.js +35 -0
  245. package/dist/server/routes/table/controllers/utils/locales.js +2 -0
  246. package/dist/server/routes/table/functions/getData.js +584 -0
  247. package/dist/server/routes/table/index.js +44 -0
  248. package/dist/server/routes/table/schema.js +117 -0
  249. package/dist/server/routes/templates/controllers/getTemplate.js +65 -0
  250. package/dist/server/routes/templates/index.js +7 -0
  251. package/{server → dist/server}/routes/templates/schema.js +11 -12
  252. package/dist/server/routes/util/controllers/code.generator.js +75 -0
  253. package/dist/server/routes/util/controllers/next.id.js +4 -0
  254. package/dist/server/routes/util/controllers/status.monitor.js +6 -0
  255. package/dist/server/routes/util/controllers/user.tokens.js +32 -0
  256. package/dist/server/routes/util/index.js +13 -0
  257. package/dist/server/routes/widget/controllers/file.edit.js +48 -0
  258. package/dist/server/routes/widget/controllers/widget.del.js +84 -0
  259. package/dist/server/routes/widget/controllers/widget.get.js +164 -0
  260. package/dist/server/routes/widget/controllers/widget.set.js +117 -0
  261. package/dist/server/routes/widget/hook/onWidgetSet.js +10 -0
  262. package/dist/server/routes/widget/index.js +42 -0
  263. package/dist/server/types/core.js +12 -0
  264. package/dist/utils.js +93 -0
  265. package/package.json +24 -17
  266. package/config.js +0 -37
  267. package/dblist.js +0 -5
  268. package/index.js +0 -193
  269. package/redactionList.js +0 -7
  270. package/server/helpers/core/badge.js +0 -14
  271. package/server/helpers/core/buttonFilePreview.js +0 -12
  272. package/server/helpers/core/buttonHelper.js +0 -22
  273. package/server/helpers/format/formatAuto.js +0 -13
  274. package/server/helpers/format/formatDate.js +0 -258
  275. package/server/helpers/format/formatNum.js +0 -365
  276. package/server/helpers/format/formatRelative.js +0 -106
  277. package/server/helpers/funcs/ifCond.js +0 -109
  278. package/server/helpers/funcs/ifCondAnd.js +0 -114
  279. package/server/helpers/funcs/ifCondOr.js +0 -115
  280. package/server/helpers/funcs/qrcode.js +0 -68
  281. package/server/helpers/funcs/select.js +0 -46
  282. package/server/helpers/index.js +0 -137
  283. package/server/helpers/list/buttonHelper.js +0 -22
  284. package/server/helpers/list/tableList.js +0 -87
  285. package/server/helpers/string/utils/alphabet.js +0 -76
  286. package/server/helpers/utils/buttonEdit.js +0 -17
  287. package/server/migrations/0.sql +0 -84
  288. package/server/migrations/cls.sql +0 -40
  289. package/server/migrations/context.sql +0 -135
  290. package/server/migrations/crm.sql +0 -155
  291. package/server/migrations/log.sql +0 -87
  292. package/server/migrations/properties.sql +0 -115
  293. package/server/migrations/roles.sql +0 -191
  294. package/server/migrations/template.sql +0 -44
  295. package/server/migrations/users.sql +0 -176
  296. package/server/plugins/access/funcs/getAdminAccess.js +0 -14
  297. package/server/plugins/access/index.mjs +0 -6
  298. package/server/plugins/cron/cronList.js +0 -1
  299. package/server/plugins/cron/funcs/addCron.js +0 -52
  300. package/server/plugins/cron/funcs/runCron.js +0 -24
  301. package/server/plugins/cron/index.js +0 -77
  302. package/server/plugins/crud/funcs/dataDelete.js +0 -86
  303. package/server/plugins/crud/funcs/dataInsert.js +0 -131
  304. package/server/plugins/crud/funcs/dataUpdate.js +0 -179
  305. package/server/plugins/crud/funcs/getAccess.js +0 -94
  306. package/server/plugins/crud/funcs/getOpt.js +0 -14
  307. package/server/plugins/crud/funcs/getToken.js +0 -33
  308. package/server/plugins/crud/funcs/isFileExists.js +0 -13
  309. package/server/plugins/crud/funcs/setOpt.js +0 -21
  310. package/server/plugins/crud/funcs/setToken.js +0 -43
  311. package/server/plugins/crud/funcs/utils/getFolder.js +0 -11
  312. package/server/plugins/crud/funcs/utils/getInsertQuery.js +0 -44
  313. package/server/plugins/crud/funcs/utils/logChanges.js +0 -121
  314. package/server/plugins/crud/index.js +0 -23
  315. package/server/plugins/extra/extraData.js +0 -79
  316. package/server/plugins/extra/extraDataGet.js +0 -56
  317. package/server/plugins/file/downloadFile.js +0 -18
  318. package/server/plugins/file/isFileExists.js +0 -17
  319. package/server/plugins/file/providers/fs.js +0 -100
  320. package/server/plugins/file/providers/index.d.ts +0 -49
  321. package/server/plugins/file/providers/index.js +0 -36
  322. package/server/plugins/file/providers/mime/index.js +0 -12
  323. package/server/plugins/file/providers/mime/mimes.js +0 -1180
  324. package/server/plugins/file/providers/s3/client.js +0 -41
  325. package/server/plugins/file/providers/s3/funcs/downloadFile.js +0 -50
  326. package/server/plugins/file/providers/s3/funcs/fileExists.js +0 -32
  327. package/server/plugins/file/providers/s3/funcs/uploadFile.js +0 -46
  328. package/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +0 -23
  329. package/server/plugins/file/providers/utils/getDataSize.js +0 -20
  330. package/server/plugins/file/providers/utils/getValidData.js +0 -32
  331. package/server/plugins/file/providers/utils/handlers/dataTypes.js +0 -8
  332. package/server/plugins/file/providers/utils/handlers/index.js +0 -53
  333. package/server/plugins/file/providers/utils/handlers/sizeHandlers.js +0 -11
  334. package/server/plugins/file/providers/utils/streamToBuffer.js +0 -8
  335. package/server/plugins/file/providers/utils/typeguards/isPath.js +0 -5
  336. package/server/plugins/file/providers/utils/typeguards/isReadableStream.js +0 -8
  337. package/server/plugins/file/uploadFile.js +0 -19
  338. package/server/plugins/file/uploadMultiPart.js +0 -131
  339. package/server/plugins/file/utils/allowedExtensions.js +0 -25
  340. package/server/plugins/file/utils/getPath.js +0 -25
  341. package/server/plugins/file/utils/isFileExists.js +0 -16
  342. package/server/plugins/grpc/file2json.js +0 -54
  343. package/server/plugins/grpc/grpc.js +0 -125
  344. package/server/plugins/grpc/office2pdf.js +0 -91
  345. package/server/plugins/grpc/utils/csv2xls.js +0 -8
  346. package/server/plugins/grpc/utils/excel2Json.js +0 -8
  347. package/server/plugins/grpc/utils/html2doc.js +0 -19
  348. package/server/plugins/grpc/utils/html2img.js +0 -18
  349. package/server/plugins/grpc/utils/html2pdf.js +0 -23
  350. package/server/plugins/grpc/utils/json2xls.js +0 -13
  351. package/server/plugins/grpc/utils/mergePdf.js +0 -20
  352. package/server/plugins/hook/funcs/addHook.js +0 -8
  353. package/server/plugins/hook/funcs/applyHook.js +0 -25
  354. package/server/plugins/hook/funcs/applyHookSync.js +0 -9
  355. package/server/plugins/hook/hookList.js +0 -1
  356. package/server/plugins/logger/createFileStream.js +0 -88
  357. package/server/plugins/logger/errorMessage.js +0 -25
  358. package/server/plugins/logger/errorStatus.js +0 -19
  359. package/server/plugins/logger/getHooks.js +0 -21
  360. package/server/plugins/logger/getLogger.js +0 -58
  361. package/server/plugins/logger/index.js +0 -33
  362. package/server/plugins/logger/labels.js +0 -11
  363. package/server/plugins/logger/serializers.js +0 -25
  364. package/server/plugins/md/funcs/formatMdoc.js +0 -40
  365. package/server/plugins/metric/index.js +0 -8
  366. package/server/plugins/metric/loggerSystem.js +0 -131
  367. package/server/plugins/metric/systemMetricsFifthly.js +0 -24
  368. package/server/plugins/migration/exec.migrations.js +0 -63
  369. package/server/plugins/migration/exec.sql.js +0 -67
  370. package/server/plugins/pg/funcs/autoIndex.js +0 -103
  371. package/server/plugins/pg/funcs/getMeta.js +0 -49
  372. package/server/plugins/pg/funcs/getPG.js +0 -42
  373. package/server/plugins/pg/funcs/getPGAsync.js +0 -62
  374. package/server/plugins/pg/funcs/init.js +0 -117
  375. package/server/plugins/pg/index.js +0 -54
  376. package/server/plugins/pg/pgClients.js +0 -22
  377. package/server/plugins/policy/funcs/checkPolicy.js +0 -127
  378. package/server/plugins/policy/funcs/checkXSS.js +0 -37
  379. package/server/plugins/policy/index.js +0 -11
  380. package/server/plugins/policy/sqlInjection.js +0 -34
  381. package/server/plugins/policy/xssInjection.js +0 -73
  382. package/server/plugins/redis/funcs/getRedis.js +0 -25
  383. package/server/plugins/redis/index.js +0 -17
  384. package/server/plugins/sqlite/funcs/getSqlite.js +0 -39
  385. package/server/plugins/sqlite/funcs/init.js +0 -53
  386. package/server/plugins/sqlite/index.js +0 -11
  387. package/server/plugins/sqlite/sqliteClients.js +0 -26
  388. package/server/plugins/table/funcs/addMenu.js +0 -16
  389. package/server/plugins/table/funcs/addTemplateDir.js +0 -19
  390. package/server/plugins/table/funcs/customTokens.js +0 -1
  391. package/server/plugins/table/funcs/getData.js +0 -14
  392. package/server/plugins/table/funcs/getFilter.js +0 -14
  393. package/server/plugins/table/funcs/getFilterSQL/index.js +0 -163
  394. package/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +0 -136
  395. package/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +0 -13
  396. package/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +0 -75
  397. package/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +0 -12
  398. package/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +0 -156
  399. package/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +0 -34
  400. package/server/plugins/table/funcs/getSelect.js +0 -31
  401. package/server/plugins/table/funcs/getSelectMeta.js +0 -74
  402. package/server/plugins/table/funcs/getTemplate.js +0 -88
  403. package/server/plugins/table/funcs/getTemplatePath.js +0 -60
  404. package/server/plugins/table/funcs/getTemplateSync.js +0 -87
  405. package/server/plugins/table/funcs/getTemplates.js +0 -19
  406. package/server/plugins/table/funcs/gisIRColumn.js +0 -82
  407. package/server/plugins/table/funcs/loadTemplate.js +0 -1
  408. package/server/plugins/table/funcs/loadTemplatePath.js +0 -1
  409. package/server/plugins/table/funcs/menuDirs.js +0 -1
  410. package/server/plugins/table/funcs/metaFormat/getSelectVal.js +0 -61
  411. package/server/plugins/table/funcs/metaFormat/index.js +0 -49
  412. package/server/plugins/table/funcs/userTemplateDir.js +0 -1
  413. package/server/plugins/table/funcs/userTokens.js +0 -1
  414. package/server/plugins/table/index.js +0 -13
  415. package/server/plugins/util/funcs/eventStream.js +0 -29
  416. package/server/plugins/util/index.js +0 -7
  417. package/server/routes/access/controllers/access.interface.js +0 -37
  418. package/server/routes/cron/controllers/cronApi.js +0 -22
  419. package/server/routes/cron/index.js +0 -19
  420. package/server/routes/crud/controllers/deleteCrud.js +0 -84
  421. package/server/routes/crud/controllers/insert.js +0 -103
  422. package/server/routes/crud/controllers/table.js +0 -116
  423. package/server/routes/crud/controllers/update.js +0 -108
  424. package/server/routes/crud/index.js +0 -26
  425. package/server/routes/dblist/controllers/readItems.js +0 -28
  426. package/server/routes/dblist/controllers/setItem.js +0 -25
  427. package/server/routes/dblist/index.mjs +0 -19
  428. package/server/routes/dblist/utils/formatData.js +0 -7
  429. package/server/routes/file/controllers/delete.js +0 -108
  430. package/server/routes/file/controllers/download.js +0 -66
  431. package/server/routes/file/controllers/export.js +0 -290
  432. package/server/routes/file/controllers/files.js +0 -72
  433. package/server/routes/file/controllers/resize.js +0 -96
  434. package/server/routes/file/controllers/resizeAll.js +0 -165
  435. package/server/routes/file/controllers/upload.js +0 -55
  436. package/server/routes/file/controllers/uploadImage.js +0 -47
  437. package/server/routes/file/controllers/utils/formatResult.js +0 -17
  438. package/server/routes/file/controllers/utils/jsonToCsv.js +0 -36
  439. package/server/routes/file/controllers/utils/jsonToXls.js +0 -42
  440. package/server/routes/file/index.mjs +0 -26
  441. package/server/routes/file/schema.js +0 -16
  442. package/server/routes/grpc/controllers/file2geojson.js +0 -60
  443. package/server/routes/grpc/controllers/filePreview.js +0 -89
  444. package/server/routes/grpc/index.mjs +0 -12
  445. package/server/routes/logger/controllers/logger.file.js +0 -97
  446. package/server/routes/logger/controllers/logger.test.api.js +0 -48
  447. package/server/routes/logger/controllers/utils/checkUserAccess.js +0 -24
  448. package/server/routes/logger/controllers/utils/getRootDir.js +0 -27
  449. package/server/routes/logger/index.js +0 -22
  450. package/server/routes/menu/controllers/getMenu.js +0 -98
  451. package/server/routes/menu/controllers/interfaces.js +0 -21
  452. package/server/routes/menu/index.mjs +0 -8
  453. package/server/routes/menu/schema.js +0 -0
  454. package/server/routes/properties/controllers/properties.get.js +0 -33
  455. package/server/routes/properties/controllers/properties.post.js +0 -76
  456. package/server/routes/properties/index.js +0 -25
  457. package/server/routes/table/controllers/card.js +0 -77
  458. package/server/routes/table/controllers/cardData.js +0 -155
  459. package/server/routes/table/controllers/cardTabData.js +0 -57
  460. package/server/routes/table/controllers/dataInfo.js +0 -56
  461. package/server/routes/table/controllers/filter.js +0 -154
  462. package/server/routes/table/controllers/form.js +0 -42
  463. package/server/routes/table/controllers/search.js +0 -74
  464. package/server/routes/table/controllers/suggest.js +0 -246
  465. package/server/routes/table/controllers/tableData.js +0 -62
  466. package/server/routes/table/controllers/tableInfo.js +0 -110
  467. package/server/routes/table/controllers/tokenInfo.js +0 -12
  468. package/server/routes/table/controllers/utils/conditions.js +0 -21
  469. package/server/routes/table/controllers/utils/formatSchema.js +0 -23
  470. package/server/routes/table/controllers/utils/locales.js +0 -1
  471. package/server/routes/table/functions/getData.js +0 -436
  472. package/server/routes/table/index.js +0 -57
  473. package/server/routes/table/schema.js +0 -127
  474. package/server/routes/templates/controllers/getTemplate.js +0 -51
  475. package/server/routes/templates/index.mjs +0 -10
  476. package/server/routes/util/controllers/code.generator.js +0 -94
  477. package/server/routes/util/controllers/next.id.js +0 -4
  478. package/server/routes/util/controllers/status.monitor.js +0 -8
  479. package/server/routes/util/controllers/user.tokens.js +0 -45
  480. package/server/routes/util/index.js +0 -14
  481. package/server/routes/widget/controllers/file.edit.js +0 -55
  482. package/server/routes/widget/controllers/widget.del.js +0 -99
  483. package/server/routes/widget/controllers/widget.get.js +0 -137
  484. package/server/routes/widget/controllers/widget.set.js +0 -108
  485. package/server/routes/widget/hook/onWidgetSet.js +0 -13
  486. package/server/routes/widget/index.mjs +0 -38
  487. package/utils.js +0 -112
  488. /package/{server → dist/server}/plugins/grpc/utils/convertp.proto +0 -0
  489. /package/{server → dist/server}/plugins/grpc/utils/office2pdf.proto +0 -0
@@ -0,0 +1,104 @@
1
+ /* eslint-disable no-console */
2
+ import setToken from "../../plugins/crud/funcs/setToken.js";
3
+ import { handlebars } from "../index.js";
4
+ import buttonEdit from "./utils/buttonEdit.js";
5
+ import buttonDel from "./utils/buttonDel.js";
6
+ function format(d, key, data, hash) {
7
+ if (!key?.includes)
8
+ return "";
9
+ if (d === true)
10
+ return "Так";
11
+ if (d === false)
12
+ return "Ні";
13
+ if (key === "actions") {
14
+ return `<div class="flex items-center gap-2">${(hash.form ? buttonEdit(d) : "") + buttonDel(d)}</div>`;
15
+ }
16
+ if (key.startsWith("{{")) {
17
+ return handlebars.compile(key)(data);
18
+ }
19
+ if (key.startsWith("{{") &&
20
+ key.includes(" ") &&
21
+ !(key.match(/\{\{([^\s]+)/)?.[1] in handlebars.helpers)) {
22
+ return null;
23
+ }
24
+ if (!d)
25
+ return "-";
26
+ return d;
27
+ }
28
+ export default async function tableList(data, opt) {
29
+ const { hash } = opt;
30
+ // no data
31
+ // const time = Date.now();
32
+ if (hash.nodata && !data?.length) {
33
+ const noDataText = typeof hash.nodata === "string"
34
+ ? hash.nodata
35
+ : '<div class="bg-gray-200 text-center p-6 rounded-xl"><h3 class="text-lg font-semibold">Інформація відсутня</h3></div>';
36
+ return noDataText;
37
+ }
38
+ if (!hash.columns)
39
+ return "columns empty";
40
+ const keys = hash.columns
41
+ .split(hash.divider || ",")
42
+ .map((el) => hash.comma
43
+ ? el.trim().replace(new RegExp(hash.comma, "g"), ",")
44
+ : el.trim())
45
+ .concat(hash.uid && hash.table && hash.id && !hash.noactions
46
+ ? ["Дії", "actions"]
47
+ : []);
48
+ const result = [];
49
+ result.push('<thead class="text-left font-medium text-gray-700"> <tr>');
50
+ // thead
51
+ const skip = {};
52
+ for (let i = 0; i < keys.length; i += 2) {
53
+ const name = keys[i];
54
+ // check hbs
55
+ if (name.includes("{{")) {
56
+ console.log(hash);
57
+ }
58
+ const nameHBS = name.includes("{{")
59
+ ? await handlebars.compile(name)({ ...data, hash })
60
+ : false;
61
+ // console.log(name, data, nameHBS)
62
+ skip[name] = name.includes("{{") && !nameHBS;
63
+ if (skip[name])
64
+ continue;
65
+ const isActionsColumn = hash.noactions && i === keys.length - 2;
66
+ result.push(`<th class="py-2 min-w-[200px] ${isActionsColumn
67
+ ? "last:min-w-[60px] last:max-w-[60px] last:bg-white last:sticky last:right-0"
68
+ : ""}">
69
+ ${nameHBS || name}
70
+ </th>`);
71
+ }
72
+ result.push('</tr></thead><tbody class="divide-y divide-gray-200">');
73
+ // body
74
+ for (let k = 0; k < data.length; k += 1) {
75
+ const row = data[k];
76
+ result.push('<tr class="bg-white odd:bg-gray-50 ">');
77
+ const obj = { form: hash.form, table: hash.table, id: row[hash.id] };
78
+ const token = hash.table
79
+ ? setToken({ ids: [JSON.stringify(obj)], uid: hash.uid, array: 1 })[0]
80
+ : null;
81
+ for (let i = 0; i < keys.length; i += 2) {
82
+ const name = keys[i];
83
+ const key = keys[i + 1];
84
+ if (!key)
85
+ continue;
86
+ if (skip[name])
87
+ continue;
88
+ const tokenData = key === "actions" ? token : null;
89
+ const d1 = key.includes("{{")
90
+ ? (await handlebars.compile(key)({ ...row, token, hash })) || "-"
91
+ : null;
92
+ const isActionsColumn = hash.noactions && i === keys.length - 2;
93
+ result.push(`<td class="py-2 pr-5 ${isActionsColumn ? "last:sticky last:right-0" : ""}">
94
+ ${d1 ||
95
+ format(tokenData || row[key], key, row, hash)}
96
+ </td>`);
97
+ }
98
+ // action token
99
+ result.push("</tr>");
100
+ }
101
+ result.push("</tbody>");
102
+ // console.log(Date.now() - time)
103
+ return `<table class="min-w-full relative divide-y-2 divide-gray-200 bg-white min-w-full overflow-auto divide-y-2 divide-gray-200 bg-white text-[12px] text-gray-600">${result.join("")}</table>`;
104
+ }
@@ -1,4 +1,4 @@
1
- export default function button(token, title) {
1
+ export default function button(token, title) {
2
2
  return `<button onclick="window.v3plugin.$form({ token: '${token}' })"
3
- class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white">${title || 'Додати'}</button>`;
4
- }
3
+ class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white">${title || 'Додати'}</button>`;
4
+ }
@@ -1,12 +1,11 @@
1
- // export default function button(token, title) {
2
- // return `<button onclick="window.v3plugin.$api({ api: '/api/table/${token}', method:'delete',confirm: { title:'Підтвердити операцію', text: 'Ви впевнені що хочете вилучити запис?', cancel: 'Скасувати', confirm : 'Виконати'} })"
3
- // class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-red-600 border border-transparent rounded-lg gap-x-2 hover:bg-red-700 hover:text-white">${title || 'Вилучити'}</button>`;
4
- // }
5
-
6
- const newColor = 'red';
7
- export default function button(token) {
1
+ // export default function button(token, title) {
2
+ // return `<button onclick="window.v3plugin.$api({ api: '/api/table/${token}', method:'delete',confirm: { title:'Підтвердити операцію', text: 'Ви впевнені що хочете вилучити запис?', cancel: 'Скасувати', confirm : 'Виконати'} })"
3
+ // class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-red-600 border border-transparent rounded-lg gap-x-2 hover:bg-red-700 hover:text-white">${title || 'Вилучити'}</button>`;
4
+ // }
5
+ const newColor = 'red';
6
+ export default function button(token) {
8
7
  return `<button onclick="window.v3plugin.$api({ api: '/api/table/${token}', method:'delete',confirm: { title:'Підтвердити операцію', text: 'Ви впевнені що хочете вилучити запис?', cancel: 'Скасувати', confirm : 'Виконати'} })"
9
8
  class="group px-2 py-1 inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border border-transparent hover:text-white ring-offset-white bg-${newColor}-100 text-${newColor}-100 hover:bg-${newColor}-500 focus:ring-${newColor}-500">
10
9
  <svg class="group-hover:fill-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="13" height="13" fill="#ef4444"><path d="M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>
11
- </button>`;
12
- }
10
+ </button>`;
11
+ }
@@ -1,12 +1,11 @@
1
- // export default function button(token, title) {
2
- // return `<button onclick="window.v3plugin.$form({ token: '${token}' })"
3
- // class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white">${title || 'Редагувати'}</button>`;
4
- // }
5
-
6
- const newColor = 'blue';
7
- export default function button(token) {
1
+ // export default function button(token, title) {
2
+ // return `<button onclick="window.v3plugin.$form({ token: '${token}' })"
3
+ // class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white">${title || 'Редагувати'}</button>`;
4
+ // }
5
+ const newColor = 'blue';
6
+ export default function button(token) {
8
7
  return `<button onclick="window.v3plugin.$form({ token: '${token}' })"
9
8
  class="group px-2 py-1 inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border border-transparent hover:text-white ring-offset-white bg-${newColor}-100 text-${newColor}-100 hover:bg-${newColor}-500 focus:ring-${newColor}-500">
10
9
  <svg class="group-hover:fill-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="13" height="13" fill="#3b82f6"><path d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"/></svg>
11
- </button>`;
12
- }
10
+ </button>`;
11
+ }
@@ -1,39 +1,33 @@
1
- /**
2
- * Повертає перший елемент, який не є пустим або відсутнім
3
- *
4
- * @summary Повертає перший не null елемент. Є можливість застосування разом із іншими хелперами.
5
- * @priority 4
6
- * @type helper
7
- * @alias coalesce
8
- * @tag string
9
- * @example
10
- * {{coalesce color '#337ab7'}}
11
- * @descr Повертає значення змінної color або '#337ab7', якщо така змінна відсутня
12
- * @example
13
- * {{coalesce @root.lang 'ua'}}
14
- * @example
15
- * {{coalesce (select uid data="user_id") (select uid data="uid")}}
16
- * @descr За відсутості співпадіння в межах пошуку по першому класифікатору, виводить результат другого селекту
17
- * @param {Array} args Масив аргументів для фільтрування
18
- * @returns {String} Return Html
19
- */
20
-
21
- export default function coalesce(...args) {
22
- const options = args.pop();
23
-
24
- const value = args.find(arg => arg != null && arg !== '');
25
-
26
- if (value !== undefined) {
27
- return value;
28
- }
29
-
30
- if (options.fn) {
31
- return options.fn(this);
32
- }
33
-
34
- if (options.inverse) {
35
- return options.inverse(this);
36
- }
37
-
38
- return '';
39
- }
1
+ /**
2
+ * Повертає перший елемент, який не є пустим або відсутнім
3
+ *
4
+ * @summary Повертає перший не null елемент. Є можливість застосування разом із іншими хелперами.
5
+ * @priority 4
6
+ * @type helper
7
+ * @alias coalesce
8
+ * @tag string
9
+ * @example
10
+ * {{coalesce color '#337ab7'}}
11
+ * @descr Повертає значення змінної color або '#337ab7', якщо така змінна відсутня
12
+ * @example
13
+ * {{coalesce @root.lang 'ua'}}
14
+ * @example
15
+ * {{coalesce (select uid data="user_id") (select uid data="uid")}}
16
+ * @descr За відсутості співпадіння в межах пошуку по першому класифікатору, виводить результат другого селекту
17
+ * @param {Array} args Масив аргументів для фільтрування
18
+ * @returns {String} Return Html
19
+ */
20
+ export default function coalesce(...args) {
21
+ const options = args.pop();
22
+ const value = args.find(arg => arg != null && arg !== '');
23
+ if (value !== undefined) {
24
+ return value;
25
+ }
26
+ if (options.fn) {
27
+ return options.fn(this);
28
+ }
29
+ if (options.inverse) {
30
+ return options.inverse(this);
31
+ }
32
+ return '';
33
+ }
@@ -1,28 +1,25 @@
1
- /**
2
- * Об'єднання декількох вихідних змінних в одній строці
3
- *
4
- * @summary Об'єднання в одну строку декількох архументів. Можна використовувати для побудови посилань.
5
- * @priority 4
6
- * @alias concat
7
- * @type helper
8
- * @tag string
9
- * @example
10
- * {{concat 'https://spending.gov.ua/new/disposers/' edrpou '/agreements/' id}}
11
- * @descr Результат: https://spending.gov.ua/new/disposers/1234567890/agreements/3721893718937819 (edrpou та id - змінні)
12
- * @param {Array} args Масив аргуметів, які потрібно з'єднати
13
- * @returns {String} Returns HTML
14
- */
15
-
16
- export default function concat(...args) {
17
- if (args.length === 0) return '';
18
-
19
- let result = '';
20
-
21
- for (let i = 0; i < args.length; i += 1) {
22
- if (['string', 'number'].includes(typeof args[i])) {
23
- result += args[i];
24
- }
25
- }
26
-
27
- return result;
28
- }
1
+ /**
2
+ * Об'єднання декількох вихідних змінних в одній строці
3
+ *
4
+ * @summary Об'єднання в одну строку декількох архументів. Можна використовувати для побудови посилань.
5
+ * @priority 4
6
+ * @alias concat
7
+ * @type helper
8
+ * @tag string
9
+ * @example
10
+ * {{concat 'https://spending.gov.ua/new/disposers/' edrpou '/agreements/' id}}
11
+ * @descr Результат: https://spending.gov.ua/new/disposers/1234567890/agreements/3721893718937819 (edrpou та id - змінні)
12
+ * @param {Array} args Масив аргуметів, які потрібно з'єднати
13
+ * @returns {String} Returns HTML
14
+ */
15
+ export default function concat(...args) {
16
+ if (args.length === 0)
17
+ return '';
18
+ let result = '';
19
+ for (let i = 0; i < args.length; i += 1) {
20
+ if (['string', 'number'].includes(typeof args[i])) {
21
+ result += args[i];
22
+ }
23
+ }
24
+ return result;
25
+ }
@@ -1,20 +1,19 @@
1
- /**
2
- * Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
3
- *
4
- * @summary Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
5
- * @priority 4
6
- * @alias split
7
- * @tag string
8
- * @type helper
9
- * @example
10
-
11
- * @param {String} separator Символ по якому ділиться объект String
12
- * @param {String} data Строка або число яке обрізається
13
- * @returns {Array} Returns HTML
14
- */
15
- export default function split(data, options) {
16
- const fullString = data ? `${data}` : '';
17
- const separator = options || ',';
18
-
19
- return fullString.split(separator);
20
- }
1
+ /**
2
+ * Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
3
+ *
4
+ * @summary Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
5
+ * @priority 4
6
+ * @alias split
7
+ * @tag string
8
+ * @type helper
9
+ * @example
10
+
11
+ * @param {String} separator Символ по якому ділиться объект String
12
+ * @param {String} data Строка або число яке обрізається
13
+ * @returns {Array} Returns HTML
14
+ */
15
+ export default function split(data, options) {
16
+ const fullString = data ? `${data}` : '';
17
+ const separator = options || ',';
18
+ return fullString.split(separator);
19
+ }
@@ -1,62 +1,57 @@
1
- function replaceLast(str, what, replacement) {
2
- if (!str?.split) return str;
3
- const pcs = str?.split?.(what) || [];
4
- const lastPc = pcs.pop();
5
- return pcs.join(what) + replacement + lastPc;
6
- }
7
-
8
- /**
9
- * Виконує заміну символів у строці. Є можливість заміни регулярного виразу нової строки на тег <br>
10
- *
11
- * @summary Виконання заміни частини строки на значення з останнього аргументу.
12
- * @priority 3
13
- * @type helper
14
- * @alias strReplace
15
- * @tag string
16
- * @example
17
- * {{str_replace 'This Is Alias' ' ' ''}}
18
- * @example
19
- * {{{str_replace '<p>Перший рядок</p><p>Наступний рядок</p>' br=1}}}
20
- * @example
21
- * {{{str_replace 'Перший рядок<br>Наступний рядок' br=1}}}
22
- * @param {Object} br
23
- * @param {Object} newline
24
- * @param {Object} html
25
- * @param {Object} last
26
- * @param {Array} args[0]
27
- * @param {Array} args[1]
28
- * @param {Array} args[2]
29
- * @returns {String} Returns HTML
30
- */
31
-
32
- export default function strReplace(...args) {
33
- const options = args.pop();
34
- const [str, from, to] = args;
35
-
36
- if (!str) return '';
37
-
38
- if (options.hash.br) {
39
- return str.replace(/\n/g, '<br>');
40
- }
41
- if (options.hash.newline) {
42
- return str.replace(/\n/g, '&#10;');
43
- }
44
- if (options.hash.html) {
45
- return str
46
- .replace(/<br>/g, '\n')
47
- .replace(/<\/p>/g, '\n')
48
- .replace(/<\/li>/g, '\n')
49
- .replace(/(<[^>]+>|<[^>]>|<\/[^>]>)/g, '')
50
- .replace(/\n/g, '&#10;');
51
- }
52
-
53
- if (options.hash.last) {
54
- return replaceLast(str, from, to);
55
- }
56
-
57
- if (typeof from !== 'string' || typeof to !== 'string') {
58
- return 'Invalid replacement parameters';
59
- }
60
-
61
- return str.replace(new RegExp(from, 'g'), to);
62
- }
1
+ function replaceLast(str, what, replacement) {
2
+ if (!str?.split)
3
+ return str;
4
+ const pcs = str?.split?.(what) || [];
5
+ const lastPc = pcs.pop();
6
+ return pcs.join(what) + replacement + lastPc;
7
+ }
8
+ /**
9
+ * Виконує заміну символів у строці. Є можливість заміни регулярного виразу нової строки на тег <br>
10
+ *
11
+ * @summary Виконання заміни частини строки на значення з останнього аргументу.
12
+ * @priority 3
13
+ * @type helper
14
+ * @alias strReplace
15
+ * @tag string
16
+ * @example
17
+ * {{str_replace 'This Is Alias' ' ' ''}}
18
+ * @example
19
+ * {{{str_replace '<p>Перший рядок</p><p>Наступний рядок</p>' br=1}}}
20
+ * @example
21
+ * {{{str_replace 'Перший рядок<br>Наступний рядок' br=1}}}
22
+ * @param {Object} br
23
+ * @param {Object} newline
24
+ * @param {Object} html
25
+ * @param {Object} last
26
+ * @param {Array} args[0]
27
+ * @param {Array} args[1]
28
+ * @param {Array} args[2]
29
+ * @returns {String} Returns HTML
30
+ */
31
+ export default function strReplace(...args) {
32
+ const options = args.pop();
33
+ const [str, from, to] = args;
34
+ if (!str)
35
+ return '';
36
+ if (options.hash.br) {
37
+ return str.replace(/\n/g, '<br>');
38
+ }
39
+ if (options.hash.newline) {
40
+ return str.replace(/\n/g, '&#10;');
41
+ }
42
+ if (options.hash.html) {
43
+ return str
44
+ .replace(/<br>/g, '\n')
45
+ .replace(/<\/p>/g, '\n')
46
+ .replace(/<\/li>/g, '\n')
47
+ .replace(/(<[^>]+>|<[^>]>|<\/[^>]>)/g, '')
48
+ .replace(/\n/g, '&#10;');
49
+ }
50
+ if (options.hash.last) {
51
+ return replaceLast(str, from, to);
52
+ }
53
+ if (typeof from !== 'string' || typeof to !== 'string') {
54
+ return 'Invalid replacement parameters';
55
+ }
56
+ return str.replace(new RegExp(from, 'g'), to);
57
+ }
@@ -1,32 +1,28 @@
1
- /**
2
- * Зменшення строки за значеням із змінної. Можна отримати частину строки за першим та останнім символом.
3
- *
4
- * @summary Обрізання строки. За замовчуванням до 100 символів. Є можливість вказання точної кількості.
5
- * @priority 4
6
- * @alias substr
7
- * @tag string
8
- * @type helper
9
- * @example
10
- * {{substr @root.domain from=5}}
11
- * @example
12
- * {{substr req.headers.host max=15}}
13
- * @param {Object} from Число з якого обрізати строку
14
- * @param {Object} max Число до якого обрізати строку
15
- * @param {Object} args[1]] Використовуэться, якщо не дано opt.max
16
- * @param {String|Number} data Строка або число яке обрізається
17
- * @returns {String} Returns HTML
18
- */
19
- export default function substr(data, { hash }) {
20
- const fullString = data ? String(data) : '';
21
-
22
- const max = typeof hash?.max === 'number' ? hash.max : 100;
23
- const from = typeof hash?.from === 'number' ? hash.from : 0;
24
-
25
- const result = fullString.substr(from, max);
26
-
27
- if (hash?.unit && fullString.length > max) {
28
- return `${result}${hash.unit}`;
29
- }
30
-
31
- return result;
32
- }
1
+ /**
2
+ * Зменшення строки за значеням із змінної. Можна отримати частину строки за першим та останнім символом.
3
+ *
4
+ * @summary Обрізання строки. За замовчуванням до 100 символів. Є можливість вказання точної кількості.
5
+ * @priority 4
6
+ * @alias substr
7
+ * @tag string
8
+ * @type helper
9
+ * @example
10
+ * {{substr @root.domain from=5}}
11
+ * @example
12
+ * {{substr req.headers.host max=15}}
13
+ * @param {Object} from Число з якого обрізати строку
14
+ * @param {Object} max Число до якого обрізати строку
15
+ * @param {Object} args[1]] Використовуэться, якщо не дано opt.max
16
+ * @param {String|Number} data Строка або число яке обрізається
17
+ * @returns {String} Returns HTML
18
+ */
19
+ export default function substr(data, { hash }) {
20
+ const fullString = data ? String(data) : '';
21
+ const max = typeof hash?.max === 'number' ? hash.max : 100;
22
+ const from = typeof hash?.from === 'number' ? hash.from : 0;
23
+ const result = fullString.substr(from, max);
24
+ if (hash?.unit && fullString.length > max) {
25
+ return `${result}${hash.unit}`;
26
+ }
27
+ return result;
28
+ }
@@ -1,23 +1,20 @@
1
- import L from './utils/alphabet.js';
2
-
3
- /**
4
- * Форматування символів з кирилиці на латиницю
5
- *
6
- * @summary Форматування символів з кирилиці на латиницю
7
- * @priority 0
8
- * @deprecated true
9
- * @tag string
10
- * @type helper
11
- * @alias translit
12
- * @example
13
- * {{translit data_name}}
14
- * @param {String} data Перетворення букв з строки з укр на англ
15
- * @returns {String} Returns HTML
16
- */
17
- export default function translit({ data }) {
18
- const rKey = Object.keys(L).join('');
19
-
20
- const reg = new RegExp(`[${rKey}]`, 'g');
21
-
22
- return (data || '').replace(reg, (a) => (a in L ? L[a] : ''));
23
- }
1
+ import L from "./utils/alphabet.js";
2
+ /**
3
+ * Форматування символів з кирилиці на латиницю
4
+ *
5
+ * @summary Форматування символів з кирилиці на латиницю
6
+ * @priority 0
7
+ * @deprecated true
8
+ * @tag string
9
+ * @type helper
10
+ * @alias translit
11
+ * @example
12
+ * {{translit data_name}}
13
+ * @param {String} data Перетворення букв з строки з укр на англ
14
+ * @returns {String} Returns HTML
15
+ */
16
+ export default function translit({ data }) {
17
+ const rKey = Object.keys(L).join("");
18
+ const reg = new RegExp(`[${rKey}]`, "g");
19
+ return (data || "").replace(reg, (a) => (a in L ? L[a] : ""));
20
+ }
@@ -0,0 +1,76 @@
1
+ export default {
2
+ А: "A",
3
+ а: "a",
4
+ Б: "B",
5
+ б: "b",
6
+ В: "V",
7
+ в: "v",
8
+ Г: "H",
9
+ г: "h",
10
+ Д: "D",
11
+ д: "d",
12
+ Е: "E",
13
+ е: "e",
14
+ Ё: "Yo",
15
+ ё: "yo",
16
+ Ж: "Zh",
17
+ ж: "zh",
18
+ З: "Z",
19
+ з: "z",
20
+ И: "Y",
21
+ и: "y",
22
+ Й: "Y",
23
+ й: "i",
24
+ К: "K",
25
+ к: "k",
26
+ Л: "L",
27
+ л: "l",
28
+ М: "M",
29
+ м: "m",
30
+ Н: "N",
31
+ н: "n",
32
+ О: "O",
33
+ о: "o",
34
+ П: "P",
35
+ п: "p",
36
+ Р: "R",
37
+ р: "r",
38
+ С: "S",
39
+ с: "s",
40
+ Т: "T",
41
+ т: "t",
42
+ У: "U",
43
+ у: "u",
44
+ Ф: "F",
45
+ ф: "f",
46
+ Х: "Kh",
47
+ х: "kh",
48
+ Ц: "Ts",
49
+ ц: "ts",
50
+ Ч: "Ch",
51
+ ч: "ch",
52
+ Ш: "Sh",
53
+ ш: "sh",
54
+ Щ: "Shch",
55
+ щ: "shch",
56
+ Ъ: "",
57
+ ъ: "",
58
+ Ы: "Y",
59
+ ы: "y",
60
+ Ь: "",
61
+ ь: "",
62
+ Э: "E",
63
+ э: "e",
64
+ Ю: "Yu",
65
+ ю: "yu",
66
+ Я: "Ya",
67
+ я: "ia",
68
+ І: "I",
69
+ і: "i",
70
+ Ї: "Yi",
71
+ ї: "i",
72
+ Є: "Ye",
73
+ є: "ie",
74
+ Ґ: "G",
75
+ ґ: "g",
76
+ };
@@ -1,4 +1,4 @@
1
- export default function button(token, title) {
1
+ export default function button(token, title) {
2
2
  return `<button onclick="window.v3plugin.$form({ token: '${token}' })"
3
- class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white">${title || 'Редагувати'}</button>`;
4
- }
3
+ class="inline-flex items-center px-2 py-1 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white">${title || 'Редагувати'}</button>`;
4
+ }