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

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/dist-client/bootstrap.d.ts +7 -0
  2. package/dist-client/bootstrap.js +142 -0
  3. package/dist-client/bootstrap.js.map +1 -0
  4. package/dist-client/component/filter/filter-form-meta-code-select.d.ts +4 -0
  5. package/dist-client/component/filter/filter-form-meta-code-select.js +80 -0
  6. package/dist-client/component/filter/filter-form-meta-code-select.js.map +1 -0
  7. package/dist-client/component/filter/filter-form-meta-object-select.d.ts +4 -0
  8. package/dist-client/component/filter/filter-form-meta-object-select.js +82 -0
  9. package/dist-client/component/filter/filter-form-meta-object-select.js.map +1 -0
  10. package/dist-client/component/filter/filter-grist-meta-code-select.d.ts +3 -0
  11. package/dist-client/component/filter/filter-grist-meta-code-select.js +76 -0
  12. package/dist-client/component/filter/filter-grist-meta-code-select.js.map +1 -0
  13. package/dist-client/component/filter/filter-grist-meta-object-select.d.ts +3 -0
  14. package/dist-client/component/filter/filter-grist-meta-object-select.js +81 -0
  15. package/dist-client/component/filter/filter-grist-meta-object-select.js.map +1 -0
  16. package/dist-client/component/grist/editor/grist-editor-code-input.d.ts +15 -0
  17. package/dist-client/component/grist/editor/grist-editor-code-input.js +81 -0
  18. package/dist-client/component/grist/editor/grist-editor-code-input.js.map +1 -0
  19. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.d.ts +15 -0
  20. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.js +130 -0
  21. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.js.map +1 -0
  22. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.d.ts +15 -0
  23. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.js +98 -0
  24. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.js.map +1 -0
  25. package/dist-client/component/grist/renderer/grist-renderer-code-input.d.ts +1 -0
  26. package/dist-client/component/grist/renderer/grist-renderer-code-input.js +19 -0
  27. package/dist-client/component/grist/renderer/grist-renderer-code-input.js.map +1 -0
  28. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.d.ts +1 -0
  29. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.js +29 -0
  30. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.js.map +1 -0
  31. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.d.ts +1 -0
  32. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js +23 -0
  33. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js.map +1 -0
  34. package/dist-client/component/popup/code-input-editor-popup.d.ts +36 -0
  35. package/dist-client/component/popup/code-input-editor-popup.js +103 -0
  36. package/dist-client/component/popup/code-input-editor-popup.js.map +1 -0
  37. package/dist-client/component/popup/file-upload-popup.d.ts +1 -0
  38. package/dist-client/component/popup/file-upload-popup.js +118 -0
  39. package/dist-client/component/popup/file-upload-popup.js.map +1 -0
  40. package/dist-client/component/popup/meta-object-selector-popup.d.ts +60 -0
  41. package/dist-client/component/popup/meta-object-selector-popup.js +300 -0
  42. package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -0
  43. package/dist-client/component/popup/record-based-code-editor-popup.d.ts +52 -0
  44. package/dist-client/component/popup/record-based-code-editor-popup.js +174 -0
  45. package/dist-client/component/popup/record-based-code-editor-popup.js.map +1 -0
  46. package/dist-client/dynamic-menus.d.ts +1 -0
  47. package/dist-client/dynamic-menus.js +16 -0
  48. package/dist-client/dynamic-menus.js.map +1 -0
  49. package/dist-client/index.d.ts +17 -0
  50. package/dist-client/index.js +18 -0
  51. package/dist-client/index.js.map +1 -0
  52. package/dist-client/load-components.d.ts +15 -0
  53. package/dist-client/load-components.js +17 -0
  54. package/dist-client/load-components.js.map +1 -0
  55. package/dist-client/mixin/meta-base-mixin.d.ts +89 -0
  56. package/dist-client/mixin/meta-base-mixin.js +287 -0
  57. package/dist-client/mixin/meta-base-mixin.js.map +1 -0
  58. package/dist-client/mixin/meta-basic-grist-mixin.d.ts +108 -0
  59. package/dist-client/mixin/meta-basic-grist-mixin.js +253 -0
  60. package/dist-client/mixin/meta-basic-grist-mixin.js.map +1 -0
  61. package/dist-client/mixin/meta-button-mixin.d.ts +106 -0
  62. package/dist-client/mixin/meta-button-mixin.js +106 -0
  63. package/dist-client/mixin/meta-button-mixin.js.map +1 -0
  64. package/dist-client/mixin/meta-form-mixin.d.ts +153 -0
  65. package/dist-client/mixin/meta-form-mixin.js +373 -0
  66. package/dist-client/mixin/meta-form-mixin.js.map +1 -0
  67. package/dist-client/mixin/meta-grist-tab-mixin.d.ts +132 -0
  68. package/dist-client/mixin/meta-grist-tab-mixin.js +301 -0
  69. package/dist-client/mixin/meta-grist-tab-mixin.js.map +1 -0
  70. package/dist-client/mixin/meta-main-tab-mixin.d.ts +109 -0
  71. package/dist-client/mixin/meta-main-tab-mixin.js +242 -0
  72. package/dist-client/mixin/meta-main-tab-mixin.js.map +1 -0
  73. package/dist-client/mixin/meta-master-detail-mixin.d.ts +172 -0
  74. package/dist-client/mixin/meta-master-detail-mixin.js +359 -0
  75. package/dist-client/mixin/meta-master-detail-mixin.js.map +1 -0
  76. package/dist-client/mixin/meta-service-mixin.d.ts +66 -0
  77. package/dist-client/mixin/meta-service-mixin.js +268 -0
  78. package/dist-client/mixin/meta-service-mixin.js.map +1 -0
  79. package/dist-client/mixin/meta-tab-detail-mixin.d.ts +110 -0
  80. package/dist-client/mixin/meta-tab-detail-mixin.js +255 -0
  81. package/dist-client/mixin/meta-tab-detail-mixin.js.map +1 -0
  82. package/dist-client/mixin/meta-tab-mixin.d.ts +108 -0
  83. package/dist-client/mixin/meta-tab-mixin.js +168 -0
  84. package/dist-client/mixin/meta-tab-mixin.js.map +1 -0
  85. package/dist-client/pages/activity/meta-activity-define-page.d.ts +1 -0
  86. package/dist-client/pages/activity/meta-activity-define-page.js +398 -0
  87. package/dist-client/pages/activity/meta-activity-define-page.js.map +1 -0
  88. package/dist-client/pages/activity/meta-activity-list-page.d.ts +1 -0
  89. package/dist-client/pages/activity/meta-activity-list-page.js +223 -0
  90. package/dist-client/pages/activity/meta-activity-list-page.js.map +1 -0
  91. package/dist-client/pages/activity/meta-activity-viewer-element.d.ts +25 -0
  92. package/dist-client/pages/activity/meta-activity-viewer-element.js +29 -0
  93. package/dist-client/pages/activity/meta-activity-viewer-element.js.map +1 -0
  94. package/dist-client/pages/activity/meta-activity-writer-element.d.ts +27 -0
  95. package/dist-client/pages/activity/meta-activity-writer-element.js +38 -0
  96. package/dist-client/pages/activity/meta-activity-writer-element.js.map +1 -0
  97. package/dist-client/pages/activity/meta-activiy-mixin.d.ts +17 -0
  98. package/dist-client/pages/activity/meta-activiy-mixin.js +70 -0
  99. package/dist-client/pages/activity/meta-activiy-mixin.js.map +1 -0
  100. package/dist-client/pages/button-role/button-role-detail.d.ts +74 -0
  101. package/dist-client/pages/button-role/button-role-detail.js +39 -0
  102. package/dist-client/pages/button-role/button-role-detail.js.map +1 -0
  103. package/dist-client/pages/button-role/button-role-page.d.ts +82 -0
  104. package/dist-client/pages/button-role/button-role-page.js +21 -0
  105. package/dist-client/pages/button-role/button-role-page.js.map +1 -0
  106. package/dist-client/pages/doc-number/doc-number-page.d.ts +1 -0
  107. package/dist-client/pages/doc-number/doc-number-page.js +20 -0
  108. package/dist-client/pages/doc-number/doc-number-page.js.map +1 -0
  109. package/dist-client/pages/doc-number/next-doc-number-popup.d.ts +1 -0
  110. package/dist-client/pages/doc-number/next-doc-number-popup.js +21 -0
  111. package/dist-client/pages/doc-number/next-doc-number-popup.js.map +1 -0
  112. package/dist-client/pages/entity/config-entity.d.ts +1 -0
  113. package/dist-client/pages/entity/config-entity.js +801 -0
  114. package/dist-client/pages/entity/config-entity.js.map +1 -0
  115. package/dist-client/pages/entity/main-menu-selector.d.ts +61 -0
  116. package/dist-client/pages/entity/main-menu-selector.js +233 -0
  117. package/dist-client/pages/entity/main-menu-selector.js.map +1 -0
  118. package/dist-client/pages/history/history-copy-list-popup.d.ts +50 -0
  119. package/dist-client/pages/history/history-copy-list-popup.js +122 -0
  120. package/dist-client/pages/history/history-copy-list-popup.js.map +1 -0
  121. package/dist-client/pages/history/history-json-list-popup.d.ts +50 -0
  122. package/dist-client/pages/history/history-json-list-popup.js +132 -0
  123. package/dist-client/pages/history/history-json-list-popup.js.map +1 -0
  124. package/dist-client/pages/menu/dynamic-menu-template.d.ts +1 -0
  125. package/dist-client/pages/menu/dynamic-menu-template.js +80 -0
  126. package/dist-client/pages/menu/dynamic-menu-template.js.map +1 -0
  127. package/dist-client/pages/menu/dynamic-menu.d.ts +83 -0
  128. package/dist-client/pages/menu/dynamic-menu.js +663 -0
  129. package/dist-client/pages/menu/dynamic-menu.js.map +1 -0
  130. package/dist-client/pages/menu/export-menu-popup.d.ts +55 -0
  131. package/dist-client/pages/menu/export-menu-popup.js +392 -0
  132. package/dist-client/pages/menu/export-menu-popup.js.map +1 -0
  133. package/dist-client/pages/meta-form-element.d.ts +63 -0
  134. package/dist-client/pages/meta-form-element.js +8 -0
  135. package/dist-client/pages/meta-form-element.js.map +1 -0
  136. package/dist-client/pages/meta-grist-element.d.ts +70 -0
  137. package/dist-client/pages/meta-grist-element.js +11 -0
  138. package/dist-client/pages/meta-grist-element.js.map +1 -0
  139. package/dist-client/pages/meta-grist-page.d.ts +70 -0
  140. package/dist-client/pages/meta-grist-page.js +14 -0
  141. package/dist-client/pages/meta-grist-page.js.map +1 -0
  142. package/dist-client/pages/meta-grist-tab-element.d.ts +82 -0
  143. package/dist-client/pages/meta-grist-tab-element.js +14 -0
  144. package/dist-client/pages/meta-grist-tab-element.js.map +1 -0
  145. package/dist-client/pages/meta-grist-tab-page.d.ts +82 -0
  146. package/dist-client/pages/meta-grist-tab-page.js +14 -0
  147. package/dist-client/pages/meta-grist-tab-page.js.map +1 -0
  148. package/dist-client/pages/meta-main-tab-element.d.ts +75 -0
  149. package/dist-client/pages/meta-main-tab-element.js +11 -0
  150. package/dist-client/pages/meta-main-tab-element.js.map +1 -0
  151. package/dist-client/pages/meta-main-tab-page.d.ts +75 -0
  152. package/dist-client/pages/meta-main-tab-page.js +14 -0
  153. package/dist-client/pages/meta-main-tab-page.js.map +1 -0
  154. package/dist-client/pages/meta-master-detail-element.d.ts +80 -0
  155. package/dist-client/pages/meta-master-detail-element.js +11 -0
  156. package/dist-client/pages/meta-master-detail-element.js.map +1 -0
  157. package/dist-client/pages/meta-master-detail-page.d.ts +80 -0
  158. package/dist-client/pages/meta-master-detail-page.js +14 -0
  159. package/dist-client/pages/meta-master-detail-page.js.map +1 -0
  160. package/dist-client/pages/meta-tab-detail-element.d.ts +76 -0
  161. package/dist-client/pages/meta-tab-detail-element.js +11 -0
  162. package/dist-client/pages/meta-tab-detail-element.js.map +1 -0
  163. package/dist-client/pages/meta-tab-detail-page.d.ts +76 -0
  164. package/dist-client/pages/meta-tab-detail-page.js +14 -0
  165. package/dist-client/pages/meta-tab-detail-page.js.map +1 -0
  166. package/dist-client/pages/meta-tab-element.d.ts +57 -0
  167. package/dist-client/pages/meta-tab-element.js +13 -0
  168. package/dist-client/pages/meta-tab-element.js.map +1 -0
  169. package/dist-client/pages/printer-device/printer-device-page.d.ts +1 -0
  170. package/dist-client/pages/printer-device/printer-device-page.js +20 -0
  171. package/dist-client/pages/printer-device/printer-device-page.js.map +1 -0
  172. package/dist-client/pages/template/doc-template-page.d.ts +1 -0
  173. package/dist-client/pages/template/doc-template-page.js +20 -0
  174. package/dist-client/pages/template/doc-template-page.js.map +1 -0
  175. package/dist-client/pages/template/template-file-page.d.ts +1 -0
  176. package/dist-client/pages/template/template-file-page.js +20 -0
  177. package/dist-client/pages/template/template-file-page.js.map +1 -0
  178. package/dist-client/pages/terms/config-terminology.d.ts +1 -0
  179. package/dist-client/pages/terms/config-terminology.js +188 -0
  180. package/dist-client/pages/terms/config-terminology.js.map +1 -0
  181. package/dist-client/pages/work-code/work-code-detail-popup.d.ts +69 -0
  182. package/dist-client/pages/work-code/work-code-detail-popup.js +13 -0
  183. package/dist-client/pages/work-code/work-code-detail-popup.js.map +1 -0
  184. package/dist-client/pages/work-code/work-code-page.d.ts +1 -0
  185. package/dist-client/pages/work-code/work-code-page.js +19 -0
  186. package/dist-client/pages/work-code/work-code-page.js.map +1 -0
  187. package/dist-client/route.d.ts +1 -0
  188. package/dist-client/route.js +30 -0
  189. package/dist-client/route.js.map +1 -0
  190. package/dist-client/tsconfig.tsbuildinfo +1 -0
  191. package/dist-client/utils/grist-default-value.d.ts +8 -0
  192. package/dist-client/utils/grist-default-value.js +33 -0
  193. package/dist-client/utils/grist-default-value.js.map +1 -0
  194. package/dist-client/utils/meta-api.d.ts +572 -0
  195. package/dist-client/utils/meta-api.js +728 -0
  196. package/dist-client/utils/meta-api.js.map +1 -0
  197. package/dist-client/utils/meta-crypto.d.ts +4 -0
  198. package/dist-client/utils/meta-crypto.js +45 -0
  199. package/dist-client/utils/meta-crypto.js.map +1 -0
  200. package/dist-client/utils/meta-ui-util.d.ts +566 -0
  201. package/dist-client/utils/meta-ui-util.js +2985 -0
  202. package/dist-client/utils/meta-ui-util.js.map +1 -0
  203. package/dist-client/utils/rest-service-util.d.ts +120 -0
  204. package/dist-client/utils/rest-service-util.js +291 -0
  205. package/dist-client/utils/rest-service-util.js.map +1 -0
  206. package/dist-client/utils/service-util.d.ts +286 -0
  207. package/dist-client/utils/service-util.js +1204 -0
  208. package/dist-client/utils/service-util.js.map +1 -0
  209. package/dist-client/utils/terms-util.d.ts +81 -0
  210. package/dist-client/utils/terms-util.js +105 -0
  211. package/dist-client/utils/terms-util.js.map +1 -0
  212. package/dist-client/utils/ui-util.d.ts +153 -0
  213. package/dist-client/utils/ui-util.js +307 -0
  214. package/dist-client/utils/ui-util.js.map +1 -0
  215. package/dist-client/utils/value-util.d.ts +99 -0
  216. package/dist-client/utils/value-util.js +214 -0
  217. package/dist-client/utils/value-util.js.map +1 -0
  218. package/dist-server/activity/CommonActivity.d.ts +2 -0
  219. package/dist-server/activity/CommonActivity.js +58 -0
  220. package/dist-server/activity/CommonActivity.js.map +1 -0
  221. package/dist-server/index.d.ts +2 -0
  222. package/dist-server/index.js +6 -0
  223. package/dist-server/index.js.map +1 -0
  224. package/dist-server/routes.d.ts +1 -0
  225. package/dist-server/routes.js +58 -0
  226. package/dist-server/routes.js.map +1 -0
  227. package/dist-server/service/button-role/button-role-mutation.d.ts +9 -0
  228. package/dist-server/service/button-role/button-role-mutation.js +112 -0
  229. package/dist-server/service/button-role/button-role-mutation.js.map +1 -0
  230. package/dist-server/service/button-role/button-role-query.d.ts +11 -0
  231. package/dist-server/service/button-role/button-role-query.js +79 -0
  232. package/dist-server/service/button-role/button-role-query.js.map +1 -0
  233. package/dist-server/service/button-role/button-role-type.d.ts +15 -0
  234. package/dist-server/service/button-role/button-role-type.js +57 -0
  235. package/dist-server/service/button-role/button-role-type.js.map +1 -0
  236. package/dist-server/service/button-role/button-role.d.ts +15 -0
  237. package/dist-server/service/button-role/button-role.js +69 -0
  238. package/dist-server/service/button-role/button-role.js.map +1 -0
  239. package/dist-server/service/button-role/index.d.ts +5 -0
  240. package/dist-server/service/button-role/index.js +9 -0
  241. package/dist-server/service/button-role/index.js.map +1 -0
  242. package/dist-server/service/dynamic-menu/dynamic-menu-query.d.ts +11 -0
  243. package/dist-server/service/dynamic-menu/dynamic-menu-query.js +244 -0
  244. package/dist-server/service/dynamic-menu/dynamic-menu-query.js.map +1 -0
  245. package/dist-server/service/dynamic-menu/dynamic-menu-type.d.ts +30 -0
  246. package/dist-server/service/dynamic-menu/dynamic-menu-type.js +109 -0
  247. package/dist-server/service/dynamic-menu/dynamic-menu-type.js.map +1 -0
  248. package/dist-server/service/dynamic-menu/index.d.ts +2 -0
  249. package/dist-server/service/dynamic-menu/index.js +6 -0
  250. package/dist-server/service/dynamic-menu/index.js.map +1 -0
  251. package/dist-server/service/entity-event-subscriber/entity-event-subscriber.d.ts +6 -0
  252. package/dist-server/service/entity-event-subscriber/entity-event-subscriber.js +71 -0
  253. package/dist-server/service/entity-event-subscriber/entity-event-subscriber.js.map +1 -0
  254. package/dist-server/service/entity-event-subscriber/index.d.ts +2 -0
  255. package/dist-server/service/entity-event-subscriber/index.js +6 -0
  256. package/dist-server/service/entity-event-subscriber/index.js.map +1 -0
  257. package/dist-server/service/index.d.ts +9 -0
  258. package/dist-server/service/index.js +42 -0
  259. package/dist-server/service/index.js.map +1 -0
  260. package/dist-server/service/menu-button-auth/index.d.ts +5 -0
  261. package/dist-server/service/menu-button-auth/index.js +9 -0
  262. package/dist-server/service/menu-button-auth/index.js.map +1 -0
  263. package/dist-server/service/menu-button-auth/menu-button-auth-mutation.d.ts +10 -0
  264. package/dist-server/service/menu-button-auth/menu-button-auth-mutation.js +127 -0
  265. package/dist-server/service/menu-button-auth/menu-button-auth-mutation.js.map +1 -0
  266. package/dist-server/service/menu-button-auth/menu-button-auth-query.d.ts +16 -0
  267. package/dist-server/service/menu-button-auth/menu-button-auth-query.js +167 -0
  268. package/dist-server/service/menu-button-auth/menu-button-auth-query.js.map +1 -0
  269. package/dist-server/service/menu-button-auth/menu-button-auth-type.d.ts +24 -0
  270. package/dist-server/service/menu-button-auth/menu-button-auth-type.js +90 -0
  271. package/dist-server/service/menu-button-auth/menu-button-auth-type.js.map +1 -0
  272. package/dist-server/service/menu-button-auth/menu-button-auth.d.ts +23 -0
  273. package/dist-server/service/menu-button-auth/menu-button-auth.js +102 -0
  274. package/dist-server/service/menu-button-auth/menu-button-auth.js.map +1 -0
  275. package/dist-server/service/meta-activity/index.d.ts +3 -0
  276. package/dist-server/service/meta-activity/index.js +7 -0
  277. package/dist-server/service/meta-activity/index.js.map +1 -0
  278. package/dist-server/service/meta-activity/meta-activity-mutation.d.ts +18 -0
  279. package/dist-server/service/meta-activity/meta-activity-mutation.js +183 -0
  280. package/dist-server/service/meta-activity/meta-activity-mutation.js.map +1 -0
  281. package/dist-server/service/meta-activity/meta-activity-query.d.ts +10 -0
  282. package/dist-server/service/meta-activity/meta-activity-query.js +66 -0
  283. package/dist-server/service/meta-activity/meta-activity-query.js.map +1 -0
  284. package/dist-server/service/meta-activity/meta-activity-type.d.ts +21 -0
  285. package/dist-server/service/meta-activity/meta-activity-type.js +80 -0
  286. package/dist-server/service/meta-activity/meta-activity-type.js.map +1 -0
  287. package/dist-server/service/set-translations/index.d.ts +2 -0
  288. package/dist-server/service/set-translations/index.js +6 -0
  289. package/dist-server/service/set-translations/index.js.map +1 -0
  290. package/dist-server/service/set-translations/set-translation-resolver.d.ts +4 -0
  291. package/dist-server/service/set-translations/set-translation-resolver.js +67 -0
  292. package/dist-server/service/set-translations/set-translation-resolver.js.map +1 -0
  293. package/dist-server/service/work-code/index.d.ts +5 -0
  294. package/dist-server/service/work-code/index.js +9 -0
  295. package/dist-server/service/work-code/index.js.map +1 -0
  296. package/dist-server/service/work-code/work-code-mutation.d.ts +10 -0
  297. package/dist-server/service/work-code/work-code-mutation.js +136 -0
  298. package/dist-server/service/work-code/work-code-mutation.js.map +1 -0
  299. package/dist-server/service/work-code/work-code-query.d.ts +14 -0
  300. package/dist-server/service/work-code/work-code-query.js +106 -0
  301. package/dist-server/service/work-code/work-code-query.js.map +1 -0
  302. package/dist-server/service/work-code/work-code-type.d.ts +23 -0
  303. package/dist-server/service/work-code/work-code-type.js +89 -0
  304. package/dist-server/service/work-code/work-code-type.js.map +1 -0
  305. package/dist-server/service/work-code/work-code.d.ts +20 -0
  306. package/dist-server/service/work-code/work-code.js +94 -0
  307. package/dist-server/service/work-code/work-code.js.map +1 -0
  308. package/dist-server/service/work-code-detail/index.d.ts +5 -0
  309. package/dist-server/service/work-code-detail/index.js +9 -0
  310. package/dist-server/service/work-code-detail/index.js.map +1 -0
  311. package/dist-server/service/work-code-detail/work-code-detail-mutation.d.ts +10 -0
  312. package/dist-server/service/work-code-detail/work-code-detail-mutation.js +138 -0
  313. package/dist-server/service/work-code-detail/work-code-detail-mutation.js.map +1 -0
  314. package/dist-server/service/work-code-detail/work-code-detail-query.d.ts +13 -0
  315. package/dist-server/service/work-code-detail/work-code-detail-query.js +89 -0
  316. package/dist-server/service/work-code-detail/work-code-detail-query.js.map +1 -0
  317. package/dist-server/service/work-code-detail/work-code-detail-type.d.ts +20 -0
  318. package/dist-server/service/work-code-detail/work-code-detail-type.js +74 -0
  319. package/dist-server/service/work-code-detail/work-code-detail-type.js.map +1 -0
  320. package/dist-server/service/work-code-detail/work-code-detail.d.ts +19 -0
  321. package/dist-server/service/work-code-detail/work-code-detail.js +93 -0
  322. package/dist-server/service/work-code-detail/work-code-detail.js.map +1 -0
  323. package/dist-server/tsconfig.tsbuildinfo +1 -0
  324. package/package.json +10 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-menu.js","sourceRoot":"","sources":["../../../client/pages/menu/dynamic-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@things-factory/form-ui'\n\nimport gql from 'graphql-tag'\nimport { html } from 'lit'\nimport { customElement, property, state, query } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { p13n } from '@operato/p13n'\nimport { OxFiltersFormBase } from '@operato/form'\n\nimport { TermsUtil } from './../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\n\nimport './dynamic-menu-template.js'\nimport './export-menu-popup.js'\nimport { ValueUtil } from '../../utils/value-util'\nimport { UiUtil } from '../../utils/ui-util'\nimport { DataGrist, FetchOption } from '@operato/data-grist'\n\n@customElement('dynamic-menu')\nexport class DynamicMenu extends p13n(localize(i18next)(PageView)) {\n static styles = [...MetaApi.getBasicMasterDetailGristStyle('top-down')]\n\n @state() searchFields?: string[]\n @state() groupConfig: any\n @state() detailConfig: any\n\n @query('ox-filters-form-base') searchForm!: OxFiltersFormBase\n @query('#master-grist') groupGrist!: DataGrist\n @query('#detail-grist') detailGrist!: DataGrist\n\n private menuGroupId?: string\n\n render() {\n return html`\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form-base\n .filters=${this.searchFields || []}\n @filters-change=${e => {\n this.groupGrist?.fetch()\n }}\n ></ox-filters-form-base>\n </div>\n </div>\n\n <div class=\"container\">\n <div class=\"container_detail\">\n <!--h2>\n <md-icon>list_alt</md-icon>${TermsUtil.tTitle('menu_group')}\n </h2-->\n <ox-grist\n id=\"master-grist\"\n .config=${this.groupConfig}\n .mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}\n .personalConfigProvider=${this.getPagePreferenceProvider('master-grist')!}\n .fetchHandler=${this.fetchGroupHandler.bind(this)}\n >\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n <div class=\"button-container\">\n <button @click=${e => this.saveGroup()}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>\n <button danger @click=${e => this.deleteGroup()}>\n <md-icon>delete</md-icon>${TermsUtil.tButton('delete')}\n </button>\n </div>\n </div>\n\n <div class=\"container_detail\">\n <ox-grist\n id=\"detail-grist\"\n .config=${this.detailConfig}\n .mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}\n .fetchHandler=${this.fetchDetailHandler.bind(this)}\n .personalConfigProvider=${this.getPagePreferenceProvider('detail-grist')!}\n explcit-fetch\n >\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n <div class=\"button-container\">\n <button @click=${e => this.copyMenu()}><md-icon>content_copy</md-icon>${TermsUtil.tButton('copy')}</button>\n <button @click=${e => this.saveMenu()}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>\n <button danger @click=${e => this.deleteMenu()}>\n <md-icon>delete</md-icon>${TermsUtil.tButton('delete')}\n </button>\n </div>\n </div>\n </div>\n `\n }\n\n get context() {\n return {\n title: TermsUtil.tTitle('dynamic_menu')\n }\n }\n\n /*******************************************/\n /* 조회 */\n /*******************************************/\n\n /**\n * @description 부모 메뉴 (메뉴 그룹) 선택시 하위 메뉴 리스트 조회\n *********************************\n * @param {Object} param0\n */\n async fetchDetailHandler({ page, limit = 999999, sorters = [{ name: 'rank' }, { name: 'name' }] }: FetchOption) {\n if (this.menuGroupId) {\n let filters = [\n {\n name: 'parentId',\n operator: 'eq',\n value: this.menuGroupId\n },\n ...(await this.searchForm.getQueryFilters()).filter(x => ['templateCode', 'templateText'].includes(x.name))\n ]\n\n let selectFields = `\n id\n name\n rank\n description\n menuType\n category\n resourceUrl\n routingType\n routing\n hiddenFlag\n iconPath\n parent {\n id\n name\n routing\n }\n role {\n id\n name\n description\n }\n `\n\n limit = 999999\n let fetchResult = await MetaApi.searchByPagination('dynamicMenus', filters, sorters, page, limit, selectFields)\n\n if (fetchResult && fetchResult.records) {\n fetchResult.records.forEach(x => {\n x.parentId = this.menuGroupId\n })\n }\n\n return fetchResult\n }\n }\n\n /**\n * @description 부모 메뉴 (메뉴 그룹) 조회\n ****************************************\n * @param {Object} param0\n * @returns\n */\n async fetchGroupHandler({ page, limit = 999999, sorters = [{ name: 'rank' }, { name: 'name' }] }: FetchOption) {\n // 선택된 부모 메뉴 ID 초기화\n this.menuGroupId = ''\n\n if (this.detailGrist && this.detailGrist.data) {\n this.detailGrist.data = { records: [] }\n }\n\n let filters = [...(await this.searchForm.getQueryFilters()), { name: 'parentId', operator: 'is_null', value: '' }]\n\n let selectFields = `\n id\n name\n rank\n description\n menuType\n category\n resourceUrl\n routing\n hiddenFlag\n iconPath\n role {\n id\n name\n description\n }\n `\n limit = 999999\n return await MetaApi.searchByPagination('dynamicMenus', filters, sorters, page, limit, selectFields)\n }\n\n /*******************************************/\n /* 트랜잭션 (저장 , 삭제) */\n /*******************************************/\n\n /**\n * 메뉴 그룹 Create / Update\n */\n async saveGroup() {\n var patches = this.groupGrist.dirtyRecords\n\n if (ValueUtil.isNotEmpty(patches)) {\n patches = patches.map(patch => {\n const {\n creator,\n updater,\n createdAt,\n updatedAt,\n __dirty__,\n __dirtyfields__,\n __origin__,\n __seq__,\n __selected__,\n ...others\n } = patch\n\n patch = others\n\n if (patch.hiddenFlag === undefined || patch.hiddenFlag == null) {\n patch.hiddenFlag = false\n }\n\n patch.cuFlag = __dirty__\n\n return patch\n })\n\n let result = await MetaApi.updateMultiple('updateMultipleMenu', patches)\n if (result) {\n this.groupGrist.fetch()\n }\n }\n }\n\n /**\n * 메뉴 그룹 Delete\n * @returns\n */\n async deleteGroup() {\n await MetaApi.deleteListByGristSelected(this.groupGrist, 'deleteMenus')\n }\n\n /**\n * 메뉴 Create / Update\n */\n async saveMenu() {\n var patches = this.detailGrist.dirtyRecords\n\n if (ValueUtil.isNotEmpty(patches)) {\n patches = patches.map(patch => {\n const {\n creator,\n updater,\n createdAt,\n updatedAt,\n __dirty__,\n __dirtyfields__,\n __origin__,\n __seq__,\n __selected__,\n ...others\n } = patch\n\n patch = others\n patch.menuType = patch.menuType || 'SCREEN'\n\n if (!patch.parentId) {\n patch.parent = { id: this.menuGroupId }\n } else {\n patch.parent = { id: patch.parentId }\n }\n\n delete patch.parentId\n\n if (patch.hiddenFlag === undefined || patch.hiddenFlag == null) {\n patch.hiddenFlag = false\n }\n\n patch.cuFlag = __dirty__\n\n return patch\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation UpdateMultipleMenu($patches: [MenuPatch!]!) {\n updateMultipleMenu(patches: $patches) {\n id\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n if (!response.errors) {\n const result = response.data.updateMultipleMenu\n\n if (result) {\n this.detailGrist.fetch()\n }\n }\n }\n }\n\n async exportMenu(record) {\n let exportMenuElement = MetaApi.createCustomElement('export-menu-popup', 'export-menu-popup')\n\n exportMenuElement.title = TermsUtil.tLabel('export')\n ;(exportMenuElement as any).recordId = record.id\n ;(exportMenuElement as any).recordName = record.name\n\n await MetaApi.openPopupByElement(record.name, 'large', exportMenuElement, true)\n }\n\n /**\n * 메뉴 Delete\n * @returns\n */\n async deleteMenu() {\n await MetaApi.deleteListByGristSelected(this.detailGrist, 'deleteMenus')\n }\n\n /**\n * 메뉴 복사\n */\n async copyMenu() {\n let selectMenus = this.detailGrist.selected\n\n if (!selectMenus || selectMenus.length == 0) {\n UiUtil.showAlertPopup('text.nothing_selected', 'text.there_is_no_selected_items', 'info', 'confirm')\n return\n }\n\n let copyMenu = selectMenus[0]\n\n if (!copyMenu.id) {\n return\n }\n\n Object.keys(copyMenu).forEach(x => {\n if (x.startsWith('__')) {\n delete copyMenu[x]\n }\n })\n\n let menu = await MetaApi.findOne('menu', copyMenu.id, 'template')\n copyMenu.template = menu ? menu.template || '' : ''\n\n copyMenu.rank = 99999\n copyMenu.cuFlag = '+'\n\n copyMenu.name = copyMenu.name + '-copy'\n copyMenu.routing = copyMenu.routing + '-copy'\n copyMenu.parent = { id: copyMenu.parentId }\n delete copyMenu.id\n delete copyMenu.parentId\n\n let result = await MetaApi.updateMultiple('updateMultipleMenu', [copyMenu])\n if (result) {\n this.detailGrist.fetch()\n }\n }\n\n groupMenuQuery(record) {\n this.menuGroupId = record.id\n this.detailGrist.fetch()\n }\n\n /**\n * 메뉴 템플릿을 편집 할 수 있는 팝업을 오픈한다.\n * @param {Object} record\n */\n async openMenuTemplatePopup(record) {\n let menuTemplateElement = MetaApi.createCustomElement('dynamic-menu-template', 'dynamic-menu-template')\n\n menuTemplateElement.title = TermsUtil.tLabel('template')\n ;(menuTemplateElement as any).recordId = record.id\n\n await MetaApi.openPopupByElement(record.name, 'large', menuTemplateElement, true)\n }\n\n /**\n * 메뉴 템플릿을 생성 할 수 있는 화면으로 이동한다.\n * @param {Object} record\n */\n navigateMetaGenerator(record) {\n MetaApi.pageNavigate(`meta-generator?menuId=${record.id}`)\n }\n\n /**\n * LifeCycle - 화면 레더링 설정\n */\n async pageInitialized(lifecycle) {\n // 조회 필드\n this.searchFields = [\n // name, type, label, operator, optionValues\n MetaApi.getGristSearchColumnConfig('name', 'string', 'name', 'i_like'),\n // name, type, label, operator, codeName\n await MetaApi.getGristSearchCodeColumnConfig('menuType', 'select', 'menu_type', 'eq', 'MENU_TYPE'),\n // name, type, label, operator\n MetaApi.getGristSearchColumnConfig('hiddenFlag', 'checkbox', 'hidden', 'eq'),\n await MetaApi.getGristSearchCodeColumnConfig(\n 'templateCode',\n 'select',\n 'menu_template_search_code',\n 'eq',\n 'MENU_TEXT_SEARCH_TYPE'\n ),\n MetaApi.getGristSearchColumnConfig('templateText', 'string', 'menu_template_search_text', 'i_like')\n ]\n\n // 메뉴 그룹 그리드 설정\n this.groupConfig = {\n rows: MetaApi.getGristSelectableConfig(false),\n // 공간이 부족해서 페이지네이션 제거\n pagination: { infinite: true },\n appendable: true,\n columns: [\n ...MetaApi.getGristGuttersConfig(true, false),\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'menu_open',\n handlers: {\n click: (_columns, _data, _column, record, _rowIndex) => {\n if (record.id) {\n this.groupMenuQuery(record)\n }\n }\n }\n },\n {\n type: 'integer',\n name: 'rank',\n header: TermsUtil.tLabel('rank'),\n record: {\n align: 'left',\n editable: true,\n format: '#,###'\n },\n sortable: false,\n width: 60\n },\n // type, name, align, editable, sortable, width\n MetaApi.getGristColumnConfig('string', 'name', 'left', true, false, 200),\n {\n type: 'string',\n name: 'title',\n header: TermsUtil.tLabel('title'),\n record: {\n editable: false,\n align: 'left',\n renderer: (value, column, record, rowIndex, field) => {\n return record.name ? TermsUtil.tMenu(record.name) : ''\n }\n },\n sortable: false,\n width: 200\n },\n // name, displayName, align, sortable, width, mandatory, codeName\n await MetaApi.getGristCodeSelectorColumnConfig('menuType', 'menu_type', 'left', false, 90, true, 'MENU_TYPE'),\n // type, name, displayName, align, editable, sortable, width\n MetaApi.getGristColumnConfig2('string', 'iconPath', 'icon', 'left', true, false, 115),\n MetaApi.getGristColumnConfig2('boolean', 'hiddenFlag', 'hidden', 'center', true, false, 55),\n MetaApi.getGristColumnConfig2('string', 'routing', 'routing', 'left', true, false, 135),\n MetaApi.getGristColumnConfig2('string', 'category', 'tag', 'left', true, false, 135),\n MetaApi.getGristColumnConfig2('string', 'resourceUrl', 'page_location', 'left', true, false, 350),\n {\n type: 'resource-object',\n name: 'role',\n label: true,\n header: i18next.t('field.required role'),\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n width: 200\n }\n ]\n }\n\n // 메뉴 그리드 설정\n this.detailConfig = {\n rows: MetaApi.getGristSelectableConfig(false),\n // 공간이 부족해서 페이지네이션 제거\n pagination: { infinite: true },\n appendable: true,\n columns: [\n ...MetaApi.getGristGuttersConfig(true, false),\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'download',\n handlers: {\n click: (_columns, _data, _column, record, _rowIndex) => {\n if (record.id) {\n this.exportMenu(record)\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'code',\n handlers: {\n click: (_columns, _data, _column, record, _rowIndex) => {\n if (record.id) {\n this.openMenuTemplatePopup(record)\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'construction',\n handlers: {\n click: (_columns, _data, _column, record, _rowIndex) => {\n if (record.id) {\n this.navigateMetaGenerator(record)\n }\n }\n }\n },\n {\n type: 'integer',\n name: 'rank',\n header: TermsUtil.tLabel('rank'),\n record: {\n align: 'left',\n editable: true,\n format: '#,###'\n },\n sortable: false,\n width: 60\n },\n MetaApi.getGristColumnConfig('string', 'name', 'left', true, false, 175),\n {\n type: 'string',\n name: 'title',\n header: TermsUtil.tLabel('title'),\n record: {\n editable: false,\n align: 'left',\n renderer: (value, column, record, rowIndex, field) => {\n return record.name ? TermsUtil.tMenu(record.name) : ''\n }\n },\n sortable: false,\n width: 175\n },\n // name, displayName, align, sortable, width, mandatory, codeName\n await MetaApi.getGristCodeSelectorColumnConfig(\n 'menuType',\n 'page_type',\n 'left',\n false,\n 90,\n true,\n 'MENU_PAGE_TYPE'\n ),\n await MetaApi.getGristCodeSelectorColumnConfig(\n 'routingType',\n 'routing_type',\n 'left',\n false,\n 0,\n false,\n 'MENU_PAGE_ROUTING_TYPE'\n ),\n // type, name, displayName, align, editable, sortable, width\n MetaApi.getGristColumnConfig2('string', 'routing', 'routing', 'left', true, false, 175),\n MetaApi.getGristColumnConfig2('string', 'category', 'tag', 'left', true, false, 175),\n MetaApi.getGristColumnConfig2('string', 'resourceUrl', 'page_location', 'left', true, false, 450),\n MetaApi.getGristColumnConfig2('string', 'iconPath', 'icon', 'left', true, false, 100),\n MetaApi.getGristColumnConfig2('boolean', 'hiddenFlag', 'hidden', 'center', true, false, 55),\n {\n type: 'resource-object',\n name: 'parent',\n header: TermsUtil.tLabel('parent-menu'),\n record: {\n renderer: (value, column, record, rowIndex, field) => {\n return value ? value.name + ' (' + TermsUtil.tMenu(value.name) + ')' : ''\n },\n editable: true,\n options: {\n title: TermsUtil.tLabel('parent-menu'),\n queryName: 'menus',\n pagination: { pages: [1000] },\n basicArgs: {\n filters: [\n {\n name: 'parentId',\n operator: 'is_null'\n }\n ],\n sortings: [\n {\n name: 'rank',\n desc: false\n }\n ]\n },\n list: { fields: ['id', 'name'] },\n columns: [\n { name: 'id', hidden: true },\n {\n name: 'rank',\n header: TermsUtil.tLabel('rank'),\n width: 75,\n record: {\n editable: false,\n format: '#,###',\n align: 'left'\n },\n sortable: true\n },\n {\n name: 'name',\n width: 300,\n header: TermsUtil.tLabel('name'),\n filter: 'search'\n },\n {\n name: 'description',\n width: 350,\n header: TermsUtil.tLabel('title'),\n record: {\n editable: false,\n renderer: function (value, column, record, rowIndex, field) {\n return TermsUtil.tMenu(record.name)\n }\n }\n },\n {\n type: 'code',\n name: 'menuType',\n width: 120,\n header: TermsUtil.tLabel('menu_type'),\n record: {\n editable: false,\n codeName: 'MENU_TYPE'\n }\n },\n {\n name: 'routing',\n width: 150,\n header: TermsUtil.tLabel('routing'),\n record: {\n editable: false\n }\n }\n ],\n valueField: 'id',\n nameField: 'name',\n descriptionField: 'routing'\n }\n },\n width: 200\n },\n {\n type: 'resource-object',\n name: 'role',\n label: true,\n header: i18next.t('field.required role'),\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n width: 200\n }\n /*{\n type: 'meta-code-selector',\n header: TermsUtil.tLabel('parent-menu'),\n name: 'parentId',\n record: {\n editable: true,\n align: 'left',\n options: {\n codes: await ServiceUtil.getCodeByEntity({queryName:'menus', codeField:'id', dispField:'name', filters:[{ name: 'parentId', operator: 'is_null', value: '' }]}),\n queryName: 'menus',\n codeField: 'id',\n dispField: 'name',\n filterFields: [{name: 'name', operator: 'like'}],\n selectorName: TermsUtil.tLabel('parent-menu'),\n columns: [\n {\n name: 'id',\n hidden: true\n },\n //MetaApi.getGristColumnConfig('integer', 'rank', 'right', false, true, 65),\n {\n type: 'integer',\n name: 'rank',\n header: TermsUtil.tLabel('rank'),\n record: {\n align: 'left',\n editable: false,\n format: '#,###'\n },\n sortable: false,\n width: 65\n },\n MetaApi.getGristColumnConfig2('boolean', 'hiddenFlag', 'hidden', 'center', true, false, 60),\n {\n type:'select',\n name: 'menuType',\n header: 'menu_type',\n record: {\n align:'left',\n editable: false\n },\n options:{\n type: 'code',\n name: 'MENU_TYPE'\n },\n sortable: false,\n width: 100\n },\n MetaApi.getGristColumnConfig('string', 'name', 'left', false, true, 450)\n ],\n filters: [{ name: 'parentId', operator: 'is_null', value: '' }],\n sorters: [{ name: 'rank', desc: false }],\n }\n },\n sortable: false,\n width: 120\n }*/\n ]\n }\n }\n}\n"]}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright © HatioLab Inc. All rights reserved.
4
+ * @author Yang
5
+ * @description
6
+ */
7
+ export class ExportMenuPopup extends LitElement {
8
+ /**
9
+ * @description 스타일 정의
10
+ ***********************************
11
+ * @returns {Object} 화면의 스타일 정의
12
+ */
13
+ static get styles(): any;
14
+ /**
15
+ * @description 라이트 사이클
16
+ ***************************
17
+ */
18
+ connectedCallback(): Promise<void>;
19
+ gridConfig: {
20
+ rows: any;
21
+ pagination: {
22
+ infinite: boolean;
23
+ };
24
+ columns: any[];
25
+ } | undefined;
26
+ /**
27
+ * @description 라이프 사이클
28
+ ***************************
29
+ */
30
+ render(): import("lit-html").TemplateResult<1>;
31
+ /**
32
+ * @description 그리드 리턴
33
+ **************************
34
+ * @returns {Object} 그리드
35
+ */
36
+ get grist(): any;
37
+ export(): Promise<any>;
38
+ /**
39
+ * @description 이력 조회
40
+ ***************************
41
+ * @returns
42
+ */
43
+ fetchHandler({ page, limit, sortings, filters }: {
44
+ page?: number | undefined;
45
+ limit?: number | undefined;
46
+ sortings?: never[] | undefined;
47
+ filters?: never[] | undefined;
48
+ }): Promise<{
49
+ records: any;
50
+ total: any;
51
+ }>;
52
+ getTerms(locale: any, category: any, name: any): Promise<any>;
53
+ getI18t(locale: any, category: any, name: any): string | undefined;
54
+ }
55
+ import { LitElement } from 'lit';
@@ -0,0 +1,392 @@
1
+ import '@material/web/icon/icon.js';
2
+ import { css, html, LitElement } from 'lit';
3
+ import { i18next, localize } from '@operato/i18n';
4
+ import { ScrollbarStyles, CommonGristStyles, CommonHeaderStyles } from '@operato/styles';
5
+ import { TermsUtil } from './../../utils/terms-util';
6
+ import { MetaUiUtil } from './../../utils/meta-ui-util';
7
+ import { MetaApi } from '../../utils/meta-api';
8
+ import { MetaCrypto } from '../../utils/meta-crypto';
9
+ import snakeCase from 'lodash-es/snakeCase';
10
+ import upperFirst from 'lodash-es/upperFirst';
11
+ import { singular } from 'pluralize';
12
+ const i18nextEn = i18next.getFixedT('en', null, null);
13
+ const i18nextKo = i18next.getFixedT('ko', null, null);
14
+ const colTypes = {
15
+ 'character varying': 'VARCHAR',
16
+ numeric: 'NUMERIC',
17
+ boolean: 'BOOLEAN',
18
+ uuid: 'VARCHAR',
19
+ timestamp: 'TIMESTAMP',
20
+ date: 'DATE',
21
+ datetime: 'DATETIME',
22
+ integer: 'INT'
23
+ };
24
+ /**
25
+ * @license
26
+ * Copyright © HatioLab Inc. All rights reserved.
27
+ * @author Yang
28
+ * @description
29
+ */
30
+ export class ExportMenuPopup extends localize(i18next)(LitElement) {
31
+ /**
32
+ * @description 스타일 정의
33
+ ***********************************
34
+ * @returns {Object} 화면의 스타일 정의
35
+ */
36
+ static get styles() {
37
+ return [
38
+ ScrollbarStyles,
39
+ CommonGristStyles,
40
+ CommonHeaderStyles,
41
+ css `
42
+ :host {
43
+ display: flex;
44
+ flex-direction: column;
45
+ overflow-x: overlay;
46
+ background-color: var(--md-sys-color-background);
47
+ }
48
+
49
+ ox-grist {
50
+ overflow-y: auto;
51
+ flex: 1;
52
+ }
53
+
54
+ ox-filters-form {
55
+ flex: 1;
56
+ }
57
+ `
58
+ ];
59
+ }
60
+ /**
61
+ * @description 라이트 사이클
62
+ ***************************
63
+ */
64
+ async connectedCallback() {
65
+ this.gridConfig = {
66
+ rows: MetaApi.getGristSelectableConfig(false),
67
+ pagination: { infinite: true },
68
+ columns: [
69
+ MetaApi.getGristColumnConfig2('integer', 'seq', 'seq', 'center', false, false, 80),
70
+ MetaApi.getGristColumnConfig2('string', 'column_ko', 'column_display_ko', 'left', false, false, 150),
71
+ MetaApi.getGristColumnConfig2('string', 'column_en', 'column_display_en', 'left', false, false, 150),
72
+ MetaApi.getGristColumnConfig2('string', 'group_cd', 'screen_group_cd', 'left', false, false, 100),
73
+ MetaApi.getGristColumnConfig2('string', 'group_nm_en', 'screen_group_display_en', 'left', false, false, 150),
74
+ MetaApi.getGristColumnConfig2('string', 'group_nm_ko', 'screen_group_display_ko', 'left', false, false, 150),
75
+ MetaApi.getGristColumnConfig2('string', 'group_type', 'screen_group_type', 'left', false, false, 100),
76
+ MetaApi.getGristColumnConfig2('string', 'column_id', 'column_id', 'left', false, false, 150),
77
+ MetaApi.getGristColumnConfig2('string', 'search_field', 'is_search_field', 'center', false, false, 80),
78
+ MetaApi.getGristColumnConfig2('string', 'entity_ref', 'entity_object_reference_field', 'left', false, false, 100),
79
+ MetaApi.getGristColumnConfig2('string', 'entity_code_ref', 'entity_code_reference_field', 'left', false, false, 100),
80
+ MetaApi.getGristColumnConfig2('string', 'code_ref', 'code_reference_field', 'left', false, false, 100),
81
+ MetaApi.getGristColumnConfig2('string', 'main_column', 'is_main_list_field', 'center', false, false, 80),
82
+ MetaApi.getGristColumnConfig2('string', 'editable', 'is_editable', 'center', false, false, 80),
83
+ MetaApi.getGristColumnConfig2('string', 'hidden', 'hidden', 'center', false, false, 80),
84
+ MetaApi.getGristColumnConfig2('string', 'grid_align', 'grid_align', 'center', false, false, 100),
85
+ MetaApi.getGristColumnConfig2('string', 'export_field', 'is_export_field', 'center', false, false, 100),
86
+ MetaApi.getGristColumnConfig2('string', 'grid_width', 'field_width', 'center', false, false, 80),
87
+ MetaApi.getGristColumnConfig2('string', 'column_type', 'column_type', 'center', false, false, 100),
88
+ MetaApi.getGristColumnConfig2('string', 'column_length', 'column_size', 'center', false, false, 80),
89
+ MetaApi.getGristColumnConfig2('string', 'column_not_null', 'is_not_null', 'center', false, false, 80),
90
+ MetaApi.getGristColumnConfig2('string', 'default_value', 'default_value', 'left', false, false, 80),
91
+ MetaApi.getGristColumnConfig2('string', 'index', 'table_index', 'left', false, false, 100),
92
+ MetaApi.getGristColumnConfig2('string', 'unique', 'is_unique', 'center', false, false, 100)
93
+ ]
94
+ };
95
+ if (super.connectedCallback) {
96
+ await super.connectedCallback();
97
+ }
98
+ }
99
+ /**
100
+ * @description 라이프 사이클
101
+ ***************************
102
+ */
103
+ render() {
104
+ return html `
105
+ <ox-grist
106
+ id="ox-grist"
107
+ .config=${this.gridConfig}
108
+ .mode=${'GRID'}
109
+ auto-fetch
110
+ .fetchHandler=${this.fetchHandler.bind(this)}
111
+ >
112
+ </ox-grist>
113
+ <div class="footer">
114
+ <div filler></div>
115
+ <button @click=${this.export.bind(this)} done>
116
+ <md-icon>export_notes</md-icon>${TermsUtil.tButton('export')}
117
+ </button>
118
+ </div>
119
+ `;
120
+ }
121
+ /**
122
+ * @description 그리드 리턴
123
+ **************************
124
+ * @returns {Object} 그리드
125
+ */
126
+ get grist() {
127
+ return this.shadowRoot.querySelector('#ox-grist');
128
+ }
129
+ async export() {
130
+ let exportTitle = TermsUtil.tTitle(this.recordName);
131
+ return await MetaApi.exportableData(true, exportTitle, this.grist);
132
+ }
133
+ /**
134
+ * @description 이력 조회
135
+ ***************************
136
+ * @returns
137
+ */
138
+ async fetchHandler({ page = 0, limit = 0, sortings = [], filters = [] }) {
139
+ let selectFields = `
140
+ id
141
+ menu{
142
+ id
143
+ name
144
+ routing
145
+ template
146
+ }
147
+ entity {
148
+ id
149
+ bundle
150
+ name
151
+ tableName
152
+ dataProp
153
+ delStrategy
154
+ description
155
+ }
156
+ entityColumns{
157
+ id
158
+ name
159
+ rank
160
+ description
161
+ term
162
+ colType
163
+ colSize
164
+ nullable
165
+ uniqRank
166
+ searchRank
167
+ searchOper
168
+ gridRank
169
+ gridWidth
170
+ gridEditor
171
+ refType
172
+ refName
173
+ refUrl
174
+ defVal
175
+ },
176
+ indices{
177
+ name
178
+ isUnique
179
+ columns
180
+ }
181
+ columns{
182
+ name
183
+ isNullable
184
+ length
185
+ type
186
+ default
187
+ }
188
+ parentMenu{
189
+ id
190
+ name
191
+ }
192
+ `;
193
+ let res = await MetaApi.findOne('exportMenuInfo', this.recordId, selectFields);
194
+ // table 컬럼 정보
195
+ let records = res.columns
196
+ .filter(column => ['id', 'data_revision_no', 'deleted_at'].includes(column.name) === false)
197
+ .map(column => {
198
+ let record = {
199
+ column_id: column.name,
200
+ column_type: column.type,
201
+ column_length: column.length,
202
+ column_not_null: column.isNullable === true ? '' : 'O',
203
+ default_value: column.default
204
+ };
205
+ let entityIdx = res.entityColumns.findIndex(col => col.name == column.name);
206
+ if (entityIdx > -1) {
207
+ record.rank = res.entityColumns[entityIdx].rank;
208
+ }
209
+ return record;
210
+ });
211
+ let total = records.length;
212
+ // entity Column 기반 정렬
213
+ records = records.sort((a, b) => a.rank - b.rank);
214
+ // index
215
+ for (let idx = 0; idx < res.indices.length; idx++) {
216
+ records[idx].unique = res.indices[idx].isUnique === true ? 'O' : '';
217
+ records[idx].index = res.indices[idx].columns.filter(x => x != 'deleted_at').join(',');
218
+ }
219
+ let mainMenu = JSON.parse(MetaCrypto.dec(res.menu.template));
220
+ // 메인 메뉴 컬럼 정보
221
+ mainMenu.grid_column.forEach(x => {
222
+ let mainColName = snakeCase(x.name);
223
+ if (['object', 'meta-object-selector', 'resource-object'].includes(x.type)) {
224
+ mainColName = mainColName + '_id';
225
+ }
226
+ let recIdx = records.findIndex(rec => rec.column_id == mainColName);
227
+ if (recIdx > -1) {
228
+ records[recIdx].main_column = 'O';
229
+ records[recIdx].editable = x.editable === true ? 'O' : '';
230
+ records[recIdx].hidden = x.hidden === true ? 'O' : '';
231
+ records[recIdx].grid_align = x.align;
232
+ records[recIdx].export_field = x.exportable === true ? 'O' : '';
233
+ records[recIdx].grid_width = x.width;
234
+ records[recIdx].entity_ref = '';
235
+ records[recIdx].entity_code_ref = '';
236
+ records[recIdx].code_ref = '';
237
+ if (x.select_opt) {
238
+ let opt = x.select_opt;
239
+ if (opt.type == 'code') {
240
+ records[recIdx].code_ref = opt.name;
241
+ }
242
+ else if (opt.type == 'entity') {
243
+ records[recIdx].entity_code_ref = `${opt.name},${opt.args.codeField},${opt.args.dispField}`;
244
+ }
245
+ }
246
+ else if (x.object_opt) {
247
+ let opt = x.object_opt;
248
+ if (opt.menu) {
249
+ records[recIdx].entity_ref = `menu,${opt.menu}`;
250
+ }
251
+ else {
252
+ records[recIdx].entity_ref = `${upperFirst(singular(opt.queryName))},${opt.nameField}`;
253
+ if (opt.descriptionField && opt.descriptionField.length > 0) {
254
+ records[recIdx].entity_ref += `,${opt.descriptionField}`;
255
+ }
256
+ }
257
+ }
258
+ }
259
+ });
260
+ // 메인메뉴 검색 정보
261
+ let searchFields = [...mainMenu.gql.query.filters, ...mainMenu.search];
262
+ searchFields.forEach(x => {
263
+ let searchName = snakeCase(x.name);
264
+ let recIdx = records.findIndex(rec => rec.column_id == searchName);
265
+ if (recIdx > -1) {
266
+ records[recIdx].search_field = 'O';
267
+ }
268
+ });
269
+ // tab etc
270
+ let tabs = [...mainMenu.tab];
271
+ if (mainMenu.etc.master_detail_element) {
272
+ tabs.push(JSON.parse(mainMenu.etc.master_detail_element));
273
+ }
274
+ // tab 설정 검색 ....
275
+ for (let tabIdx = 0; tabIdx < tabs.length; tabIdx++) {
276
+ // name, tagname, menu(routing), display,
277
+ let tab = tabs[tabIdx];
278
+ let tabNmEn = await this.getTerms('en-US', ['label', 'field'], tab.display);
279
+ let tabNmKo = await this.getTerms('ko-KR', ['label', 'field'], tab.display);
280
+ let data = await MetaUiUtil.getMenuMetaData(tab.menu ? tab.menu : tab.routing);
281
+ if (!data || !data.records || data.records.length == 0) {
282
+ continue;
283
+ }
284
+ let tabMenuConfig = JSON.parse(MetaCrypto.dec(data.records[0].template));
285
+ for (let idx in tabMenuConfig.grid_column) {
286
+ let x = tabMenuConfig.grid_column[idx];
287
+ let colName = snakeCase(x.name);
288
+ if (['object', 'meta-object-selector', 'resource-object'].includes(x.type)) {
289
+ colName = colName + '_id';
290
+ }
291
+ let recIdx = records.findIndex(rec => rec.column_id == colName);
292
+ if (recIdx > -1) {
293
+ console.log(tab.tagName);
294
+ records[recIdx].group_cd = tab.name;
295
+ records[recIdx].group_nm_en = tabNmEn;
296
+ records[recIdx].group_nm_ko = tabNmKo;
297
+ records[recIdx].group_type = tab.tagname == 'meta-form-element' ? 'Form' : 'Grist';
298
+ records[recIdx].editable = x.editable === true ? 'O' : '';
299
+ records[recIdx].hidden = x.hidden === true ? 'O' : '';
300
+ records[recIdx].grid_align = x.align;
301
+ records[recIdx].export_field = x.exportable === true ? 'O' : '';
302
+ records[recIdx].grid_width = x.width;
303
+ records[recIdx].entity_ref = '';
304
+ records[recIdx].entity_code_ref = '';
305
+ records[recIdx].code_ref = '';
306
+ if (x.select_opt) {
307
+ let opt = x.select_opt;
308
+ if (opt.type == 'code') {
309
+ records[recIdx].code_ref = opt.name;
310
+ }
311
+ else if (opt.type == 'entity') {
312
+ records[recIdx].entity_code_ref = `${opt.name},${opt.args.codeField},${opt.args.dispField}`;
313
+ }
314
+ }
315
+ else if (x.object_opt) {
316
+ let opt = x.object_opt;
317
+ if (opt.menu) {
318
+ records[recIdx].entity_ref = `menu,${opt.menu}`;
319
+ }
320
+ else {
321
+ records[recIdx].entity_ref = `${upperFirst(singular(opt.queryName))},${opt.nameField}`;
322
+ if (opt.descriptionField && opt.descriptionField.length > 0) {
323
+ records[recIdx].entity_ref += `,${opt.descriptionField}`;
324
+ }
325
+ }
326
+ }
327
+ }
328
+ }
329
+ }
330
+ // 최종 ~~
331
+ for (let recIdx in records) {
332
+ let x = records[recIdx];
333
+ x.seq = Number(recIdx) + 1;
334
+ // 컬럼 명칭 termionologies 에 없으면 i18next 에서 찾는다 .
335
+ x.column_ko = await this.getTerms('ko-KR', ['label', 'field'], x.column_id.endsWith('_id') ? x.column_id.substring(0, x.column_id.length - 3) : x.column_id);
336
+ x.column_en = await this.getTerms('en-US', ['label', 'field'], x.column_id.endsWith('_id') ? x.column_id.substring(0, x.column_id.length - 3) : x.column_id);
337
+ x.column_id = x.column_id.toUpperCase();
338
+ x.column_type = colTypes[x.column_type];
339
+ }
340
+ return {
341
+ records,
342
+ total
343
+ };
344
+ }
345
+ async getTerms(locale, category, name) {
346
+ let filters = [
347
+ { name: 'name', operator: 'eq', value: name },
348
+ { name: 'locale', operator: 'eq', value: locale }
349
+ ];
350
+ if (Array.isArray(category)) {
351
+ filters.push({ name: 'category', operator: 'in', value: category });
352
+ }
353
+ else {
354
+ filters.push({ name: 'category', operator: 'eq', value: category });
355
+ }
356
+ let res = await MetaApi.searchByPagination('terminologies', filters, [], 0, 0, 'display');
357
+ if (res.records.length > 0) {
358
+ return res.records[0].display;
359
+ }
360
+ if (Array.isArray(category)) {
361
+ for (let catIdx in category) {
362
+ let disp = this.getI18t(locale, category[catIdx], name);
363
+ if (disp) {
364
+ return disp;
365
+ }
366
+ }
367
+ }
368
+ else {
369
+ let disp = this.getI18t(locale, category, name);
370
+ if (disp) {
371
+ return disp;
372
+ }
373
+ }
374
+ return '';
375
+ }
376
+ getI18t(locale, category, name) {
377
+ let tName = `${category}.${name}`;
378
+ let disp = '';
379
+ if (locale == 'en-US') {
380
+ disp = i18nextEn(tName);
381
+ }
382
+ else {
383
+ disp = i18nextKo(tName);
384
+ }
385
+ if (disp == tName) {
386
+ return undefined;
387
+ }
388
+ return disp;
389
+ }
390
+ }
391
+ customElements.define('export-menu-popup', ExportMenuPopup);
392
+ //# sourceMappingURL=export-menu-popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-menu-popup.js","sourceRoot":"","sources":["../../../client/pages/menu/export-menu-popup.js"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles, CommonGristStyles, CommonHeaderStyles } from '@operato/styles'\n\nimport { TermsUtil } from './../../utils/terms-util'\nimport { MetaUiUtil } from './../../utils/meta-ui-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport { MetaCrypto } from '../../utils/meta-crypto'\n\nimport snakeCase from 'lodash-es/snakeCase'\nimport upperFirst from 'lodash-es/upperFirst'\nimport { singular } from 'pluralize'\n\nconst i18nextEn = i18next.getFixedT('en', null, null)\nconst i18nextKo = i18next.getFixedT('ko', null, null)\nconst colTypes = {\n 'character varying': 'VARCHAR',\n numeric: 'NUMERIC',\n boolean: 'BOOLEAN',\n uuid: 'VARCHAR',\n timestamp: 'TIMESTAMP',\n date: 'DATE',\n datetime: 'DATETIME',\n integer: 'INT'\n}\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Yang\n * @description\n */\nexport class ExportMenuPopup extends localize(i18next)(LitElement) {\n /**\n * @description 스타일 정의\n ***********************************\n * @returns {Object} 화면의 스타일 정의\n */\n static get styles() {\n return [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-x: overlay;\n background-color: var(--md-sys-color-background);\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n ox-filters-form {\n flex: 1;\n }\n `\n ]\n }\n\n /**\n * @description 라이트 사이클\n ***************************\n */\n async connectedCallback() {\n this.gridConfig = {\n rows: MetaApi.getGristSelectableConfig(false),\n pagination: { infinite: true },\n columns: [\n MetaApi.getGristColumnConfig2('integer', 'seq', 'seq', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'column_ko', 'column_display_ko', 'left', false, false, 150),\n MetaApi.getGristColumnConfig2('string', 'column_en', 'column_display_en', 'left', false, false, 150),\n MetaApi.getGristColumnConfig2('string', 'group_cd', 'screen_group_cd', 'left', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'group_nm_en', 'screen_group_display_en', 'left', false, false, 150),\n MetaApi.getGristColumnConfig2('string', 'group_nm_ko', 'screen_group_display_ko', 'left', false, false, 150),\n MetaApi.getGristColumnConfig2('string', 'group_type', 'screen_group_type', 'left', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'column_id', 'column_id', 'left', false, false, 150),\n MetaApi.getGristColumnConfig2('string', 'search_field', 'is_search_field', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2(\n 'string',\n 'entity_ref',\n 'entity_object_reference_field',\n 'left',\n false,\n false,\n 100\n ),\n MetaApi.getGristColumnConfig2(\n 'string',\n 'entity_code_ref',\n 'entity_code_reference_field',\n 'left',\n false,\n false,\n 100\n ),\n MetaApi.getGristColumnConfig2('string', 'code_ref', 'code_reference_field', 'left', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'main_column', 'is_main_list_field', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'editable', 'is_editable', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'hidden', 'hidden', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'grid_align', 'grid_align', 'center', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'export_field', 'is_export_field', 'center', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'grid_width', 'field_width', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'column_type', 'column_type', 'center', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'column_length', 'column_size', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'column_not_null', 'is_not_null', 'center', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'default_value', 'default_value', 'left', false, false, 80),\n MetaApi.getGristColumnConfig2('string', 'index', 'table_index', 'left', false, false, 100),\n MetaApi.getGristColumnConfig2('string', 'unique', 'is_unique', 'center', false, false, 100)\n ]\n }\n\n if (super.connectedCallback) {\n await super.connectedCallback()\n }\n }\n\n /**\n * @description 라이프 사이클\n ***************************\n */\n render() {\n return html`\n <ox-grist\n id=\"ox-grist\"\n .config=${this.gridConfig}\n .mode=${'GRID'}\n auto-fetch\n .fetchHandler=${this.fetchHandler.bind(this)}\n >\n </ox-grist>\n <div class=\"footer\">\n <div filler></div>\n <button @click=${this.export.bind(this)} done>\n <md-icon>export_notes</md-icon>${TermsUtil.tButton('export')}\n </button>\n </div>\n `\n }\n\n /**\n * @description 그리드 리턴\n **************************\n * @returns {Object} 그리드\n */\n get grist() {\n return this.shadowRoot.querySelector('#ox-grist')\n }\n\n async export() {\n let exportTitle = TermsUtil.tTitle(this.recordName)\n return await MetaApi.exportableData(true, exportTitle, this.grist)\n }\n\n /**\n * @description 이력 조회\n ***************************\n * @returns\n */\n async fetchHandler({ page = 0, limit = 0, sortings = [], filters = [] }) {\n let selectFields = `\n id\n menu{\n id\n name\n routing\n template\n }\n entity {\n id\n bundle\n name\n tableName\n dataProp\n delStrategy\n description\n }\n entityColumns{\n id\n name\n rank\n description\n term\n colType\n colSize\n nullable\n uniqRank\n searchRank\n searchOper\n gridRank\n gridWidth\n gridEditor\n refType\n refName\n refUrl\n defVal\n },\n indices{\n name\n isUnique\n columns\n }\n columns{\n name\n isNullable\n length\n type\n default\n }\n parentMenu{\n id\n name\n }\n `\n\n let res = await MetaApi.findOne('exportMenuInfo', this.recordId, selectFields)\n\n // table 컬럼 정보\n let records = res.columns\n .filter(column => ['id', 'data_revision_no', 'deleted_at'].includes(column.name) === false)\n .map(column => {\n let record = {\n column_id: column.name,\n column_type: column.type,\n column_length: column.length,\n column_not_null: column.isNullable === true ? '' : 'O',\n default_value: column.default\n }\n\n let entityIdx = res.entityColumns.findIndex(col => col.name == column.name)\n if (entityIdx > -1) {\n record.rank = res.entityColumns[entityIdx].rank\n }\n\n return record\n })\n let total = records.length\n\n // entity Column 기반 정렬\n records = records.sort((a, b) => a.rank - b.rank)\n\n // index\n for (let idx = 0; idx < res.indices.length; idx++) {\n records[idx].unique = res.indices[idx].isUnique === true ? 'O' : ''\n records[idx].index = res.indices[idx].columns.filter(x => x != 'deleted_at').join(',')\n }\n\n let mainMenu = JSON.parse(MetaCrypto.dec(res.menu.template))\n\n // 메인 메뉴 컬럼 정보\n mainMenu.grid_column.forEach(x => {\n let mainColName = snakeCase(x.name)\n\n if (['object', 'meta-object-selector', 'resource-object'].includes(x.type)) {\n mainColName = mainColName + '_id'\n }\n\n let recIdx = records.findIndex(rec => rec.column_id == mainColName)\n\n if (recIdx > -1) {\n records[recIdx].main_column = 'O'\n records[recIdx].editable = x.editable === true ? 'O' : ''\n records[recIdx].hidden = x.hidden === true ? 'O' : ''\n records[recIdx].grid_align = x.align\n records[recIdx].export_field = x.exportable === true ? 'O' : ''\n records[recIdx].grid_width = x.width\n records[recIdx].entity_ref = ''\n records[recIdx].entity_code_ref = ''\n records[recIdx].code_ref = ''\n\n if (x.select_opt) {\n let opt = x.select_opt\n\n if (opt.type == 'code') {\n records[recIdx].code_ref = opt.name\n } else if (opt.type == 'entity') {\n records[recIdx].entity_code_ref = `${opt.name},${opt.args.codeField},${opt.args.dispField}`\n }\n } else if (x.object_opt) {\n let opt = x.object_opt\n\n if (opt.menu) {\n records[recIdx].entity_ref = `menu,${opt.menu}`\n } else {\n records[recIdx].entity_ref = `${upperFirst(singular(opt.queryName))},${opt.nameField}`\n\n if (opt.descriptionField && opt.descriptionField.length > 0) {\n records[recIdx].entity_ref += `,${opt.descriptionField}`\n }\n }\n }\n }\n })\n\n // 메인메뉴 검색 정보\n let searchFields = [...mainMenu.gql.query.filters, ...mainMenu.search]\n searchFields.forEach(x => {\n let searchName = snakeCase(x.name)\n\n let recIdx = records.findIndex(rec => rec.column_id == searchName)\n\n if (recIdx > -1) {\n records[recIdx].search_field = 'O'\n }\n })\n\n // tab etc\n let tabs = [...mainMenu.tab]\n if (mainMenu.etc.master_detail_element) {\n tabs.push(JSON.parse(mainMenu.etc.master_detail_element))\n }\n\n // tab 설정 검색 ....\n for (let tabIdx = 0; tabIdx < tabs.length; tabIdx++) {\n // name, tagname, menu(routing), display,\n\n let tab = tabs[tabIdx]\n let tabNmEn = await this.getTerms('en-US', ['label', 'field'], tab.display)\n let tabNmKo = await this.getTerms('ko-KR', ['label', 'field'], tab.display)\n\n let data = await MetaUiUtil.getMenuMetaData(tab.menu ? tab.menu : tab.routing)\n\n if (!data || !data.records || data.records.length == 0) {\n continue\n }\n\n let tabMenuConfig = JSON.parse(MetaCrypto.dec(data.records[0].template))\n\n for (let idx in tabMenuConfig.grid_column) {\n let x = tabMenuConfig.grid_column[idx]\n\n let colName = snakeCase(x.name)\n\n if (['object', 'meta-object-selector', 'resource-object'].includes(x.type)) {\n colName = colName + '_id'\n }\n\n let recIdx = records.findIndex(rec => rec.column_id == colName)\n\n if (recIdx > -1) {\n console.log(tab.tagName)\n records[recIdx].group_cd = tab.name\n records[recIdx].group_nm_en = tabNmEn\n records[recIdx].group_nm_ko = tabNmKo\n records[recIdx].group_type = tab.tagname == 'meta-form-element' ? 'Form' : 'Grist'\n\n records[recIdx].editable = x.editable === true ? 'O' : ''\n records[recIdx].hidden = x.hidden === true ? 'O' : ''\n records[recIdx].grid_align = x.align\n records[recIdx].export_field = x.exportable === true ? 'O' : ''\n records[recIdx].grid_width = x.width\n records[recIdx].entity_ref = ''\n records[recIdx].entity_code_ref = ''\n records[recIdx].code_ref = ''\n\n if (x.select_opt) {\n let opt = x.select_opt\n\n if (opt.type == 'code') {\n records[recIdx].code_ref = opt.name\n } else if (opt.type == 'entity') {\n records[recIdx].entity_code_ref = `${opt.name},${opt.args.codeField},${opt.args.dispField}`\n }\n } else if (x.object_opt) {\n let opt = x.object_opt\n if (opt.menu) {\n records[recIdx].entity_ref = `menu,${opt.menu}`\n } else {\n records[recIdx].entity_ref = `${upperFirst(singular(opt.queryName))},${opt.nameField}`\n\n if (opt.descriptionField && opt.descriptionField.length > 0) {\n records[recIdx].entity_ref += `,${opt.descriptionField}`\n }\n }\n }\n }\n }\n }\n\n // 최종 ~~\n for (let recIdx in records) {\n let x = records[recIdx]\n x.seq = Number(recIdx) + 1\n\n // 컬럼 명칭 termionologies 에 없으면 i18next 에서 찾는다 .\n x.column_ko = await this.getTerms(\n 'ko-KR',\n ['label', 'field'],\n x.column_id.endsWith('_id') ? x.column_id.substring(0, x.column_id.length - 3) : x.column_id\n )\n x.column_en = await this.getTerms(\n 'en-US',\n ['label', 'field'],\n x.column_id.endsWith('_id') ? x.column_id.substring(0, x.column_id.length - 3) : x.column_id\n )\n\n x.column_id = x.column_id.toUpperCase()\n x.column_type = colTypes[x.column_type]\n }\n\n return {\n records,\n total\n }\n }\n\n async getTerms(locale, category, name) {\n let filters = [\n { name: 'name', operator: 'eq', value: name },\n { name: 'locale', operator: 'eq', value: locale }\n ]\n\n if (Array.isArray(category)) {\n filters.push({ name: 'category', operator: 'in', value: category })\n } else {\n filters.push({ name: 'category', operator: 'eq', value: category })\n }\n\n let res = await MetaApi.searchByPagination('terminologies', filters, [], 0, 0, 'display')\n\n if (res.records.length > 0) {\n return res.records[0].display\n }\n\n if (Array.isArray(category)) {\n for (let catIdx in category) {\n let disp = this.getI18t(locale, category[catIdx], name)\n\n if (disp) {\n return disp\n }\n }\n } else {\n let disp = this.getI18t(locale, category, name)\n\n if (disp) {\n return disp\n }\n }\n\n return ''\n }\n\n getI18t(locale, category, name) {\n let tName = `${category}.${name}`\n let disp = ''\n\n if (locale == 'en-US') {\n disp = i18nextEn(tName)\n } else {\n disp = i18nextKo(tName)\n }\n\n if (disp == tName) {\n return undefined\n }\n\n return disp\n }\n}\n\ncustomElements.define('export-menu-popup', ExportMenuPopup)\n"]}