@farris/cli 2.0.3 → 2.1.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.
Files changed (125) hide show
  1. package/lib/commands/build.js +6 -7
  2. package/lib/commands/build.js.map +1 -1
  3. package/lib/commands/generate/api.js +188 -0
  4. package/lib/commands/generate/api.js.map +1 -0
  5. package/lib/commands/generate/common.js +101 -0
  6. package/lib/commands/generate/common.js.map +1 -0
  7. package/lib/commands/generate/component.js +163 -0
  8. package/lib/commands/generate/component.js.map +1 -0
  9. package/lib/commands/generate/view.js +195 -0
  10. package/lib/commands/generate/view.js.map +1 -0
  11. package/lib/commands/workspace/add-app.js +170 -0
  12. package/lib/commands/workspace/add-app.js.map +1 -0
  13. package/lib/commands/workspace/create.js +310 -0
  14. package/lib/commands/workspace/create.js.map +1 -0
  15. package/lib/commands/workspace/inspect.js +31 -0
  16. package/lib/commands/workspace/inspect.js.map +1 -0
  17. package/lib/commands/workspace/verify.js +39 -0
  18. package/lib/commands/workspace/verify.js.map +1 -0
  19. package/lib/common/constant.js +42 -1
  20. package/lib/common/constant.js.map +1 -1
  21. package/lib/common/get-vite-config.js +66 -9
  22. package/lib/common/get-vite-config.js.map +1 -1
  23. package/lib/common/output.js +93 -0
  24. package/lib/common/output.js.map +1 -0
  25. package/lib/common/safety.js +172 -0
  26. package/lib/common/safety.js.map +1 -0
  27. package/lib/common/template-renderer.js +113 -0
  28. package/lib/common/template-renderer.js.map +1 -0
  29. package/lib/common/transaction.js +84 -0
  30. package/lib/common/transaction.js.map +1 -0
  31. package/lib/common/verifier.js +147 -0
  32. package/lib/common/verifier.js.map +1 -0
  33. package/lib/config/vite-common.js +1 -1
  34. package/lib/config/vite-common.js.map +1 -1
  35. package/lib/index.js +124 -30
  36. package/lib/index.js.map +1 -1
  37. package/package.json +14 -10
  38. package/templates/workspace/app/farris.config.mjs +13 -0
  39. package/templates/{lib → workspace/app}/index.html +12 -12
  40. package/templates/workspace/app/package.json +22 -0
  41. package/templates/workspace/app/src/App.tsx +11 -0
  42. package/templates/workspace/app/src/main.ts +11 -0
  43. package/templates/workspace/app/src/router/index.ts +16 -0
  44. package/templates/workspace/app/src/styles/index.css +0 -0
  45. package/templates/workspace/app/src/styles/index.scss +0 -0
  46. package/templates/workspace/app/src/views/home/composables/use-home.ts +7 -0
  47. package/templates/workspace/app/src/views/home/home.component.tsx +15 -0
  48. package/templates/workspace/app/src/views/home/index.ts +4 -0
  49. package/templates/workspace/app/tsconfig.json +21 -0
  50. package/templates/workspace/root/README.md +28 -0
  51. package/templates/workspace/root/package.json +13 -0
  52. package/templates/workspace/root/pnpm-workspace.yaml +12 -0
  53. package/templates/lib/.eslintrc.cjs +0 -15
  54. package/templates/lib/.prettierrc.json +0 -8
  55. package/templates/lib/components/button/index.ts +0 -7
  56. package/templates/lib/components/button/src/button.component.tsx +0 -84
  57. package/templates/lib/components/button/src/button.props.ts +0 -55
  58. package/templates/lib/components/button/src/button.scss +0 -179
  59. package/templates/lib/components/common/index.ts +0 -6
  60. package/templates/lib/components/common/src/common.scss +0 -4
  61. package/templates/lib/components/common/src/compositions/index.ts +0 -19
  62. package/templates/lib/components/common/src/compositions/types.ts +0 -6
  63. package/templates/lib/components/common/src/compositions/use-bem/index.ts +0 -46
  64. package/templates/lib/components/common/src/compositions/use-click-away/index.ts +0 -40
  65. package/templates/lib/components/common/src/compositions/use-context/use-children-contexts.ts +0 -40
  66. package/templates/lib/components/common/src/compositions/use-context/use-parent-context.ts +0 -24
  67. package/templates/lib/components/common/src/compositions/use-event-listener/index.ts +0 -45
  68. package/templates/lib/components/common/src/compositions/use-expose/index.ts +0 -9
  69. package/templates/lib/components/common/src/compositions/use-lay-render/index.ts +0 -17
  70. package/templates/lib/components/common/src/compositions/use-link/index.ts +0 -14
  71. package/templates/lib/components/common/src/compositions/use-lock-scroll/index.ts +0 -25
  72. package/templates/lib/components/common/src/compositions/use-long-press/index.ts +0 -141
  73. package/templates/lib/components/common/src/compositions/use-momentum/index.ts +0 -82
  74. package/templates/lib/components/common/src/compositions/use-mount-component/index.ts +0 -48
  75. package/templates/lib/components/common/src/compositions/use-rect/index.ts +0 -31
  76. package/templates/lib/components/common/src/compositions/use-refs/index.ts +0 -21
  77. package/templates/lib/components/common/src/compositions/use-resize-observer/index.ts +0 -85
  78. package/templates/lib/components/common/src/compositions/use-resize-observer/utils.ts +0 -37
  79. package/templates/lib/components/common/src/compositions/use-scroll-parent/index.ts +0 -42
  80. package/templates/lib/components/common/src/compositions/use-touch/index.ts +0 -82
  81. package/templates/lib/components/common/src/compositions/use-touch-move/index.ts +0 -120
  82. package/templates/lib/components/common/src/entity/base-property.ts +0 -129
  83. package/templates/lib/components/common/src/entity/entity-schema.ts +0 -274
  84. package/templates/lib/components/common/src/entity/input-base-property.ts +0 -285
  85. package/templates/lib/components/common/src/style/animation/index.scss +0 -150
  86. package/templates/lib/components/common/src/style/base.scss +0 -63
  87. package/templates/lib/components/common/src/style/fonts/farris-mobile-icon.ttf +0 -0
  88. package/templates/lib/components/common/src/style/icon.scss +0 -6
  89. package/templates/lib/components/common/src/style/index.scss +0 -4
  90. package/templates/lib/components/common/src/style/mixins/bem.scss +0 -204
  91. package/templates/lib/components/common/src/style/mixins/border-radius.scss +0 -13
  92. package/templates/lib/components/common/src/style/mixins/ellipsis.scss +0 -15
  93. package/templates/lib/components/common/src/style/mixins/hairline.scss +0 -113
  94. package/templates/lib/components/common/src/style/mixins/index.scss +0 -6
  95. package/templates/lib/components/common/src/style/mixins/margin.scss +0 -10
  96. package/templates/lib/components/common/src/style/mixins/safe-area.scss +0 -9
  97. package/templates/lib/components/common/src/style/variables.scss +0 -113
  98. package/templates/lib/components/common/src/utils/index.ts +0 -15
  99. package/templates/lib/components/common/src/utils/src/common.ts +0 -83
  100. package/templates/lib/components/common/src/utils/src/date.ts +0 -134
  101. package/templates/lib/components/common/src/utils/src/dom/event.ts +0 -37
  102. package/templates/lib/components/common/src/utils/src/hook.ts +0 -18
  103. package/templates/lib/components/common/src/utils/src/number.ts +0 -26
  104. package/templates/lib/components/common/src/utils/src/query-filter.ts +0 -40
  105. package/templates/lib/components/common/src/utils/src/resove-asset.ts +0 -33
  106. package/templates/lib/components/common/src/utils/src/string.ts +0 -18
  107. package/templates/lib/components/common/src/utils/src/throttle.ts +0 -41
  108. package/templates/lib/components/common/src/utils/src/transition.ts +0 -14
  109. package/templates/lib/components/common/src/utils/src/type.ts +0 -105
  110. package/templates/lib/components/common/src/utils/src/use-appearance.ts +0 -33
  111. package/templates/lib/components/common/src/utils/src/with-install.ts +0 -16
  112. package/templates/lib/components/common/src/utils/src/with-register-designer.ts +0 -16
  113. package/templates/lib/components/common/src/utils/src/with-register.ts +0 -16
  114. package/templates/lib/components/common/types.ts +0 -131
  115. package/templates/lib/components/index.scss +0 -2
  116. package/templates/lib/components/index.ts +0 -21
  117. package/templates/lib/farris.config.mjs +0 -56
  118. package/templates/lib/package.json +0 -32
  119. package/templates/lib/src/App.vue +0 -80
  120. package/templates/lib/src/components/TheButton.vue +0 -3
  121. package/templates/lib/src/main.ts +0 -10
  122. package/templates/lib/src/router/index.ts +0 -23
  123. package/templates/lib/src/views/AboutView.vue +0 -15
  124. package/templates/lib/src/views/HomeView.vue +0 -9
  125. package/templates/lib/tsconfig.json +0 -20
@@ -1,274 +0,0 @@
1
- /* eslint-disable no-use-before-define */
2
- export interface FormSchema {
3
- sourceUri: string;
4
- id: string;
5
- code: string;
6
- name: string;
7
- entities: FormSchemaEntity[];
8
- variables: FormSchemaEntityField[];
9
- eapiId: string;
10
- extendProperties: { enableStdTimeFormat: boolean };
11
- eapiCode?: string;
12
- eapiName?: string;
13
- eapiNameSpace?: string;
14
- voPath?: string;
15
- voNameSpace?: string;
16
- }
17
-
18
- /**
19
- * 实体
20
- */
21
- export interface FormSchemaEntity {
22
- id: string;
23
- code: string;
24
- name: string;
25
- label: string;
26
- type: FormSchemaEntityType;
27
- }
28
-
29
- /**
30
- * 字段类型枚举
31
- */
32
- export enum FormSchemaEntityField$Type {
33
- /**
34
- * 简单类型字段
35
- */
36
- SimpleField = "SimpleField",
37
- /**
38
- * 关联/UDT类型字段
39
- */
40
- ComplexField = "ComplexField"
41
- }
42
- /**
43
- * 字段编辑器对象
44
- */
45
- export interface FormSchemaEntityFieldEditor {
46
- $type: string;
47
- [propName: string]: any;
48
- }
49
- export interface DesignViewModelField extends FormSchemaEntityField {
50
- valueChanging: string;
51
- valueChanged: string;
52
- groupId: string;
53
- groupName: string;
54
- isSchemaRemoved?: boolean;
55
- updateOn?: string;
56
- }
57
- /**
58
- * 字段
59
- */
60
- export interface FormSchemaEntityField {
61
- $type: FormSchemaEntityField$Type;
62
- id: string;
63
- originalId: string;
64
- code: string;
65
- label: string;
66
- bindingField: string;
67
- name: string;
68
- defaultValue?: any;
69
- require?: boolean;
70
- readonly?: boolean;
71
- type: FormSchemaEntityFieldType;
72
- editor?: FormSchemaEntityFieldEditor;
73
- path?: string;
74
- bindingPath?: string;
75
- multiLanguage?: boolean;
76
- expression?: any;
77
- }
78
- /**
79
- * 字段类型对象中的类型枚举
80
- */
81
- export enum FormSchemaEntityFieldType$Type {
82
- /**
83
- * 字符串
84
- */
85
- StringType = "StringType",
86
- /**
87
- * 备注
88
- */
89
- TextType = "TextType",
90
- /**
91
- * 数字(整数、浮点数)
92
- */
93
- NumericType = "NumericType",
94
- /**
95
- * 布尔
96
- */
97
- BooleanType = "BooleanType",
98
- /**
99
- * 日期
100
- */
101
- DateType = "DateType",
102
- /**
103
- * 日期时间
104
- */
105
- DateTimeType = "DateTimeType",
106
- /**
107
- * 枚举
108
- */
109
- EnumType = "EnumType",
110
- /**
111
- * 实体类
112
- */
113
- EntityType = "EntityType",
114
- /**
115
- * 分级码
116
- */
117
- HierarchyType = "HierarchyType",
118
- /**
119
- * 对象
120
- */
121
- ObjectType = "ObjectType",
122
- /**
123
- * 数字(大数据)
124
- */
125
- BigNumericType = "BigNumericType"
126
- }
127
- /**
128
- * 字段类型中的名称
129
- */
130
- export enum FormSchemaEntityFieldTypeName {
131
- /**
132
- * 简单类型字段
133
- */
134
- String = "String",
135
- /**
136
- * 日期时间
137
- */
138
- DateTime = "DateTime",
139
- /**
140
- * 日期
141
- */
142
- Date = "Date",
143
- /**
144
- * 枚举
145
- */
146
- Enum = "Enum",
147
- /**
148
- * 布尔
149
- */
150
- Boolean = "Boolean",
151
- /**
152
- * 数字
153
- */
154
- Number = "Number",
155
- /**
156
- * 备注
157
- */
158
- Text = "Text",
159
- /**
160
- * 大数字
161
- */
162
- BigNumber = "BigNumber"
163
- /**
164
- * 人员
165
- */
166
- }
167
- /**
168
- * 枚举类型
169
- */
170
- export interface EnumData {
171
- value: string;
172
- name: string;
173
- }
174
- /**
175
- * 实体
176
- */
177
- export interface FormSchemaEntity {
178
- id: string;
179
- code: string;
180
- name: string;
181
- label: string;
182
- type: FormSchemaEntityType;
183
- }
184
- /**
185
- * 实体类型对象
186
- */
187
- export interface FormSchemaEntityType {
188
- $type: string;
189
- name: string;
190
- primary: string;
191
- fields: FormSchemaEntityField[];
192
- entities?: FormSchemaEntity[];
193
- displayName?: string;
194
- }
195
- /**
196
- * 字段类型对象
197
- */
198
- export interface FormSchemaEntityFieldType {
199
- $type: FormSchemaEntityFieldType$Type;
200
- name: FormSchemaEntityFieldTypeName | any;
201
- length?: number;
202
- precision?: number;
203
- valueType?: FormSchemaEntityFieldType;
204
- enumValues?: EnumData[];
205
- fields?: FormSchemaEntityField[];
206
- displayName?: string;
207
- primary?: string;
208
- entities?: FormSchemaEntity[];
209
- elementType?: GSPElementDataType;
210
- extendProperty?: any;
211
- }
212
- /**
213
- * 字段数据类型
214
- */
215
- export enum GSPElementDataType {
216
- /**
217
- * 文本
218
- */
219
- String = "String",
220
- /**
221
- * 备注
222
- */
223
- Text = "Text",
224
- /**
225
- * 整数
226
- */
227
- Integer = "Integer",
228
- /**
229
- * 浮点数
230
- */
231
- Decimal = "Decimal",
232
- /**
233
- * 布尔型
234
- */
235
- Boolean = "Boolean",
236
- /**
237
- * 日期型
238
- */
239
- Date = "Date",
240
- /**
241
- * 日期时间型
242
- */
243
- DateTime = "DateTime",
244
- /**
245
- * 二进制
246
- */
247
- Binary = "Binary"
248
- }
249
- /**
250
- * dom Json ViewModel 节点中states实体
251
- */
252
- export interface FormVariable {
253
- id: string;
254
- code: string;
255
- name: string;
256
- value?: any;
257
- type: string;
258
- category: string;
259
- fields?: any[];
260
- defaultValue?: any;
261
- }
262
- /**
263
- * 表单变量
264
- */
265
- export interface DesignFormVariable extends FormVariable {
266
- /**
267
- * 分组ID
268
- */
269
- groupId: string;
270
- /**
271
- * 分组名称
272
- */
273
- groupName: string;
274
- }
@@ -1,285 +0,0 @@
1
- import { BaseControlProperty } from './base-property';
2
- import { DesignerComponentInstance } from "@/components/designer-canvas";
3
- import { SchemaDOMMapping } from "@/components/property-panel";
4
- import { canvasChanged } from "@/components/designer-canvas/src/composition/designer-canvas-changed";
5
- import { FormSchemaEntityFieldType$Type } from './entity-schema';
6
-
7
- export class InputBaseProperty extends BaseControlProperty {
8
- constructor(componentId: string, designerHostService: any) {
9
- super(componentId, designerHostService);
10
- }
11
-
12
- public getPropertyConfig(propertyData: any, componentInstance: DesignerComponentInstance) {
13
- // 基本信息
14
- this.propertyConfig.categories['basic'] = this.getBasicProperties(propertyData, componentInstance);
15
- // 外观
16
- this.propertyConfig.categories['appearance'] = this.getAppearanceProperties(propertyData, componentInstance);
17
- // 编辑器
18
- this.propertyConfig.categories['editor'] = this.getEditorProperties(propertyData);
19
- return this.propertyConfig;
20
- }
21
-
22
- public getBasicProperties(propertyData, componentInstance): any {
23
- const self = this;
24
- this.setDesignViewModelField(propertyData);
25
- return {
26
- description: 'Basic Information',
27
- title: '基本信息',
28
- properties: {
29
- id: {
30
- description: '组件标识',
31
- title: '标识',
32
- type: 'string',
33
- readonly: true
34
- },
35
- type: {
36
- description: '编辑器类型',
37
- title: '编辑器类型',
38
- type: 'string',
39
- refreshPanelAfterChanged: true,
40
- $converter: '/converter/change-editor.converter',
41
- editor: {
42
- type: 'combo-list',
43
- textField: 'value',
44
- valueField: 'key',
45
- editable: false,
46
- data: self.designViewModelField ? SchemaDOMMapping.getEditorTypesByMDataType(self.designViewModelField.type?.name) : SchemaDOMMapping.getAllInputTypes()
47
- }
48
- },
49
- label: {
50
- title: "标签",
51
- type: "string",
52
- $converter: '/converter/form-group-label.converter'
53
- },
54
- binding: {
55
- description: "绑定的表单字段",
56
- title: "绑定",
57
- editor: {
58
- type: "binding-selector",
59
- bindingType: { "enable": false },
60
- editorParams: {
61
- componentSchema: propertyData,
62
- needSyncToViewModel: true,
63
- viewModelId: this.viewModelId,
64
- designerHostService: this.designerHostService,
65
- disableOccupiedFields: true
66
- },
67
- textField: 'bindingField'
68
- }
69
- }
70
- },
71
- setPropertyRelates(changeObject, prop) {
72
- if (!changeObject) {
73
- return;
74
- }
75
- switch (changeObject && changeObject.propertyID) {
76
- case 'type': {
77
- self.changeControlType(propertyData, changeObject, componentInstance);
78
- break;
79
- }
80
- case 'label': {
81
- changeObject.needRefreshControlTree = true;
82
- break;
83
- }
84
- }
85
- }
86
- };
87
- }
88
- public getAppearanceProperties(propertyData, componentInstance): any {
89
-
90
- const self = this;
91
- return {
92
- title: "外观",
93
- description: "Appearance",
94
- properties: {
95
- class: {
96
- title: "class样式",
97
- type: "string",
98
- description: "组件的CSS样式",
99
- $converter: "/converter/appearance.converter"
100
- },
101
- style: {
102
- title: "style样式",
103
- type: "string",
104
- description: "组件的样式",
105
- $converter: "/converter/appearance.converter"
106
- }
107
- },
108
- setPropertyRelates(changeObject, prop) {
109
- if (!changeObject) {
110
- return;
111
- }
112
- switch (changeObject && changeObject.propertyID) {
113
- case 'class':
114
- self.updateElementByParentContainer(propertyData.id, componentInstance);
115
- break;
116
- }
117
-
118
- }
119
- };
120
- };
121
-
122
- public getEditorProperties(propertyData): any {
123
- return this.getComponentConfig(propertyData);
124
- }
125
-
126
-
127
- /**
128
- * 卡片控件:切换控件类型后事件
129
- * @param propertyData 控件DOM属性
130
- * @param newControlType 新控件类型
131
- */
132
- private changeControlType(propertyData, changeObject, componentInstance: DesignerComponentInstance) {
133
- const newControlType = changeObject.propertyValue;
134
-
135
- // 1、定位控件父容器
136
- const parentContainer = componentInstance && componentInstance.parent && componentInstance.parent['schema'];
137
- if (!parentContainer) {
138
- return;
139
- }
140
-
141
- const index = parentContainer.contents.findIndex(c => c.id === propertyData.id);
142
- const oldControl = parentContainer.contents[index];
143
-
144
- let newControl;
145
- // 2、记录绑定字段viewModel的变更
146
- if (this.designViewModelField) {
147
- const dgViewModel = this.designViewModelUtils.getDgViewModel(this.viewModelId);
148
- dgViewModel.changeField(this.designViewModelField.id, {
149
- editor: {
150
- $type: newControlType
151
- },
152
- name: this.designViewModelField.name,
153
- require: this.designViewModelField.require,
154
- readonly: this.designViewModelField.readonly
155
- }, false);
156
- // 3、创建新控件
157
- newControl = this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField, newControlType);
158
- }
159
- if (!newControl) {
160
- newControl = this.controlCreatorUtils.createFormGroupWithoutField(newControlType);
161
- }
162
- // 4、保留原id样式等属性
163
- Object.assign(newControl, {
164
- id: oldControl.id,
165
- appearance: oldControl.appearance,
166
- size: oldControl.size,
167
- label: oldControl.label,
168
- binding: oldControl.binding,
169
- visible: oldControl.visible
170
- });
171
- Object.assign(newControl.editor, {
172
- isTextArea: newControl.isTextArea && oldControl.isTextArea,
173
- placeholder: oldControl.editor?.placeholder,
174
- holdPlace: oldControl.editor?.holdPlace,
175
- readonly: oldControl.editor?.readonly,
176
- required: oldControl.editor?.required,
177
- });
178
-
179
- // 5、替换控件
180
- parentContainer.contents.splice(index, 1);
181
- parentContainer.contents.splice(index, 0, newControl);
182
- componentInstance.schema = Object.assign(oldControl, newControl);
183
-
184
- // 6、暂时移除旧控件的选中样式(后续考虑更好的方式)
185
- Array.from(document.getElementsByClassName('dgComponentSelected') as HTMLCollectionOf<HTMLElement>).forEach(
186
- (element: HTMLElement) => element.classList.remove('dgComponentSelected')
187
- );
188
-
189
- Array.from(document.getElementsByClassName('dgComponentFocused') as HTMLCollectionOf<HTMLElement>).forEach(
190
- (element: HTMLElement) => element.classList.remove('dgComponentFocused')
191
- );
192
- // 7、触发刷新
193
- canvasChanged.value++;
194
-
195
- }
196
-
197
- public getComponentConfig(propertyData, info = {}, properties = {}, setPropertyRelates?: any) {
198
- const editorBasic = Object.assign({
199
- description: "编辑器",
200
- title: "编辑器",
201
- type: "input-group",
202
- $converter: "/converter/property-editor.converter"
203
- }, info);
204
-
205
- const editorProperties = Object.assign({
206
- readonly: {
207
- description: "",
208
- title: "只读",
209
- type: "boolean",
210
- editor: {
211
- enableClear: true,
212
- editable: true
213
- }
214
- },
215
- disabled: {
216
- description: "",
217
- title: "禁用",
218
- type: "boolean",
219
- visible: false
220
- },
221
- required: {
222
- description: "",
223
- title: "必填",
224
- type: "boolean",
225
- visible: false
226
- },
227
- placeholder: {
228
- description: "空值时,输入控件内的占位文本",
229
- title: "提示文本",
230
- type: "string",
231
- visible: false
232
-
233
- }
234
- }, properties);
235
-
236
- return { ...editorBasic, properties: { ...editorProperties }, setPropertyRelates };
237
-
238
- }
239
-
240
-
241
- /**
242
- * 枚举项编辑器
243
- * @param propertyData
244
- * @param valueField
245
- * @param textField
246
- * @returns
247
- */
248
- protected getItemCollectionEditor(propertyData, valueField, textField) {
249
- valueField = valueField || 'value';
250
- textField = textField || 'name';
251
- return {
252
- editor: {
253
- columns: [
254
- { field: valueField, title: '值', dataType: 'string' },
255
- { field: textField, title: '名称', dataType: 'string' },
256
- { field: 'disabled', title: '禁用', visible: false, dataType: 'boolean', editor: { type: 'switch' } },
257
- ],
258
- type: "item-collection-editor",
259
- valueField: valueField,
260
- nameField: textField,
261
- requiredFields: [valueField, textField],
262
- uniqueFields: [valueField, textField],
263
- readonly: this.checkEnumDataReadonly(propertyData)
264
- }
265
- };
266
- }
267
- /**
268
- * 判断枚举数据是否只读
269
- * 1、没有绑定信息或者绑定变量,可以新增、删除、修改
270
- * 2、绑定类型为字段,且字段为枚举字段,则不可新增、删除、修改枚举值。只能从be修改然后同步到表单上。
271
- * @param propertyData 下拉框控件属性值
272
- */
273
- private checkEnumDataReadonly(propertyData: any): boolean {
274
- // 没有绑定信息或者绑定变量
275
- if (!propertyData.binding || propertyData.binding.type !== 'Form') {
276
- return false;
277
- }
278
- if (this.designViewModelField && this.designViewModelField.type &&
279
- this.designViewModelField.type.$type === FormSchemaEntityFieldType$Type.EnumType) {
280
- // 低代码、零代码,枚举字段均不可以改
281
- return true;
282
- }
283
- return false;
284
- }
285
- }
@@ -1,150 +0,0 @@
1
- @keyframes fm-fade-in {
2
- from {
3
- opacity: 0;
4
- }
5
-
6
- to {
7
- opacity: 1;
8
- }
9
- }
10
-
11
- @keyframes fm-fade-out {
12
- from {
13
- opacity: 1;
14
- }
15
-
16
- to {
17
- opacity: 0;
18
- }
19
- }
20
-
21
- .fm-fade {
22
- &-enter-active {
23
- animation: 0.3s fm-fade-in both ease-out;
24
- }
25
-
26
- &-leave-active {
27
- animation: 0.3s fm-fade-out both ease-in;
28
- }
29
- }
30
-
31
- .fm-slide-up {
32
- &-enter-from,
33
- &-leave-to {
34
- transform: translate3d(0, 100%, 0);
35
- }
36
- }
37
-
38
- .fm-slide-down {
39
- &-enter-from,
40
- &-leave-to {
41
- transform: translate3d(0, -100%, 0);
42
- }
43
- }
44
-
45
- .fm-slide-left {
46
- &-enter-from,
47
- &-leave-to {
48
- transform: translate3d(-100%, 0, 0);
49
- }
50
- }
51
-
52
- .fm-slide-right {
53
- &-enter-from,
54
- &-leave-to {
55
- transform: translate3d(100%, 0, 0);
56
- }
57
- }
58
-
59
- .fm-slide-up-enter-active,
60
- .fm-slide-down-enter-active,
61
- .fm-slide-left-enter-active,
62
- .fm-slide-right-enter-active {
63
- transition-timing-function: ease-out;
64
- }
65
- .fm-slide-up-leave-active,
66
- .fm-slide-down-leave-active,
67
- .fm-slide-left-leave-active,
68
- .fm-slide-right-leave-active {
69
- transition-timing-function: ease-in;
70
- }
71
-
72
- .fm-slide-in-enter-active,
73
- .fm-slide-in-leave-active,
74
- .fm-slide-out-enter-active,
75
- .fm-slide-out-leave-active {
76
- will-change: transform;
77
- transition: all 0.3s;
78
- height: 100%;
79
- width: 100%;
80
- top: 0px;
81
- position: absolute;
82
- backface-visibility: hidden;
83
- perspective: 1000;
84
- }
85
-
86
- .fm-slide-in-leave-to,
87
- .fm-slide-out-enter-from {
88
- transform: translateX(-100%);
89
- opacity: 0;
90
- }
91
- .fm-slide-in-enter-from,
92
- .fm-slide-out-leave-to {
93
- transform: translateX(100%);
94
- opacity: 0;
95
- }
96
-
97
- @keyframes fm-drop-down-in {
98
- from {
99
- height: 0;
100
- opacity: 0;
101
- }
102
-
103
- to {
104
- opacity: 1;
105
- }
106
- }
107
- @keyframes fm-drop-down-out {
108
- from {
109
- opacity: 1;
110
- }
111
- to {
112
- height: 0;
113
- opacity: 0;
114
- }
115
- }
116
- .fm-drop-down {
117
- &-enter-active {
118
- animation: 0.3s fm-drop-down-in both ease-out;
119
- }
120
- &-leave-active {
121
- animation: 0.3s fm-drop-down-out both ease-in;
122
- }
123
- }
124
- @keyframes fm-circular {
125
- 0% {
126
- stroke-dasharray: 1, 200;
127
- stroke-dashoffset: 0
128
- }
129
-
130
- 50% {
131
- stroke-dasharray: 90, 150;
132
- stroke-dashoffset: -40
133
- }
134
-
135
- 100% {
136
- stroke-dasharray: 90, 150;
137
- stroke-dashoffset: -120
138
- }
139
- }
140
- @keyframes fm-rotate {
141
- from {
142
- -webkit-transform: rotate(0);
143
- transform: rotate(0)
144
- }
145
-
146
- to {
147
- -webkit-transform: rotate(360deg);
148
- transform: rotate(360deg)
149
- }
150
- }