@tmagic/editor 1.8.0-beta.7 → 1.8.0-manmanyu.8

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 (129) hide show
  1. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +13 -3
  2. package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +6 -5
  3. package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +11 -4
  4. package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +9 -4
  5. package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +4 -1
  6. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +4 -1
  7. package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +68 -43
  8. package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +5 -1
  9. package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +4 -1
  10. package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +10 -7
  11. package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +4 -1
  12. package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +4 -1
  13. package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +4 -1
  14. package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +4 -1
  15. package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +4 -1
  16. package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +4 -1
  17. package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +8 -2
  18. package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +101 -64
  19. package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +4 -1
  20. package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +4 -1
  21. package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +5 -4
  22. package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +4 -1
  23. package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +1 -1
  24. package/dist/es/fields/StyleSetter/icons/align-items/Center.js +31 -0
  25. package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +31 -0
  26. package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +31 -0
  27. package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +50 -0
  28. package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +50 -0
  29. package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +6 -6
  30. package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +5 -2
  31. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +28 -5
  32. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +31 -5
  33. package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +10 -2
  34. package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +10 -2
  35. package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +10 -2
  36. package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +10 -2
  37. package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +16 -2
  38. package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +18 -2
  39. package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +18 -2
  40. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +36 -2
  41. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +32 -2
  42. package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +11 -6
  43. package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +6 -3
  44. package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +82 -46
  45. package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +4 -1
  46. package/dist/es/icons/DatasourceIcon.js +17 -0
  47. package/dist/es/index.js +5 -3
  48. package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +14 -10
  49. package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +38 -26
  50. package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +5 -1
  51. package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +135 -288
  52. package/dist/es/layouts/history-list/composables.js +23 -55
  53. package/dist/es/layouts/history-list/useHistoryList.js +56 -0
  54. package/dist/es/layouts/history-list/useHistoryRevert.js +304 -0
  55. package/dist/es/services/history.js +18 -1
  56. package/dist/es/style.css +306 -37
  57. package/dist/es/utils/const.js +1 -1
  58. package/dist/es/utils/props.js +137 -31
  59. package/dist/style.css +306 -37
  60. package/dist/themes/magic-admin.css +2316 -0
  61. package/dist/tmagic-editor.umd.cjs +4427 -2871
  62. package/package.json +7 -7
  63. package/src/Editor.vue +13 -1
  64. package/src/components/CompareForm.vue +14 -6
  65. package/src/components/ContentMenu.vue +10 -2
  66. package/src/components/FloatingBox.vue +13 -2
  67. package/src/editorProps.ts +9 -0
  68. package/src/fields/CodeSelect.vue +51 -40
  69. package/src/fields/CodeSelectCol.vue +1 -0
  70. package/src/fields/DataSourceFieldSelect/Index.vue +14 -5
  71. package/src/fields/DisplayConds.vue +4 -1
  72. package/src/fields/EventSelect.vue +58 -32
  73. package/src/fields/StyleSetter/Index.vue +1 -4
  74. package/src/fields/StyleSetter/components/Border.vue +1 -1
  75. package/src/fields/StyleSetter/icons/align-items/Center.vue +19 -0
  76. package/src/fields/StyleSetter/icons/align-items/FlexEnd.vue +19 -0
  77. package/src/fields/StyleSetter/icons/align-items/FlexStart.vue +19 -0
  78. package/src/fields/StyleSetter/icons/align-items/SpaceAround.vue +34 -0
  79. package/src/fields/StyleSetter/icons/align-items/SpaceBetween.vue +34 -0
  80. package/src/fields/StyleSetter/icons/align-items/index copy.ts +5 -0
  81. package/src/fields/StyleSetter/icons/align-items/index.ts +5 -0
  82. package/src/fields/StyleSetter/icons/background-repeat/NoRepeat.vue +20 -4
  83. package/src/fields/StyleSetter/icons/background-repeat/Repeat.vue +10 -28
  84. package/src/fields/StyleSetter/icons/background-repeat/RepeatX.vue +4 -5
  85. package/src/fields/StyleSetter/icons/background-repeat/RepeatY.vue +4 -5
  86. package/src/fields/StyleSetter/icons/flex-direction/Column.vue +4 -3
  87. package/src/fields/StyleSetter/icons/flex-direction/ColumnReverse.vue +4 -3
  88. package/src/fields/StyleSetter/icons/flex-direction/Row.vue +4 -3
  89. package/src/fields/StyleSetter/icons/flex-direction/RowReverse.vue +4 -3
  90. package/src/fields/StyleSetter/icons/justify-content/Center.vue +5 -2
  91. package/src/fields/StyleSetter/icons/justify-content/FlexEnd.vue +15 -2
  92. package/src/fields/StyleSetter/icons/justify-content/FlexStart.vue +15 -2
  93. package/src/fields/StyleSetter/icons/justify-content/SpaceAround.vue +28 -3
  94. package/src/fields/StyleSetter/icons/justify-content/SpaceBetween.vue +28 -2
  95. package/src/fields/StyleSetter/pro/Background.vue +11 -5
  96. package/src/fields/StyleSetter/pro/Font.vue +3 -3
  97. package/src/fields/StyleSetter/pro/Layout.vue +105 -28
  98. package/src/fields/UISelect.vue +1 -1
  99. package/src/icons/DatasourceIcon.vue +7 -0
  100. package/src/index.ts +2 -0
  101. package/src/layouts/Framework.vue +7 -1
  102. package/src/layouts/NavMenu.vue +2 -2
  103. package/src/layouts/history-list/GroupRow.vue +10 -0
  104. package/src/layouts/history-list/HistoryDiffDialog.vue +6 -1
  105. package/src/layouts/history-list/HistoryListPanel.vue +53 -250
  106. package/src/layouts/history-list/PageTab.vue +4 -4
  107. package/src/layouts/history-list/composables.ts +52 -90
  108. package/src/layouts/history-list/useHistoryList.ts +60 -0
  109. package/src/layouts/history-list/useHistoryRevert.ts +400 -0
  110. package/src/services/codeBlock.ts +30 -29
  111. package/src/services/dataSource.ts +37 -37
  112. package/src/services/editor.ts +32 -29
  113. package/src/services/history.ts +340 -430
  114. package/src/theme/code-block.scss +37 -0
  115. package/src/theme/common/var.scss +1 -1
  116. package/src/theme/component-list-panel.scss +2 -2
  117. package/src/theme/data-source-field.scss +4 -0
  118. package/src/theme/display-conds.scss +11 -0
  119. package/src/theme/event.scss +55 -1
  120. package/src/theme/history-list-panel.scss +23 -9
  121. package/src/theme/props-panel.scss +2 -1
  122. package/src/theme/style-setter/border.scss +14 -5
  123. package/src/theme/theme.scss +1 -0
  124. package/src/theme/themes/magic-admin/index.scss +125 -0
  125. package/src/type.ts +174 -92
  126. package/src/utils/const.ts +2 -1
  127. package/src/utils/history.ts +52 -67
  128. package/src/utils/props.ts +138 -9
  129. package/types/index.d.ts +156 -13
@@ -131,44 +131,161 @@ export const eventTabConfig: TabPaneConfig = {
131
131
  ],
132
132
  };
133
133
 
134
+ const getReportTypeConfig = ({ reportType }: { reportType: 'click' | 'expose' }) => {
135
+ const reportLabel = {
136
+ click: '点击',
137
+ expose: '曝光',
138
+ };
139
+ const label = reportLabel[reportType];
140
+ return {
141
+ name: reportType,
142
+ style: {
143
+ backgroundColor: '#fff',
144
+ borderRadius: '4px',
145
+ padding: '16px',
146
+ marginBottom: '10px',
147
+ },
148
+ items: [
149
+ {
150
+ text: label,
151
+ static: true,
152
+ labelPosition: 'left',
153
+ labelWidth: '200px',
154
+ className: 'm-fields-title-container',
155
+ },
156
+ {
157
+ name: 'f_module',
158
+ type: 'data-source-field-select',
159
+ fieldConfig: {
160
+ type: 'text',
161
+ },
162
+ checkStrictly: false,
163
+ dataSourceFieldType: ['string'],
164
+ disabled: (_vm: any, { formValue }: any) => !formValue?.report?.custom,
165
+ text: 'f_module',
166
+ labelPosition: 'left',
167
+ },
168
+ {
169
+ name: 'f_resource',
170
+ type: 'data-source-field-select',
171
+ fieldConfig: {
172
+ type: 'text',
173
+ },
174
+ checkStrictly: false,
175
+ dataSourceFieldType: ['string'],
176
+ disabled: (_vm: any, { formValue }: any) => !formValue?.report?.custom,
177
+ text: 'f_resource',
178
+ labelPosition: 'left',
179
+ },
180
+ {
181
+ name: 'f_type',
182
+ type: 'data-source-field-select',
183
+ fieldConfig: {
184
+ type: 'text',
185
+ },
186
+ checkStrictly: false,
187
+ dataSourceFieldType: ['string', 'number'],
188
+ disabled: (_vm: any, { formValue }: any) => !formValue?.report?.custom,
189
+ text: 'f_type',
190
+ labelPosition: 'left',
191
+ },
192
+ ],
193
+ };
194
+ };
195
+
134
196
  export const advancedTabConfig: TabPaneConfig = {
135
197
  title: '高级',
136
198
  lazy: true,
137
199
  items: [
200
+ {
201
+ type: 'link',
202
+ displayText: '点击查看配置指南',
203
+ href: 'https://iwiki.woa.com/pages/viewpage.action?pageId=827749220',
204
+ css: 'color: #F56C6C;font-weight: bold',
205
+ } as any,
138
206
  {
139
207
  name: NODE_DISABLE_CODE_BLOCK_KEY,
140
208
  text: '禁用代码块',
141
209
  type: 'switch',
210
+ labelPosition: 'left',
142
211
  defaultValue: false,
143
212
  extra: '开启后,配置的代码块将不会被执行',
213
+ style: {
214
+ padding: '0 22px',
215
+ },
144
216
  },
145
217
  {
146
218
  name: NODE_DISABLE_DATA_SOURCE_KEY,
147
219
  text: '禁用数据源',
148
220
  type: 'switch',
221
+ labelPosition: 'left',
149
222
  defaultValue: false,
150
223
  extra: '开启后,组件内配置的数据源相关配置将不会被编译,显隐条件将失效',
224
+ style: {
225
+ padding: '0 22px',
226
+ },
151
227
  },
152
228
  {
153
229
  name: 'created',
154
- text: 'created',
230
+ text: 'Created',
231
+ flat: true,
155
232
  labelPosition: 'top',
156
233
  type: 'code-select',
157
- extra: '组件初始化时执行',
234
+ titleExtra: '组件初始化时执行',
235
+ style: {
236
+ padding: '0 22px',
237
+ },
158
238
  },
159
239
  {
160
240
  name: 'mounted',
161
- text: 'mounted',
241
+ text: 'Mounted',
162
242
  labelPosition: 'top',
243
+ flat: true,
244
+
163
245
  type: 'code-select',
164
- extra: '组件挂载到dom时执行',
246
+ titleExtra: '组件挂载到dom时执行',
247
+ style: {
248
+ padding: '0 22px',
249
+ },
165
250
  },
166
251
  {
167
252
  name: 'display',
168
- text: 'display',
169
- extra: '控制组件是否渲染,关系的代码块返回值为false时不渲染',
253
+ text: 'Display',
254
+ flat: true,
255
+ titleExtra: '控制组件是否渲染,关系的代码块返回值为false时不渲染',
170
256
  labelPosition: 'top',
171
257
  type: 'code-select',
258
+ style: {
259
+ padding: '0 22px',
260
+ },
261
+ },
262
+ {
263
+ type: 'fieldset',
264
+ legend: '上报',
265
+ labelWidth: '80px',
266
+ name: 'report',
267
+ className: 'no-border-fieldset',
268
+ style: {
269
+ paddingTop: '10px',
270
+ },
271
+ items: [
272
+ {
273
+ type: 'row',
274
+ items: [
275
+ {
276
+ type: 'switch',
277
+ name: 'custom',
278
+ labelPosition: 'left',
279
+ defaultValue: false,
280
+ labelWidth: '120px',
281
+ text: '开启自定义',
282
+ extra: '开启自定义后可以手动修改上报内容,关闭后会自动生成上报内容',
283
+ },
284
+ ],
285
+ },
286
+ getReportTypeConfig({ reportType: 'click' }),
287
+ getReportTypeConfig({ reportType: 'expose' }) as any,
288
+ ],
172
289
  },
173
290
  ],
174
291
  };
@@ -189,10 +306,18 @@ export const displayTabConfig: TabPaneConfig<DisplayCondsConfig> = {
189
306
  extra: (_state, { model }) =>
190
307
  `条件成立时${model[NODE_CONDS_RESULT_KEY] ? '隐藏' : '显示'},不成立时${model[NODE_CONDS_RESULT_KEY] ? '显示' : '隐藏'};<br />同一条件组内的所有条件配置同时成立时表示该条件组成立,任意一个条件组成立时表示条件成立(条件组内为且的关系,条件组间为或的关系);<br />条件为空时表示成立;`,
191
308
  },
309
+ {
310
+ text: '条件组配置',
311
+ static: true,
312
+ className: 'display-conds-title',
313
+ },
192
314
  {
193
315
  type: 'display-conds',
194
316
  name: NODE_CONDS_KEY,
195
317
  titlePrefix: '条件组',
318
+ flat: true,
319
+ fixed: 'right',
320
+ operateColWidth: 112,
196
321
  defaultValue: [],
197
322
  },
198
323
  ],
@@ -228,10 +353,13 @@ export const fillConfig = (
228
353
  name: 'id',
229
354
  text: 'ID',
230
355
  type: 'text',
231
- disabled: true,
356
+ // 走纯文本渲染,避免出现 disabled 的灰底输入框;append 仍正常显示。
357
+ static: true,
358
+
232
359
  append: {
233
- type: 'button',
234
- text: '复制',
360
+ type: 'icon',
361
+ text: 'https://vip.image.video.qpic.cn/vupload/20260615/36cf7e1781493669935.svg',
362
+ extra: '复制',
235
363
  handler: (vm, { model }) => {
236
364
  navigator.clipboard
237
365
  .writeText(`${model.id}`)
@@ -264,6 +392,7 @@ export const fillConfig = (
264
392
  const tabConfig: TabConfig = {
265
393
  type: 'tab',
266
394
  labelWidth,
395
+ className: 'magic-right-panel-tabs-top',
267
396
  items: [
268
397
  {
269
398
  title: '属性',