sonamu 0.2.38 → 0.2.40

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