@lcap/nasl 2.20.0-beta.3 → 2.20.0
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.
- package/out/automate/engine/index.d.ts +1 -1
- package/out/automate/engine/index.js +2 -3
- package/out/automate/engine/index.js.map +1 -1
- package/out/automate/engine/uniqueName.d.ts +1 -1
- package/out/automate/engine/uniqueName.js +2 -2
- package/out/automate/engine/uniqueName.js.map +1 -1
- package/out/automate/engine/utils.js +4 -1
- package/out/automate/engine/utils.js.map +1 -1
- package/out/automate/template/myProcess.d.ts +1 -1
- package/out/automate/template/myProcess.js +2 -2
- package/out/automate/template/myProcess.js.map +1 -1
- package/out/bak/translator.js +14 -22
- package/out/bak/translator.js.map +1 -1
- package/out/common/BaseNode.js +4 -1
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/Command.d.ts +1 -0
- package/out/common/Command.js +5 -1
- package/out/common/Command.js.map +1 -1
- package/out/concepts/App__.d.ts +4 -0
- package/out/concepts/App__.js +30 -6
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Assignee__.js +4 -3
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/BatchAssignment__.js +3 -3
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +7 -0
- package/out/concepts/BindAttribute__.js +270 -39
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +7 -0
- package/out/concepts/BindDirective__.js +215 -17
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindStyle__.d.ts +7 -0
- package/out/concepts/BindStyle__.js +194 -4
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/CallFunction__.js +22 -8
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.js +3 -2
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +3 -0
- package/out/concepts/CallLogic__.js +78 -89
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +20 -3
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +1 -0
- package/out/concepts/ConfigGroup__.js +13 -0
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.d.ts +19 -0
- package/out/concepts/ConfigProperty__.js +61 -0
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.d.ts +1 -0
- package/out/concepts/Configuration__.js +13 -0
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +1 -0
- package/out/concepts/Destination__.js +61 -7
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.js +9 -1
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/EnumItem__.d.ts +5 -5
- package/out/concepts/EnumItem__.js +6 -6
- package/out/concepts/Enum__.d.ts +20 -19
- package/out/concepts/Enum__.js +28 -1
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/ExternalDestination__.d.ts +1 -0
- package/out/concepts/ExternalDestination__.js +21 -3
- package/out/concepts/ExternalDestination__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +2 -0
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +2 -1
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Identifier__.js +16 -5
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/InterfaceParam__.js +9 -1
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/JSBlock__.js +5 -1
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +79 -79
- package/out/concepts/Logic__.js +16 -3
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.d.ts +0 -3
- package/out/concepts/Match__.js +11 -66
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.js +9 -0
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +16 -0
- package/out/concepts/Module__.js +43 -0
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +2 -4
- package/out/concepts/NewComposite__.js +91 -126
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.d.ts +1 -0
- package/out/concepts/NewList__.js +22 -2
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.d.ts +1 -0
- package/out/concepts/NewMap__.js +43 -11
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.js +40 -12
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/Param__.js +10 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +2 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/ProcessOutcomes__.js +1 -1
- package/out/concepts/ProcessOutcomes__.js.map +1 -1
- package/out/concepts/Process__.js +1 -0
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/Return__.js +10 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/StringInterpolation__.js +14 -2
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/StringLiteral__.js +6 -6
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.js +9 -1
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +6 -3
- package/out/concepts/TypeAnnotation__.js +67 -13
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +53 -0
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.js +9 -1
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.js +17 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +1 -3
- package/out/concepts/View__.js +22 -11
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
- package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
- package/out/concepts/basics/stdlib/nasl.core.js +34 -0
- package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +4 -2
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/types/index.d.ts +1 -0
- package/out/concepts/basics/types/index.js +3 -1
- package/out/concepts/basics/types/index.js.map +1 -1
- package/out/concepts/index__.d.ts +0 -1
- package/out/concepts/index__.js +0 -1
- package/out/concepts/index__.js.map +1 -1
- package/out/enums/KEYWORDS.js +8 -0
- package/out/enums/KEYWORDS.js.map +1 -1
- package/out/generator/genBundleFiles.js +24 -5
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.d.ts +2 -3
- package/out/generator/genReleaseBody.js +97 -23
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/generator/permission.d.ts +2 -10
- package/out/generator/permission.js +26 -13
- package/out/generator/permission.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +2 -20
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/extendBaseNode.js +16 -5
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/formatTsUtils.d.ts +2 -1
- package/out/server/formatTsUtils.js +40 -10
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getLogics.d.ts +2 -2
- package/out/server/getLogics.js +3 -3
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +1 -0
- package/out/server/getMemberIdentifier.js +27 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/index.js +1 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +7 -1
- package/out/server/naslServer.js +519 -46
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +109 -33
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.js +21 -1
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +1 -3
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +2 -4
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +1 -1
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.js +2 -2
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +7 -1
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genSelectBlock.js +1 -1
- package/out/templator/genSelectBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +2 -2
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +2 -3
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/utils/traverse.js +8 -2
- package/out/utils/traverse.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/dist/nasl.logging.js +0 -0
- package/sandbox/stdlib/dist/nasl.util.js +0 -0
- package/sandbox/stdlib/nasl.collection.ts +1 -0
- package/sandbox/stdlib/nasl.core.ts +34 -0
- package/sandbox/stdlib/nasl.oql.ts +71 -15
- package/sandbox/stdlib/nasl.util.ts +9 -3
- package/src/automate/engine/dist/index.dev.js +517 -0
- package/src/automate/engine/index.js +2 -3
- package/src/automate/engine/uniqueName.js +2 -2
- package/src/automate/engine/utils.js +4 -2
- package/src/automate/template/myProcess.js +2 -2
- package/src/bak/translator.js +16 -25
- package/src/common/BaseNode.ts +3 -1
- package/src/common/Command.ts +4 -0
- package/src/common/dist/BaseNode.js +1101 -0
- package/src/concepts/App__.ts +36 -7
- package/src/concepts/Assignee__.ts +4 -3
- package/src/concepts/BatchAssignment__.ts +3 -3
- package/src/concepts/BindAttribute__.ts +299 -38
- package/src/concepts/BindDirective__.ts +204 -31
- package/src/concepts/BindStyle__.ts +187 -24
- package/src/concepts/CallFunction__.ts +55 -10
- package/src/concepts/CallInterface__.ts +3 -2
- package/src/concepts/CallLogic__.ts +110 -90
- package/src/concepts/CallQueryComponent__.ts +18 -3
- package/src/concepts/ConfigGroup__.ts +17 -4
- package/src/concepts/ConfigProperty__.ts +70 -4
- package/src/concepts/Configuration__.ts +14 -5
- package/src/concepts/DataSource__.ts +4 -1
- package/src/concepts/Destination__.ts +61 -7
- package/src/concepts/EntityProperty__.ts +7 -1
- package/src/concepts/EnumItem__.ts +6 -6
- package/src/concepts/Enum__.ts +22 -19
- package/src/concepts/ExternalDestination__.ts +28 -8
- package/src/concepts/ForEachStatement__.ts +2 -0
- package/src/concepts/Frontend__.ts +2 -1
- package/src/concepts/Identifier__.ts +16 -5
- package/src/concepts/InterfaceParam__.ts +7 -1
- package/src/concepts/JSBlock__.ts +3 -2
- package/src/concepts/Logic__.ts +95 -83
- package/src/concepts/Match__.ts +31 -67
- package/src/concepts/MemberExpression__.ts +6 -0
- package/src/concepts/Module__.ts +57 -0
- package/src/concepts/NewComposite__.ts +95 -140
- package/src/concepts/NewList__.ts +23 -2
- package/src/concepts/NewMap__.ts +48 -24
- package/src/concepts/OqlQueryComponent__.ts +40 -20
- package/src/concepts/Param__.ts +178 -176
- package/src/concepts/ProcessElement__.ts +2 -1
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/ProcessOutcomes__.ts +1 -1
- package/src/concepts/Process__.ts +1 -0
- package/src/concepts/Return__.ts +8 -2
- package/src/concepts/StringInterpolation__.ts +19 -7
- package/src/concepts/StringLiteral__.ts +7 -6
- package/src/concepts/StructureProperty__.ts +7 -1
- package/src/concepts/TypeAnnotation__.ts +101 -14
- package/src/concepts/ValidationRule__.ts +58 -9
- package/src/concepts/Variable__.ts +11 -1
- package/src/concepts/ViewElement__.ts +39 -2
- package/src/concepts/View__.ts +26 -14
- package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
- package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
- package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
- package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
- package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
- package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
- package/src/concepts/basics/types/index.ts +1 -0
- package/src/concepts/dist/BindAttribute__.js +795 -0
- package/src/concepts/dist/BindEvent__.js +732 -0
- package/src/concepts/dist/CallFunction__.js +527 -0
- package/src/concepts/dist/CallLogic__.js +932 -0
- package/src/concepts/dist/Destination__.js +708 -0
- package/src/concepts/dist/ExternalDestination__.js +298 -0
- package/src/concepts/dist/Identifier__.js +311 -0
- package/src/concepts/dist/StringInterpolation__.js +231 -0
- package/src/concepts/dist/TypeAnnotation__.js +834 -0
- package/src/concepts/dist/ViewElement__.js +1692 -0
- package/src/concepts/dist/View__.js +1601 -0
- package/src/concepts/index__.ts +0 -1
- package/src/enums/KEYWORDS.ts +8 -0
- package/src/generator/dist/genBundleFiles.js +261 -0
- package/src/generator/dist/genMetaData.js +245 -0
- package/src/generator/dist/permission.js +405 -0
- package/src/generator/genBundleFiles.ts +24 -5
- package/src/generator/genReleaseBody.ts +75 -30
- package/src/generator/permission.ts +30 -14
- package/src/server/entity2LogicNamespace.ts +2 -20
- package/src/server/extendBaseNode.ts +15 -5
- package/src/server/formatTsUtils.ts +41 -10
- package/src/server/getLogics.ts +4 -4
- package/src/server/getMemberIdentifier.ts +27 -1
- package/src/server/index.ts +2 -0
- package/src/server/naslServer.ts +520 -48
- package/src/server/translator.ts +96 -34
- package/src/service/storage/dist/init.js +579 -0
- package/src/service/storage/init.ts +22 -2
- package/src/templator/dist/genEditTableBlock.js +204 -0
- package/src/templator/dist/genGridViewBlock.js +265 -0
- package/src/templator/dist/genListViewBlock.js +84 -0
- package/src/templator/dist/genTableBlock.js +209 -0
- package/src/templator/dist/utils.js +527 -0
- package/src/templator/genCreateBlock.ts +1 -3
- package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
- package/src/templator/genGetBlock.ts +1 -1
- package/src/templator/genGridViewBlock.ts +3 -4
- package/src/templator/genListViewBlock.ts +9 -3
- package/src/templator/genSelectBlock.ts +1 -1
- package/src/templator/genTableBlock.ts +3 -3
- package/src/templator/genUpdateBlock.ts +2 -3
- package/src/utils/traverse.ts +10 -2
- package/ts-worker/lib/tsserver.js +10 -2
- package/ts-worker/package.json +1 -0
- package/ts-worker/webpack.config.js +11 -2
- package/out/concepts/ConstructArgument__.d.ts +0 -40
- package/out/concepts/ConstructArgument__.js +0 -108
- package/out/concepts/ConstructArgument__.js.map +0 -1
- package/out/concepts/Construct__.d.ts +0 -189
- package/out/concepts/Construct__.js +0 -340
- package/out/concepts/Construct__.js.map +0 -1
- package/out/templator/sql-parser/index.d.ts +0 -1
- package/out/templator/sql-parser/index.js +0 -228
- package/out/templator/sql-parser/index.js.map +0 -1
- package/out/templator/sql-parser/parser.js +0 -26664
- package/out/templator/sql-parser/parser.js.map +0 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.genBlurUpdateLogic = exports.genEditTableRemoveLogic = exports.genEditTableLoadLogic = exports.genEditTableTemplate = exports.genEditTableColumnTemplate = void 0;
|
|
4
|
+
var utils = require("../utils");
|
|
5
|
+
var _1 = require(".");
|
|
6
|
+
var utils_1 = require("./utils");
|
|
7
|
+
/**
|
|
8
|
+
* 根据实体属性生成表格列模板
|
|
9
|
+
* @param property 实体属性
|
|
10
|
+
*/
|
|
11
|
+
function genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) {
|
|
12
|
+
var dataSource = entity.parentNode;
|
|
13
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
14
|
+
var valueExpression = "current.item." + lowerEntityName + "." + property.name;
|
|
15
|
+
var title = property.label || property.name;
|
|
16
|
+
var canEditable = function (property) { return !property.readonly; };
|
|
17
|
+
var getText = function (property) {
|
|
18
|
+
var propertyTypeName = property.typeAnnotation.typeName;
|
|
19
|
+
if (propertyTypeName === 'Boolean') {
|
|
20
|
+
return "\n <u-text v-if=\"" + valueExpression + "\" text=\"\u662F\"></u-text>\n <u-text v-if=\"!" + valueExpression + "\" text=\"\u5426\"></u-text>\n ";
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return "<u-text :text=\"" + valueExpression + "\"></u-text>";
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var genEditComponent = function (property) {
|
|
27
|
+
if (property.readonly)
|
|
28
|
+
return '';
|
|
29
|
+
var label = property.label || property.name;
|
|
30
|
+
var formItem = '';
|
|
31
|
+
var propertyTypeName = property.typeAnnotation.typeName;
|
|
32
|
+
if (property.relationEntity && selectNameGroupMap) {
|
|
33
|
+
// 有外键关联
|
|
34
|
+
var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
|
|
35
|
+
if (relationEntity) {
|
|
36
|
+
var relationProperty = relationEntity.properties.find(function (prop) { return prop.name === property.relationProperty; });
|
|
37
|
+
var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
|
|
38
|
+
if (displayedProperty) {
|
|
39
|
+
var lowerEntityName_1 = utils.firstLowerCase(relationEntity.name);
|
|
40
|
+
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
41
|
+
var key = [property.name, relationEntity.name].join('-');
|
|
42
|
+
var selectNameGroup = selectNameGroupMap.get(key);
|
|
43
|
+
formItem += "\n <u-select clearable placeholder=\"\u8BF7\u9009\u62E9" + label + "\" :data-source=\"" + selectNameGroup.viewLogicLoad + "\"\n :autofocus=\"true\" :opened=\"true\" append-to=\"body\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\" @select=\"" + nameGroup.viewLogicBlurUpdate + "\"\n text-field=\"" + lowerEntityName_1 + "." + displayedProperty.name + "\" value-field=\"" + lowerEntityName_1 + "." + relationProperty.name + "\" :pageable=\"true\" :remote-paging=\"true\" :value.sync=\"" + valueExpression + "\">\n </u-select>\n ";
|
|
44
|
+
}
|
|
45
|
+
else
|
|
46
|
+
return '';
|
|
47
|
+
}
|
|
48
|
+
else
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
else if (propertyTypeName === 'Boolean') {
|
|
52
|
+
formItem += "<u-select clearable :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\"\n :autofocus=\"true\" :opened=\"true\" append-to=\"body\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\" @select=\"" + nameGroup.viewLogicBlurUpdate + "\">\n <u-select-item :value=\"true\" text=\"\u662F\">\u662F</u-select-item>\n <u-select-item :value=\"false\" text=\"\u5426\">\u5426</u-select-item>\n </u-select>";
|
|
53
|
+
}
|
|
54
|
+
else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {
|
|
55
|
+
formItem = "<u-number-input :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-number-input>";
|
|
56
|
+
}
|
|
57
|
+
else if (propertyTypeName === 'Double') {
|
|
58
|
+
formItem = "<u-number-input :value.sync=\"" + valueExpression + "\" :precision=\"0\" :step=\"0\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-number-input>";
|
|
59
|
+
}
|
|
60
|
+
else if (propertyTypeName === 'Decimal') {
|
|
61
|
+
formItem = "<u-number-input :value.sync=\"" + valueExpression + "\" :precision=\"0\" :step=\"0\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-number-input>";
|
|
62
|
+
}
|
|
63
|
+
else if (propertyTypeName === 'Text') {
|
|
64
|
+
formItem = "<u-validator placement=\"bottom\" display=\"appear\" @blur-valid=\"" + nameGroup.viewLogicBlurUpdate + "\" style=\"width:100%\">\n <u-textarea :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" size=\"full\"></u-textarea>\n </u-validator>";
|
|
65
|
+
}
|
|
66
|
+
else if (propertyTypeName === 'Date') {
|
|
67
|
+
formItem = "<u-date-picker clearable :date.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" append-to=\"body\" :autofocus=\"true\" :opened=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-date-picker>";
|
|
68
|
+
}
|
|
69
|
+
else if (propertyTypeName === 'Time') {
|
|
70
|
+
formItem = "<u-time-picker :time.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" append-to=\"body\" :autofocus=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-time-picker>";
|
|
71
|
+
}
|
|
72
|
+
else if (propertyTypeName === 'DateTime') {
|
|
73
|
+
formItem = "<u-date-time-picker clearable :date.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" append-to=\"body\" :autofocus=\"true\" :opened=\"true\" @blur=\"" + nameGroup.viewLogicBlurUpdate + "\"></u-date-time-picker>";
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
formItem = "<u-validator placement=\"bottom\" display=\"appear\" @blur-valid=\"" + nameGroup.viewLogicBlurUpdate + "\" style=\"width:100%\" append-to=\"body\">\n <u-input :value.sync=\"" + valueExpression + "\" placeholder=\"\u8BF7\u8F93\u5165" + label + "\" :autofocus=\"true\" size=\"full\"></u-input>\n </u-validator>";
|
|
77
|
+
}
|
|
78
|
+
return "<template #editcell=\"current\">\n <u-linear-layout gap=\"small\">\n " + formItem + "\n </u-linear-layout>\n </template>";
|
|
79
|
+
};
|
|
80
|
+
return "<u-table-view-column field=\"" + utils.firstLowerCase(entity.name) + "." + property.name + "\" " + (canEditable(property) ? 'type="editable"' : '') + ">\n <template #title><u-text text=\"" + title + "\"></u-text></template>\n <template #cell=\"current\">\n <u-linear-layout gap=\"small\">\n " + getText(property) + "\n </u-linear-layout>\n </template>\n " + genEditComponent(property) + "\n</u-table-view-column>";
|
|
81
|
+
}
|
|
82
|
+
exports.genEditTableColumnTemplate = genEditTableColumnTemplate;
|
|
83
|
+
/**
|
|
84
|
+
* 生成表格模板
|
|
85
|
+
* @param entity 实体
|
|
86
|
+
* @param nameGroup 命名组
|
|
87
|
+
*/
|
|
88
|
+
function genEditTableTemplate(entity, nameGroup, selectNameGroupMap) {
|
|
89
|
+
var properties = entity.properties.filter(_1.filterProperty('inTable'));
|
|
90
|
+
return "<u-table-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\"\n :pageable=\"true\" :remote-paging=\"true\" :show-sizer=\"true\" :default-column-width=\"300\" editable>\n <u-table-view-column type=\"index\" width=\"60\"><template #title><u-text text=\"\u5E8F\u53F7\"></u-text></template></u-table-view-column>\n\n " + properties.map(function (property) { return genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) + '\n'; }).join('') + "\n\n <u-table-view-column>\n <template #title><u-text text=\"\u64CD\u4F5C\"></u-text></template>\n <template #cell=\"current\">\n <u-linear-layout gap=\"small\">\n <u-link @click=\"" + nameGroup.viewLogicRemove + "\">\u5220\u9664</u-link>\n </u-linear-layout>\n </template>\n </u-table-view-column>\n</u-table-view>\n";
|
|
91
|
+
}
|
|
92
|
+
exports.genEditTableTemplate = genEditTableTemplate;
|
|
93
|
+
/**
|
|
94
|
+
* 生成表格 load 逻辑
|
|
95
|
+
* @param entity 实体
|
|
96
|
+
*/
|
|
97
|
+
function genEditTableLoadLogic(entity, nameGroup, newLogic, supportFilter) {
|
|
98
|
+
var moduleNode = entity.app;
|
|
99
|
+
var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
|
|
100
|
+
var params = [
|
|
101
|
+
_1.genLogicParam("" + newLogic.params[0].name, 'params.page'),
|
|
102
|
+
_1.genLogicParam("" + newLogic.params[1].name, 'params.size'),
|
|
103
|
+
_1.genLogicParam("" + newLogic.params[2].name, 'params.sort'),
|
|
104
|
+
_1.genLogicParam("" + newLogic.params[3].name, 'params.order'),
|
|
105
|
+
];
|
|
106
|
+
if (supportFilter)
|
|
107
|
+
params.push(_1.genLogicParam("" + newLogic.params[4].name, nameGroup.viewVariableFilter));
|
|
108
|
+
return utils_1.NaslNode.Logic({
|
|
109
|
+
name: nameGroup.viewLogicLoad,
|
|
110
|
+
params: [
|
|
111
|
+
utils_1.NaslNode.Param({
|
|
112
|
+
name: 'params',
|
|
113
|
+
typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
|
|
114
|
+
}),
|
|
115
|
+
],
|
|
116
|
+
returns: [
|
|
117
|
+
utils_1.NaslNode.Return({
|
|
118
|
+
name: 'result',
|
|
119
|
+
typeAnnotation: null
|
|
120
|
+
}),
|
|
121
|
+
],
|
|
122
|
+
variables: [],
|
|
123
|
+
body: [
|
|
124
|
+
utils_1.NaslLogicItem.Start,
|
|
125
|
+
utils_1.NaslLogicItem.Assignment({
|
|
126
|
+
left: utils_1.NaslLogicItem.Identifier({
|
|
127
|
+
name: 'result'
|
|
128
|
+
}),
|
|
129
|
+
right: utils_1.NaslLogicItem.CallLogic({
|
|
130
|
+
calleeNamespace: moduleNamespace + ".logics",
|
|
131
|
+
calleeName: newLogic.name,
|
|
132
|
+
arguments: params
|
|
133
|
+
})
|
|
134
|
+
}),
|
|
135
|
+
utils_1.NaslLogicItem.End,
|
|
136
|
+
]
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
exports.genEditTableLoadLogic = genEditTableLoadLogic;
|
|
140
|
+
/**
|
|
141
|
+
* 生成表格 remove 逻辑
|
|
142
|
+
* @param entity 实体
|
|
143
|
+
*/
|
|
144
|
+
function genEditTableRemoveLogic(entity, nameGroup) {
|
|
145
|
+
var _a;
|
|
146
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
147
|
+
var ns = entity.ns;
|
|
148
|
+
var deleteLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === "delete"; });
|
|
149
|
+
var idPropertys = entity.properties.filter(function (property) { return property.primaryKey || property.name === 'id'; });
|
|
150
|
+
return utils_1.NaslNode.Logic({
|
|
151
|
+
name: nameGroup.viewLogicRemove,
|
|
152
|
+
params: [],
|
|
153
|
+
returns: [],
|
|
154
|
+
variables: [],
|
|
155
|
+
body: [
|
|
156
|
+
utils_1.NaslLogicItem.Start,
|
|
157
|
+
utils_1.NaslLogicItem.CallLogic({
|
|
158
|
+
calleeNamespace: deleteLogic.getNamespace(),
|
|
159
|
+
calleeName: deleteLogic.name,
|
|
160
|
+
arguments: idPropertys.map(function (idProperty) {
|
|
161
|
+
var paramFromLogic = _1.getParamFromLogic(deleteLogic, idProperty.name);
|
|
162
|
+
// 如果旧逻辑,但是新导入表中,id的name 不是id 的话,就直接使用名称叫id的
|
|
163
|
+
if (!paramFromLogic) {
|
|
164
|
+
paramFromLogic = _1.getParamFromLogic(deleteLogic, 'id');
|
|
165
|
+
}
|
|
166
|
+
return _1.genLogicParam(paramFromLogic.name, "current.item." + lowerEntityName + "." + paramFromLogic.name);
|
|
167
|
+
})
|
|
168
|
+
}),
|
|
169
|
+
_1.genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
|
|
170
|
+
utils_1.NaslLogicItem.End,
|
|
171
|
+
]
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
exports.genEditTableRemoveLogic = genEditTableRemoveLogic;
|
|
175
|
+
function genBlurUpdateLogic(entity, nameGroup) {
|
|
176
|
+
var _a;
|
|
177
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
178
|
+
var ns = entity.ns;
|
|
179
|
+
var updateLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === "update"; });
|
|
180
|
+
return utils_1.NaslNode.Logic({
|
|
181
|
+
name: nameGroup.viewLogicBlurUpdate,
|
|
182
|
+
params: [],
|
|
183
|
+
returns: [],
|
|
184
|
+
body: [
|
|
185
|
+
utils_1.NaslLogicItem.Start,
|
|
186
|
+
utils_1.NaslLogicItem.Assignment({
|
|
187
|
+
left: _1.genMemberExpression("current.item.editing", ['', '', nameGroup.structure + ".editing"]),
|
|
188
|
+
right: utils_1.NaslLogicItem.StringLiteral({
|
|
189
|
+
value: ''
|
|
190
|
+
})
|
|
191
|
+
}),
|
|
192
|
+
utils_1.NaslLogicItem.CallLogic({
|
|
193
|
+
calleeNamespace: updateLogic.getNamespace(),
|
|
194
|
+
calleeName: updateLogic.name,
|
|
195
|
+
arguments: [
|
|
196
|
+
_1.genLogicParam("" + updateLogic.params[0].name, "current.item." + lowerEntityName),
|
|
197
|
+
]
|
|
198
|
+
}),
|
|
199
|
+
utils_1.NaslLogicItem.End,
|
|
200
|
+
],
|
|
201
|
+
playground: []
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
exports.genBlurUpdateLogic = genBlurUpdateLogic;
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
3
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
4
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
5
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
6
|
+
r[k] = a[j];
|
|
7
|
+
return r;
|
|
8
|
+
};
|
|
9
|
+
exports.__esModule = true;
|
|
10
|
+
exports.genGridViewCardBlock = exports.genGridViewBlock = exports.genGridViewRemoveLogic = exports.genGridViewLoadLogic = exports.genH5GridViewTemplate = exports.genGridViewTemplate = exports.genH5GridViewCardTemplate = exports.genGridViewCardTemplate = void 0;
|
|
11
|
+
var config_1 = require("../config");
|
|
12
|
+
var utils = require("../utils");
|
|
13
|
+
var _1 = require(".");
|
|
14
|
+
var utils_1 = require("./utils");
|
|
15
|
+
/**
|
|
16
|
+
* 根据实体属性生成表格列模板
|
|
17
|
+
* @param property 实体属性
|
|
18
|
+
*/
|
|
19
|
+
function genGridViewCardTemplate(property, nameGroup) {
|
|
20
|
+
var entity = property.entity;
|
|
21
|
+
var dataSource = entity.parentNode;
|
|
22
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
23
|
+
var currentName = nameGroup.currentName || 'current';
|
|
24
|
+
var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
|
|
25
|
+
var title = property.label || property.name;
|
|
26
|
+
if (property.relationEntity) {
|
|
27
|
+
// 有外键关联
|
|
28
|
+
var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
|
|
29
|
+
if (relationEntity) {
|
|
30
|
+
var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
|
|
31
|
+
if (displayedProperty) {
|
|
32
|
+
var relationLowerEntityName = utils.firstLowerCase(relationEntity.name);
|
|
33
|
+
valueExpression = currentName + ".item." + relationLowerEntityName + "." + displayedProperty.name;
|
|
34
|
+
}
|
|
35
|
+
else
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
else
|
|
39
|
+
return '';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
|
|
43
|
+
}
|
|
44
|
+
var getText = function (property) {
|
|
45
|
+
var propertyTypeName = property.typeAnnotation.typeName;
|
|
46
|
+
if (propertyTypeName === 'Boolean') {
|
|
47
|
+
return "\n <u-text v-if=\"" + valueExpression + "\" text=\"\u662F\"></u-text>\n <u-text v-if=\"!" + valueExpression + "\" text=\"\u5426\"></u-text>\n ";
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return "<u-text :text=\"" + valueExpression + "\"></u-text>";
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
return "<u-linear-layout gap=\"small\">\n <u-text text=\"" + title + ":\"></u-text>" + getText(property) + "\n </u-linear-layout>";
|
|
54
|
+
}
|
|
55
|
+
exports.genGridViewCardTemplate = genGridViewCardTemplate;
|
|
56
|
+
function genH5GridViewCardTemplate(property, nameGroup) {
|
|
57
|
+
var entity = property.entity;
|
|
58
|
+
var dataSource = entity.parentNode;
|
|
59
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
60
|
+
var currentName = nameGroup.currentName || 'current';
|
|
61
|
+
var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
|
|
62
|
+
if (property.relationEntity) {
|
|
63
|
+
// 有外键关联
|
|
64
|
+
var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
|
|
65
|
+
if (relationEntity) {
|
|
66
|
+
var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
|
|
67
|
+
if (displayedProperty) {
|
|
68
|
+
var relationLowerEntityName = utils.firstLowerCase(relationEntity.name);
|
|
69
|
+
valueExpression = currentName + ".item." + relationLowerEntityName + "." + displayedProperty.name;
|
|
70
|
+
}
|
|
71
|
+
else
|
|
72
|
+
return '';
|
|
73
|
+
}
|
|
74
|
+
else
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
|
|
79
|
+
}
|
|
80
|
+
var getText = function (property) {
|
|
81
|
+
var propertyTypeName = property.typeAnnotation.typeName;
|
|
82
|
+
if (propertyTypeName === 'Boolean') {
|
|
83
|
+
return "\n <van-text v-if=\"" + valueExpression + "\" text=\"\u662F\" display=\"block\"></van-text>\n <van-text v-if=\"!" + valueExpression + "\" text=\"\u5426\" display=\"block\"></van-text>\n ";
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return "<van-text :text=\"" + valueExpression + "\" display=\"block\"></van-text>";
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
return "" + getText(property);
|
|
90
|
+
}
|
|
91
|
+
exports.genH5GridViewCardTemplate = genH5GridViewCardTemplate;
|
|
92
|
+
/**
|
|
93
|
+
* 生成表格模板
|
|
94
|
+
* @param entity 实体
|
|
95
|
+
* @param nameGroup 命名组
|
|
96
|
+
*/
|
|
97
|
+
function genGridViewTemplate(entity, nameGroup, modifyable) {
|
|
98
|
+
var currentName = nameGroup.currentName || 'current';
|
|
99
|
+
var properties = entity.properties.filter(_1.filterProperty('inTable'));
|
|
100
|
+
return "<u-grid-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\"\n :page-size=\"20\"\n :pageable=\"true\"\n :remote-paging=\"true\"\n :show-sizer=\"true\"\n :repeat=\"4\"\n :border=\"false\"\n :readonly=\"true\"\n :show-foot=\"true\"\n style=\"height:auto\">\n <template #item=\"current\">\n <u-card title=\"\">\n <u-linear-layout direction=\"vertical\" gap=\"small\">\n " + properties.map(function (property) { return genGridViewCardTemplate(property, nameGroup) + '\n'; }).join('') + "\n <u-linear-layout gap=\"small\">\n <u-link " + (modifyable ? "@click=\"" + (nameGroup.viewLogicModify || 'modify') + "\"" : '') + ">\u4FEE\u6539</u-link>\n <u-link @click=\"" + nameGroup.viewLogicRemove + "\">\u5220\u9664</u-link>\n </u-linear-layout>\n </u-linear-layout>\n </u-card>\n </template>\n</u-grid-view>\n";
|
|
101
|
+
}
|
|
102
|
+
exports.genGridViewTemplate = genGridViewTemplate;
|
|
103
|
+
function genH5GridViewTemplate(entity, nameGroup) {
|
|
104
|
+
var currentName = nameGroup.currentName || 'current';
|
|
105
|
+
var properties = entity.properties.filter(_1.filterProperty('inTable'));
|
|
106
|
+
return "<van-grid-view ref=\"gridView\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n pageable=\"auto-more\"\n :remote-paging=\"true\"\n :col=\"2\"\n :iffall=\"false\">\n <template #item=\"current\">\n <van-cardu no-title>\n " + properties.map(function (property) { return genH5GridViewCardTemplate(property, nameGroup) + '\n'; }).join('') + "\n </van-cardu>\n </template>\n</van-grid-view>\n";
|
|
107
|
+
}
|
|
108
|
+
exports.genH5GridViewTemplate = genH5GridViewTemplate;
|
|
109
|
+
/**
|
|
110
|
+
* 生成表格 load 逻辑
|
|
111
|
+
* @param entity 实体
|
|
112
|
+
*/
|
|
113
|
+
function genGridViewLoadLogic(entity, nameGroup, newLogic, supportFilter) {
|
|
114
|
+
var moduleNode = entity.app;
|
|
115
|
+
var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
|
|
116
|
+
var params = [
|
|
117
|
+
_1.genLogicParam("" + newLogic.params[0].name, 'params.page'),
|
|
118
|
+
_1.genLogicParam("" + newLogic.params[1].name, 'params.size'),
|
|
119
|
+
_1.genLogicParam("" + newLogic.params[2].name, 'params.sort'),
|
|
120
|
+
_1.genLogicParam("" + newLogic.params[3].name, 'params.order'),
|
|
121
|
+
];
|
|
122
|
+
if (supportFilter)
|
|
123
|
+
params.push(_1.genLogicParam("" + newLogic.params[4].name, nameGroup.viewVariableFilter));
|
|
124
|
+
return utils_1.NaslNode.Logic({
|
|
125
|
+
name: nameGroup.viewLogicLoad,
|
|
126
|
+
params: [
|
|
127
|
+
utils_1.NaslNode.Param({
|
|
128
|
+
name: 'params',
|
|
129
|
+
typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
|
|
130
|
+
}),
|
|
131
|
+
],
|
|
132
|
+
returns: [
|
|
133
|
+
utils_1.NaslNode.Return({
|
|
134
|
+
name: 'result',
|
|
135
|
+
typeAnnotation: null
|
|
136
|
+
}),
|
|
137
|
+
],
|
|
138
|
+
variables: [],
|
|
139
|
+
body: [
|
|
140
|
+
utils_1.NaslLogicItem.Start,
|
|
141
|
+
utils_1.NaslLogicItem.Assignment({
|
|
142
|
+
left: utils_1.NaslLogicItem.Identifier({
|
|
143
|
+
name: 'result'
|
|
144
|
+
}),
|
|
145
|
+
right: utils_1.NaslLogicItem.CallLogic({
|
|
146
|
+
calleeNamespace: moduleNamespace + ".logics",
|
|
147
|
+
calleeName: newLogic.name,
|
|
148
|
+
arguments: params
|
|
149
|
+
})
|
|
150
|
+
}),
|
|
151
|
+
utils_1.NaslLogicItem.End,
|
|
152
|
+
]
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
exports.genGridViewLoadLogic = genGridViewLoadLogic;
|
|
156
|
+
/**
|
|
157
|
+
* 生成表格 remove 逻辑
|
|
158
|
+
* @param entity 实体
|
|
159
|
+
*/
|
|
160
|
+
function genGridViewRemoveLogic(entity, nameGroup) {
|
|
161
|
+
var _a;
|
|
162
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
163
|
+
var ns = entity.ns;
|
|
164
|
+
var deleteLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === "delete"; });
|
|
165
|
+
var idPropertys = entity.properties.filter(function (property) { return property.primaryKey || property.name === 'id'; });
|
|
166
|
+
var currentName = nameGroup.currentName || 'current';
|
|
167
|
+
return utils_1.NaslNode.Logic({
|
|
168
|
+
name: nameGroup.viewLogicRemove,
|
|
169
|
+
params: [],
|
|
170
|
+
returns: [],
|
|
171
|
+
variables: [],
|
|
172
|
+
body: [
|
|
173
|
+
utils_1.NaslLogicItem.Start,
|
|
174
|
+
utils_1.NaslLogicItem.CallLogic({
|
|
175
|
+
calleeNamespace: deleteLogic.getNamespace(),
|
|
176
|
+
calleeName: deleteLogic.name,
|
|
177
|
+
arguments: idPropertys.map(function (idProperty) {
|
|
178
|
+
var paramFromLogic = _1.getParamFromLogic(deleteLogic, idProperty.name);
|
|
179
|
+
// 如果旧逻辑,但是新导入表中,id的name 不是id 的话,就直接使用名称叫id的
|
|
180
|
+
if (!paramFromLogic) {
|
|
181
|
+
paramFromLogic = _1.getParamFromLogic(deleteLogic, 'id');
|
|
182
|
+
}
|
|
183
|
+
return _1.genLogicParam(paramFromLogic.name, currentName + ".item." + lowerEntityName + "." + paramFromLogic.name);
|
|
184
|
+
})
|
|
185
|
+
}),
|
|
186
|
+
_1.genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
|
|
187
|
+
utils_1.NaslLogicItem.End,
|
|
188
|
+
]
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
exports.genGridViewRemoveLogic = genGridViewRemoveLogic;
|
|
192
|
+
/**
|
|
193
|
+
* 生成表格区块
|
|
194
|
+
* @param entity 实体
|
|
195
|
+
* @param view 所插入的页面,用于生成逻辑名字,去重等
|
|
196
|
+
* @notice 目前 logic 名去重做成前置处理了,与 mergeBlock 的后置处理不冲突
|
|
197
|
+
* (页面 load 名) -产生-> (logic 名) -产生-> (structure 名)
|
|
198
|
+
* load -> load_someView_tableView
|
|
199
|
+
* load_select_student -> load_someView_select_student
|
|
200
|
+
*/
|
|
201
|
+
// 数据网格(简)
|
|
202
|
+
function genGridViewBlock(entity, oldNode) {
|
|
203
|
+
var view = oldNode.view;
|
|
204
|
+
var dataSource = entity.parentNode;
|
|
205
|
+
var module = dataSource.parentNode;
|
|
206
|
+
var viewElementMainView = view.getViewElementUniqueName('gridView');
|
|
207
|
+
var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView);
|
|
208
|
+
nameGroup.viewElementMainView = viewElementMainView;
|
|
209
|
+
nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
|
|
210
|
+
nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
|
|
211
|
+
// 当前节点的currentName
|
|
212
|
+
nameGroup.currentName = oldNode.getCurrentName();
|
|
213
|
+
// 收集所有和本实体关联的实体
|
|
214
|
+
var entitySet = new Set();
|
|
215
|
+
entitySet.add(entity);
|
|
216
|
+
var newLogics = [];
|
|
217
|
+
entity.properties.forEach(function (property) {
|
|
218
|
+
if (property.relationEntity) {
|
|
219
|
+
// 有外键关联
|
|
220
|
+
var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
|
|
221
|
+
if (relationEntity) {
|
|
222
|
+
var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
|
|
223
|
+
if (displayedProperty)
|
|
224
|
+
entitySet.add(relationEntity);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
var allEntities = __spreadArrays(entitySet);
|
|
229
|
+
var entityLogic = _1.genQueryLogic(allEntities, nameGroup, false, true, module);
|
|
230
|
+
newLogics.push(entityLogic);
|
|
231
|
+
return "\n<template>\n " + (config_1.config.scope === 'h5' ? genH5GridViewTemplate(entity, nameGroup) : genGridViewTemplate(entity, nameGroup)) + "\n</template>\n<definition>\n{\n \"viewLogics\": [\n " + JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, false)) + ",\n " + JSON.stringify(genGridViewRemoveLogic(entity, nameGroup)) + "\n ],\n\n \"logics\": " + JSON.stringify(newLogics) + "\n}\n</definition>\n";
|
|
232
|
+
}
|
|
233
|
+
exports.genGridViewBlock = genGridViewBlock;
|
|
234
|
+
function genGridViewCardBlock(property, oldNode) {
|
|
235
|
+
var view = oldNode.view;
|
|
236
|
+
var entity = property.entity;
|
|
237
|
+
var dataSource = entity.parentNode;
|
|
238
|
+
var module = dataSource.parentNode;
|
|
239
|
+
var viewElementMainView = view.getViewElementUniqueName('gridView');
|
|
240
|
+
var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView);
|
|
241
|
+
nameGroup.viewElementMainView = viewElementMainView;
|
|
242
|
+
nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
|
|
243
|
+
nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
|
|
244
|
+
// 收集所有和本实体关联的实体
|
|
245
|
+
var entitySet = new Set();
|
|
246
|
+
entitySet.add(entity);
|
|
247
|
+
var newLogics = [];
|
|
248
|
+
entity.properties.forEach(function (property) {
|
|
249
|
+
if (property.relationEntity) {
|
|
250
|
+
// 有外键关联
|
|
251
|
+
var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
|
|
252
|
+
if (relationEntity) {
|
|
253
|
+
var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
|
|
254
|
+
if (displayedProperty)
|
|
255
|
+
entitySet.add(relationEntity);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
var allEntities = __spreadArrays(entitySet);
|
|
260
|
+
var entityLogic = _1.genQueryLogic(allEntities, nameGroup, true, true, module);
|
|
261
|
+
newLogics.push(entityLogic);
|
|
262
|
+
return "\n <template>\n " + genGridViewTemplate(entity, nameGroup) + "\n </template>\n <definition>\n {\n \"viewLogics\": [\n " + JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, false)) + ",\n " + JSON.stringify(genGridViewRemoveLogic(entity, nameGroup)) + "\n ],\n \"logics\": " + JSON.stringify(newLogics) + "\n }\n </definition>\n ";
|
|
263
|
+
}
|
|
264
|
+
exports.genGridViewCardBlock = genGridViewCardBlock;
|
|
265
|
+
exports["default"] = genGridViewBlock;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.genListViewBlock = exports.genLoadListViewLogic = exports.genH5ListViewTemplate = exports.genListViewTemplate = void 0;
|
|
4
|
+
var config_1 = require("../config");
|
|
5
|
+
var utils = require("../utils");
|
|
6
|
+
var _1 = require(".");
|
|
7
|
+
var utils_1 = require("./utils");
|
|
8
|
+
function genListViewTemplate(property, nameGroup) {
|
|
9
|
+
var entity = property.entity;
|
|
10
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
11
|
+
var currentName = nameGroup.currentName || 'current';
|
|
12
|
+
var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
|
|
13
|
+
return "<u-list-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n text-field=\"" + nameGroup.viewVariableEntity + "." + property.name + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\" :pageable=\"true\" :remote-paging=\"true\">\n <template #item=\"current\">\n <u-linear-layout>\n <u-text :text=\"" + valueExpression + "\"></u-text>\n </u-linear-layout>\n </template>\n</u-list-view>";
|
|
14
|
+
}
|
|
15
|
+
exports.genListViewTemplate = genListViewTemplate;
|
|
16
|
+
function genH5ListViewTemplate(property, nameGroup) {
|
|
17
|
+
var entity = property.entity;
|
|
18
|
+
var lowerEntityName = utils.firstLowerCase(entity.name);
|
|
19
|
+
var currentName = nameGroup.currentName || 'current';
|
|
20
|
+
var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
|
|
21
|
+
return "<van-list-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n text-field=\"" + nameGroup.viewVariableEntity + "." + property.name + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\" pageable=\"auto-more\" :remote-paging=\"true\">\n <template #item=\"current\">\n <van-cell :value=\"" + valueExpression + "\" isLink>\n <template #title>{{ " + valueExpression + " }}</template>\n </van-cell>\n </template>\n</van-list-view>";
|
|
22
|
+
}
|
|
23
|
+
exports.genH5ListViewTemplate = genH5ListViewTemplate;
|
|
24
|
+
function genLoadListViewLogic(entity, nameGroup, newLogics) {
|
|
25
|
+
var parentNode = entity.parentNode;
|
|
26
|
+
var moduleNode = entity.app;
|
|
27
|
+
var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
|
|
28
|
+
// Select 和 table 不一样,直接在内部产生了
|
|
29
|
+
var entityLogic = _1.genQueryLogic([entity], nameGroup, false, false, parentNode);
|
|
30
|
+
newLogics.push(entityLogic);
|
|
31
|
+
return utils_1.NaslNode.Logic({
|
|
32
|
+
name: nameGroup.viewLogicLoad,
|
|
33
|
+
params: [
|
|
34
|
+
utils_1.NaslNode.Param({
|
|
35
|
+
name: 'params',
|
|
36
|
+
typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
|
|
37
|
+
}),
|
|
38
|
+
],
|
|
39
|
+
returns: [
|
|
40
|
+
utils_1.NaslNode.Return({
|
|
41
|
+
name: 'result',
|
|
42
|
+
typeAnnotation: null
|
|
43
|
+
}),
|
|
44
|
+
],
|
|
45
|
+
variables: [],
|
|
46
|
+
body: [
|
|
47
|
+
utils_1.NaslLogicItem.Start,
|
|
48
|
+
utils_1.NaslLogicItem.Assignment({
|
|
49
|
+
left: utils_1.NaslLogicItem.Identifier({
|
|
50
|
+
name: 'result'
|
|
51
|
+
}),
|
|
52
|
+
right: utils_1.NaslLogicItem.CallLogic({
|
|
53
|
+
calleeNamespace: moduleNamespace + ".logics",
|
|
54
|
+
calleeName: entityLogic.name,
|
|
55
|
+
arguments: [
|
|
56
|
+
_1.genLogicParam("" + entityLogic.params[0].name, 'params.page'),
|
|
57
|
+
_1.genLogicParam("" + entityLogic.params[1].name, 'params.size'),
|
|
58
|
+
]
|
|
59
|
+
})
|
|
60
|
+
}),
|
|
61
|
+
utils_1.NaslLogicItem.End,
|
|
62
|
+
]
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
exports.genLoadListViewLogic = genLoadListViewLogic;
|
|
66
|
+
/**
|
|
67
|
+
* 生成实体选择框区块
|
|
68
|
+
*/
|
|
69
|
+
function genListViewBlock(entity, oldNode, property) {
|
|
70
|
+
var view = oldNode.view;
|
|
71
|
+
var dataSource = entity.parentNode;
|
|
72
|
+
var module = dataSource.parentNode;
|
|
73
|
+
var viewElementMainView = view.getViewElementUniqueName('listView');
|
|
74
|
+
var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView, false);
|
|
75
|
+
nameGroup.viewElementMainView = viewElementMainView;
|
|
76
|
+
nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
|
|
77
|
+
// 当前节点的currentName
|
|
78
|
+
nameGroup.currentName = oldNode.getCurrentName();
|
|
79
|
+
var displayedProperty = property || _1.getFirstDisplayedProperty(entity);
|
|
80
|
+
var newLogics = [];
|
|
81
|
+
return "<template>\n " + (config_1.config.scope === 'h5' ? genH5ListViewTemplate(displayedProperty, nameGroup) : genListViewTemplate(displayedProperty, nameGroup)) + "\n</template>\n\n<definition>\n{\n \"viewLogics\": [\n " + JSON.stringify(genLoadListViewLogic(entity, nameGroup, newLogics)) + "\n ],\n\n \"logics\": " + JSON.stringify(newLogics) + "\n}\n</definition>\n";
|
|
82
|
+
}
|
|
83
|
+
exports.genListViewBlock = genListViewBlock;
|
|
84
|
+
exports["default"] = genListViewBlock;
|