@gct-paas/design 6.0.0-dev.21 → 6.0.0-dev.23
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/dist/loader.esm.min.js +2 -2
- package/es/hooks/design-view/designer/useDesignSave.mjs +7 -0
- package/es/hooks/design-view/layout/useToolkit.mjs +10 -7
- package/es/hooks/design-view/page/usePage.d.ts +2 -2
- package/es/hooks/design-view/page/usePage.mjs +4 -2
- package/es/schema/common-config/common-field-editor-config.mjs +2 -2
- package/es/schema/modal/modal.mjs +3 -3
- package/package.json +9 -9
|
@@ -267,6 +267,13 @@ function useDesignSave() {
|
|
|
267
267
|
async function saveTxn(flag = true, showSuccess = true) {
|
|
268
268
|
const pageId = _gct.store.context.pid;
|
|
269
269
|
const { createPageJson, detailPageJson } = resolveTxnPageJsonPair();
|
|
270
|
+
const MAX_TITLE_LENGTH = 100;
|
|
271
|
+
const createTitle = createPageJson.pageConfig?.title;
|
|
272
|
+
const detailTitle = detailPageJson.pageConfig?.title;
|
|
273
|
+
if (createTitle && createTitle.length > MAX_TITLE_LENGTH || detailTitle && detailTitle.length > MAX_TITLE_LENGTH) {
|
|
274
|
+
message.error(t("sys.pageDesigner.titleMaxLength"));
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
270
277
|
const createPayload = await preparePagePayload(createPageJson);
|
|
271
278
|
if (!createPayload) return false;
|
|
272
279
|
const detailPayload = await preparePagePayload(detailPageJson);
|
|
@@ -2,7 +2,7 @@ import { useWidgetRegistry } from "../widget/useWidgetRegistry.mjs";
|
|
|
2
2
|
import { useModelField } from "../../use-model-field/use-model-field.mjs";
|
|
3
3
|
import "../../index.mjs";
|
|
4
4
|
import { clone, cloneDeep } from "lodash-es";
|
|
5
|
-
import { CategoryTypeEnum, ContextSceneEnum, FormComponents, Platform, ToolkitEnum } from "@gct-paas/core";
|
|
5
|
+
import { CategoryTypeEnum, ContextSceneEnum, ContextTxnPageModeEnum, FormComponents, Platform, ToolkitEnum } from "@gct-paas/core";
|
|
6
6
|
import { ref } from "vue";
|
|
7
7
|
import { getWidgetInfo } from "@gct-paas/schema";
|
|
8
8
|
//#region src/hooks/design-view/layout/useToolkit.ts
|
|
@@ -153,12 +153,15 @@ var instance = class ComponentUtils {
|
|
|
153
153
|
CategoryTypeEnum.LAYOUT,
|
|
154
154
|
CategoryTypeEnum.ADVANCED
|
|
155
155
|
];
|
|
156
|
-
if (this.groupType === ComponentUtils.TxnPageGroup)
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
156
|
+
if (this.groupType === ComponentUtils.TxnPageGroup) {
|
|
157
|
+
let res = [
|
|
158
|
+
CategoryTypeEnum.FORM,
|
|
159
|
+
CategoryTypeEnum.LAYOUT,
|
|
160
|
+
CategoryTypeEnum.DATA
|
|
161
|
+
];
|
|
162
|
+
if (_gct.store.context.txnPageMode === ContextTxnPageModeEnum.CREATE) res = [...res, CategoryTypeEnum.BUTTON];
|
|
163
|
+
return res;
|
|
164
|
+
}
|
|
162
165
|
if (this.groupType === ComponentUtils.DetailPageGroup) return [
|
|
163
166
|
CategoryTypeEnum.FORM,
|
|
164
167
|
CategoryTypeEnum.LAYOUT,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Ref, App } from 'vue';
|
|
2
|
-
import { PanelEnum } from '@gct-paas/core';
|
|
2
|
+
import { PanelEnum, ContextTxnPageModeEnum } from '@gct-paas/core';
|
|
3
3
|
import { PermissionResponse } from '@gct-paas/api/apaas';
|
|
4
4
|
export type { PageInfo } from '../design-state';
|
|
5
5
|
export { pageInfo } from '../design-state';
|
|
@@ -50,7 +50,7 @@ export declare function loadDetailPageInfo(app: App): Promise<void>;
|
|
|
50
50
|
/**
|
|
51
51
|
* @param mode 切换模式
|
|
52
52
|
*/
|
|
53
|
-
export declare function toggleTxnPageInfo(mode:
|
|
53
|
+
export declare function toggleTxnPageInfo(mode: ContextTxnPageModeEnum): Promise<void>;
|
|
54
54
|
/**
|
|
55
55
|
* 初始化界面占用信息
|
|
56
56
|
*/
|
|
@@ -10,7 +10,7 @@ import { useCacheHistory } from "../../develop/useCacheHistory.mjs";
|
|
|
10
10
|
import { useToolkit } from "../layout/useToolkit.mjs";
|
|
11
11
|
import { useDesigner } from "../useDesigner.mjs";
|
|
12
12
|
import { isEmpty, isNil } from "lodash-es";
|
|
13
|
-
import { ButtonSize, ButtonStyle, ContextSceneEnum, FormComponents, KitPkgUtil, PanelEnum, Platform, t } from "@gct-paas/core";
|
|
13
|
+
import { ButtonSize, ButtonStyle, ContextSceneEnum, ContextTxnPageModeEnum, FormComponents, KitPkgUtil, PanelEnum, Platform, t } from "@gct-paas/core";
|
|
14
14
|
import { computed, createVNode, ref } from "vue";
|
|
15
15
|
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
|
|
16
16
|
import { Modal } from "ant-design-vue";
|
|
@@ -117,6 +117,7 @@ async function loadPageInfo(app) {
|
|
|
117
117
|
* @returns
|
|
118
118
|
*/
|
|
119
119
|
async function loadTxnPageInfo(app) {
|
|
120
|
+
await _gct.store.setContext({ txnPageMode: ContextTxnPageModeEnum.CREATE });
|
|
120
121
|
const { initToolkitWidgets } = useToolkit();
|
|
121
122
|
const { setPageJson, loadPageDesignHistoryList, emitCache, pageJson, setPluginConfigs, savePageJsonSnapshot } = useDesigner();
|
|
122
123
|
const { historyUtils } = useCacheHistory();
|
|
@@ -290,8 +291,9 @@ async function loadDetailPageInfo(app) {
|
|
|
290
291
|
* @param mode 切换模式
|
|
291
292
|
*/
|
|
292
293
|
async function toggleTxnPageInfo(mode) {
|
|
294
|
+
await _gct.store.setContext({ txnPageMode: mode });
|
|
293
295
|
const { setTxnPageJson, pageJson } = useDesigner();
|
|
294
|
-
if (mode ===
|
|
296
|
+
if (mode === ContextTxnPageModeEnum.CREATE) {
|
|
295
297
|
pageInfo.value.detailDesignerJson = JSON.stringify(pageJson);
|
|
296
298
|
pageInfo.value.txnPageMode = mode;
|
|
297
299
|
setTxnPageJson({ ...JSON.parse(pageInfo.value._designerJson) });
|
|
@@ -3,7 +3,7 @@ import { useScope } from "../../hooks/design-view/layout/useScope.mjs";
|
|
|
3
3
|
import { useDesigner } from "../../hooks/design-view/useDesigner.mjs";
|
|
4
4
|
import "../../hooks/index.mjs";
|
|
5
5
|
import { has } from "lodash-es";
|
|
6
|
-
import { BindCmpStyleEnum, BindCmpStyleTypeEnum, ContextSceneEnum, EntityModelTypeEnum, FIELD_TYPE, FormComponents, MaterialEnum, Platform, PropGroup, TreeHelper } from "@gct-paas/core";
|
|
6
|
+
import { BindCmpStyleEnum, BindCmpStyleTypeEnum, ContextSceneEnum, ContextTxnPageModeEnum, EntityModelTypeEnum, FIELD_TYPE, FormComponents, MaterialEnum, Platform, PropGroup, TreeHelper } from "@gct-paas/core";
|
|
7
7
|
import { isFormFieldType } from "@gct-paas/schema";
|
|
8
8
|
//#region src/schema/common-config/common-field-editor-config.ts
|
|
9
9
|
/** 字段名称和显示标题config */
|
|
@@ -62,7 +62,7 @@ var getInputAttrEditor = (needFieldAttrs) => {
|
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
hidden(widget) {
|
|
65
|
-
return widget.props.field === "operating_state_" || widget.props.bindFieldKey || widget.materialType === MaterialEnum.DescriptionsFormField || widget.props.fieldReadonly || _gct.store.context.scene === ContextSceneEnum.DETAIL;
|
|
65
|
+
return widget.props.field === "operating_state_" || widget.props.bindFieldKey || widget.materialType === MaterialEnum.DescriptionsFormField || widget.props.fieldReadonly || _gct.store.context.scene === ContextSceneEnum.DETAIL || _gct.store.context.txnPageMode === ContextTxnPageModeEnum.DETAIL;
|
|
66
66
|
}
|
|
67
67
|
}];
|
|
68
68
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import { widget as widget$1 } from "./modal-body.mjs";
|
|
3
3
|
import { widget as widget$2 } from "./modal-footer.mjs";
|
|
4
|
-
import { BuiltinType, ContextSceneEnum, Platform, PropGroup, StyleGroup } from "@gct-paas/core";
|
|
4
|
+
import { BuiltinType, ContextSceneEnum, ContextTxnPageModeEnum, Platform, PropGroup, StyleGroup } from "@gct-paas/core";
|
|
5
5
|
//#region src/schema/modal/modal.ts
|
|
6
6
|
var modal_exports = /* @__PURE__ */ __exportAll({
|
|
7
7
|
beforeCreate: () => beforeCreate,
|
|
@@ -145,7 +145,7 @@ var propEditorList = [
|
|
|
145
145
|
label: "sys.pageDesigner.operateButton",
|
|
146
146
|
group: PropGroup.BUTTON,
|
|
147
147
|
hidden: (widget) => {
|
|
148
|
-
return widget.props.isSubTableModal || _gct.store.context.scene === ContextSceneEnum.DETAIL;
|
|
148
|
+
return widget.props.isSubTableModal || _gct.store.context.scene === ContextSceneEnum.DETAIL || _gct.store.context.txnPageMode === ContextTxnPageModeEnum.DETAIL;
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
];
|
|
@@ -166,7 +166,7 @@ var eventList = [{
|
|
|
166
166
|
}];
|
|
167
167
|
var runCallback = () => {};
|
|
168
168
|
var beforeCreate = (widget) => {
|
|
169
|
-
if (_gct.store.context.scene === ContextSceneEnum.DETAIL) widget.props.hasFooter = false;
|
|
169
|
+
if (_gct.store.context.scene === ContextSceneEnum.DETAIL || _gct.store.context.txnPageMode === ContextTxnPageModeEnum.DETAIL) widget.props.hasFooter = false;
|
|
170
170
|
};
|
|
171
171
|
var designerConfig = { basicProps: {
|
|
172
172
|
key_label: "弹窗",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gct-paas/design",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "paas 平台设计界面底包",
|
|
6
6
|
"loader": "dist/loader.esm.min.js",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"react-dnd-html5-backend": "^16.0.1",
|
|
52
52
|
"vue": "^3.5.30",
|
|
53
53
|
"vue3-dnd": "^2.1.0",
|
|
54
|
-
"@gct-paas/core": "6.0.0-dev.
|
|
55
|
-
"@gct-paas/
|
|
56
|
-
"@gct-paas/
|
|
57
|
-
"@gct-paas/scss": "6.0.0-dev.
|
|
54
|
+
"@gct-paas/core-web": "6.0.0-dev.23",
|
|
55
|
+
"@gct-paas/schema": "6.0.0-dev.23",
|
|
56
|
+
"@gct-paas/core": "6.0.0-dev.23",
|
|
57
|
+
"@gct-paas/scss": "6.0.0-dev.23"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/babel__core": "^7.20.5",
|
|
@@ -64,10 +64,10 @@
|
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"@gct-paas/api": "^6.0.0-dev.9",
|
|
66
66
|
"vue": ">=3",
|
|
67
|
-
"@gct-paas/core": "6.0.0-dev.
|
|
68
|
-
"@gct-paas/
|
|
69
|
-
"@gct-paas/
|
|
70
|
-
"@gct-paas/scss": "6.0.0-dev.
|
|
67
|
+
"@gct-paas/core": "6.0.0-dev.23",
|
|
68
|
+
"@gct-paas/core-web": "6.0.0-dev.23",
|
|
69
|
+
"@gct-paas/schema": "6.0.0-dev.23",
|
|
70
|
+
"@gct-paas/scss": "6.0.0-dev.23"
|
|
71
71
|
},
|
|
72
72
|
"scripts": {
|
|
73
73
|
"dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",
|