@things-factory/meta-ui 9.0.0-beta.25 → 9.0.0-beta.27

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 (324) hide show
  1. package/package.json +3 -3
  2. package/dist-client/bootstrap.d.ts +0 -7
  3. package/dist-client/bootstrap.js +0 -142
  4. package/dist-client/bootstrap.js.map +0 -1
  5. package/dist-client/component/filter/filter-form-meta-code-select.d.ts +0 -4
  6. package/dist-client/component/filter/filter-form-meta-code-select.js +0 -80
  7. package/dist-client/component/filter/filter-form-meta-code-select.js.map +0 -1
  8. package/dist-client/component/filter/filter-form-meta-object-select.d.ts +0 -4
  9. package/dist-client/component/filter/filter-form-meta-object-select.js +0 -82
  10. package/dist-client/component/filter/filter-form-meta-object-select.js.map +0 -1
  11. package/dist-client/component/filter/filter-grist-meta-code-select.d.ts +0 -3
  12. package/dist-client/component/filter/filter-grist-meta-code-select.js +0 -76
  13. package/dist-client/component/filter/filter-grist-meta-code-select.js.map +0 -1
  14. package/dist-client/component/filter/filter-grist-meta-object-select.d.ts +0 -3
  15. package/dist-client/component/filter/filter-grist-meta-object-select.js +0 -81
  16. package/dist-client/component/filter/filter-grist-meta-object-select.js.map +0 -1
  17. package/dist-client/component/grist/editor/grist-editor-code-input.d.ts +0 -15
  18. package/dist-client/component/grist/editor/grist-editor-code-input.js +0 -81
  19. package/dist-client/component/grist/editor/grist-editor-code-input.js.map +0 -1
  20. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.d.ts +0 -15
  21. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.js +0 -130
  22. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.js.map +0 -1
  23. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.d.ts +0 -15
  24. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.js +0 -98
  25. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.js.map +0 -1
  26. package/dist-client/component/grist/renderer/grist-renderer-code-input.d.ts +0 -1
  27. package/dist-client/component/grist/renderer/grist-renderer-code-input.js +0 -19
  28. package/dist-client/component/grist/renderer/grist-renderer-code-input.js.map +0 -1
  29. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.d.ts +0 -1
  30. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.js +0 -29
  31. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.js.map +0 -1
  32. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.d.ts +0 -1
  33. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js +0 -23
  34. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js.map +0 -1
  35. package/dist-client/component/popup/code-input-editor-popup.d.ts +0 -36
  36. package/dist-client/component/popup/code-input-editor-popup.js +0 -103
  37. package/dist-client/component/popup/code-input-editor-popup.js.map +0 -1
  38. package/dist-client/component/popup/file-upload-popup.d.ts +0 -1
  39. package/dist-client/component/popup/file-upload-popup.js +0 -118
  40. package/dist-client/component/popup/file-upload-popup.js.map +0 -1
  41. package/dist-client/component/popup/meta-object-selector-popup.d.ts +0 -60
  42. package/dist-client/component/popup/meta-object-selector-popup.js +0 -300
  43. package/dist-client/component/popup/meta-object-selector-popup.js.map +0 -1
  44. package/dist-client/component/popup/record-based-code-editor-popup.d.ts +0 -52
  45. package/dist-client/component/popup/record-based-code-editor-popup.js +0 -174
  46. package/dist-client/component/popup/record-based-code-editor-popup.js.map +0 -1
  47. package/dist-client/dynamic-menus.d.ts +0 -1
  48. package/dist-client/dynamic-menus.js +0 -16
  49. package/dist-client/dynamic-menus.js.map +0 -1
  50. package/dist-client/index.d.ts +0 -17
  51. package/dist-client/index.js +0 -18
  52. package/dist-client/index.js.map +0 -1
  53. package/dist-client/load-components.d.ts +0 -15
  54. package/dist-client/load-components.js +0 -17
  55. package/dist-client/load-components.js.map +0 -1
  56. package/dist-client/mixin/meta-base-mixin.d.ts +0 -89
  57. package/dist-client/mixin/meta-base-mixin.js +0 -287
  58. package/dist-client/mixin/meta-base-mixin.js.map +0 -1
  59. package/dist-client/mixin/meta-basic-grist-mixin.d.ts +0 -108
  60. package/dist-client/mixin/meta-basic-grist-mixin.js +0 -253
  61. package/dist-client/mixin/meta-basic-grist-mixin.js.map +0 -1
  62. package/dist-client/mixin/meta-button-mixin.d.ts +0 -106
  63. package/dist-client/mixin/meta-button-mixin.js +0 -106
  64. package/dist-client/mixin/meta-button-mixin.js.map +0 -1
  65. package/dist-client/mixin/meta-form-mixin.d.ts +0 -153
  66. package/dist-client/mixin/meta-form-mixin.js +0 -373
  67. package/dist-client/mixin/meta-form-mixin.js.map +0 -1
  68. package/dist-client/mixin/meta-grist-tab-mixin.d.ts +0 -132
  69. package/dist-client/mixin/meta-grist-tab-mixin.js +0 -301
  70. package/dist-client/mixin/meta-grist-tab-mixin.js.map +0 -1
  71. package/dist-client/mixin/meta-main-tab-mixin.d.ts +0 -109
  72. package/dist-client/mixin/meta-main-tab-mixin.js +0 -242
  73. package/dist-client/mixin/meta-main-tab-mixin.js.map +0 -1
  74. package/dist-client/mixin/meta-master-detail-mixin.d.ts +0 -172
  75. package/dist-client/mixin/meta-master-detail-mixin.js +0 -359
  76. package/dist-client/mixin/meta-master-detail-mixin.js.map +0 -1
  77. package/dist-client/mixin/meta-service-mixin.d.ts +0 -66
  78. package/dist-client/mixin/meta-service-mixin.js +0 -268
  79. package/dist-client/mixin/meta-service-mixin.js.map +0 -1
  80. package/dist-client/mixin/meta-tab-detail-mixin.d.ts +0 -110
  81. package/dist-client/mixin/meta-tab-detail-mixin.js +0 -255
  82. package/dist-client/mixin/meta-tab-detail-mixin.js.map +0 -1
  83. package/dist-client/mixin/meta-tab-mixin.d.ts +0 -108
  84. package/dist-client/mixin/meta-tab-mixin.js +0 -168
  85. package/dist-client/mixin/meta-tab-mixin.js.map +0 -1
  86. package/dist-client/pages/activity/meta-activity-define-page.d.ts +0 -1
  87. package/dist-client/pages/activity/meta-activity-define-page.js +0 -398
  88. package/dist-client/pages/activity/meta-activity-define-page.js.map +0 -1
  89. package/dist-client/pages/activity/meta-activity-list-page.d.ts +0 -1
  90. package/dist-client/pages/activity/meta-activity-list-page.js +0 -223
  91. package/dist-client/pages/activity/meta-activity-list-page.js.map +0 -1
  92. package/dist-client/pages/activity/meta-activity-viewer-element.d.ts +0 -25
  93. package/dist-client/pages/activity/meta-activity-viewer-element.js +0 -29
  94. package/dist-client/pages/activity/meta-activity-viewer-element.js.map +0 -1
  95. package/dist-client/pages/activity/meta-activity-writer-element.d.ts +0 -27
  96. package/dist-client/pages/activity/meta-activity-writer-element.js +0 -38
  97. package/dist-client/pages/activity/meta-activity-writer-element.js.map +0 -1
  98. package/dist-client/pages/activity/meta-activiy-mixin.d.ts +0 -17
  99. package/dist-client/pages/activity/meta-activiy-mixin.js +0 -70
  100. package/dist-client/pages/activity/meta-activiy-mixin.js.map +0 -1
  101. package/dist-client/pages/button-role/button-role-detail.d.ts +0 -74
  102. package/dist-client/pages/button-role/button-role-detail.js +0 -39
  103. package/dist-client/pages/button-role/button-role-detail.js.map +0 -1
  104. package/dist-client/pages/button-role/button-role-page.d.ts +0 -82
  105. package/dist-client/pages/button-role/button-role-page.js +0 -21
  106. package/dist-client/pages/button-role/button-role-page.js.map +0 -1
  107. package/dist-client/pages/doc-number/doc-number-page.d.ts +0 -1
  108. package/dist-client/pages/doc-number/doc-number-page.js +0 -20
  109. package/dist-client/pages/doc-number/doc-number-page.js.map +0 -1
  110. package/dist-client/pages/doc-number/next-doc-number-popup.d.ts +0 -1
  111. package/dist-client/pages/doc-number/next-doc-number-popup.js +0 -21
  112. package/dist-client/pages/doc-number/next-doc-number-popup.js.map +0 -1
  113. package/dist-client/pages/entity/config-entity.d.ts +0 -1
  114. package/dist-client/pages/entity/config-entity.js +0 -801
  115. package/dist-client/pages/entity/config-entity.js.map +0 -1
  116. package/dist-client/pages/entity/main-menu-selector.d.ts +0 -61
  117. package/dist-client/pages/entity/main-menu-selector.js +0 -233
  118. package/dist-client/pages/entity/main-menu-selector.js.map +0 -1
  119. package/dist-client/pages/history/history-copy-list-popup.d.ts +0 -50
  120. package/dist-client/pages/history/history-copy-list-popup.js +0 -122
  121. package/dist-client/pages/history/history-copy-list-popup.js.map +0 -1
  122. package/dist-client/pages/history/history-json-list-popup.d.ts +0 -50
  123. package/dist-client/pages/history/history-json-list-popup.js +0 -132
  124. package/dist-client/pages/history/history-json-list-popup.js.map +0 -1
  125. package/dist-client/pages/menu/dynamic-menu-template.d.ts +0 -1
  126. package/dist-client/pages/menu/dynamic-menu-template.js +0 -80
  127. package/dist-client/pages/menu/dynamic-menu-template.js.map +0 -1
  128. package/dist-client/pages/menu/dynamic-menu.d.ts +0 -83
  129. package/dist-client/pages/menu/dynamic-menu.js +0 -663
  130. package/dist-client/pages/menu/dynamic-menu.js.map +0 -1
  131. package/dist-client/pages/menu/export-menu-popup.d.ts +0 -55
  132. package/dist-client/pages/menu/export-menu-popup.js +0 -392
  133. package/dist-client/pages/menu/export-menu-popup.js.map +0 -1
  134. package/dist-client/pages/meta-form-element.d.ts +0 -63
  135. package/dist-client/pages/meta-form-element.js +0 -8
  136. package/dist-client/pages/meta-form-element.js.map +0 -1
  137. package/dist-client/pages/meta-grist-element.d.ts +0 -70
  138. package/dist-client/pages/meta-grist-element.js +0 -11
  139. package/dist-client/pages/meta-grist-element.js.map +0 -1
  140. package/dist-client/pages/meta-grist-page.d.ts +0 -70
  141. package/dist-client/pages/meta-grist-page.js +0 -14
  142. package/dist-client/pages/meta-grist-page.js.map +0 -1
  143. package/dist-client/pages/meta-grist-tab-element.d.ts +0 -82
  144. package/dist-client/pages/meta-grist-tab-element.js +0 -14
  145. package/dist-client/pages/meta-grist-tab-element.js.map +0 -1
  146. package/dist-client/pages/meta-grist-tab-page.d.ts +0 -82
  147. package/dist-client/pages/meta-grist-tab-page.js +0 -14
  148. package/dist-client/pages/meta-grist-tab-page.js.map +0 -1
  149. package/dist-client/pages/meta-main-tab-element.d.ts +0 -75
  150. package/dist-client/pages/meta-main-tab-element.js +0 -11
  151. package/dist-client/pages/meta-main-tab-element.js.map +0 -1
  152. package/dist-client/pages/meta-main-tab-page.d.ts +0 -75
  153. package/dist-client/pages/meta-main-tab-page.js +0 -14
  154. package/dist-client/pages/meta-main-tab-page.js.map +0 -1
  155. package/dist-client/pages/meta-master-detail-element.d.ts +0 -80
  156. package/dist-client/pages/meta-master-detail-element.js +0 -11
  157. package/dist-client/pages/meta-master-detail-element.js.map +0 -1
  158. package/dist-client/pages/meta-master-detail-page.d.ts +0 -80
  159. package/dist-client/pages/meta-master-detail-page.js +0 -14
  160. package/dist-client/pages/meta-master-detail-page.js.map +0 -1
  161. package/dist-client/pages/meta-tab-detail-element.d.ts +0 -76
  162. package/dist-client/pages/meta-tab-detail-element.js +0 -11
  163. package/dist-client/pages/meta-tab-detail-element.js.map +0 -1
  164. package/dist-client/pages/meta-tab-detail-page.d.ts +0 -76
  165. package/dist-client/pages/meta-tab-detail-page.js +0 -14
  166. package/dist-client/pages/meta-tab-detail-page.js.map +0 -1
  167. package/dist-client/pages/meta-tab-element.d.ts +0 -57
  168. package/dist-client/pages/meta-tab-element.js +0 -13
  169. package/dist-client/pages/meta-tab-element.js.map +0 -1
  170. package/dist-client/pages/printer-device/printer-device-page.d.ts +0 -1
  171. package/dist-client/pages/printer-device/printer-device-page.js +0 -20
  172. package/dist-client/pages/printer-device/printer-device-page.js.map +0 -1
  173. package/dist-client/pages/template/doc-template-page.d.ts +0 -1
  174. package/dist-client/pages/template/doc-template-page.js +0 -20
  175. package/dist-client/pages/template/doc-template-page.js.map +0 -1
  176. package/dist-client/pages/template/template-file-page.d.ts +0 -1
  177. package/dist-client/pages/template/template-file-page.js +0 -20
  178. package/dist-client/pages/template/template-file-page.js.map +0 -1
  179. package/dist-client/pages/terms/config-terminology.d.ts +0 -1
  180. package/dist-client/pages/terms/config-terminology.js +0 -188
  181. package/dist-client/pages/terms/config-terminology.js.map +0 -1
  182. package/dist-client/pages/work-code/work-code-detail-popup.d.ts +0 -69
  183. package/dist-client/pages/work-code/work-code-detail-popup.js +0 -13
  184. package/dist-client/pages/work-code/work-code-detail-popup.js.map +0 -1
  185. package/dist-client/pages/work-code/work-code-page.d.ts +0 -1
  186. package/dist-client/pages/work-code/work-code-page.js +0 -19
  187. package/dist-client/pages/work-code/work-code-page.js.map +0 -1
  188. package/dist-client/route.d.ts +0 -1
  189. package/dist-client/route.js +0 -30
  190. package/dist-client/route.js.map +0 -1
  191. package/dist-client/tsconfig.tsbuildinfo +0 -1
  192. package/dist-client/utils/grist-default-value.d.ts +0 -8
  193. package/dist-client/utils/grist-default-value.js +0 -33
  194. package/dist-client/utils/grist-default-value.js.map +0 -1
  195. package/dist-client/utils/meta-api.d.ts +0 -572
  196. package/dist-client/utils/meta-api.js +0 -728
  197. package/dist-client/utils/meta-api.js.map +0 -1
  198. package/dist-client/utils/meta-crypto.d.ts +0 -4
  199. package/dist-client/utils/meta-crypto.js +0 -45
  200. package/dist-client/utils/meta-crypto.js.map +0 -1
  201. package/dist-client/utils/meta-ui-util.d.ts +0 -566
  202. package/dist-client/utils/meta-ui-util.js +0 -2985
  203. package/dist-client/utils/meta-ui-util.js.map +0 -1
  204. package/dist-client/utils/rest-service-util.d.ts +0 -120
  205. package/dist-client/utils/rest-service-util.js +0 -291
  206. package/dist-client/utils/rest-service-util.js.map +0 -1
  207. package/dist-client/utils/service-util.d.ts +0 -286
  208. package/dist-client/utils/service-util.js +0 -1204
  209. package/dist-client/utils/service-util.js.map +0 -1
  210. package/dist-client/utils/terms-util.d.ts +0 -81
  211. package/dist-client/utils/terms-util.js +0 -105
  212. package/dist-client/utils/terms-util.js.map +0 -1
  213. package/dist-client/utils/ui-util.d.ts +0 -153
  214. package/dist-client/utils/ui-util.js +0 -307
  215. package/dist-client/utils/ui-util.js.map +0 -1
  216. package/dist-client/utils/value-util.d.ts +0 -99
  217. package/dist-client/utils/value-util.js +0 -214
  218. package/dist-client/utils/value-util.js.map +0 -1
  219. package/dist-server/activity/CommonActivity.d.ts +0 -2
  220. package/dist-server/activity/CommonActivity.js +0 -58
  221. package/dist-server/activity/CommonActivity.js.map +0 -1
  222. package/dist-server/index.d.ts +0 -2
  223. package/dist-server/index.js +0 -6
  224. package/dist-server/index.js.map +0 -1
  225. package/dist-server/routes.d.ts +0 -1
  226. package/dist-server/routes.js +0 -58
  227. package/dist-server/routes.js.map +0 -1
  228. package/dist-server/service/button-role/button-role-mutation.d.ts +0 -9
  229. package/dist-server/service/button-role/button-role-mutation.js +0 -112
  230. package/dist-server/service/button-role/button-role-mutation.js.map +0 -1
  231. package/dist-server/service/button-role/button-role-query.d.ts +0 -11
  232. package/dist-server/service/button-role/button-role-query.js +0 -79
  233. package/dist-server/service/button-role/button-role-query.js.map +0 -1
  234. package/dist-server/service/button-role/button-role-type.d.ts +0 -15
  235. package/dist-server/service/button-role/button-role-type.js +0 -57
  236. package/dist-server/service/button-role/button-role-type.js.map +0 -1
  237. package/dist-server/service/button-role/button-role.d.ts +0 -15
  238. package/dist-server/service/button-role/button-role.js +0 -69
  239. package/dist-server/service/button-role/button-role.js.map +0 -1
  240. package/dist-server/service/button-role/index.d.ts +0 -5
  241. package/dist-server/service/button-role/index.js +0 -9
  242. package/dist-server/service/button-role/index.js.map +0 -1
  243. package/dist-server/service/dynamic-menu/dynamic-menu-query.d.ts +0 -11
  244. package/dist-server/service/dynamic-menu/dynamic-menu-query.js +0 -244
  245. package/dist-server/service/dynamic-menu/dynamic-menu-query.js.map +0 -1
  246. package/dist-server/service/dynamic-menu/dynamic-menu-type.d.ts +0 -30
  247. package/dist-server/service/dynamic-menu/dynamic-menu-type.js +0 -109
  248. package/dist-server/service/dynamic-menu/dynamic-menu-type.js.map +0 -1
  249. package/dist-server/service/dynamic-menu/index.d.ts +0 -2
  250. package/dist-server/service/dynamic-menu/index.js +0 -6
  251. package/dist-server/service/dynamic-menu/index.js.map +0 -1
  252. package/dist-server/service/entity-event-subscriber/entity-event-subscriber.d.ts +0 -6
  253. package/dist-server/service/entity-event-subscriber/entity-event-subscriber.js +0 -71
  254. package/dist-server/service/entity-event-subscriber/entity-event-subscriber.js.map +0 -1
  255. package/dist-server/service/entity-event-subscriber/index.d.ts +0 -2
  256. package/dist-server/service/entity-event-subscriber/index.js +0 -6
  257. package/dist-server/service/entity-event-subscriber/index.js.map +0 -1
  258. package/dist-server/service/index.d.ts +0 -9
  259. package/dist-server/service/index.js +0 -42
  260. package/dist-server/service/index.js.map +0 -1
  261. package/dist-server/service/menu-button-auth/index.d.ts +0 -5
  262. package/dist-server/service/menu-button-auth/index.js +0 -9
  263. package/dist-server/service/menu-button-auth/index.js.map +0 -1
  264. package/dist-server/service/menu-button-auth/menu-button-auth-mutation.d.ts +0 -10
  265. package/dist-server/service/menu-button-auth/menu-button-auth-mutation.js +0 -127
  266. package/dist-server/service/menu-button-auth/menu-button-auth-mutation.js.map +0 -1
  267. package/dist-server/service/menu-button-auth/menu-button-auth-query.d.ts +0 -16
  268. package/dist-server/service/menu-button-auth/menu-button-auth-query.js +0 -167
  269. package/dist-server/service/menu-button-auth/menu-button-auth-query.js.map +0 -1
  270. package/dist-server/service/menu-button-auth/menu-button-auth-type.d.ts +0 -24
  271. package/dist-server/service/menu-button-auth/menu-button-auth-type.js +0 -90
  272. package/dist-server/service/menu-button-auth/menu-button-auth-type.js.map +0 -1
  273. package/dist-server/service/menu-button-auth/menu-button-auth.d.ts +0 -23
  274. package/dist-server/service/menu-button-auth/menu-button-auth.js +0 -102
  275. package/dist-server/service/menu-button-auth/menu-button-auth.js.map +0 -1
  276. package/dist-server/service/meta-activity/index.d.ts +0 -3
  277. package/dist-server/service/meta-activity/index.js +0 -7
  278. package/dist-server/service/meta-activity/index.js.map +0 -1
  279. package/dist-server/service/meta-activity/meta-activity-mutation.d.ts +0 -18
  280. package/dist-server/service/meta-activity/meta-activity-mutation.js +0 -183
  281. package/dist-server/service/meta-activity/meta-activity-mutation.js.map +0 -1
  282. package/dist-server/service/meta-activity/meta-activity-query.d.ts +0 -10
  283. package/dist-server/service/meta-activity/meta-activity-query.js +0 -66
  284. package/dist-server/service/meta-activity/meta-activity-query.js.map +0 -1
  285. package/dist-server/service/meta-activity/meta-activity-type.d.ts +0 -21
  286. package/dist-server/service/meta-activity/meta-activity-type.js +0 -80
  287. package/dist-server/service/meta-activity/meta-activity-type.js.map +0 -1
  288. package/dist-server/service/set-translations/index.d.ts +0 -2
  289. package/dist-server/service/set-translations/index.js +0 -6
  290. package/dist-server/service/set-translations/index.js.map +0 -1
  291. package/dist-server/service/set-translations/set-translation-resolver.d.ts +0 -4
  292. package/dist-server/service/set-translations/set-translation-resolver.js +0 -67
  293. package/dist-server/service/set-translations/set-translation-resolver.js.map +0 -1
  294. package/dist-server/service/work-code/index.d.ts +0 -5
  295. package/dist-server/service/work-code/index.js +0 -9
  296. package/dist-server/service/work-code/index.js.map +0 -1
  297. package/dist-server/service/work-code/work-code-mutation.d.ts +0 -10
  298. package/dist-server/service/work-code/work-code-mutation.js +0 -136
  299. package/dist-server/service/work-code/work-code-mutation.js.map +0 -1
  300. package/dist-server/service/work-code/work-code-query.d.ts +0 -14
  301. package/dist-server/service/work-code/work-code-query.js +0 -106
  302. package/dist-server/service/work-code/work-code-query.js.map +0 -1
  303. package/dist-server/service/work-code/work-code-type.d.ts +0 -23
  304. package/dist-server/service/work-code/work-code-type.js +0 -89
  305. package/dist-server/service/work-code/work-code-type.js.map +0 -1
  306. package/dist-server/service/work-code/work-code.d.ts +0 -20
  307. package/dist-server/service/work-code/work-code.js +0 -94
  308. package/dist-server/service/work-code/work-code.js.map +0 -1
  309. package/dist-server/service/work-code-detail/index.d.ts +0 -5
  310. package/dist-server/service/work-code-detail/index.js +0 -9
  311. package/dist-server/service/work-code-detail/index.js.map +0 -1
  312. package/dist-server/service/work-code-detail/work-code-detail-mutation.d.ts +0 -10
  313. package/dist-server/service/work-code-detail/work-code-detail-mutation.js +0 -138
  314. package/dist-server/service/work-code-detail/work-code-detail-mutation.js.map +0 -1
  315. package/dist-server/service/work-code-detail/work-code-detail-query.d.ts +0 -13
  316. package/dist-server/service/work-code-detail/work-code-detail-query.js +0 -89
  317. package/dist-server/service/work-code-detail/work-code-detail-query.js.map +0 -1
  318. package/dist-server/service/work-code-detail/work-code-detail-type.d.ts +0 -20
  319. package/dist-server/service/work-code-detail/work-code-detail-type.js +0 -74
  320. package/dist-server/service/work-code-detail/work-code-detail-type.js.map +0 -1
  321. package/dist-server/service/work-code-detail/work-code-detail.d.ts +0 -19
  322. package/dist-server/service/work-code-detail/work-code-detail.js +0 -93
  323. package/dist-server/service/work-code-detail/work-code-detail.js.map +0 -1
  324. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-util.js","sourceRoot":"","sources":["../../client/utils/service-util.js"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\n\nimport { asyncReplace } from 'lit/directives/async-replace.js'\n\nimport { store } from '@operato/shell'\nimport { getCodeByName } from '@things-factory/code-base'\nimport { EXPORT } from '@things-factory/export-base'\nimport { gqlBuilder } from '@things-factory/utils'\nimport { generateActivitySummary, startSubscribeActivitySummary } from '@things-factory/worklist'\n\nimport { client } from '@operato/graphql'\n\nimport { TermsUtil } from './terms-util'\nimport { UiUtil } from './ui-util'\nimport { ValueUtil } from './value-util'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 서버 측 서비스 핸들링 유틸리티 함수 정의\n */\nexport class ServiceUtil {\n /**\n * @description 공통 코드 명으로 공통 코드 리스트 조회 후 리턴\n *****************************************************\n * @param {String, Array} codeSet 공통 코드 명 또는 표현될 Array\n * @returns {Array} 코드 리스트\n */\n static async codeItems(codeSet) {\n // CodeSet 이 Array 일때 (설정 값을 셀렉터로 변환)\n if (Array.isArray(codeSet)) {\n let codes = codeSet.map(codeValue => {\n if (typeof codeValue === 'object') {\n return { name: codeValue.value, description: codeValue.display }\n } else {\n return { name: codeValue, description: codeValue }\n }\n })\n\n return codes\n }\n\n // codeSet이 문자이면 코드 조회\n return await getCodeByName(codeSet)\n }\n\n /**\n * @description code selector 에디터를 위한 공통 코드 조회\n *****************************************************\n * @param {String, Array} codeSet 공통 코드 명 또는 표현될 Array\n * @returns {Array} 설정값 클리어를 위해 빈 값이 추가된 코드 리스트\n */\n static async getCodeSelectorData(codeSet) {\n let codeItems = await ServiceUtil.codeItems(codeSet)\n let codeSelectors = codeItems.map(c => {\n return {\n value: c.name,\n display: c.description\n }\n })\n codeSelectors.unshift({ value: '', display: '' })\n return codeSelectors\n }\n\n /**\n * 시나리오를 호출해 코드 정보를 가져온다.\n *********************************\n * @description 시나리오에서는 name, description 필드를 리턴해 줘야 한다.\n * @param {String} scenarioName\n * @param {Array} variables\n */\n static async getCodeByScenario(scenarioName, variables) {\n let response = await ServiceUtil.callScenario(null, scenarioName, variables, false)\n if (\n response &&\n response.data &&\n response.data.runScenario &&\n response.data.runScenario.result &&\n response.data.runScenario.result.result\n ) {\n let codes = response.data.runScenario.result.result\n codes.unshift({ value: '', display: '' })\n return codes.map(x => {\n return {\n value: x.name,\n display: x.description\n }\n })\n } else {\n return []\n }\n }\n\n /**\n * 엔티티 쿼리를 호출해 코드 정보를 가져온다.\n ***********************************\n * @description\n * @param {Object} variables\n */\n static async getCodeByEntity({ queryName = undefined, codeField = 'name', dispField, filters = [], sorters = [] }) {\n let dispFields = dispField.split(',')\n\n let selectFields = `\n ${codeField}\n ${dispField ? dispFields.join('\\n') : ''}\n `\n\n let result = await ServiceUtil.searchByPagination(queryName, filters, sorters, 0, 0, selectFields)\n let codes = [{ value: '', display: '' }]\n\n result.records.forEach(x => {\n let disp = x[codeField]\n\n if (dispField) {\n let fields = dispField.split(',')\n disp = x[fields[0]]\n\n if (fields.length > 1) {\n disp += `(${fields\n .splice(1)\n .map(field => {\n return x[field]\n })\n .join(',')})`\n }\n }\n\n codes.push({\n value: x[codeField],\n display: disp\n })\n })\n\n return codes\n }\n\n /**\n * @description 확장 속성 옵션 정보를 리턴\n *************************************\n * @param {String} entityName\n * @return {Object}\n */\n static async getAttributeSetOptionFor(entityName) {\n return {\n objectified: true,\n attributeSet: await ServiceUtil.getAttributeSetFor(entityName)\n }\n }\n\n /**\n * @description 확장 속성 메타 정보를 조회\n *************************************\n * @param {String} entityName\n * @return {Object}\n */\n static async getAttributeSetFor(entityName) {\n const response = await client.query({\n query: gql`\n query {\n attributeSet: attributeSetByEntity(entity: \"${entityName}\") {\n entity\n description\n items {\n name\n description\n tag\n type\n active\n hidden\n options\n }\n }\n }\n `\n })\n\n return response.data?.attributeSet || {}\n }\n\n /**\n * @description 현재 사용자의 권한에 맞는 메뉴 정보 요청\n ***********************************************\n * @returns {Array} 메뉴 바에 표시될 메뉴 리스트\n */\n static async myDynamicMenus() {\n let menuItems = await ServiceUtil.searchMyDynamicMenus()\n return menuItems != null ? ServiceUtil.arrangeMenuRoutes(menuItems) : null\n }\n\n /**\n * @description 메뉴 틀에 맞게 재 배치\n **************************************\n * @param {Array} menuData 메뉴 정보에서 조회한 메뉴 리스트\n * @returns {Object} 메뉴 바 틀에 맞게 재 배치된 메뉴 & 라우팅 정보\n */\n static arrangeMenuRoutes(resMenuData) {\n let menuData = []\n\n /**\n * name : 메뉴 명 (DynamicMenu)\n * category : 태그 명 (dynamic-menu)\n * routing : 라우팅 (dynamic_menu)\n * resourceUrl : 페이지 위치 (./pages/menu/dynamic-menu)\n */\n resMenuData.forEach(item => {\n menuData.push(item)\n\n if (item.children) {\n item.children.sort(function (a, b) {\n return a.rank - b.rank\n })\n\n item.children.forEach(subItem => {\n if (subItem.hiddenFlag != true) {\n subItem.parent = item\n menuData.push(subItem)\n }\n })\n }\n })\n\n // 1. 서버에서 조회한 메뉴 정보 중에 메인 메뉴를 추출\n let mainMenus = menuData\n .map(item => {\n if (item.menuType == 'GROUP' || item.menuType == 'MENU') {\n let pMenu = {\n id: item.id,\n parent: true,\n name: TermsUtil.tMenu(item.name),\n icon: item.iconPath,\n type: item.menuType == 'GROUP' ? 'group' : '',\n menus: []\n }\n\n if (item.routing) {\n pMenu.path = item.routing\n }\n\n return pMenu\n } else {\n return { id: '0' }\n }\n })\n .filter(i => i.id != '0')\n\n // 2. 메인 메뉴 하위에 서브 메뉴를 추가\n let routes = menuData\n .map(item => {\n if (item.menuType == 'SCREEN' || item.menuType == 'HIDDEN-PAGE') {\n // 2.1 메뉴가 SCREEN 유형이라면 자신의 부모 메뉴를 찾아서\n let parentMenu = mainMenus.find(main => main.id == item.parent.id)\n if (parentMenu) {\n let title = TermsUtil.tMenu(item.name)\n\n // 2.2 좌측 메뉴에 표시되도록 부모 메뉴의 하위 메뉴로 추가하여 메뉴 트리 구성\n if (item.menuType == 'SCREEN') {\n parentMenu.menus.push({\n id: item.id,\n name: title,\n path: item.routing,\n icon: item.iconPath\n })\n }\n\n // 2.3 애플리케이션 라우팅 정보를 모아 routes 정보로 사용\n return {\n id: item.id,\n parent: false,\n parent_id: parentMenu.id,\n title: title,\n tagname: item.category,\n page: item.routing,\n template: item.resourceUrl,\n routing_type: item.routingType\n }\n } else {\n return { id: '0' }\n }\n } else if (item.menuType == 'HOME') {\n return {\n id: item.id,\n parent: true,\n parent_id: null,\n title: TermsUtil.tMenu(item.name),\n tagname: item.category,\n page: item.routing,\n template: item.resourceUrl,\n routing_type: item.routingType\n }\n } else {\n return { id: '0' }\n }\n })\n .filter(i => i != undefined && i.id != '0')\n\n // 3. 메뉴 그룹 하위에 해당 하는 페이지 정렬\n mainMenus\n .filter(x => x.type == 'group' && x.menus && x.menus.length > 0)\n .forEach(groupMenu => {\n let groupIdx = mainMenus.findIndex(m => m.id == groupMenu.id) + 1\n mainMenus.splice(groupIdx, 0, ...groupMenu.menus)\n })\n\n // 4. 업무, 결재 관련 메뉴 확인 및 badge 등록\n let badgeCnt = 0\n mainMenus.forEach(menu => {\n if (menu.path == 'todo-list') {\n // 내 업무함\n badgeCnt++\n menu.badge = () => asyncReplace(generateActivitySummary('numberOfToDos'))\n menu.active = ({ path }) => /^activity\\//.test(path)\n } else if (menu.path == 'approval-pending-list') {\n // 내 결재함\n badgeCnt++\n menu.badge = () => asyncReplace(generateActivitySummary('numberOfApprovalPendings'))\n menu.active = ({ path }) => /^activity\\//.test(path)\n } else if (menu.path == 'draft-list') {\n // 작성 중 업무\n badgeCnt++\n menu.badge = () => asyncReplace(generateActivitySummary('numberOfDrafts'))\n }\n })\n\n if (badgeCnt > 0) {\n startSubscribeActivitySummary()\n }\n\n // 5. 메뉴 데이터 리턴\n return { menus: mainMenus, routes: routes }\n }\n\n /**\n * @description 현재 사용자의 권한에 맞는 메뉴 정보 요청\n ***********************************************\n * @returns {Array} 메뉴 바에 표시될 메뉴 리스트\n */\n static async searchMyDynamicMenus() {\n const response = await client.query({\n query: gql`\n query MyMenus($sortings: [Sorting!], $filters: [Filter!]) {\n myMenus(sortings: $sortings, filters: $filters) {\n items {\n id\n parent {\n id\n name\n }\n children(permittedOnly: true) {\n id\n name\n description\n menuType\n category\n routingType\n routing\n resourceUrl\n iconPath\n hiddenFlag\n rank\n }\n name\n description\n menuType\n category\n routingType\n routing\n resourceUrl\n iconPath\n }\n total\n }\n }\n `,\n variables: {\n filters: [\n {\n name: 'hiddenFlag',\n operator: 'noteq',\n value: true\n },\n {\n // name: 'menuType', operator: 'in', value: ['HOME', 'MENU', 'GROUP', 'SCREEN', 'HIDDEN-PAGE']\n name: 'menuType',\n operator: 'in',\n value: ['HOME', 'MENU', 'GROUP']\n }\n ],\n sortings: [{ name: 'rank' }]\n }\n })\n\n return response.data?.myMenus.items || []\n }\n\n /**\n * @description 응답이 처리된 후 Graphql Error 메시지 표시\n ****************************************************\n * @param {Object} response 응답\n */\n static async showGraphqlErrorResponse(response) {\n if (response.errors && response.errors.length > 0) {\n let error = response.errors[0]\n let errContent = error.message\n let errTitle = error.message\n\n if (error.extensions) {\n let errExt = error.extensions\n errTitle = errExt.code\n }\n\n await UiUtil.showAlertPopup(errTitle, errContent, 'error', 'confirm')\n }\n }\n\n /**\n * @description Graphql 실행 시 Exception 표시\n ********************************************\n * @param {Object} exception graphql 에러\n */\n static async showGraphqlException(exception) {\n if (exception) {\n if (exception.networkError && exception.networkError.result) {\n await ServiceUtil.showGraphqlErrorResponse(exception.networkError.result)\n } else {\n await UiUtil.showAlertPopup('Graphql Error', exception.message, 'error', 'confirm')\n }\n }\n }\n\n /**\n * @description 그리드 데이터 내보내기\n *********************************\n * @param {Boolean} isElement 팝업으로 실행 중인지 여부\n * @param {String} exportTitle 그리드 내보내기 용 타이틀\n * @param {Grist} grist 그리드 오브젝트\n * @returns {Object} { header: headerSetting, data: data } or Not\n */\n static async exportableData(isElement, exportTitle, grist) {\n // 1. 헤더 설정\n var headerSetting = grist._config.columns\n .filter(\n column =>\n column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined && column.hidden !== true\n )\n .map(column => {\n return column.imex\n })\n\n // 2. 그리드에 표시된 데이터 추출\n let records = grist.data.records\n var data = records.map(item => {\n return {\n ...grist._config.columns\n .filter(\n column =>\n column.type !== 'gutter' &&\n column.record !== undefined &&\n column.imex !== undefined &&\n column.hidden !== true\n )\n .reduce((record, column) => {\n record[column.imex.key] = column.imex.key.split('.').reduce((obj, key) => {\n const val = obj && obj[key] !== 'undefined' ? obj[key] : undefined\n\n if (column.type == 'select') {\n return column?.record?.options?.find(option => option.value == val)?.display\n } else if (column.type.includes('object')) {\n return val?.name\n }\n\n return val\n }, item)\n return record\n }, {})\n }\n })\n\n // element로 호출된 경우 리턴 없이 바로 xlsx 내보내기\n if (isElement) {\n store.dispatch({\n type: EXPORT,\n exportable: {\n extension: 'xlsx',\n name: exportTitle,\n data: { header: headerSetting, data: data }\n }\n })\n } else {\n return { header: headerSetting, data: data }\n }\n }\n\n /**\n * @description 서버 사이드를 거쳐 그리드 데이터 내보내기\n ************************************************\n * @param {String} exportFileName 그리드 내보내기 용 타이틀 (파일명)\n * @param {String} exportQueryName 서버 사이드 GraphQL 쿼리명\n * @param {Grist} grist 그리드 오브젝트\n * @returns {Object} { header: headerSetting, data: data } or Not\n */\n static async exportableDataByServer(exportFileName, exportQueryName, grist) {\n // 1. 내보내기 graphQL 요청\n const response = await client.query({\n query: gql`\n query Query($filters: [Filter!]!) {\n responses: ${exportQueryName}(filters: $filters)\n }\n `,\n variables: {\n filters: grist.filters\n }\n })\n\n // 2. 응답 처리\n const data = response.data.responses\n const bufferData = Buffer.from(data, 'base64')\n const blob = new Blob([bufferData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })\n\n const a = document.createElement('a')\n a.href = window.URL.createObjectURL(blob)\n a.download = `${exportFileName}.xlsx`\n document.body.appendChild(a)\n a.click()\n a.remove()\n }\n\n /**\n * @description 데이터 리스트 페이지네이션 조회\n ****************************************\n * @param {String} queryFunc 쿼리 함수\n * @param {Array} filters 조회 조건\n * @param {Array} sortings 소팅 조건\n * @param {Number|undefined} page 현재 페이지\n * @param {Number} limit 페이지 당 표시할 레코드 건수\n * @param {String} selectFields 조회할 필드 리스트\n * @returns {Array} 조회 결과 { records : [{...}], total : 100 }\n */\n static async searchByPagination(queryFunc, filters, sortings, page = 1, limit, selectFields) {\n try {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n ${queryFunc}(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n ${selectFields}\n }\n total\n }\n }\n `,\n variables: { filters, sortings, pagination: { page, limit } }\n })\n\n if (!response.errors) {\n return {\n records: response.data[queryFunc].items,\n total: response.data[queryFunc].total\n }\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n return null\n }\n\n /**\n * @description 레코드의 id를 이용해 데이터 한 건 조회\n **********************************************\n * @param {String} queryFunc 조회할 query 함수명\n * @param {String} id 레코드 ID\n * @param {String} selectFields 조회할 필드 리스트\n * @return {Object} 조회한 레코드\n */\n static async findOne(queryFunc, id, selectFields) {\n try {\n let response = await client.query({\n query: gql`\n query ($id: String!) {\n ${queryFunc}(id: $id) {\n ${selectFields}\n }\n }\n `,\n variables: { id: id }\n })\n\n if (!response.errors) {\n return response.data[queryFunc] || {}\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n return null\n }\n\n /**\n * @description 필터 정보를 이용해 데이터 한 건 조회\n *********************************************\n * @param {String} queryFunc 조회할 query 함수명\n * @param {String} selectFields 조회할 필드 리스트\n * @param {Array} filters 필터\n * @return {Object} 조회한 레코드\n */\n static async findByFilters(queryFunc, selectFields, filters) {\n try {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!]) {\n ${queryFunc}(filters: $filters) {\n ${selectFields}\n }\n }\n `,\n variables: { filters }\n })\n\n if (!response.errors) {\n return response.data[queryFunc] || {}\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n return null\n }\n\n /**\n * @description 필터 정보를 이용해 데이터 한 건 조회\n *********************************************\n * @param {String} queryFunc 조회할 query 함수명\n * @param {String} selectFields 조회할 필드 리스트\n * @param {Array} filters 필터\n * @return {Object} 조회한 레코드\n */\n static async searchByFilters(queryFunc, selectFields, filters) {\n try {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $sortings: [Sorting!]) {\n ${queryFunc}(filters: $filters, sortings: $sortings) {\n items {\n ${selectFields}\n }\n }\n }\n `,\n variables: { filters }\n })\n\n if (!response.errors) {\n return response.data[queryFunc].items || []\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n return null\n }\n\n /**\n * @description 그리드에서 선택된 행의 ID 리턴\n ****************************************\n * @param {Object} grist 그리스트\n * @param {Boolean} alertWhenEmpty 선택된 행이 없는 경우 팝업을 실행할 것인지 여부\n * @returns {Array} 선택 ID 리스트\n */\n static getSelectedIdList(grist, alertWhenEmpty) {\n const ids = grist.selected.map(record => record.id)\n\n if (ValueUtil.isEmpty(ids) && alertWhenEmpty == true) {\n UiUtil.showAlertPopup('text.nothing_selected', 'text.there_is_nothing_to_delete', 'info', 'confirm')\n }\n\n return ids\n }\n\n /**\n * @description 그리스트의 선택된 레코드 삭제 처리\n ******************************************\n * @param {Object} grist 그리스트\n * @param {Object} mutationFunc 삭제 처리할 함수 명\n * @returns {Boolean} 삭제 성공 여부\n */\n static async deleteListByGristSelected(grist, mutationFunc) {\n let ids = ServiceUtil.getSelectedIdList(grist, true)\n\n if (ValueUtil.isNotEmpty(ids)) {\n let result = await ServiceUtil.deleteListByIds(ids, mutationFunc)\n if (result) {\n grist.fetch()\n }\n }\n }\n\n /**\n * @description ID 배열로 레코드 삭제 처리\n **************************************\n * @param {Array} ids 삭제할 레코드 ID 리스트\n * @param {Object} mutationFunc 삭제 처리할 함수\n * @returns {Boolean} 삭제 성공 여부\n */\n static async deleteListByIds(ids, mutationFunc) {\n const answer = await UiUtil.showAlertPopup('button.delete', 'text.are_you_sure', 'question', 'delete', 'cancel')\n if (answer.value) {\n try {\n const response = await client.query({\n query: gql`\n mutation {\n ${mutationFunc}(${gqlBuilder.buildArgs({ ids })})\n }`\n })\n\n if (!response.errors) {\n UiUtil.showToast('info', TermsUtil.tText('success to delete'))\n return true\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n }\n\n return false\n }\n\n /**\n * @description 그리스트에서 변경, 추가된 여러 데이터를 한 꺼번에 업데이트\n *************************************************************\n * @param {Object} grist 그리스트\n * @param {String} mutationFunc updateMultiple을 위한 서버 측 mutation 함수 명\n * @returns {Boolean} 업데이트 성공 여부\n */\n static async updateMultipleData(grist, mutationFunc) {\n let patches = ServiceUtil.patchesForUpdateMultiple(grist)\n\n if (ValueUtil.isNotEmpty(patches)) {\n let result = await ServiceUtil.updateMultiple(mutationFunc, patches)\n if (result) {\n grist.fetch()\n return result\n }\n }\n\n return false\n }\n\n /**\n * @description 변경, 추가된 여러 데이터를 한 꺼번에 업데이트\n ***************************************************\n * @param {String} mutationFunc updateMultiple을 위한 서버 측 mutation 함수 명\n * @param {Array} patches 변경, 추가된 여러 데이터\n * @returns {Boolean} 업데이트 성공 여부\n */\n static async updateMultiple(mutationFunc, patches) {\n try {\n const response = await client.query({\n query: gql`\n mutation {\n ${mutationFunc}(${gqlBuilder.buildArgs({ patches })}) {\n id\n }\n }`,\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n UiUtil.showToast('info', TermsUtil.tText('success to save'))\n return true\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n return false\n }\n\n /**\n * @description 그리스트에서 변경, 추가된 내용 추출\n ********************************************\n * @param {Object} grist 그리스트\n * @param {Boolean} isObjectOrigin\n * @returns {Array} 그리스트에서 변경, 추가된 데이터 리스트\n */\n static patchesForUpdateMultiple(grist, isObjectOrigin = false) {\n // 그리드 변경 리스트\n let cudRecords = grist.dirtyRecords\n // 필수 입력 컬럼\n let mandatoryColumns = {}\n\n ;((grist.config || {}).columns || [])\n .filter(x => (x.record || {}).mandatory === true)\n .forEach(x => {\n mandatoryColumns[x.name] = x.header\n })\n\n // 코드 인풋 타입\n let codeInputColumns = ((grist.config || {}).columns || []).filter(x => x.type === 'code-input').map(x => x.name)\n\n // 변경 없음\n if (!cudRecords || cudRecords.length == 0) {\n UiUtil.showAlertPopup('text.nothing_changed', 'text.NOTHING_CHANGED', 'info', 'confirm')\n return\n }\n\n let patchList = []\n\n // root records\n for (let idx in cudRecords) {\n let record = cudRecords[idx]\n let patchData = record.id ? { id: record.id } : {}\n\n // 필수 입력 값 체크\n for (let key in mandatoryColumns) {\n if (record[key] === undefined || record[key] == '') {\n console.log(record)\n UiUtil.showAlertPopup(\n 'text.check-mandatory',\n TermsUtil.tText('check-mandatory-field', { x: mandatoryColumns[key] }),\n 'info',\n 'confirm'\n )\n return\n }\n }\n\n // 레코드 정보에서 저장 가능 유형으로 변환\n for (let key in record) {\n if (\n ![\n 'creator',\n 'updater',\n 'createdAt',\n 'updatedAt',\n '__dirty__',\n '__dirtyfields__',\n '__origin__',\n '__seq__',\n '__selected__'\n ].includes(key)\n ) {\n // code-input 타입은 오브젝트 값을 가지지만 id 만 가져가지 않는다. 예외 처리\n if (\n codeInputColumns.includes(key) == false &&\n record[key] &&\n typeof record[key] === 'object' &&\n isObjectOrigin == false\n ) {\n patchData[key] = { id: record[key].id }\n } else {\n patchData[key] = record[key]\n }\n }\n }\n\n patchData.cuFlag = record.__dirty__\n patchList.push(patchData)\n }\n\n return patchList\n }\n\n /**\n * @description 한 건 레코드 업데이트\n *********************************\n * @param {String} mutationFunc 서버 측 업데이트 mutation 함수 명\n * @param {String} id 변경할 레코드의 id\n * @param {Object} patch 변경할 레코드\n * @returns {Boolean} 업데이트 성공 여부\n */\n static async updateOne(mutationFunc, id, patch) {\n try {\n let gqlStr = gql`\n mutation {\n ${mutationFunc}(id: \"${id}\", ${gqlBuilder.buildArgs({ patch })}) {\n id\n }\n }`\n\n const response = await client.query({\n query: gqlStr,\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n UiUtil.showToast('info', TermsUtil.tText('success to save'))\n return true\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n\n return false\n }\n\n /**\n * @description Graphql 서비스 호출\n ***********************************\n * @param {Object} pageView 호출 페이지 뷰\n * @param {Object} action 서비스 설정 정보\n * @param {Object} filterParam 필터용 파라미터\n * @param {Object} dataParams 파라미터\n * @returns {Object} 서비스 호출 결과\n */\n static async callService(pageView, action, filterParam, dataParams) {\n if (action.graphql_type == 'query') {\n return await ServiceUtil.callQueryService(action, filterParam, dataParams)\n } else if (action.graphql_type == 'export') {\n return await ServiceUtil.exportableDataByServer(action.export_file_name, action.query_name, pageView.grist)\n } else {\n return await ServiceUtil.callMutationService(action, filterParam, dataParams)\n }\n }\n\n /**\n * @description Graphql Query 서비스 호출\n ***************************************\n * @param {Object} action 서비스 액션\n * @param {Object} filterParam 필터용 파라미터\n * @param {Object} dataParams 데이터 파라미터\n * @returns {Object} 서비스 호출 결과\n */\n static async callQueryService(action, filterParam, dataParams) {\n // 1. GraphQL 설정 추출\n let queryType = action.query_type\n let queryFunc = action.query_name\n let selectFields = action.select\n let filters = action.filters\n let sorters = action.sorters\n\n // 2. Filter 정보가 존재한다면 filterParam 정보로 부터 값 변수 치환\n if (filters && filters.length > 0 && filterParam) {\n let filterParamKeys = Object.keys(filterParam)\n\n filters.forEach(filter => {\n let value = filter.value\n if (typeof value == 'string' && value.startsWith('$')) {\n let valueField = value.replace('$', '')\n if (filterParamKeys.includes(valueField)) {\n filter.value = filterParam[valueField]\n }\n }\n })\n }\n\n // 3. dataParams 정보가 존재한다면 데이터 dataParams 정보로 부터 값 변수 치환\n if (filters && filters.length > 0 && dataParams) {\n let dataParam = Array.isArray(dataParams) ? dataParams[0] : dataParams\n let dataParamKeys = Object.keys(dataParam)\n\n filters.forEach(filter => {\n let value = filter.value\n if (typeof value == 'string' && value.startsWith('$')) {\n let valueField = value.replace('$', '')\n if (dataParamKeys.includes(valueField)) {\n filter.value = dataParam[valueField]\n }\n }\n })\n }\n\n // 4. ID로 하나의 데이터만 조회\n if (queryType == 'singleById') {\n // ID값 추출\n let idField = action.id_field\n let idValue = filterParam[idField]\n if (!idValue) {\n idValue = Array.isArray(dataParams) ? dataParams[0][idField] : dataParams[idField]\n }\n\n if (!idValue) {\n throw new Error('id_value_not_found')\n }\n\n // ID값이 있다면 ID 값으로 조회\n return await ServiceUtil.findOne(queryFunc, idValue, selectFields)\n\n // 5. filter 정보로 하나의 데이터만 조회\n } else if (queryType == 'singleByFilters') {\n return await ServiceUtil.findByFilters(queryFunc, selectFields, filters)\n\n // 6. 화면이 grid이면서 페이지네이션을 사용하지 않는 경우\n } else if (queryType == 'multi') {\n return await ServiceUtil.searchByFilters(queryFunc, selectFields, filters)\n\n // 7. 화면이 grid이면서 페이지네이션을 사용하는 경우\n } else if (queryType == 'pagination') {\n let page = 1\n let limit = action.limit\n return await ServiceUtil.searchByPagination(queryFunc, filters, sorters, page, limit, selectFields)\n } else {\n throw new Error('invalid queryType [' + queryType + ']')\n }\n }\n\n /**\n * @description Graphql Mutation 서비스 호출\n ******************************************\n * @param {Object} action 서비스 액션\n * @param {Object} filterParam 필터용 파라미터\n * @param {Object} dataParams 데이터 파라미터\n * @returns {Object} 서비스 호출 결과\n */\n static async callMutationService(action, filterParam, dataParams) {\n // 1. 필수 정보 체크\n if (!action.mutation_name) {\n throw new Error('mutation name not found!')\n }\n\n if (!action.mutation_type) {\n throw new Error('mutation type not found!')\n }\n\n // 2. GraphQL 설정 추출\n let data = action.data\n let mutationParams = Array.isArray(dataParams) ? [] : {}\n\n if (data) {\n // 3. 파라미터 정보로 부터 변수 치환 처리\n if (Array.isArray(mutationParams)) {\n if (ValueUtil.isNotEmpty(dataParams)) {\n dataParams.forEach(dp => {\n let sourceData = JSON.parse(JSON.stringify(data))\n let dataParam = ValueUtil.replaceVariableObject(sourceData, dp)\n mutationParams.push(dataParam)\n })\n }\n } else {\n if (ValueUtil.isNotEmpty(dataParams)) {\n mutationParams = ValueUtil.replaceVariableObject(data, dataParams)\n }\n }\n\n // 4. 파라미터 정보가 없다면 필터 정보로 변수 처리\n if (ValueUtil.isEmpty(mutationParams)) {\n mutationParams = ValueUtil.replaceVariableObject(data, filterParam)\n }\n }\n\n try {\n // 5. ID 값 추출\n let idValue = action.id_field\n ? ValueUtil.isNotEmpty(filterParam)\n ? filterParam[action.id_field]\n : Array.isArray(dataParams)\n ? dataParams[0][action.id_field]\n : dataParams[action.id_field]\n : null\n // 6. Mutation 호출\n let response = await ServiceUtil.callMutation(\n action,\n idValue,\n ValueUtil.isEmpty(mutationParams) ? dataParams : mutationParams\n )\n\n if (!response.errors) {\n UiUtil.showToast('info', TermsUtil.tText('success to process'))\n return response\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n }\n\n /**\n * @description Graphql Mutation 서비스 호출\n ******************************************\n * @param {Object} action 서비스 액션\n * @param {String} idValue ID 값\n * @param {Object} data 파라미터\n * @returns {Object} 서비스 호출 결과\n */\n static async callMutation(action, idValue, data) {\n // mutation Type 추출\n let mutationType = action.mutation_type\n\n // 1. 파라미터가 id 뿐인 경우\n if (mutationType == 'id') {\n return await ServiceUtil.callMutationById(action, idValue)\n\n // 2. 파라미터가 id 배열인 경우\n } else if (mutationType == 'ids') {\n return await ServiceUtil.callMutationByIds(action, data)\n\n // 3. 파라미터가 id, data인 경우\n } else if (mutationType == 'id-data') {\n return await ServiceUtil.callMutationByIdData(action, idValue, data)\n\n // 4. 파라미터가 data인 경우\n } else if (mutationType == 'data') {\n return await ServiceUtil.callMutationByData(action, data)\n }\n }\n\n /**\n * @description Graphql Mutation 서비스 호출 - 파라미터는 ID\n *******************************************************\n * @param {Object} action 서비스 액션\n * @param {Object} idValue ID 값\n * @returns {Object} 서비스 호출 결과\n */\n static async callMutationById(action, idValue) {\n // ID 값이 없으면 에러\n if (!idValue) {\n throw new Error('id_value_not_found')\n }\n\n let mutationName = action.mutation_name\n let returnFields = action.return_fields\n\n return await client.query({\n query: gql`\n mutation ($id: String!) {\n ${mutationName}(id: $id) \n ${returnFields ? '{' + returnFields + '}' : ''}\n }`,\n variables: { id: idValue }\n })\n }\n\n /**\n * @description Graphql Mutation 서비스 호출 - 파라미터는 ID\n *******************************************************\n * @param {Object} action 서비스 액션\n * @param {Array} dataList 데이터 배열\n * @returns {Object} 서비스 호출 결과\n */\n static async callMutationByIds(action, dataList) {\n let paramName = action.param_name\n\n // 파라미터 이름이 없으면 에러\n if (!paramName) {\n throw new Error('param name not found')\n }\n\n let ids = dataList.map(d => {\n return d[action.id_field]\n })\n let mutationName = action.mutation_name\n let returnFields = action.return_fields\n\n return await client.query({\n query: gql`\n mutation ($ids: [String!]!) {\n ${mutationName}(${paramName}: $ids) \n ${returnFields ? '{' + returnFields + '}' : ''}\n }`,\n variables: { ids: ids }\n })\n }\n\n /**\n * @description Graphql Mutation 서비스 호출 - 파라미터는 ID, Data\n *************************************************************\n * @param {Object} action 서비스 액션\n * @param {String} idValue ID 값\n * @param {Object} data 파라미터\n * @returns {Object} 서비스 호출 결과\n */\n static async callMutationByIdData(action, idValue, data) {\n let paramName = action.param_name\n let paramType = action.param_type\n\n // 파라미터 타입이 없으면 에러\n if (!paramType) {\n throw new Error('param type not found')\n }\n\n // 파라미터 이름이 없으면 에러\n if (!paramName) {\n throw new Error('param name not found')\n }\n\n // ID 값이 있다면 ID 값으로 조회\n if (!idValue) {\n idValue = data[action.id_field]\n }\n\n if (!idValue) {\n throw new Error('id_value_not_found')\n }\n\n let mutationName = action.mutation_name\n let returnFields = action.return_fields\n\n return await client.query({\n query: gql`\n mutation ($id: String!, $patch: ${paramType}!) {\n ${mutationName}(id: $id, ${paramName}: $patch) \n ${returnFields ? '{' + returnFields + '}' : ''}\n }`,\n variables: { id: idValue, patch: data }\n })\n }\n\n /**\n * @description Graphql Mutation 서비스 호출 - 파라미터는 Data\n ********************************************************\n * @param {Object} action 서비스 액션\n * @param {Object} data 파라미터\n * @returns {Object} 서비스 호출 결과\n */\n static async callMutationByData(action, data) {\n let paramType = action.param_type\n let paramName = action.param_name\n\n // 파라미터 타입이 없으면 에러\n if (!paramType) {\n throw new Error('param type not found')\n }\n\n // 파라미터 이름이 없으면 에러\n if (!paramName) {\n throw new Error('param name not found')\n }\n\n let mutationName = action.mutation_name\n let returnFields = action.return_fields\n\n return await client.query({\n query: gql`\n mutation ($patch: ${paramType}!) {\n ${mutationName}(${paramName}: $patch) \n ${returnFields ? '{' + returnFields + '}' : ''}\n }`,\n variables: { patch: data }\n })\n }\n\n /**\n * @description 시나리오 서비스를 호출\n **********************************\n * @param {String} buttonName 시나리오 호출할 버튼 명, 버튼 명이 없다면 사용자에게 확인 과정을 생략한다.\n * @param {String} scenarioName 호출할 시나리오 명\n * @param {Object} variables 시나리오 호출 변수\n * @param {Object} useMessage 컨펌, 완료 메시지 사용 여부\n * @returns {Object | Boolean} 시나리오 호출 response or false\n */\n static async callScenario(buttonName, scenarioName, variables, useMessage = true) {\n let confirm = true\n\n if (buttonName && useMessage === true) {\n const anwer = await UiUtil.showAlertPopup(\n 'button.' + buttonName,\n 'text.are_you_sure',\n 'question',\n 'confirm',\n 'cancel'\n )\n confirm = anwer.value\n }\n\n if (confirm) {\n try {\n const response = await client.query({\n query: gql`\n mutation ($scenarioName: String!, $variables: Object) {\n runScenario(scenarioName: $scenarioName, variables: $variables) {\n state\n message\n result\n __typename\n }\n }\n `,\n variables: { scenarioName: scenarioName, variables: variables }\n })\n\n if (!response.errors) {\n if (ServiceUtil.checkClientError(response)) {\n if (useMessage === true) UiUtil.showToast('info', TermsUtil.tText('success to process'))\n return response\n }\n } else {\n ServiceUtil.showGraphqlErrorResponse(response)\n }\n } catch (e) {\n ServiceUtil.showGraphqlException(e)\n }\n }\n\n return false\n }\n\n /**\n * @description 시나리오 서비스 리턴값에 에러가 포함되어 있는지 체크\n *******************************************************\n * @param {Object} response 시나리오 서비스 호출 리턴 값, 리턴 형태 error : {type : 'error', title : '에러 타이틀 (다국어 가능)', message : '에러 메시지 (다국어 가능)'}\n * @returns {Boolean} 에러가 없으면 true 그렇지 않으면 false\n */\n static checkClientError(response) {\n if (\n response &&\n response.data &&\n response.data.runScenario &&\n response.data.runScenario.result &&\n response.data.runScenario.result.error\n ) {\n let scenarioError = response.data.runScenario.result.error\n UiUtil.showAlertPopup(scenarioError.title, scenarioError.message, 'error', 'confirm')\n return false\n } else {\n return true\n }\n }\n}\n"]}
@@ -1,81 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright © HatioLab Inc. All rights reserved.
4
- * @author Shortstop <shortstop@hatiolab.com>
5
- * @description 용어 처리 유틸리티
6
- */
7
- export declare class TermsUtil {
8
- /**
9
- * @description 라벨 (필드) labelName을 다국어 변환하여 리턴
10
- ***********************************************
11
- * @param {String} labelName
12
- * @param {Object} params
13
- * @returns 번역된 라벨 (필드) 명
14
- */
15
- static tLabel(labelName: string, params?: any): string;
16
- /**
17
- * @description 필드 fieldName을 다국어 변환하여 리턴
18
- ***********************************************
19
- * @param {String} fieldName
20
- * @param {Object} params
21
- * @returns 번역된 필드 명
22
- */
23
- static tField(fieldName: string, params?: any): string;
24
- /**
25
- * @description 버튼 buttonName을 다국어 변환하여 리턴
26
- ***********************************************
27
- * @param {String} buttonName
28
- * @returns 번역된 버튼 명
29
- */
30
- static tButton(buttonName: string): string;
31
- /**
32
- * @description 타이틀 titleName을 다국어 변환하여 리턴
33
- ***********************************************
34
- * @param {String} titleName
35
- * @param {Object} params
36
- * @returns 번역된 타이틀 명
37
- */
38
- static tTitle(titleName: string, params?: any): string;
39
- /**
40
- * @description 메뉴 menuName을 다국어 변환하여 리턴
41
- ***********************************************
42
- * @param {String} menuName
43
- * @returns 번역된 메뉴 명
44
- */
45
- static tMenu(menuName: string): string;
46
- /**
47
- * @description 텍스트 textName을 다국어 변환하여 리턴
48
- ***********************************************
49
- * @param {String} textName
50
- * @param {Object} params
51
- * @returns 번역된 텍스트 값
52
- */
53
- static tText(textName: string, params?: any): string;
54
- /**
55
- * @description 에러 errorName을 다국어 변환하여 리턴
56
- ***********************************************
57
- * @param {String} errorName
58
- * @param {Object} params
59
- * @returns 번역된 에러 메시지
60
- */
61
- static tError(errorName: string, params?: any): string;
62
- /**
63
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
64
- ***********************************************
65
- * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)
66
- * @param {String} termName 용어 이름
67
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
68
- * @param {String} defaultValue
69
- * @returns termKey 다국어 변환 값
70
- */
71
- static translate(termCategory: string, termName: string, parameters?: any, defaultValue?: string): string;
72
- /**
73
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
74
- ***********************************************
75
- * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
76
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
77
- * @param {String} defaultValue
78
- * @returns termKey 다국어 변환 값
79
- */
80
- static t(termKey: string, parameters: any, defaultValue: string): string;
81
- }
@@ -1,105 +0,0 @@
1
- import { i18next } from '@operato/i18n';
2
- /**
3
- * @license
4
- * Copyright © HatioLab Inc. All rights reserved.
5
- * @author Shortstop <shortstop@hatiolab.com>
6
- * @description 용어 처리 유틸리티
7
- */
8
- export class TermsUtil {
9
- /**
10
- * @description 라벨 (필드) labelName을 다국어 변환하여 리턴
11
- ***********************************************
12
- * @param {String} labelName
13
- * @param {Object} params
14
- * @returns 번역된 라벨 (필드) 명
15
- */
16
- static tLabel(labelName, params) {
17
- let labelValue = TermsUtil.translate('label', labelName, params);
18
- return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName);
19
- }
20
- /**
21
- * @description 필드 fieldName을 다국어 변환하여 리턴
22
- ***********************************************
23
- * @param {String} fieldName
24
- * @param {Object} params
25
- * @returns 번역된 필드 명
26
- */
27
- static tField(fieldName, params) {
28
- let fieldValue = TermsUtil.translate('field', fieldName, params);
29
- return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName);
30
- }
31
- /**
32
- * @description 버튼 buttonName을 다국어 변환하여 리턴
33
- ***********************************************
34
- * @param {String} buttonName
35
- * @returns 번역된 버튼 명
36
- */
37
- static tButton(buttonName) {
38
- return TermsUtil.translate('button', buttonName, null, buttonName);
39
- }
40
- /**
41
- * @description 타이틀 titleName을 다국어 변환하여 리턴
42
- ***********************************************
43
- * @param {String} titleName
44
- * @param {Object} params
45
- * @returns 번역된 타이틀 명
46
- */
47
- static tTitle(titleName, params) {
48
- let titleValue = TermsUtil.translate('title', titleName, params);
49
- return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName);
50
- }
51
- /**
52
- * @description 메뉴 menuName을 다국어 변환하여 리턴
53
- ***********************************************
54
- * @param {String} menuName
55
- * @returns 번역된 메뉴 명
56
- */
57
- static tMenu(menuName) {
58
- let menuValue = TermsUtil.translate('menu', menuName, null);
59
- return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName);
60
- }
61
- /**
62
- * @description 텍스트 textName을 다국어 변환하여 리턴
63
- ***********************************************
64
- * @param {String} textName
65
- * @param {Object} params
66
- * @returns 번역된 텍스트 값
67
- */
68
- static tText(textName, params) {
69
- return TermsUtil.translate('text', textName, params, textName);
70
- }
71
- /**
72
- * @description 에러 errorName을 다국어 변환하여 리턴
73
- ***********************************************
74
- * @param {String} errorName
75
- * @param {Object} params
76
- * @returns 번역된 에러 메시지
77
- */
78
- static tError(errorName, params) {
79
- return TermsUtil.translate('error', errorName, params, errorName);
80
- }
81
- /**
82
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
83
- ***********************************************
84
- * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)
85
- * @param {String} termName 용어 이름
86
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
87
- * @param {String} defaultValue
88
- * @returns termKey 다국어 변환 값
89
- */
90
- static translate(termCategory, termName, parameters, defaultValue) {
91
- return i18next.t(`${termCategory}.${termName}`, Object.assign(Object.assign({}, parameters), { defaultValue: defaultValue || termName }));
92
- }
93
- /**
94
- * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴
95
- ***********************************************
96
- * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}
97
- * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...
98
- * @param {String} defaultValue
99
- * @returns termKey 다국어 변환 값
100
- */
101
- static t(termKey, parameters, defaultValue) {
102
- return i18next.t(termKey, Object.assign(Object.assign({}, parameters), { defaultValue: defaultValue || termKey }));
103
- }
104
- }
105
- //# sourceMappingURL=terms-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terms-util.js","sourceRoot":"","sources":["../../client/utils/terms-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAY;QAC3C,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAY;QAC3C,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,UAAkB;QAC/B,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAY;QAC3C,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5F,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAgB;QAC3B,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC3D,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvF,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,QAAgB,EAAE,MAAY;QACzC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAY;QAC3C,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,YAAoB,EAAE,QAAgB,EAAE,UAAgB,EAAE,YAAqB;QAC9F,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,QAAQ,EAAE,kCACzC,UAAU,KACb,YAAY,EAAE,YAAY,IAAI,QAAQ,IAC5B,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,CAAC,OAAe,EAAE,UAAe,EAAE,YAAoB;QAC7D,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,kCACnB,UAAU,KACb,YAAY,EAAE,YAAY,IAAI,OAAO,IAC3B,CAAA;IACd,CAAC;CACF","sourcesContent":["import { i18next } from '@operato/i18n'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 용어 처리 유틸리티\n */\nexport class TermsUtil {\n /**\n * @description 라벨 (필드) labelName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} labelName\n * @param {Object} params\n * @returns 번역된 라벨 (필드) 명\n */\n static tLabel(labelName: string, params?: any) {\n let labelValue = TermsUtil.translate('label', labelName, params)\n return labelValue ? labelValue : TermsUtil.translate('field', labelName, params, labelName)\n }\n\n /**\n * @description 필드 fieldName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} fieldName\n * @param {Object} params\n * @returns 번역된 필드 명\n */\n static tField(fieldName: string, params?: any) {\n let fieldValue = TermsUtil.translate('field', fieldName, params)\n return fieldValue ? fieldValue : TermsUtil.translate('field', fieldName, params, fieldName)\n }\n\n /**\n * @description 버튼 buttonName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} buttonName\n * @returns 번역된 버튼 명\n */\n static tButton(buttonName: string) {\n return TermsUtil.translate('button', buttonName, null, buttonName)\n }\n\n /**\n * @description 타이틀 titleName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} titleName\n * @param {Object} params\n * @returns 번역된 타이틀 명\n */\n static tTitle(titleName: string, params?: any) {\n let titleValue = TermsUtil.translate('title', titleName, params)\n return titleValue ? titleValue : TermsUtil.translate('menu', titleName, params, titleName)\n }\n\n /**\n * @description 메뉴 menuName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} menuName\n * @returns 번역된 메뉴 명\n */\n static tMenu(menuName: string) {\n let menuValue = TermsUtil.translate('menu', menuName, null)\n return menuValue ? menuValue : TermsUtil.translate('title', menuName, null, menuName)\n }\n\n /**\n * @description 텍스트 textName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} textName\n * @param {Object} params\n * @returns 번역된 텍스트 값\n */\n static tText(textName: string, params?: any) {\n return TermsUtil.translate('text', textName, params, textName)\n }\n\n /**\n * @description 에러 errorName을 다국어 변환하여 리턴\n ***********************************************\n * @param {String} errorName\n * @param {Object} params\n * @returns 번역된 에러 메시지\n */\n static tError(errorName: string, params?: any) {\n return TermsUtil.translate('error', errorName, params, errorName)\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termCategory 용어 카테고리 (label, field, title, menu, button, text, error, ...)\n * @param {String} termName 용어 이름\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static translate(termCategory: string, termName: string, parameters?: any, defaultValue?: string): string {\n return i18next.t(`${termCategory}.${termName}`, {\n ...parameters,\n defaultValue: defaultValue || termName\n }) as string\n }\n\n /**\n * @description termKey로 다국어 변환하여 parameters로 파라미터 처리하여 리턴, 변환값이 없다면 defaultValue 리턴, defaultValue가 없다면 null 리턴\n ***********************************************\n * @param {String} termKey 용어 키 : {용어 카테고리}'.'{용어 이름}\n * @param {Object} parameters 용어 이름에 파라미터가 있는 경우 파라미터 치환 처리할 오브젝트 데이터 {key1 : value1, key2 : value2} 형식 ...\n * @param {String} defaultValue\n * @returns termKey 다국어 변환 값\n */\n static t(termKey: string, parameters: any, defaultValue: string): string {\n return i18next.t(termKey, {\n ...parameters,\n defaultValue: defaultValue || termKey\n }) as string\n }\n}\n"]}
@@ -1,153 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright © HatioLab Inc. All rights reserved.
4
- * @author Shortstop <shortstop@hatiolab.com>
5
- * @description UI 관련 유틸리티 함수 정의
6
- */
7
- export class UiUtil {
8
- /**
9
- * @description 현재 디바이스가 모바일 장비인지 체크
10
- **************************************
11
- * @returns {Boolean} 모바일 장비 여부
12
- */
13
- static isMobileEnv(): boolean;
14
- /**
15
- * @description 현재 로케일 정보 리턴
16
- **************************************
17
- * @returns {String} 현재 브라우저의 로케일 정보
18
- */
19
- static currentLocale(): string;
20
- /**
21
- * @description 최종 애플리케이션 모듈 정보 리턴
22
- *****************************************
23
- * @returns {Object} 최종 애플리케이션 모듈
24
- */
25
- static getApplicationModuleInfo(): any;
26
- /**
27
- * @description 현재 액티브 된 화면의 라우팅 정보
28
- **************************************
29
- * @returns {String} 현재 액티브 된 화면의 라우팅 정보
30
- */
31
- static currentRouting(): string;
32
- /**
33
- * @description popup 닫기
34
- ************************
35
- * @param {HTML} popup
36
- */
37
- static closePopupBy(popup: HTML): void;
38
- /**
39
- * @description 오픈하고자 하는 엘리먼트를 받아 팝업 오픈
40
- *************************************************
41
- * @param {String} popupTitle 팝업 타이틀
42
- * @param {String} popupSize 팝업 사이즈 ex) 'large', 'medium', 'small'
43
- * @param {HTMLElement} element 팝업에 표시할 엘리먼트
44
- * @param {Boolean} backdrop 백드롭 여부
45
- * @param {String} help help 파일 경로
46
- * @returns {Object} popup
47
- */
48
- static openPopupByElement(popupTitle: string, popupSize: string, element: HTMLElement, backdrop: boolean, help?: string): any;
49
- /**
50
- * @description popupConfig에 포함된 element 정보를 이용해 팝업을 연다
51
- **************************************************************
52
- * @param {String} title 팝업 타이틀
53
- * @param {Object} popupConfig 팝업 구성을 위한 설정 정보 ex) { module: '', location: '', tagname: '', size : '', popup_field: '', parent_field: ''}
54
- * @param {Object} paramData 팝업에 넘겨 줄 파라미터
55
- * @param {Function} popupCloseCallback 팝업 닫을 때 실행되기 위한 콜백 함수
56
- */
57
- static openDynamicPopup(title: string, popupConfig: any, paramData: any, popupCloseCallback: Function): Promise<void>;
58
- /**
59
- * @description tagname, routing으로 커스텀 엘리먼트 생성
60
- ****************************************************
61
- * @param {String} tagname 팝업에 포함할 태그 명
62
- * @param {String} routing 라우팅
63
- * @returns {HTMLElement} 커스텀 엘리먼트
64
- */
65
- static createCustomElement(tagname: string, routing: string): HTMLElement;
66
- /**
67
- * @description HTML 문자열을 elements로 변환
68
- **************************************
69
- * @param {String} htmlString html 문자열
70
- * @returns {HTMLElement} 커스텀 엘리먼트
71
- */
72
- static htmlToElement(htmlString: string): HTMLElement;
73
- /**
74
- * @description 페이지 이동
75
- **************************************
76
- * @param {String} url 페이지 URL (route 값)
77
- * @param {Object} params 페이지 파라미터, null 가능
78
- */
79
- static pageNavigate(url: string, params: any): void;
80
- /**
81
- * @description store의 정보 추출
82
- ****************************************************
83
- * @param {String} accessor1 스토어 액세서 1, 빈 값 가능
84
- * @param {String} accessor2 스토어 액세서 2, 빈 값 가능
85
- * @param {String} accessor3 스토어 액세서 3, 빈 값 가능
86
- * @returns {Object} store 정보
87
- */
88
- static getStore(accessor1: string, accessor2: string, accessor3: string): any;
89
- /**
90
- * @description 커스텀 이벤트 전파
91
- *************************************
92
- * @param {String} eventName 이벤트 이름
93
- * @param {Object} eventDetail 이벤트 상세 정보
94
- */
95
- static fireCustomEvent(eventName: string, eventDetail: any): void;
96
- /**
97
- * @description 토스트 메시지 표시
98
- *************************************
99
- * @param {String} type 토스트 타입
100
- * @param {String} message 메시지
101
- */
102
- static showToast(type: string, message: string): void;
103
- /**
104
- * @description Alert 메시지 창 표시
105
- *************************************
106
- * @param {String} titleCode Alert 제목 표시를 위한 용어 이름, 예) title.confirm
107
- * @param {String} textCode Alert 텍스트 표시를 위한 용어 이름 예) text.are_you_sure
108
- * @param {String} type Alert 창 유형 - info, error, warning ...
109
- * @param {String} confirmButtonCode 확인 버튼 표시를 위한 용어 이름 예) confirm
110
- * @param {String} [cancelButtonCode] 취소 버튼 표시를 위한 용어 이름 예) cancel
111
- * @returns {Object} Alert 팝업
112
- */
113
- static showAlertPopup(titleCode: string, textCode: string, type: string, confirmButtonCode: string, cancelButtonCode?: string): any;
114
- /**
115
- * @description 필터 폼 내의 에디터들이 가지고 있는 값을 키-값 형태로 추출
116
- *******************************************************
117
- * @param {Object} filterForm 그리드 필터 폼
118
- * @returns {Object} 필터 폼 내의 에디터들이 가지고 있는 값을 키-값 형태로 추출
119
- */
120
- static getFilterFormData(filterForm: any): any;
121
- /**
122
- * @description name으로 필터 폼 내 에디터를 찾아 값을 셋팅
123
- *****************************************************
124
- * @param {Object} filterForm 그리스트 필터 폼
125
- * @param {String} name 그리스트 필터 폼 내 에디터의 이름
126
- * @param {Object} value 설정할 값
127
- */
128
- static setSearchFormEditorValue(filterForm: any, name: string, value: any): void;
129
- /**
130
- * @description 파라미터를 기준으로 유형에 맞는 에디터를 생성한다.
131
- ******************************************************
132
- * @param {String} editorType 에디터 유형
133
- * @param {Object} column 컬럼 Object
134
- * @param {Object} record 레코드 Object
135
- * @param {Number} rowIndex 추가할 열 Index
136
- * @returns {HTMLElement} HTML 에디터
137
- */
138
- static createEditorHtml(editorType: string, column: any, record: any, rowIndex: number): HTMLElement;
139
- /**
140
- * @description 에디터에 값을 설정한다.
141
- *********************************
142
- * @param {Object} editor 에디터
143
- * @param {String} newValue 설정할 값
144
- */
145
- static setValueToEditor(editor: any, newValue: string): void;
146
- /**
147
- * @description 엘리먼트 내 최 하단 Input Element를 추출
148
- ************************************************
149
- * @param {Object} editor 에디터
150
- * @returns {HTMLElement} 엘리먼트 내 최 하단 Input Element
151
- */
152
- static getLeafInput(editor: any): HTMLElement;
153
- }