sonamu 0.0.1 → 0.0.3

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 (257) hide show
  1. package/dist/api/caster.d.ts +12 -0
  2. package/dist/api/caster.d.ts.map +1 -0
  3. package/dist/api/caster.js +72 -0
  4. package/dist/api/caster.js.map +1 -0
  5. package/dist/api/code-converters.d.ts +21 -0
  6. package/dist/api/code-converters.d.ts.map +1 -0
  7. package/dist/api/code-converters.js +446 -0
  8. package/dist/api/code-converters.js.map +1 -0
  9. package/dist/api/context.d.ts +11 -0
  10. package/dist/api/context.d.ts.map +1 -0
  11. package/dist/api/context.js +3 -0
  12. package/dist/api/context.js.map +1 -0
  13. package/dist/api/decorators.d.ts +27 -0
  14. package/dist/api/decorators.d.ts.map +1 -0
  15. package/dist/api/decorators.js +23 -0
  16. package/dist/api/decorators.js.map +1 -0
  17. package/dist/api/index.d.ts +6 -0
  18. package/dist/api/index.d.ts.map +1 -0
  19. package/dist/api/index.js +22 -0
  20. package/dist/api/index.js.map +1 -0
  21. package/dist/api/init.d.ts +13 -0
  22. package/dist/api/init.d.ts.map +1 -0
  23. package/dist/api/init.js +110 -0
  24. package/dist/api/init.js.map +1 -0
  25. package/dist/database/base-model.d.ts +36 -0
  26. package/dist/database/base-model.d.ts.map +1 -0
  27. package/dist/database/base-model.js +222 -0
  28. package/dist/database/base-model.js.map +1 -0
  29. package/dist/database/db.d.ts +23 -0
  30. package/dist/database/db.d.ts.map +1 -0
  31. package/dist/database/db.js +109 -0
  32. package/dist/database/db.js.map +1 -0
  33. package/dist/database/f9-base-model.d.ts +39 -0
  34. package/dist/database/f9-base-model.d.ts.map +1 -0
  35. package/dist/database/f9-base-model.js +229 -0
  36. package/dist/database/f9-base-model.js.map +1 -0
  37. package/dist/database/f9-db.d.ts +23 -0
  38. package/dist/database/f9-db.d.ts.map +1 -0
  39. package/dist/database/f9-db.js +109 -0
  40. package/dist/database/f9-db.js.map +1 -0
  41. package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts +2 -0
  42. package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts.map +1 -0
  43. package/dist/database/knex-plugins/knex-on-duplicate-update.js +37 -0
  44. package/dist/database/knex-plugins/knex-on-duplicate-update.js.map +1 -0
  45. package/dist/database/upsert-builder.d.ts +29 -0
  46. package/dist/database/upsert-builder.d.ts.map +1 -0
  47. package/dist/database/upsert-builder.js +230 -0
  48. package/dist/database/upsert-builder.js.map +1 -0
  49. package/dist/exceptions/error-handler.d.ts +3 -0
  50. package/dist/exceptions/error-handler.d.ts.map +1 -0
  51. package/dist/exceptions/error-handler.js +32 -0
  52. package/dist/exceptions/error-handler.js.map +1 -0
  53. package/dist/exceptions/exceptions.d.ts +48 -0
  54. package/dist/exceptions/exceptions.d.ts.map +1 -0
  55. package/dist/exceptions/exceptions.js +105 -0
  56. package/dist/exceptions/exceptions.js.map +1 -0
  57. package/dist/exceptions/f9-exception.d.ts +48 -0
  58. package/dist/exceptions/f9-exception.d.ts.map +1 -0
  59. package/dist/exceptions/f9-exception.js +105 -0
  60. package/dist/exceptions/f9-exception.js.map +1 -0
  61. package/dist/exceptions/index.d.ts +3 -0
  62. package/dist/exceptions/index.d.ts.map +1 -0
  63. package/dist/exceptions/index.js +19 -0
  64. package/dist/exceptions/index.js.map +1 -0
  65. package/dist/exceptions/so-exceptions.d.ts +48 -0
  66. package/dist/exceptions/so-exceptions.d.ts.map +1 -0
  67. package/dist/exceptions/so-exceptions.js +105 -0
  68. package/dist/exceptions/so-exceptions.js.map +1 -0
  69. package/dist/f9-md/f9-md.d.ts +29 -0
  70. package/dist/f9-md/f9-md.d.ts.map +1 -0
  71. package/dist/f9-md/f9-md.js +148 -0
  72. package/dist/f9-md/f9-md.js.map +1 -0
  73. package/dist/f9-md/index.d.ts +5 -0
  74. package/dist/f9-md/index.d.ts.map +1 -0
  75. package/dist/f9-md/index.js +21 -0
  76. package/dist/f9-md/index.js.map +1 -0
  77. package/dist/f9-md/md-utils.d.ts +55 -0
  78. package/dist/f9-md/md-utils.d.ts.map +1 -0
  79. package/dist/f9-md/md-utils.js +104 -0
  80. package/dist/f9-md/md-utils.js.map +1 -0
  81. package/dist/f9-md/migrator.d.ts +79 -0
  82. package/dist/f9-md/migrator.d.ts.map +1 -0
  83. package/dist/f9-md/migrator.js +1084 -0
  84. package/dist/f9-md/migrator.js.map +1 -0
  85. package/dist/f9-md/model-definition.d.ts +40 -0
  86. package/dist/f9-md/model-definition.d.ts.map +1 -0
  87. package/dist/f9-md/model-definition.js +409 -0
  88. package/dist/f9-md/model-definition.js.map +1 -0
  89. package/dist/index.d.ts +18 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js.map +1 -0
  92. package/dist/smd/migrator.d.ts +79 -0
  93. package/dist/smd/migrator.d.ts.map +1 -0
  94. package/dist/smd/migrator.js +1084 -0
  95. package/dist/smd/migrator.js.map +1 -0
  96. package/dist/smd/smd-manager.d.ts +28 -0
  97. package/dist/smd/smd-manager.d.ts.map +1 -0
  98. package/dist/smd/smd-manager.js +140 -0
  99. package/dist/smd/smd-manager.js.map +1 -0
  100. package/dist/smd/smd-utils.d.ts +55 -0
  101. package/dist/smd/smd-utils.d.ts.map +1 -0
  102. package/dist/smd/smd-utils.js +104 -0
  103. package/dist/smd/smd-utils.js.map +1 -0
  104. package/dist/smd/smd.d.ts +40 -0
  105. package/dist/smd/smd.d.ts.map +1 -0
  106. package/dist/smd/smd.js +409 -0
  107. package/dist/smd/smd.js.map +1 -0
  108. package/dist/syncer/index.d.ts +2 -0
  109. package/dist/syncer/index.d.ts.map +1 -0
  110. package/dist/syncer/index.js +18 -0
  111. package/dist/syncer/index.js.map +1 -0
  112. package/dist/syncer/syncer.d.ts +103 -0
  113. package/dist/syncer/syncer.d.ts.map +1 -0
  114. package/dist/syncer/syncer.js +1001 -0
  115. package/dist/syncer/syncer.js.map +1 -0
  116. package/dist/templates/base-template.d.ts +13 -0
  117. package/dist/templates/base-template.d.ts.map +1 -0
  118. package/dist/templates/base-template.js +10 -0
  119. package/dist/templates/base-template.js.map +1 -0
  120. package/dist/templates/bridge.template.d.ts +17 -0
  121. package/dist/templates/bridge.template.d.ts.map +1 -0
  122. package/dist/templates/bridge.template.js +79 -0
  123. package/dist/templates/bridge.template.js.map +1 -0
  124. package/dist/templates/generated.template.d.ts +31 -0
  125. package/dist/templates/generated.template.d.ts.map +1 -0
  126. package/dist/templates/generated.template.js +180 -0
  127. package/dist/templates/generated.template.js.map +1 -0
  128. package/dist/templates/generated_http.template.d.ts +25 -0
  129. package/dist/templates/generated_http.template.d.ts.map +1 -0
  130. package/dist/templates/generated_http.template.js +114 -0
  131. package/dist/templates/generated_http.template.js.map +1 -0
  132. package/dist/templates/index.d.ts +2 -0
  133. package/dist/templates/index.d.ts.map +1 -0
  134. package/dist/templates/index.js +18 -0
  135. package/dist/templates/index.js.map +1 -0
  136. package/dist/templates/init_enums.template.d.ts +17 -0
  137. package/dist/templates/init_enums.template.d.ts.map +1 -0
  138. package/dist/templates/init_enums.template.js +54 -0
  139. package/dist/templates/init_enums.template.js.map +1 -0
  140. package/dist/templates/init_generated.template.d.ts +17 -0
  141. package/dist/templates/init_generated.template.d.ts.map +1 -0
  142. package/dist/templates/init_generated.template.js +40 -0
  143. package/dist/templates/init_generated.template.js.map +1 -0
  144. package/dist/templates/init_types.template.d.ts +17 -0
  145. package/dist/templates/init_types.template.d.ts.map +1 -0
  146. package/dist/templates/init_types.template.js +34 -0
  147. package/dist/templates/init_types.template.js.map +1 -0
  148. package/dist/templates/md.template.d.ts +17 -0
  149. package/dist/templates/md.template.d.ts.map +1 -0
  150. package/dist/templates/md.template.js +45 -0
  151. package/dist/templates/md.template.js.map +1 -0
  152. package/dist/templates/model.template.d.ts +17 -0
  153. package/dist/templates/model.template.d.ts.map +1 -0
  154. package/dist/templates/model.template.js +159 -0
  155. package/dist/templates/model.template.js.map +1 -0
  156. package/dist/templates/model_test.template.d.ts +17 -0
  157. package/dist/templates/model_test.template.d.ts.map +1 -0
  158. package/dist/templates/model_test.template.js +35 -0
  159. package/dist/templates/model_test.template.js.map +1 -0
  160. package/dist/templates/service.template.d.ts +28 -0
  161. package/dist/templates/service.template.d.ts.map +1 -0
  162. package/dist/templates/service.template.js +162 -0
  163. package/dist/templates/service.template.js.map +1 -0
  164. package/dist/templates/smd.template.d.ts +17 -0
  165. package/dist/templates/smd.template.d.ts.map +1 -0
  166. package/dist/templates/smd.template.js +45 -0
  167. package/dist/templates/smd.template.js.map +1 -0
  168. package/dist/templates/view_enums_buttonset.template.d.ts +17 -0
  169. package/dist/templates/view_enums_buttonset.template.d.ts.map +1 -0
  170. package/dist/templates/view_enums_buttonset.template.js +30 -0
  171. package/dist/templates/view_enums_buttonset.template.js.map +1 -0
  172. package/dist/templates/view_enums_dropdown.template.d.ts +18 -0
  173. package/dist/templates/view_enums_dropdown.template.d.ts.map +1 -0
  174. package/dist/templates/view_enums_dropdown.template.js +59 -0
  175. package/dist/templates/view_enums_dropdown.template.js.map +1 -0
  176. package/dist/templates/view_enums_select.template.d.ts +17 -0
  177. package/dist/templates/view_enums_select.template.d.ts.map +1 -0
  178. package/dist/templates/view_enums_select.template.js +56 -0
  179. package/dist/templates/view_enums_select.template.js.map +1 -0
  180. package/dist/templates/view_form.template.d.ts +83 -0
  181. package/dist/templates/view_form.template.d.ts.map +1 -0
  182. package/dist/templates/view_form.template.js +332 -0
  183. package/dist/templates/view_form.template.js.map +1 -0
  184. package/dist/templates/view_id_all_select.template.d.ts +17 -0
  185. package/dist/templates/view_id_all_select.template.d.ts.map +1 -0
  186. package/dist/templates/view_id_all_select.template.js +30 -0
  187. package/dist/templates/view_id_all_select.template.js.map +1 -0
  188. package/dist/templates/view_id_async_select.template.d.ts +17 -0
  189. package/dist/templates/view_id_async_select.template.d.ts.map +1 -0
  190. package/dist/templates/view_id_async_select.template.js +96 -0
  191. package/dist/templates/view_id_async_select.template.js.map +1 -0
  192. package/dist/templates/view_list.template.d.ts +96 -0
  193. package/dist/templates/view_list.template.d.ts.map +1 -0
  194. package/dist/templates/view_list.template.js +552 -0
  195. package/dist/templates/view_list.template.js.map +1 -0
  196. package/dist/templates/view_list_columns.template.d.ts +17 -0
  197. package/dist/templates/view_list_columns.template.d.ts.map +1 -0
  198. package/dist/templates/view_list_columns.template.js +47 -0
  199. package/dist/templates/view_list_columns.template.js.map +1 -0
  200. package/dist/templates/view_search_input.template.d.ts +17 -0
  201. package/dist/templates/view_search_input.template.d.ts.map +1 -0
  202. package/dist/templates/view_search_input.template.js +63 -0
  203. package/dist/templates/view_search_input.template.js.map +1 -0
  204. package/dist/testing/f9-fixture-manager.d.ts +16 -0
  205. package/dist/testing/f9-fixture-manager.d.ts.map +1 -0
  206. package/dist/testing/f9-fixture-manager.js +211 -0
  207. package/dist/testing/f9-fixture-manager.js.map +1 -0
  208. package/dist/testing/fixture-manager.d.ts +16 -0
  209. package/dist/testing/fixture-manager.d.ts.map +1 -0
  210. package/dist/testing/fixture-manager.js +212 -0
  211. package/dist/testing/fixture-manager.js.map +1 -0
  212. package/dist/types/index.d.ts +2 -0
  213. package/dist/types/index.d.ts.map +1 -0
  214. package/dist/types/index.js +18 -0
  215. package/dist/types/index.js.map +1 -0
  216. package/dist/types/shared.d.ts +725 -0
  217. package/dist/types/shared.d.ts.map +1 -0
  218. package/dist/types/shared.js +288 -0
  219. package/dist/types/shared.js.map +1 -0
  220. package/dist/types/types.d.ts +725 -0
  221. package/dist/types/types.d.ts.map +1 -0
  222. package/dist/types/types.js +288 -0
  223. package/dist/types/types.js.map +1 -0
  224. package/dist/utils/controller.d.ts +8 -0
  225. package/dist/utils/controller.d.ts.map +1 -0
  226. package/dist/utils/controller.js +32 -0
  227. package/dist/utils/controller.js.map +1 -0
  228. package/dist/utils/f9-cache.d.ts +1 -0
  229. package/dist/utils/f9-cache.d.ts.map +1 -0
  230. package/dist/utils/f9-cache.js +113 -0
  231. package/dist/utils/f9-cache.js.map +1 -0
  232. package/dist/utils/index.d.ts +4 -0
  233. package/dist/utils/index.d.ts.map +1 -0
  234. package/dist/utils/index.js +20 -0
  235. package/dist/utils/index.js.map +1 -0
  236. package/dist/utils/lodash-able.d.ts +3 -0
  237. package/dist/utils/lodash-able.d.ts.map +1 -0
  238. package/dist/utils/lodash-able.js +13 -0
  239. package/dist/utils/lodash-able.js.map +1 -0
  240. package/dist/utils/model.d.ts +17 -0
  241. package/dist/utils/model.d.ts.map +1 -0
  242. package/dist/utils/model.js +26 -0
  243. package/dist/utils/model.js.map +1 -0
  244. package/dist/utils/tf-utils.d.ts +6 -0
  245. package/dist/utils/tf-utils.d.ts.map +1 -0
  246. package/dist/utils/tf-utils.js +67 -0
  247. package/dist/utils/tf-utils.js.map +1 -0
  248. package/dist/utils/utils.d.ts +6 -0
  249. package/dist/utils/utils.d.ts.map +1 -0
  250. package/dist/utils/utils.js +67 -0
  251. package/dist/utils/utils.js.map +1 -0
  252. package/package.json +4 -2
  253. package/src/syncer/syncer.ts +1 -1
  254. package/src/templates/generated.template.ts +2 -2
  255. package/src/templates/model.template.ts +1 -1
  256. package/src/templates/model_test.template.ts +1 -1
  257. package/src/templates/smd.template.ts +1 -1
@@ -0,0 +1,552 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRelationPropFromColName = exports.getEnumInfoFromColName = exports.Template__view_list = void 0;
4
+ const inflection_1 = require("inflection");
5
+ const lodash_1 = require("lodash");
6
+ const zod_1 = require("zod");
7
+ const smd_manager_1 = require("../smd/smd-manager");
8
+ const types_1 = require("../types/types");
9
+ const base_template_1 = require("./base-template");
10
+ class Template__view_list extends base_template_1.Template {
11
+ constructor() {
12
+ super("view_list");
13
+ }
14
+ getTargetAndPath(names) {
15
+ return {
16
+ target: "web/src/pages/admin",
17
+ path: `${names.fsPlural}/index.tsx`,
18
+ };
19
+ }
20
+ wrapTc(body, key, collapsing = true, className = "") {
21
+ return `<Table.Cell key="${key}"${collapsing ? " collapsing" : ""}${className ? ` className={\`${className}\`}` : ""}>${body}</Table.Cell>`;
22
+ }
23
+ renderColumn(smdId, col, names, parentObj = "row", withoutName = false) {
24
+ const colName = withoutName ? `${parentObj}` : `${parentObj}.${col.name}`;
25
+ switch (col.renderType) {
26
+ case "string-plain":
27
+ case "number-id":
28
+ return `<>{${colName}}</>`;
29
+ case "number-fk_id":
30
+ const relPropFk = getRelationPropFromColName(smdId, col.name.replace("_id", ""));
31
+ return `<>${relPropFk.with}#{${colName}}</>`;
32
+ case "string-image":
33
+ return `<img src={${colName}} />`;
34
+ case "string-datetime":
35
+ if (col.nullable) {
36
+ return `<span className="text-tiny">{${colName} === null ? '-' : DateTime.fromSQL(${colName}).toFormat('y-MM-dd')}</span>`;
37
+ }
38
+ else {
39
+ return `<span className="text-tiny">{DateTime.fromSQL(${colName}).toFormat('y-MM-dd')}</span>`;
40
+ }
41
+ case "boolean":
42
+ return `<>{${colName} ? <Label color='green' circular>O</Label> : <Label color='grey' circular>X</Label> }</>`;
43
+ case "enums":
44
+ const { targetMDNames, name } = getEnumInfoFromColName(smdId, col.name);
45
+ return `<>{${col.nullable ? `${colName} && ` : ""}${targetMDNames.constant}.${name}[${colName}].ko}</>`;
46
+ case "array-images":
47
+ return `<>{ ${colName}.map(r => <img src={r} />) }</>`;
48
+ case "number-plain":
49
+ return `<>{${col.nullable ? `${colName} && ` : ""}new Intl.NumberFormat().format(${colName})}</>`;
50
+ case "object":
51
+ try {
52
+ const relProp = getRelationPropFromColName(smdId, col.name);
53
+ smdId = relProp.with;
54
+ names = smd_manager_1.SMDManager.getNamesFromId(relProp.with);
55
+ return `
56
+ <>{${colName} && <Table celled compact>
57
+ <Table.Body>
58
+ ${col
59
+ .children.map((child) => {
60
+ return [
61
+ `<Table.Row>`,
62
+ this.wrapTc(child.label, `${child.name}-0`),
63
+ this.wrapTc(this.renderColumn(smdId, child, names, colName), `${child.name}-1`),
64
+ `</Table.Row>`,
65
+ ].join("\n");
66
+ })
67
+ .join("\n")}
68
+ </Table.Body>
69
+ </Table>}</>`;
70
+ }
71
+ catch (_a) {
72
+ return "<></>";
73
+ }
74
+ case "object-pick":
75
+ const pickedChild = col.children.find((child) => { var _a; return child.name === ((_a = col.config) === null || _a === void 0 ? void 0 : _a.picked); });
76
+ if (!pickedChild) {
77
+ throw new Error(`object-pick 선택 실패 (오브젝트: ${col.name})`);
78
+ }
79
+ return this.renderColumn(smdId, pickedChild, names, `${colName}${col.nullable ? "?" : ""}`);
80
+ case "array":
81
+ const elementTableCell = this.renderColumn(smdId, col.element, names, "elem", true);
82
+ return `<>{ ${colName} && ${colName}.map((elem, index) => <span key={index} className="ui button mini compact active">${elementTableCell}</span>) }</>`;
83
+ default:
84
+ throw new Error(`렌더 불가 컬럼 ${col.renderType}`);
85
+ }
86
+ }
87
+ renderColumnImport(smdId, col, names) {
88
+ if (col.renderType === "enums") {
89
+ const { modulePath, targetMDNames } = getEnumInfoFromColName(names.capital, col.name);
90
+ return [
91
+ `import { ${targetMDNames.constant} } from 'src/services/${modulePath}';`,
92
+ ];
93
+ }
94
+ else if (col.renderType === "object") {
95
+ try {
96
+ const relProp = getRelationPropFromColName(smdId, col.name);
97
+ const result = col.children.map((child) => {
98
+ smdId = relProp.with;
99
+ names = smd_manager_1.SMDManager.getNamesFromId(relProp.with);
100
+ return this.renderColumnImport(smdId, child, names);
101
+ });
102
+ return (0, lodash_1.flattenDeep)(result);
103
+ }
104
+ catch (_a) {
105
+ return [null];
106
+ }
107
+ }
108
+ else if (col.renderType === "array") {
109
+ return this.renderColumnImport(smdId, col.element, names);
110
+ }
111
+ return [null];
112
+ }
113
+ renderFilterImport(smdId, col, names) {
114
+ if (col.name === "search") {
115
+ return `import { ${names.capital}SearchInput } from "src/components/${names.fs}/${names.capital}SearchInput";`;
116
+ }
117
+ else if (col.renderType === "enums") {
118
+ if (col.name === "orderBy") {
119
+ const componentId = `${names.capital}${(0, inflection_1.camelize)(col.name)}Select`;
120
+ return `import { ${componentId} } from "src/components/${names.fs}/${componentId}";`;
121
+ }
122
+ else {
123
+ try {
124
+ const { id, targetMDNames } = getEnumInfoFromColName(smdId, col.name);
125
+ const componentId = `${id}Select`;
126
+ return `import { ${componentId} } from "src/components/${targetMDNames.fs}/${componentId}";`;
127
+ }
128
+ catch (_a) {
129
+ return "";
130
+ }
131
+ }
132
+ }
133
+ else if (col.renderType === "number-fk_id") {
134
+ try {
135
+ const relProp = getRelationPropFromColName(smdId, col.name.replace("_id", ""));
136
+ const targetNames = smd_manager_1.SMDManager.getNamesFromId(relProp.with);
137
+ const componentId = `${relProp.with}IdAsyncSelect`;
138
+ return `import { ${componentId} } from "src/components/${targetNames.fs}/${componentId}";`;
139
+ }
140
+ catch (_b) {
141
+ return "";
142
+ }
143
+ }
144
+ else {
145
+ throw new Error(`렌더 불가능한 필터 임포트 ${col.name} ${col.renderType}`);
146
+ }
147
+ }
148
+ renderFilter(smdId, col, names) {
149
+ if (col.name === "search") {
150
+ return "";
151
+ }
152
+ const isClearable = col.optional === true && col.name !== "orderBy";
153
+ let componentId;
154
+ if (col.renderType === "enums") {
155
+ if (col.name === "orderBy") {
156
+ componentId = `${names.capital}${(0, inflection_1.camelize)(col.name)}Select`;
157
+ }
158
+ else {
159
+ try {
160
+ const { id } = getEnumInfoFromColName(smdId, col.name);
161
+ componentId = `${id}Select`;
162
+ }
163
+ catch (_a) {
164
+ return "";
165
+ }
166
+ }
167
+ return `<${componentId} {...register('${col.name}')} ${isClearable ? "clearable" : ""} />`;
168
+ }
169
+ else if (col.renderType === "number-fk_id") {
170
+ try {
171
+ const relProp = getRelationPropFromColName(smdId, col.name.replace("_id", ""));
172
+ componentId = `${relProp.with}IdAsyncSelect`;
173
+ return `<${componentId} {...register('${col.name}')} ${isClearable ? "clearable" : ""} subset="A" />`;
174
+ }
175
+ catch (_b) {
176
+ return "";
177
+ }
178
+ }
179
+ else {
180
+ throw new Error(`렌더 불가능한 필터 임포트 ${col.name} ${col.renderType}`);
181
+ }
182
+ }
183
+ getDefault(columns) {
184
+ var _a, _b;
185
+ const def = {
186
+ orderBy: "id-desc",
187
+ search: "title",
188
+ };
189
+ const orderByZodType = (_a = columns.find((col) => col.name === "orderBy")) === null || _a === void 0 ? void 0 : _a.zodType;
190
+ if (orderByZodType && orderByZodType instanceof zod_1.z.ZodEnum) {
191
+ def.orderBy = Object.keys(orderByZodType.Enum)[0];
192
+ }
193
+ const searchZodType = (_b = columns.find((col) => col.name === "search")) === null || _b === void 0 ? void 0 : _b.zodType;
194
+ if (searchZodType && searchZodType instanceof zod_1.z.ZodEnum) {
195
+ def.search = Object.keys(searchZodType.Enum)[0];
196
+ }
197
+ return def;
198
+ }
199
+ render({ smdId }, columnsNode, listParamsNode) {
200
+ const names = smd_manager_1.SMDManager.getNamesFromId(smdId);
201
+ // 실제 리스트 컬럼
202
+ const columns = columnsNode.children
203
+ .filter((col) => col.name !== "id")
204
+ .map((col) => {
205
+ return {
206
+ name: col.name,
207
+ label: col.label,
208
+ tc: `(row) => ${this.renderColumn(smdId, col, names)}`,
209
+ };
210
+ });
211
+ // 필터 컬럼
212
+ const filterColumns = listParamsNode.children
213
+ .filter((col) => col.name !== "id" &&
214
+ (["enums", "number-id"].includes(col.renderType) ||
215
+ col.name.endsWith("_id")))
216
+ // orderBy가 가장 뒤로 오게 순서 조정
217
+ .sort((a) => {
218
+ return a.name == "orderBy" ? 1 : -1;
219
+ });
220
+ // 필터 컬럼을 프리 템플릿으로 설정
221
+ const preTemplates = [];
222
+ for (let col of filterColumns) {
223
+ let key;
224
+ let targetMdId = smdId;
225
+ let enumId;
226
+ let idConstant;
227
+ if (col.renderType === "enums") {
228
+ if (col.name === "search") {
229
+ key = "view_enums_dropdown";
230
+ enumId = `${names.capital}SearchField`;
231
+ targetMdId = names.capital;
232
+ idConstant = "SEARCH_FIELD";
233
+ }
234
+ else {
235
+ key = "view_enums_select";
236
+ try {
237
+ const { targetMDNames, id, name } = getEnumInfoFromColName(smdId, col.name);
238
+ targetMdId = targetMDNames.capital;
239
+ enumId = id;
240
+ idConstant = name;
241
+ }
242
+ catch (_a) {
243
+ continue;
244
+ }
245
+ }
246
+ }
247
+ else {
248
+ key = "view_id_async_select";
249
+ try {
250
+ const relProp = getRelationPropFromColName(smdId, col.name.replace("_id", ""));
251
+ targetMdId = relProp.with;
252
+ }
253
+ catch (_b) {
254
+ continue;
255
+ }
256
+ }
257
+ preTemplates.push({
258
+ key,
259
+ options: {
260
+ smdId: targetMdId,
261
+ enumId,
262
+ idConstant,
263
+ },
264
+ });
265
+ }
266
+ // 리스트 컬럼 프리템플릿
267
+ const columnImports = (0, lodash_1.uniq)(columnsNode
268
+ .children.map((col) => {
269
+ return this.renderColumnImport(smdId, col, names);
270
+ })
271
+ .flat()
272
+ .filter((col) => col !== null)).join("\n");
273
+ preTemplates.push({
274
+ key: "view_list_columns",
275
+ options: {
276
+ smdId,
277
+ columns,
278
+ columnImports,
279
+ },
280
+ });
281
+ // SearchInput
282
+ preTemplates.push({
283
+ key: "view_search_input",
284
+ options: {
285
+ smdId,
286
+ },
287
+ });
288
+ // 디폴트 파라미터
289
+ const def = this.getDefault(filterColumns);
290
+ return Object.assign(Object.assign({}, this.getTargetAndPath(names)), { body: `
291
+ import React from 'react';
292
+ import { Link } from 'react-router-dom';
293
+ import {
294
+ Breadcrumb,
295
+ Checkbox,
296
+ Pagination,
297
+ Segment,
298
+ Table,
299
+ TableRow,
300
+ Message,
301
+ Transition,
302
+ Button,
303
+ Label,
304
+ } from 'semantic-ui-react';
305
+ import classNames from 'classnames';
306
+ import { DateTime } from "luxon";
307
+ import { DelButton } from 'src/typeframe/components/DelButton';
308
+ import { EditButton } from 'src/typeframe/components/EditButton';
309
+ import { AppBreadcrumbs } from 'src/typeframe/components/AppBreadcrumbs';
310
+ import { AddButton } from 'src/typeframe/components/AddButton';
311
+ import { useSelection, useListParams } from 'src/typeframe/helpers';
312
+ import { TFColumn } from "src/typeframe/iso-types";
313
+ import dc from './_columns';
314
+
315
+ import { ${names.capital}SubsetA } from "src/services/${names.fs}/${names.fs}.generated";
316
+ import { ${names.capital}Service } from 'src/services/${names.fs}/${names.fs}.service';
317
+ import { ${names.capital}ListParams } from 'src/services/${names.fs}/${names.fs}.types';
318
+ ${columnImports}
319
+ ${filterColumns
320
+ .map((col) => {
321
+ return this.renderFilterImport(smdId, col, names);
322
+ })
323
+ .join("\n")}
324
+
325
+ type ${names.capital}ListProps = {};
326
+ export default function ${names.capital}List({}: ${names.capital}ListProps) {
327
+ // 리스트 필터
328
+ const { listParams, register } = useListParams(${names.capital}ListParams, {
329
+ num: 12,
330
+ page: 1,
331
+ orderBy: '${def.orderBy}',
332
+ search: '${def.search}',
333
+ });
334
+
335
+ // 리스트 쿼리
336
+ const { data, mutate, error } = ${names.capital}Service.use${names.capitalPlural}('A', listParams);
337
+ const { rows, total } = data ?? {};
338
+ const isLoading = !error && !data;
339
+
340
+ // 삭제
341
+ const confirmDel = (ids: number[]) => {
342
+ const answer = confirm('삭제하시겠습니까?');
343
+ if (!answer) {
344
+ return;
345
+ }
346
+
347
+ ${names.capital}Service.del(ids).then(() => {
348
+ mutate();
349
+ });
350
+ };
351
+
352
+ // 일괄 삭제
353
+ const confirmDelSelected = () => {
354
+ const answer = confirm(\`\${selectedKeys.length}건을 일괄 삭제하시겠습니까?\`);
355
+ if (!answer) {
356
+ return;
357
+ }
358
+
359
+ ${names.capital}Service.del(selectedKeys).then(() => {
360
+ mutate();
361
+ });
362
+ };
363
+
364
+ // 현재 경로와 타이틀
365
+ const PAGE = {
366
+ route: '/admin/${names.fsPlural}',
367
+ title: '${names.capital}',
368
+ };
369
+
370
+ // 선택
371
+ const {
372
+ getSelected,
373
+ isAllSelected,
374
+ selectedKeys,
375
+ toggle,
376
+ selectAll,
377
+ deselectAll,
378
+ } = useSelection((rows ?? []).map((row) => row.id));
379
+
380
+ // 컬럼
381
+ const columns:TFColumn<${names.capital}SubsetA>[] = [
382
+ ${columns.map((col) => `{ ...dc.${col.name} }`).join(",\n")}
383
+ ]
384
+
385
+ return (
386
+ <div className="list ${names.fsPlural}-index">
387
+ <div className="top-nav">
388
+ <div className="header-row">
389
+ <div className="header">{PAGE.title}</div>
390
+ <AppBreadcrumbs>
391
+ <Breadcrumb.Section active>{PAGE.title}</Breadcrumb.Section>
392
+ </AppBreadcrumbs>
393
+ <${names.capital}SearchInput
394
+ input={register('keyword')}
395
+ dropdown={register('search')}
396
+ />
397
+ </div>
398
+ <div className="filters-row">
399
+ ${filterColumns
400
+ .map((col) => {
401
+ return this.renderFilter(smdId, col, names);
402
+ })
403
+ .join("&nbsp;\n")}
404
+ </div>
405
+ </div>
406
+
407
+ <Segment basic padded className="contents-segment" loading={isLoading}>
408
+ <div className="buttons-row">
409
+ <div className={classNames('count', { hidden: isLoading })}>
410
+ {total} 건
411
+ </div>
412
+ <div className="buttons">
413
+ <AddButton currentRoute={PAGE.route} icon="write" label="추가" />
414
+ </div>
415
+ </div>
416
+
417
+ <Table
418
+ celled
419
+ compact
420
+ selectable
421
+ className={classNames({ hidden: total === undefined || total === 0 })}
422
+ >
423
+ <Table.Header>
424
+ <TableRow>
425
+ <Table.HeaderCell collapsing>
426
+ <Checkbox
427
+ label="ID"
428
+ checked={isAllSelected}
429
+ onChange={isAllSelected ? deselectAll : selectAll}
430
+ />
431
+ </Table.HeaderCell>
432
+ {
433
+ /* Header */
434
+ columns.map((col, index) => col.th ?? <Table.HeaderCell key={index}>{ col.label }</Table.HeaderCell>)
435
+ }
436
+ <Table.HeaderCell>관리</Table.HeaderCell>
437
+ </TableRow>
438
+ </Table.Header>
439
+ <Table.Body>
440
+ {rows &&
441
+ rows.map((row, rowIndex) => (
442
+ <Table.Row key={row.id}>
443
+ <Table.Cell>
444
+ <Checkbox
445
+ label={row.id}
446
+ checked={getSelected(row.id)}
447
+ onChange={() => toggle(row.id)}
448
+ />
449
+ </Table.Cell>
450
+ {
451
+ /* Body */
452
+ columns.map((col, colIndex) => (
453
+ <Table.Cell key={colIndex} collapsing={col.collapsing} className={col.className}>
454
+ {col.tc(row, rowIndex)}
455
+ </Table.Cell>
456
+ ))
457
+ }
458
+ <Table.Cell collapsing>
459
+ <EditButton
460
+ as={Link}
461
+ to={\`\${PAGE.route}/form?id=\${row.id}\`}
462
+ state={{ from: PAGE.route }}
463
+ />
464
+ <DelButton onClick={() => confirmDel([row.id])} />
465
+ </Table.Cell>
466
+ </Table.Row>
467
+ ))}
468
+ </Table.Body>
469
+ </Table>
470
+ <div
471
+ className={classNames('pagination-row', {
472
+ hidden: (total ?? 0) === 0,
473
+ })}
474
+ >
475
+ <Pagination
476
+ totalPages={Math.ceil((total ?? 0) / (listParams.num ?? 24))}
477
+ {...register('page')}
478
+ />
479
+ </div>
480
+ </Segment>
481
+
482
+ <div className="fixed-menu">
483
+ <Transition
484
+ visible={selectedKeys.length > 0}
485
+ animation="slide left"
486
+ duration={500}
487
+ >
488
+ <Message size="small" color="violet" className="text-center">
489
+ <span className="px-4">{selectedKeys.length}개 선택됨</span>
490
+ <Button size="tiny" color="violet" onClick={() => deselectAll()}>
491
+ 선택 해제
492
+ </Button>
493
+ <Button size="tiny" color="red" onClick={confirmDelSelected}>
494
+ 일괄 삭제
495
+ </Button>
496
+ </Message>
497
+ </Transition>
498
+ </div>
499
+ </div>
500
+ );
501
+ }
502
+ `.trim(), importKeys: [], preTemplates });
503
+ }
504
+ }
505
+ exports.Template__view_list = Template__view_list;
506
+ function getEnumInfoFromColName(smdId, colName) {
507
+ const baseMd = smd_manager_1.SMDManager.get(smdId);
508
+ const prop = baseMd.props.find((p) => p.name === colName);
509
+ if (prop && (0, types_1.isEnumProp)(prop)) {
510
+ const modulePath = smd_manager_1.SMDManager.getModulePath(prop.id);
511
+ const targetMDId = (0, inflection_1.camelize)(modulePath.split("/")[0].replace("-", "_"));
512
+ const targetMDNames = smd_manager_1.SMDManager.getNamesFromId(targetMDId);
513
+ const name = (0, inflection_1.underscore)(prop.id.replace(targetMDNames.capital, "")).toUpperCase();
514
+ return {
515
+ id: prop.id,
516
+ name,
517
+ targetMDId,
518
+ targetMDNames,
519
+ modulePath,
520
+ };
521
+ }
522
+ else {
523
+ const idCandidate = (0, inflection_1.camelize)((0, inflection_1.underscore)(smdId) + "_" + (0, inflection_1.underscore)(colName), false);
524
+ try {
525
+ const modulePath = smd_manager_1.SMDManager.getModulePath(idCandidate);
526
+ const targetMDNames = smd_manager_1.SMDManager.getNamesFromId(smdId);
527
+ const name = (0, inflection_1.underscore)(colName).toUpperCase();
528
+ return {
529
+ id: idCandidate,
530
+ name,
531
+ targetMDId: smdId,
532
+ targetMDNames,
533
+ modulePath,
534
+ };
535
+ }
536
+ catch (_a) { }
537
+ throw new Error(`찾을 수 없는 EnumProp ${colName}`);
538
+ }
539
+ }
540
+ exports.getEnumInfoFromColName = getEnumInfoFromColName;
541
+ function getRelationPropFromColName(smdId, colName) {
542
+ const baseMd = smd_manager_1.SMDManager.get(smdId);
543
+ const relProp = baseMd.props.find((prop) => prop.name === colName);
544
+ if ((0, types_1.isRelationProp)(relProp)) {
545
+ return relProp;
546
+ }
547
+ else {
548
+ throw new Error(`찾을 수 없는 Relation ${colName}`);
549
+ }
550
+ }
551
+ exports.getRelationPropFromColName = getRelationPropFromColName;
552
+ //# sourceMappingURL=view_list.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view_list.template.js","sourceRoot":"","sources":["../../src/templates/view_list.template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { TemplateOptions } from "../types/types";
2
+ import { SMDNamesRecord } from "../smd/smd-manager";
3
+ import { Template } from "./base-template";
4
+ export declare class Template__view_list_columns extends Template {
5
+ constructor();
6
+ getTargetAndPath(names: SMDNamesRecord): {
7
+ target: string;
8
+ path: string;
9
+ };
10
+ render({ smdId, columns, columnImports, }: TemplateOptions["view_list_columns"]): {
11
+ body: string;
12
+ importKeys: never[];
13
+ target: string;
14
+ path: string;
15
+ };
16
+ }
17
+ //# sourceMappingURL=view_list_columns.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view_list_columns.template.d.ts","sourceRoot":"","sources":["../../src/templates/view_list_columns.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,cAAc;;;;IAQtC,MAAM,CAAC,EACL,KAAK,EACL,OAAO,EACP,aAAa,GACd,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;CAqCxC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Template__view_list_columns = void 0;
4
+ const smd_manager_1 = require("../smd/smd-manager");
5
+ const base_template_1 = require("./base-template");
6
+ class Template__view_list_columns extends base_template_1.Template {
7
+ constructor() {
8
+ super("view_list_columns");
9
+ }
10
+ getTargetAndPath(names) {
11
+ return {
12
+ target: "web/src/pages/admin",
13
+ path: `${names.fsPlural}/_columns.tsx`,
14
+ };
15
+ }
16
+ // 컬럼
17
+ render({ smdId, columns, columnImports, }) {
18
+ const names = smd_manager_1.SMDManager.getNamesFromId(smdId);
19
+ return Object.assign(Object.assign({}, this.getTargetAndPath(names)), { body: `
20
+ import React from 'react';
21
+ import {
22
+ Segment,
23
+ Table,
24
+ TableRow,
25
+ Button,
26
+ Label,
27
+ } from 'semantic-ui-react';
28
+ import { DateTime } from "luxon";
29
+ import { TFColumn } from "src/typeframe/iso-types";
30
+ import { ${names.capital}SubsetA } from "src/services/${names.fs}/${names.fs}.generated";
31
+ ${columnImports}
32
+
33
+ const columns: { [key in Exclude<keyof ${names.capital}SubsetA, 'id'>]: TFColumn<${names.capital}SubsetA> } = {${columns
34
+ .map((col) => {
35
+ return [
36
+ `${col.name}: { label: "${col.label}",`,
37
+ `tc: ${col.tc}, `,
38
+ `collapsing: ${["Title", "Name"].includes(col.label) === false}, }`,
39
+ ].join("\n");
40
+ })
41
+ .join(",\n")}};
42
+ export default columns;
43
+ `.trim(), importKeys: [] });
44
+ }
45
+ }
46
+ exports.Template__view_list_columns = Template__view_list_columns;
47
+ //# sourceMappingURL=view_list_columns.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view_list_columns.template.js","sourceRoot":"","sources":["../../src/templates/view_list_columns.template.ts"],"names":[],"mappings":";;;AACA,oDAAgE;AAChE,mDAA2C;AAE3C,MAAa,2BAA4B,SAAQ,wBAAQ;IACvD;QACE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,KAAqB;QACpC,OAAO;YACL,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,eAAe;SACvC,CAAC;IACJ,CAAC;IAED,KAAK;IACL,MAAM,CAAC,EACL,KAAK,EACL,OAAO,EACP,aAAa,GACwB;QACrC,MAAM,KAAK,GAAG,wBAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE/C,uCACK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAC/B,IAAI,EAAE;;;;;;;;;;;WAWD,KAAK,CAAC,OAAO,gCAAgC,KAAK,CAAC,EAAE,IACxD,KAAK,CAAC,EACR;EACJ,aAAa;;yCAGP,KAAK,CAAC,OACR,6BAA6B,KAAK,CAAC,OAAO,iBAAiB,OAAO;iBAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,OAAO;oBACL,GAAG,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,KAAK,IAAI;oBACvC,OAAO,GAAG,CAAC,EAAE,IAAI;oBACjB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK;iBACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;iBACD,IAAI,CAAC,KAAK,CAAC;;OAEb,CAAC,IAAI,EAAE,EACR,UAAU,EAAE,EAAE,IACd;IACJ,CAAC;CACF;AAtDD,kEAsDC"}
@@ -0,0 +1,17 @@
1
+ import { TemplateOptions } from "../types/types";
2
+ import { SMDNamesRecord } from "../smd/smd-manager";
3
+ import { Template } from "./base-template";
4
+ export declare class Template__view_search_input extends Template {
5
+ constructor();
6
+ getTargetAndPath(names: SMDNamesRecord): {
7
+ target: string;
8
+ path: string;
9
+ };
10
+ render({ smdId }: TemplateOptions["view_search_input"]): {
11
+ body: string;
12
+ importKeys: never[];
13
+ target: string;
14
+ path: string;
15
+ };
16
+ }
17
+ //# sourceMappingURL=view_search_input.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view_search_input.template.d.ts","sourceRoot":"","sources":["../../src/templates/view_search_input.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,cAAc;;;;IAOtC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;CAkDvD"}