@tmagic/editor 1.8.0-beta.12 → 1.8.0-beta.14
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/es/Editor.vue_vue_type_script_setup_true_lang.js +15 -3
- package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +13 -121
- package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +11 -4
- package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +7 -2
- package/dist/es/components/ViewForm.js +5 -0
- package/dist/es/components/ViewForm.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +80 -55
- package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +5 -1
- package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +10 -7
- package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +4 -1
- package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +99 -64
- package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +5 -4
- package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/StyleSetter/icons/align-items/Center.js +31 -0
- package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +31 -0
- package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +31 -0
- package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +50 -0
- package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +50 -0
- package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +6 -6
- package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +5 -2
- package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +28 -5
- package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +31 -5
- package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +10 -2
- package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +10 -2
- package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +10 -2
- package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +10 -2
- package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +16 -2
- package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +18 -2
- package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +18 -2
- package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +36 -2
- package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +32 -2
- package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +7 -6
- package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +6 -3
- package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +47 -25
- package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/hooks/use-compare-form.js +119 -0
- package/dist/es/icons/DatasourceIcon.js +17 -0
- package/dist/es/index.js +6 -4
- package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +14 -10
- package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +10 -1
- package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/es/plugin.js +2 -1
- package/dist/es/services/codeBlock.js +1 -1
- package/dist/es/services/editor.js +54 -13
- package/dist/es/services/history.js +1 -1
- package/dist/es/services/props.js +1 -1
- package/dist/es/services/storage.js +1 -1
- package/dist/es/services/ui.js +5 -3
- package/dist/es/style.css +303 -40
- package/dist/es/utils/config.js +4 -1
- package/dist/es/utils/const.js +2 -2
- package/dist/es/utils/props.js +69 -30
- package/dist/style.css +303 -40
- package/dist/themes/magic-admin.css +3000 -0
- package/dist/tmagic-editor.umd.cjs +1748 -1079
- package/package.json +7 -7
- package/src/Editor.vue +22 -1
- package/src/components/CompareForm.vue +15 -202
- package/src/components/ContentMenu.vue +10 -2
- package/src/components/FloatingBox.vue +8 -2
- package/src/components/ViewForm.vue +55 -0
- package/src/editorProps.ts +4 -0
- package/src/fields/CodeSelect.vue +54 -43
- package/src/fields/CodeSelectCol.vue +1 -0
- package/src/fields/DataSourceFieldSelect/Index.vue +14 -5
- package/src/fields/DisplayConds.vue +4 -1
- package/src/fields/EventSelect.vue +56 -32
- package/src/fields/StyleSetter/Index.vue +1 -4
- package/src/fields/StyleSetter/components/Border.vue +1 -1
- package/src/fields/StyleSetter/icons/align-items/Center.vue +19 -0
- package/src/fields/StyleSetter/icons/align-items/FlexEnd.vue +19 -0
- package/src/fields/StyleSetter/icons/align-items/FlexStart.vue +19 -0
- package/src/fields/StyleSetter/icons/align-items/SpaceAround.vue +34 -0
- package/src/fields/StyleSetter/icons/align-items/SpaceBetween.vue +34 -0
- package/src/fields/StyleSetter/icons/align-items/index.ts +5 -0
- package/src/fields/StyleSetter/icons/background-repeat/NoRepeat.vue +20 -4
- package/src/fields/StyleSetter/icons/background-repeat/Repeat.vue +10 -28
- package/src/fields/StyleSetter/icons/background-repeat/RepeatX.vue +4 -5
- package/src/fields/StyleSetter/icons/background-repeat/RepeatY.vue +4 -5
- package/src/fields/StyleSetter/icons/flex-direction/Column.vue +4 -3
- package/src/fields/StyleSetter/icons/flex-direction/ColumnReverse.vue +4 -3
- package/src/fields/StyleSetter/icons/flex-direction/Row.vue +4 -3
- package/src/fields/StyleSetter/icons/flex-direction/RowReverse.vue +4 -3
- package/src/fields/StyleSetter/icons/justify-content/Center.vue +5 -2
- package/src/fields/StyleSetter/icons/justify-content/FlexEnd.vue +15 -2
- package/src/fields/StyleSetter/icons/justify-content/FlexStart.vue +15 -2
- package/src/fields/StyleSetter/icons/justify-content/SpaceAround.vue +28 -3
- package/src/fields/StyleSetter/icons/justify-content/SpaceBetween.vue +28 -2
- package/src/fields/StyleSetter/pro/Background.vue +7 -2
- package/src/fields/StyleSetter/pro/Font.vue +3 -3
- package/src/fields/StyleSetter/pro/Layout.vue +98 -28
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-compare-form.ts +187 -0
- package/src/icons/DatasourceIcon.vue +7 -0
- package/src/index.ts +4 -0
- package/src/layouts/Framework.vue +7 -1
- package/src/layouts/props-panel/PropsPanel.vue +19 -1
- package/src/layouts/sidebar/Sidebar.vue +3 -3
- package/src/plugin.ts +3 -2
- package/src/services/editor.ts +54 -11
- package/src/services/ui.ts +20 -5
- package/src/theme/code-block.scss +37 -0
- package/src/theme/common/var.scss +1 -1
- package/src/theme/component-list-panel.scss +2 -2
- package/src/theme/data-source-field.scss +4 -0
- package/src/theme/display-conds.scss +11 -0
- package/src/theme/event.scss +58 -4
- package/src/theme/framework.scss +4 -1
- package/src/theme/history-list-panel.scss +9 -9
- package/src/theme/nav-menu.scss +5 -1
- package/src/theme/props-panel.scss +2 -1
- package/src/theme/style-setter/border.scss +14 -5
- package/src/theme/theme.scss +1 -0
- package/src/theme/themes/magic-admin/index.scss +214 -0
- package/src/theme/ui-select.scss +1 -1
- package/src/type.ts +79 -6
- package/src/utils/config.ts +9 -1
- package/src/utils/const.ts +3 -2
- package/src/utils/props.ts +51 -9
- package/types/index.d.ts +314 -203
package/dist/es/utils/props.js
CHANGED
|
@@ -145,6 +145,7 @@ var advancedTabConfig = {
|
|
|
145
145
|
name: NODE_DISABLE_CODE_BLOCK_KEY,
|
|
146
146
|
text: "禁用代码块",
|
|
147
147
|
type: "switch",
|
|
148
|
+
labelPosition: "left",
|
|
148
149
|
defaultValue: false,
|
|
149
150
|
extra: "开启后,配置的代码块将不会被执行"
|
|
150
151
|
},
|
|
@@ -152,15 +153,16 @@ var advancedTabConfig = {
|
|
|
152
153
|
name: NODE_DISABLE_DATA_SOURCE_KEY,
|
|
153
154
|
text: "禁用数据源",
|
|
154
155
|
type: "switch",
|
|
156
|
+
labelPosition: "left",
|
|
155
157
|
defaultValue: false,
|
|
156
158
|
extra: "开启后,组件内配置的数据源相关配置将不会被编译,显隐条件将失效"
|
|
157
159
|
},
|
|
158
160
|
{
|
|
159
161
|
name: "created",
|
|
160
|
-
text: "
|
|
162
|
+
text: "Created",
|
|
161
163
|
labelPosition: "top",
|
|
162
164
|
type: "code-select",
|
|
163
|
-
|
|
165
|
+
titleExtra: "组件初始化时执行",
|
|
164
166
|
rules: [{
|
|
165
167
|
typeMatch: true,
|
|
166
168
|
trigger: "change"
|
|
@@ -171,10 +173,10 @@ var advancedTabConfig = {
|
|
|
171
173
|
},
|
|
172
174
|
{
|
|
173
175
|
name: "mounted",
|
|
174
|
-
text: "
|
|
176
|
+
text: "Mounted",
|
|
175
177
|
labelPosition: "top",
|
|
176
178
|
type: "code-select",
|
|
177
|
-
|
|
179
|
+
titleExtra: "组件挂载到dom时执行",
|
|
178
180
|
rules: [{
|
|
179
181
|
typeMatch: true,
|
|
180
182
|
trigger: "change"
|
|
@@ -185,8 +187,8 @@ var advancedTabConfig = {
|
|
|
185
187
|
},
|
|
186
188
|
{
|
|
187
189
|
name: "display",
|
|
188
|
-
text: "
|
|
189
|
-
|
|
190
|
+
text: "Display",
|
|
191
|
+
titleExtra: "控制组件是否渲染,关系的代码块返回值为false时不渲染",
|
|
190
192
|
labelPosition: "top",
|
|
191
193
|
type: "code-select",
|
|
192
194
|
rules: [{
|
|
@@ -202,26 +204,36 @@ var advancedTabConfig = {
|
|
|
202
204
|
var displayTabConfig = {
|
|
203
205
|
title: "显示条件",
|
|
204
206
|
display: (_state, { model }) => model.type !== "page",
|
|
205
|
-
items: [
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
207
|
+
items: [
|
|
208
|
+
{
|
|
209
|
+
name: NODE_CONDS_RESULT_KEY,
|
|
210
|
+
type: "select",
|
|
211
|
+
text: "条件成立时",
|
|
212
|
+
defaultValue: false,
|
|
213
|
+
options: [{
|
|
214
|
+
text: "显示",
|
|
215
|
+
value: false
|
|
216
|
+
}, {
|
|
217
|
+
text: "隐藏",
|
|
218
|
+
value: true
|
|
219
|
+
}],
|
|
220
|
+
extra: (_state, { model }) => `条件成立时${model[NODE_CONDS_RESULT_KEY] ? "隐藏" : "显示"},不成立时${model[NODE_CONDS_RESULT_KEY] ? "显示" : "隐藏"};<br />同一条件组内的所有条件配置同时成立时表示该条件组成立,任意一个条件组成立时表示条件成立(条件组内为且的关系,条件组间为或的关系);<br />条件为空时表示成立;`
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
text: "条件组配置",
|
|
224
|
+
static: true,
|
|
225
|
+
className: "display-conds-title"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
type: "display-conds",
|
|
229
|
+
name: NODE_CONDS_KEY,
|
|
230
|
+
titlePrefix: "条件组",
|
|
231
|
+
fixed: "right",
|
|
232
|
+
operateColWidth: 112,
|
|
233
|
+
defaultValue: [],
|
|
234
|
+
rules: [{ typeMatch: true }]
|
|
235
|
+
}
|
|
236
|
+
]
|
|
225
237
|
};
|
|
226
238
|
/**
|
|
227
239
|
* 统一为组件属性表单加上事件、高级、样式配置
|
|
@@ -239,10 +251,11 @@ var fillConfig = (config = [], { labelWidth = "80px", disabledDataSource = false
|
|
|
239
251
|
name: "id",
|
|
240
252
|
text: "ID",
|
|
241
253
|
type: "text",
|
|
242
|
-
|
|
254
|
+
static: true,
|
|
243
255
|
append: {
|
|
244
|
-
type: "
|
|
245
|
-
text: "
|
|
256
|
+
type: "icon",
|
|
257
|
+
text: "https://vip.image.video.qpic.cn/vupload/20260615/36cf7e1781493669935.svg",
|
|
258
|
+
extra: "复制",
|
|
246
259
|
handler: (vm, { model }) => {
|
|
247
260
|
navigator.clipboard.writeText(`${model.id}`).then(() => {
|
|
248
261
|
tMagicMessage.success("已复制");
|
|
@@ -261,6 +274,7 @@ var fillConfig = (config = [], { labelWidth = "80px", disabledDataSource = false
|
|
|
261
274
|
const tabConfig = {
|
|
262
275
|
type: "tab",
|
|
263
276
|
labelWidth,
|
|
277
|
+
className: "magic-right-panel-tabs-top",
|
|
264
278
|
items: [
|
|
265
279
|
{
|
|
266
280
|
title: "属性",
|
|
@@ -276,6 +290,31 @@ var fillConfig = (config = [], { labelWidth = "80px", disabledDataSource = false
|
|
|
276
290
|
return [tabConfig];
|
|
277
291
|
};
|
|
278
292
|
/**
|
|
293
|
+
* 将属性表单配置中「样式」tab-pane 的 `display` 强制置为 `true`。
|
|
294
|
+
*
|
|
295
|
+
* `propsService.getPropsConfig` 返回的样式 tab 默认带有
|
|
296
|
+
* `display: ({ services }) => !(services?.uiService?.get('showStylePanel') ?? true)`,
|
|
297
|
+
* 在对比 / 只读展示场景(CompareForm / ViewForm)下并不需要跟随 uiService 状态隐藏,
|
|
298
|
+
* 这里统一放开,保证样式 tab 始终可见。
|
|
299
|
+
*
|
|
300
|
+
* @param formConfig 组件属性表单配置
|
|
301
|
+
* @returns 处理后的表单配置(不修改入参,返回浅拷贝)
|
|
302
|
+
*/
|
|
303
|
+
var removeStyleDisplayConfig = (formConfig) => formConfig.map((item) => {
|
|
304
|
+
if (!("type" in item)) return item;
|
|
305
|
+
if (item?.type !== "tab" || !Array.isArray(item.items)) return item;
|
|
306
|
+
return {
|
|
307
|
+
...item,
|
|
308
|
+
items: item.items.map((tabPane) => {
|
|
309
|
+
if (tabPane?.title !== "样式" || !Array.isArray(tabPane.items)) return tabPane;
|
|
310
|
+
return {
|
|
311
|
+
...tabPane,
|
|
312
|
+
display: true
|
|
313
|
+
};
|
|
314
|
+
})
|
|
315
|
+
};
|
|
316
|
+
});
|
|
317
|
+
/**
|
|
279
318
|
* 对一份「组件属性表单配置 + 值」做一次独立的校验,**不复用也不污染页面上正在展示的表单**。
|
|
280
319
|
*
|
|
281
320
|
* 内部基于 `@tmagic/form` 的 `validateForm` 另建一个独立的 MForm 实例完成校验,并统一处理
|
|
@@ -319,4 +358,4 @@ var validatePropsForm = ({ config, values, appContext = null, services, stage, e
|
|
|
319
358
|
})
|
|
320
359
|
});
|
|
321
360
|
//#endregion
|
|
322
|
-
export { advancedTabConfig, arrayOptions, booleanOptions, displayTabConfig, eqOptions, eventTabConfig, fillConfig, getCondOpOptionsByFieldType, numberOptions, styleTabConfig, validatePropsForm };
|
|
361
|
+
export { advancedTabConfig, arrayOptions, booleanOptions, displayTabConfig, eqOptions, eventTabConfig, fillConfig, getCondOpOptionsByFieldType, numberOptions, removeStyleDisplayConfig, styleTabConfig, validatePropsForm };
|