@lcap/nasl 0.3.10-beta.6 → 0.3.10-beta.9

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 (85) hide show
  1. package/out/service/create/errHandles.js +12 -0
  2. package/out/service/create/errHandles.js.map +1 -1
  3. package/out/service/create/index.js +3 -0
  4. package/out/service/create/index.js.map +1 -1
  5. package/out/types/app/App.js +1 -1
  6. package/out/types/app/App.js.map +1 -1
  7. package/out/types/app/History.js +3 -2
  8. package/out/types/app/History.js.map +1 -1
  9. package/out/types/app/Service.d.ts +3 -0
  10. package/out/types/app/Service.js +10 -2
  11. package/out/types/app/Service.js.map +1 -1
  12. package/out/types/data/Entity.d.ts +4 -0
  13. package/out/types/data/Entity.js +8 -0
  14. package/out/types/data/Entity.js.map +1 -1
  15. package/out/types/data/EntityProperty.d.ts +5 -0
  16. package/out/types/data/EntityProperty.js +16 -0
  17. package/out/types/data/EntityProperty.js.map +1 -1
  18. package/out/types/data/genBlock/genCurdEditTableBlock.d.ts +3 -0
  19. package/out/types/data/genBlock/genCurdEditTableBlock.js +578 -0
  20. package/out/types/data/genBlock/genCurdEditTableBlock.js.map +1 -0
  21. package/out/types/data/genBlock/genEditTableBlock.d.ts +234 -0
  22. package/out/types/data/genBlock/genEditTableBlock.js +419 -0
  23. package/out/types/data/genBlock/genEditTableBlock.js.map +1 -0
  24. package/out/types/data/genBlock/genQueryComponent.d.ts +20 -0
  25. package/out/types/data/genBlock/genQueryComponent.js +57 -1
  26. package/out/types/data/genBlock/genQueryComponent.js.map +1 -1
  27. package/out/types/data/genBlock/genTableBlock.js +9 -5
  28. package/out/types/data/genBlock/genTableBlock.js.map +1 -1
  29. package/out/types/data/genBlock/index.d.ts +2 -0
  30. package/out/types/data/genBlock/index.js +2 -0
  31. package/out/types/data/genBlock/index.js.map +1 -1
  32. package/out/types/data/genBlock/utils.d.ts +7 -0
  33. package/out/types/data/genBlock/utils.js +38 -1
  34. package/out/types/data/genBlock/utils.js.map +1 -1
  35. package/out/types/logic/Logic.js +9 -10
  36. package/out/types/logic/Logic.js.map +1 -1
  37. package/out/types/logic/LogicItem.js +5 -7
  38. package/out/types/logic/LogicItem.js.map +1 -1
  39. package/out/types/logic/Param.js +3 -13
  40. package/out/types/logic/Param.js.map +1 -1
  41. package/out/types/logic/Return.js +3 -11
  42. package/out/types/logic/Return.js.map +1 -1
  43. package/out/types/logic/Variable.js +3 -6
  44. package/out/types/logic/Variable.js.map +1 -1
  45. package/out/types/logic/translator.js +6 -6
  46. package/out/types/logic/translator.js.map +1 -1
  47. package/out/types/page/Element.d.ts +6 -0
  48. package/out/types/page/Element.js +26 -2
  49. package/out/types/page/Element.js.map +1 -1
  50. package/out/types/page/Page.d.ts +4 -0
  51. package/out/types/page/Page.js +7 -0
  52. package/out/types/page/Page.js.map +1 -1
  53. package/out/types/page/View.d.ts +9 -0
  54. package/out/types/page/View.js +32 -0
  55. package/out/types/page/View.js.map +1 -1
  56. package/out/types/page/ViewVariable.js +0 -6
  57. package/out/types/page/ViewVariable.js.map +1 -1
  58. package/out/types/utils/index.d.ts +1 -0
  59. package/out/types/utils/index.js +16 -7
  60. package/out/types/utils/index.js.map +1 -1
  61. package/package.json +1 -1
  62. package/src/service/create/errHandles.js +12 -0
  63. package/src/service/create/index.js +4 -0
  64. package/src/types/app/App.ts +1 -1
  65. package/src/types/app/History.ts +3 -2
  66. package/src/types/app/Service.ts +14 -5
  67. package/src/types/data/Entity.ts +7 -0
  68. package/src/types/data/EntityProperty.ts +12 -0
  69. package/src/types/data/genBlock/genCurdEditTableBlock.ts +581 -0
  70. package/src/types/data/genBlock/genEditTableBlock.ts +470 -0
  71. package/src/types/data/genBlock/genQueryComponent.ts +56 -0
  72. package/src/types/data/genBlock/genTableBlock.ts +14 -10
  73. package/src/types/data/genBlock/index.ts +2 -0
  74. package/src/types/data/genBlock/utils.ts +38 -0
  75. package/src/types/logic/Logic.ts +10 -11
  76. package/src/types/logic/LogicItem.ts +7 -10
  77. package/src/types/logic/Param.ts +6 -19
  78. package/src/types/logic/Return.ts +18 -26
  79. package/src/types/logic/Variable.ts +18 -20
  80. package/src/types/logic/translator.js +9 -10
  81. package/src/types/page/Element.ts +27 -2
  82. package/src/types/page/Page.ts +7 -0
  83. package/src/types/page/View.ts +32 -0
  84. package/src/types/page/ViewVariable.ts +13 -19
  85. package/src/types/utils/index.ts +16 -7
@@ -0,0 +1,234 @@
1
+ import { Entity, EntityProperty, View, LEVEL_ENUM } from '../..';
2
+ import { NameGroup } from '.';
3
+ /**
4
+ * 根据实体属性生成表格列模板
5
+ * @param property 实体属性
6
+ */
7
+ export declare function genEditTableColumnTemplate(entity: Entity, property: EntityProperty, nameGroup: NameGroup, selectNameGroupMap?: Map<string, NameGroup>): string;
8
+ /**
9
+ * 生成表格模板
10
+ * @param entity 实体
11
+ * @param nameGroup 命名组
12
+ */
13
+ export declare function genEditTableTemplate(entity: Entity, nameGroup: NameGroup, selectNameGroupMap?: Map<string, NameGroup>): string;
14
+ /**
15
+ * 生成表格 load 逻辑
16
+ * @param entity 实体
17
+ */
18
+ export declare function genEditTableLoadLogic(entity: Entity, nameGroup: NameGroup, newStructures: Array<any>, newInterfaces: Array<any>, supportFilter: boolean): {
19
+ level: string;
20
+ name: string;
21
+ params: {
22
+ level: string;
23
+ type: string;
24
+ name: string;
25
+ schema: {
26
+ $ref: string;
27
+ };
28
+ }[];
29
+ returns: {
30
+ level: LEVEL_ENUM;
31
+ type: string;
32
+ name: string;
33
+ schema: import("../Schema").Schema;
34
+ }[];
35
+ variables: any[];
36
+ body: ({
37
+ level: string;
38
+ type: string;
39
+ label: string;
40
+ operator?: undefined;
41
+ left?: undefined;
42
+ right?: undefined;
43
+ } | {
44
+ level: string;
45
+ type: string;
46
+ label: string;
47
+ operator: string;
48
+ left: {
49
+ level: string;
50
+ type: string;
51
+ name: string;
52
+ };
53
+ right: {
54
+ level: string;
55
+ type: string;
56
+ label: string;
57
+ callee: any;
58
+ calleeCode: string;
59
+ params: Partial<import("../..").LogicItem>[];
60
+ interfaceKey?: undefined;
61
+ } | {
62
+ level: string;
63
+ type: string;
64
+ label: string;
65
+ interfaceKey: any;
66
+ params: Partial<import("../..").LogicItem>[];
67
+ callee?: undefined;
68
+ calleeCode?: undefined;
69
+ };
70
+ })[];
71
+ };
72
+ /**
73
+ * 生成表格 remove 逻辑
74
+ * @param entity 实体
75
+ */
76
+ export declare function genEditTableRemoveLogic(entity: Entity, nameGroup: NameGroup): {
77
+ level: string;
78
+ name: string;
79
+ params: ({
80
+ level: string;
81
+ type: string;
82
+ name: string;
83
+ schema: {
84
+ $ref: string;
85
+ };
86
+ } | {
87
+ level: string;
88
+ name: string;
89
+ schema: import("../Schema").Schema;
90
+ type?: undefined;
91
+ })[];
92
+ returns: any[];
93
+ variables: any[];
94
+ body: ({
95
+ level: string;
96
+ type: string;
97
+ label: string;
98
+ callee: string;
99
+ calleeCode: string;
100
+ params: {
101
+ level: string;
102
+ type: string;
103
+ callInterParamValue: any;
104
+ name: string;
105
+ }[];
106
+ } | {
107
+ level: string;
108
+ type: string;
109
+ label: string;
110
+ interfaceKey: string;
111
+ params: Partial<import("../..").LogicItem>[];
112
+ } | {
113
+ level: string;
114
+ type: string;
115
+ label: string;
116
+ callee: string;
117
+ calleeCode: string;
118
+ params: Partial<import("../..").LogicItem>[];
119
+ } | {
120
+ level: string;
121
+ type: string;
122
+ label: string;
123
+ })[];
124
+ };
125
+ /**
126
+ * 生成表格 双击编辑 逻辑
127
+ * @param entity 实体
128
+ */
129
+ export declare function genEditTableDblclickLogic(property: EntityProperty, nameGroup: NameGroup, existingNameSets: {
130
+ viewLogic: Set<string>;
131
+ interface: Set<string>;
132
+ structure: Set<string>;
133
+ }): {
134
+ level: string;
135
+ name: string;
136
+ params: ({
137
+ level: string;
138
+ type: string;
139
+ name: string;
140
+ schema: {
141
+ $ref: string;
142
+ };
143
+ } | {
144
+ level: string;
145
+ name: string;
146
+ schema: import("../Schema").Schema;
147
+ type?: undefined;
148
+ })[];
149
+ returns: any[];
150
+ variables: any[];
151
+ body: ({
152
+ level: string;
153
+ type: string;
154
+ label: string;
155
+ operator?: undefined;
156
+ left?: undefined;
157
+ right?: undefined;
158
+ } | {
159
+ level: string;
160
+ type: string;
161
+ label: string;
162
+ operator: string;
163
+ left: any;
164
+ right: {
165
+ level: string;
166
+ type: string;
167
+ value: string;
168
+ };
169
+ })[];
170
+ };
171
+ /**
172
+ * 生成表格区块
173
+ * @param entity 实体
174
+ * @param view 所插入的页面,用于生成逻辑名字,去重等
175
+ * @notice 目前 logic 名去重做成前置处理了,与 mergeBlock 的后置处理不冲突
176
+ * (页面 load 名) -产生-> (interface 名) -产生-> (structure 名)
177
+ * load -> load_someView_tableView
178
+ * load_select_student -> load_someView_select_student
179
+ */
180
+ export declare function genEditTableBlock(entity: Entity, view: View): string;
181
+ export declare function genBlurUpdateLogic(entity: Entity, nameGroup: NameGroup): {
182
+ level: string;
183
+ name: string;
184
+ params: ({
185
+ level: string;
186
+ type: string;
187
+ name: string;
188
+ schema: {
189
+ $ref: string;
190
+ };
191
+ } | {
192
+ level: string;
193
+ name: string;
194
+ schema: import("../Schema").Schema;
195
+ type?: undefined;
196
+ })[];
197
+ returns: any[];
198
+ body: ({
199
+ level: string;
200
+ type: string;
201
+ label: string;
202
+ interfaceKey: string;
203
+ params: Partial<import("../..").LogicItem>[];
204
+ } | {
205
+ level: string;
206
+ type: string;
207
+ label: string;
208
+ callee: string;
209
+ calleeCode: string;
210
+ params: Partial<import("../..").LogicItem>[];
211
+ } | {
212
+ level: string;
213
+ type: string;
214
+ label: string;
215
+ operator?: undefined;
216
+ left?: undefined;
217
+ right?: undefined;
218
+ } | {
219
+ level: string;
220
+ type: string;
221
+ label: string;
222
+ operator: string;
223
+ left: any;
224
+ right: {
225
+ level: string;
226
+ type: string;
227
+ value: string;
228
+ };
229
+ })[];
230
+ playground: any[];
231
+ expanded: boolean;
232
+ };
233
+ export declare function genEditTableColumnBlock(property: EntityProperty, view: View): string;
234
+ export default genEditTableBlock;
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.genEditTableColumnBlock = exports.genBlurUpdateLogic = exports.genEditTableBlock = exports.genEditTableDblclickLogic = exports.genEditTableRemoveLogic = exports.genEditTableLoadLogic = exports.genEditTableTemplate = exports.genEditTableColumnTemplate = void 0;
4
+ const __1 = require("../..");
5
+ const _1 = require(".");
6
+ /**
7
+ * 根据实体属性生成表格列模板
8
+ * @param property 实体属性
9
+ */
10
+ function genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) {
11
+ const lowerEntityName = __1.utils.firstLowerCase(property.root.name);
12
+ const valueExpression = `scope.item.${lowerEntityName}.${property.name}`;
13
+ const title = property.label || property.name;
14
+ const expression = _1.getExpression(property, `scope.item.${lowerEntityName}.${property.name}`);
15
+ const canEditable = (property) => property.editable;
16
+ const getText = (property) => {
17
+ if (property.typeKey === '#/basicTypes/Boolean') {
18
+ return `
19
+ <u-text v-if="${expression}" text="是"></u-text>
20
+ <u-text v-if="!${expression}" text="否"></u-text>
21
+ `;
22
+ }
23
+ else {
24
+ return `<u-text :text="${expression}"></u-text>`;
25
+ }
26
+ };
27
+ const genEditComponent = (property) => {
28
+ if (!property.editable)
29
+ return '';
30
+ const label = property.label || property.name;
31
+ let formItem = '';
32
+ if (property.$relationEntity && selectNameGroupMap) { // 有外键关联
33
+ const relationEntity = __1.vertexsMap.get(property.$relationEntity);
34
+ if (relationEntity) {
35
+ const relationProperty = __1.vertexsMap.get(property.$relationProperty);
36
+ const displayedProperty = _1.getFirstDisplayedProperty(relationEntity, 'inForm');
37
+ if (displayedProperty) {
38
+ const lowerEntityName = __1.utils.firstLowerCase(relationEntity.name);
39
+ formItem += `
40
+ <u-select clearable placeholder="请选择${label}" :data-source="${selectNameGroupMap.get(relationEntity.id).load}"
41
+ :autofocus="true" :opened="true" append-to="body" @blur="${nameGroup.blurUpdate}" @select="${nameGroup.blurUpdate}"
42
+ text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pageable="true" :remote-paging="true" :value.sync="${valueExpression}">
43
+ </u-select>
44
+ `;
45
+ }
46
+ else
47
+ return '';
48
+ }
49
+ else
50
+ return '';
51
+ }
52
+ else if (property.typeKey === '#/basicTypes/Boolean') {
53
+ formItem += `<u-select clearable :value.sync="${valueExpression}" placeholder="请输入${label}"
54
+ :autofocus="true" :opened="true" append-to="body" @blur="${nameGroup.blurUpdate}" @select="${nameGroup.blurUpdate}">
55
+ <u-select-item :value="true">是</u-select-item>
56
+ <u-select-item :value="false">否</u-select-item>
57
+ </u-select>`;
58
+ }
59
+ else if (property.typeKey === '#/basicTypes/Integer' || property.typeKey === '#/basicTypes/Long') {
60
+ formItem = `<u-number-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.blurUpdate}"></u-number-input>`;
61
+ }
62
+ else if (property.typeKey === '#/basicTypes/Decimal') {
63
+ formItem = `<u-number-input :value.sync="${valueExpression}" :precision="0" :step="0" placeholder="请输入${label}" :autofocus="true" @blur="${nameGroup.blurUpdate}"></u-number-input>`;
64
+ }
65
+ else if (property.typeKey === '#/basicTypes/Text') {
66
+ formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.blurUpdate}" style="width:100%">
67
+ <u-textarea :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" size="full"></u-textarea>
68
+ </u-validator>`;
69
+ }
70
+ else if (property.typeKey === '#/basicTypes/Date') {
71
+ formItem = `<u-date-picker clearable :date.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" :opened="true" @blur="${nameGroup.blurUpdate}"></u-date-picker>`;
72
+ }
73
+ else if (property.typeKey === '#/basicTypes/Time') {
74
+ formItem = `<u-time-picker :time.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" @blur="${nameGroup.blurUpdate}"></u-time-picker>`;
75
+ }
76
+ else if (property.typeKey === '#/basicTypes/DateTime') {
77
+ formItem = `<u-date-time-picker clearable :date.sync="${valueExpression}" placeholder="请输入${label}" append-to="body" :autofocus="true" :opened="true" @blur="${nameGroup.blurUpdate}"></u-date-time-picker>`;
78
+ }
79
+ else if (__1.dataTypesMap[property.typeKey].type === 'enum') {
80
+ formItem = `<u-select clearable :value.sync="${valueExpression}" placeholder="请选择${label}"
81
+ :autofocus="true" :opened="true" append-to="body" :data-source="ID_ENUM_LIST_${__1.dataTypesMap[property.typeKey].id}"
82
+ @blur="${nameGroup.blurUpdate}" @select="${nameGroup.blurUpdate}">
83
+ </u-select>`;
84
+ }
85
+ else {
86
+ formItem = `<u-validator placement="bottom" display="appear" @blur-valid="${nameGroup.blurUpdate}" style="width:100%" append-to="body">
87
+ <u-input :value.sync="${valueExpression}" placeholder="请输入${label}" :autofocus="true" size="full"></u-input>
88
+ </u-validator>`;
89
+ }
90
+ return `<template #editcell="scope">
91
+ <u-linear-layout gap="small">
92
+ ${formItem}
93
+ </u-linear-layout>
94
+ </template>`;
95
+ };
96
+ return `<u-table-view-column title="${title}" field="${__1.utils.firstLowerCase(entity.name)}.${property.name}" ${canEditable(property) ? 'type="editable"' : ''}>
97
+ <template #cell="scope">
98
+ <u-linear-layout gap="small">
99
+ ${getText(property)}
100
+ </u-linear-layout>
101
+ </template>
102
+ ${genEditComponent(property)}
103
+ </u-table-view-column>`;
104
+ }
105
+ exports.genEditTableColumnTemplate = genEditTableColumnTemplate;
106
+ /**
107
+ * 生成表格模板
108
+ * @param entity 实体
109
+ * @param nameGroup 命名组
110
+ */
111
+ function genEditTableTemplate(entity, nameGroup, selectNameGroupMap) {
112
+ const propertyList = entity.propertyList
113
+ .filter(_1.filterProperty('inTable'));
114
+ return `<u-table-view ref="tableView" :data-source="${nameGroup.load}" data-schema="${nameGroup.structure}"
115
+ value-field="${nameGroup.lowerEntity}.id"
116
+ :pageable="true" :remote-paging="true" :show-sizer="true" :default-column-width="300" editable>
117
+ <u-table-view-column type="index" width="60" title="序号"></u-table-view-column>
118
+
119
+ ${propertyList.map((property) => genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) + '\n').join('')}
120
+
121
+ <u-table-view-column title="操作">
122
+ <template #cell="scope">
123
+ <u-linear-layout gap="small">
124
+ <u-link @click="${nameGroup.remove}($event, scope)">删除</u-link>
125
+ </u-linear-layout>
126
+ </template>
127
+ </u-table-view-column>
128
+ </u-table-view>
129
+ `;
130
+ }
131
+ exports.genEditTableTemplate = genEditTableTemplate;
132
+ /**
133
+ * 生成表格 load 逻辑
134
+ * @param entity 实体
135
+ */
136
+ function genEditTableLoadLogic(entity, nameGroup, newStructures, newInterfaces, supportFilter) {
137
+ const paramsSchema = {
138
+ $ref: '#/systemTypes/DataSourceParams',
139
+ };
140
+ const resultSchema = _1.genGenericTypeSchema('PageOf', { T: { $ref: nameGroup.structure } });
141
+ const params = [
142
+ _1.genInterParam(`${newInterfaces[0].name}.${newInterfaces[0].logic.params[0].name}`, 'params.page', [undefined, undefined]),
143
+ _1.genInterParam(`${newInterfaces[0].name}.${newInterfaces[0].logic.params[1].name}`, 'params.size', [undefined, undefined]),
144
+ _1.genInterParam(`${newInterfaces[0].name}.${newInterfaces[0].logic.params[2].name}`, 'params.sort', [undefined, undefined]),
145
+ _1.genInterParam(`${newInterfaces[0].name}.${newInterfaces[0].logic.params[3].name}`, 'params.order', [undefined, undefined]),
146
+ ];
147
+ if (supportFilter)
148
+ params.push(_1.genInterParam(`${newInterfaces[0].name}.${newInterfaces[0].logic.params[4].name}`, 'filter', [undefined]));
149
+ return {
150
+ level: 'logic',
151
+ name: nameGroup.load,
152
+ params: [{
153
+ level: 'param',
154
+ type: 'Identifier',
155
+ name: 'params',
156
+ schema: paramsSchema,
157
+ }],
158
+ returns: [
159
+ _1.genVariable('result', resultSchema, __1.LEVEL_ENUM.return),
160
+ ],
161
+ variables: [],
162
+ body: [{
163
+ level: 'logicNode',
164
+ type: 'Start',
165
+ label: '开始',
166
+ }, {
167
+ level: 'logicNode',
168
+ type: 'AssignmentExpression',
169
+ label: '赋值',
170
+ operator: '=',
171
+ left: {
172
+ level: 'expressionNode',
173
+ type: 'Identifier',
174
+ name: 'result',
175
+ },
176
+ right: _1.genCallInterfaceFromTempInterface(newInterfaces[0], params),
177
+ }, {
178
+ level: 'logicNode',
179
+ type: 'End',
180
+ label: '结束',
181
+ }],
182
+ };
183
+ }
184
+ exports.genEditTableLoadLogic = genEditTableLoadLogic;
185
+ /**
186
+ * 生成表格 remove 逻辑
187
+ * @param entity 实体
188
+ */
189
+ function genEditTableRemoveLogic(entity, nameGroup) {
190
+ const scopeStructureSchema = _1.genGenericTypeSchema('ScopeOf', { T: { $ref: nameGroup.structure } });
191
+ const deleteResolver = entity.resolvers.find((resolver) => resolver.name === 'delete');
192
+ const deleteInterface = deleteResolver.interface;
193
+ const idParam = _1.getParamFromResolver(deleteResolver, 'id');
194
+ const idProperty = entity.propertyList.find((property) => property.primaryKey || property.name === 'id');
195
+ return {
196
+ level: 'logic',
197
+ name: nameGroup.remove,
198
+ params: [{
199
+ level: 'param',
200
+ type: 'Identifier',
201
+ name: 'event',
202
+ schema: { $ref: '#/basicTypes/String' },
203
+ }, {
204
+ level: 'param',
205
+ name: 'scope',
206
+ schema: scopeStructureSchema,
207
+ }],
208
+ returns: [],
209
+ variables: [],
210
+ body: [{
211
+ level: 'logicNode',
212
+ type: 'Start',
213
+ label: '开始',
214
+ },
215
+ _1.genCallInterface(deleteInterface, [
216
+ _1.genInterParam(idParam.id, `scope.item.${nameGroup.lowerEntity}.id`, ['', '', `${nameGroup.structure}.${nameGroup.lowerEntity}`, idProperty.id]),
217
+ ]),
218
+ _1.genCallComponentLogic('tableView', 'reload'),
219
+ {
220
+ level: 'logicNode',
221
+ label: '结束',
222
+ type: 'End',
223
+ }],
224
+ };
225
+ }
226
+ exports.genEditTableRemoveLogic = genEditTableRemoveLogic;
227
+ /**
228
+ * 生成表格 双击编辑 逻辑
229
+ * @param entity 实体
230
+ */
231
+ function genEditTableDblclickLogic(property, nameGroup, existingNameSets) {
232
+ const scopeStructureSchema = _1.genGenericTypeSchema('ScopeOf', { T: { $ref: nameGroup.structure } });
233
+ const logicName = __1.utils.unique(`set${__1.utils.firstUpperCase(property.name)}Edit`, existingNameSets.viewLogic);
234
+ return {
235
+ level: 'logic',
236
+ name: logicName,
237
+ params: [{
238
+ level: 'param',
239
+ type: 'Identifier',
240
+ name: 'event',
241
+ schema: { $ref: '#/basicTypes/String' },
242
+ }, {
243
+ level: 'param',
244
+ name: 'scope',
245
+ schema: scopeStructureSchema,
246
+ }],
247
+ returns: [],
248
+ variables: [],
249
+ body: [{
250
+ level: 'logicNode',
251
+ type: 'Start',
252
+ label: '开始',
253
+ },
254
+ {
255
+ level: 'logicNode',
256
+ type: 'AssignmentExpression',
257
+ label: '赋值',
258
+ operator: '=',
259
+ left: _1.genMemberExpression(`scope.item.editing`, ['', '', `${nameGroup.structure}.editing`]),
260
+ right: {
261
+ level: 'expressionNode',
262
+ type: 'StringLiteral',
263
+ value: `${property.name}`,
264
+ },
265
+ },
266
+ {
267
+ level: 'logicNode',
268
+ label: '结束',
269
+ type: 'End',
270
+ }],
271
+ };
272
+ }
273
+ exports.genEditTableDblclickLogic = genEditTableDblclickLogic;
274
+ /**
275
+ * 生成表格区块
276
+ * @param entity 实体
277
+ * @param view 所插入的页面,用于生成逻辑名字,去重等
278
+ * @notice 目前 logic 名去重做成前置处理了,与 mergeBlock 的后置处理不冲突
279
+ * (页面 load 名) -产生-> (interface 名) -产生-> (structure 名)
280
+ * load -> load_someView_tableView
281
+ * load_select_student -> load_someView_select_student
282
+ */
283
+ function genEditTableBlock(entity, view) {
284
+ const existingNameSets = {
285
+ viewLogic: new Set(view.$def.logics.map((logic) => logic.name)),
286
+ interface: new Set(entity.dataNode.service.interfaces.map((itface) => itface.name)),
287
+ structure: new Set(entity.dataNode.structures.map((structure) => structure.name)),
288
+ };
289
+ const nameGroup = _1.genUniqueQueryNameGroup(existingNameSets, view.name, 'tableView');
290
+ nameGroup.remove = __1.utils.unique('remove', existingNameSets.viewLogic);
291
+ nameGroup.blurUpdate = __1.utils.unique('blurUpdate', existingNameSets.viewLogic);
292
+ nameGroup.lowerEntity = __1.utils.firstLowerCase(entity.name);
293
+ // 收集所有和本实体关联的实体
294
+ const allEntities = [entity];
295
+ entity.propertyList.forEach((property) => {
296
+ if (property.$relationEntity) { // 有外键关联
297
+ const relationEntity = __1.vertexsMap.get(property.$relationEntity);
298
+ if (relationEntity) {
299
+ const displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
300
+ if (displayedProperty)
301
+ allEntities.push(relationEntity);
302
+ }
303
+ }
304
+ });
305
+ const newStructures = [_1.genEditQueryStructure(allEntities, nameGroup)];
306
+ const newInterfaces = [_1.genQueryInterface(allEntities, nameGroup, false, true)];
307
+ return `
308
+ <template>
309
+ ${genEditTableTemplate(entity, nameGroup)}
310
+ </template>
311
+ <definition>
312
+ {
313
+ "logics": [
314
+ ${JSON.stringify(genEditTableLoadLogic(entity, nameGroup, newStructures, newInterfaces, false))},
315
+ ${JSON.stringify(genEditTableRemoveLogic(entity, nameGroup))}
316
+ ],
317
+ "interfaces": ${JSON.stringify(newInterfaces)},
318
+ "structures": ${JSON.stringify(newStructures)}
319
+ }
320
+ </definition>
321
+ `;
322
+ }
323
+ exports.genEditTableBlock = genEditTableBlock;
324
+ function genBlurUpdateLogic(entity, nameGroup) {
325
+ const scopeStructureSchema = _1.genGenericTypeSchema('ScopeOf', { T: { $ref: nameGroup.structure } });
326
+ const updateResolver = entity.resolvers.find((item) => item.name === 'update');
327
+ const updateBodyParam = _1.getParamFromResolver(updateResolver, 'body');
328
+ return {
329
+ level: 'logic',
330
+ name: nameGroup.blurUpdate,
331
+ params: [{
332
+ level: 'param',
333
+ type: 'Identifier',
334
+ name: 'event',
335
+ schema: { $ref: '#/basicTypes/String' },
336
+ }, {
337
+ level: 'param',
338
+ name: 'scope',
339
+ schema: scopeStructureSchema,
340
+ }],
341
+ returns: [],
342
+ body: [
343
+ {
344
+ level: 'logicNode',
345
+ type: 'Start',
346
+ label: '开始',
347
+ },
348
+ {
349
+ level: 'logicNode',
350
+ type: 'AssignmentExpression',
351
+ label: '赋值',
352
+ operator: '=',
353
+ left: _1.genMemberExpression(`scope.item.editing`, ['', '', `${nameGroup.structure}.editing`]),
354
+ right: {
355
+ level: 'expressionNode',
356
+ type: 'StringLiteral',
357
+ value: '',
358
+ },
359
+ },
360
+ _1.genCallInterface(updateResolver.interface, [
361
+ _1.genInterParam(updateBodyParam.id, `scope.item.${nameGroup.lowerEntity}`, ['', '', `${nameGroup.structure}.${nameGroup.lowerEntity}`]),
362
+ ]),
363
+ {
364
+ level: 'logicNode',
365
+ type: 'End',
366
+ label: '结束',
367
+ },
368
+ ],
369
+ playground: [],
370
+ expanded: false,
371
+ };
372
+ }
373
+ exports.genBlurUpdateLogic = genBlurUpdateLogic;
374
+ function genEditTableColumnBlock(property, view) {
375
+ const entity = property.root;
376
+ const existingNameSets = {
377
+ viewLogic: new Set(view.$def.logics.map((logic) => logic.name)),
378
+ interface: new Set(entity.dataNode.service.interfaces.map((itface) => itface.name)),
379
+ structure: new Set(entity.dataNode.structures.map((structure) => structure.name)),
380
+ };
381
+ const nameGroup = _1.genUniqueQueryNameGroup(existingNameSets, view.name, 'tableView');
382
+ nameGroup.remove = __1.utils.unique('remove', existingNameSets.viewLogic);
383
+ nameGroup.lowerEntity = __1.utils.firstLowerCase(entity.name);
384
+ // 收集所有和本实体关联的实体
385
+ const allEntities = [entity];
386
+ const propertyList = [property];
387
+ propertyList.forEach((property) => {
388
+ if (property.$relationEntity) { // 有外键关联
389
+ const relationEntity = __1.vertexsMap.get(property.$relationEntity);
390
+ if (relationEntity) {
391
+ const displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
392
+ if (displayedProperty)
393
+ allEntities.push(relationEntity);
394
+ }
395
+ }
396
+ });
397
+ const newStructures = [_1.genEditQueryStructure(allEntities, nameGroup)];
398
+ const newInterfaces = [_1.genQueryInterface(allEntities, nameGroup, false, true)];
399
+ return `
400
+ <template>
401
+ <u-table-view ref="tableView" :data-source="${nameGroup.load}" :pageable="true" :remote-paging="true" :show-sizer="true" data-schema="${nameGroup.structure}">
402
+ ${propertyList.map((property) => genEditTableColumnTemplate(entity, property, nameGroup) + '\n').join('')}
403
+ </u-table-view>
404
+ </template>
405
+ <definition>
406
+ {
407
+ "logics": [
408
+ ${JSON.stringify(genEditTableLoadLogic(entity, nameGroup, newStructures, newInterfaces, false))},
409
+ ${JSON.stringify(genBlurUpdateLogic(entity, nameGroup))}
410
+ ],
411
+ "interfaces": ${JSON.stringify(newInterfaces)},
412
+ "structures": ${JSON.stringify(newStructures)}
413
+ }
414
+ </definition>
415
+ `;
416
+ }
417
+ exports.genEditTableColumnBlock = genEditTableColumnBlock;
418
+ exports.default = genEditTableBlock;
419
+ //# sourceMappingURL=genEditTableBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genEditTableBlock.js","sourceRoot":"","sources":["../../../../src/types/data/genBlock/genEditTableBlock.ts"],"names":[],"mappings":"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"}