bm-admin-ui 1.0.44-alpha → 1.0.46-alpha

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 (36) hide show
  1. package/es/components/editor/__test__/index.test.d.ts +1 -0
  2. package/es/components/float-table/index.d.ts +1 -1
  3. package/es/components/float-table/index.js +22 -11
  4. package/es/components/float-table/src/float-table.vue.d.ts +1 -1
  5. package/es/components/form-create/index.js +97 -84
  6. package/es/components/form-designer/index.js +59 -67
  7. package/es/components/index.d.ts +1 -0
  8. package/es/components/index.js +1 -0
  9. package/es/components/videoView/__test__/index.test.d.ts +1 -0
  10. package/es/components/videoView/index.d.ts +37 -0
  11. package/es/components/videoView/index.js +100 -0
  12. package/es/components/videoView/src/videoView.vue.d.ts +36 -0
  13. package/lib/components/editor/__test__/index.test.d.ts +1 -0
  14. package/lib/components/float-table/index.d.ts +1 -1
  15. package/lib/components/float-table/index.js +22 -11
  16. package/lib/components/float-table/src/float-table.vue.d.ts +1 -1
  17. package/lib/components/form-create/index.js +97 -85
  18. package/lib/components/form-designer/index.js +59 -67
  19. package/lib/components/index.d.ts +1 -0
  20. package/lib/components/index.js +7 -0
  21. package/lib/components/videoView/__test__/index.test.d.ts +1 -0
  22. package/lib/components/videoView/index.d.ts +37 -0
  23. package/lib/components/videoView/index.js +105 -0
  24. package/lib/components/videoView/src/videoView.vue.d.ts +36 -0
  25. package/package.json +1 -1
  26. package/theme-chalk/index.css +1 -1
  27. package/theme-chalk/videoView.css +1 -0
  28. package/types/components/editor/__test__/index.test.d.ts +1 -0
  29. package/types/components/float-table/index.d.ts +1 -1
  30. package/types/components/float-table/src/float-table.vue.d.ts +1 -1
  31. package/types/components/index.d.ts +1 -0
  32. package/types/components/videoView/__test__/index.test.d.ts +1 -0
  33. package/types/components/videoView/index.d.ts +37 -0
  34. package/types/components/videoView/src/videoView.vue.d.ts +36 -0
  35. package/index.esm.js +0 -150073
  36. package/index.js +0 -150107
@@ -11,14 +11,12 @@ var BmStaffsSelector = require('bm-admin-ui/lib/components/staffs-selector');
11
11
  var components = require('bm-admin-ui/lib/components');
12
12
  var iconsVue = require('@ant-design/icons-vue');
13
13
  var lodashEs = require('lodash-es');
14
- var FC = require('@form-create/ant-design-vue');
15
14
 
16
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
16
 
18
17
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
19
18
  var Picture__default = /*#__PURE__*/_interopDefaultLegacy(Picture);
20
19
  var BmStaffsSelector__default = /*#__PURE__*/_interopDefaultLegacy(BmStaffsSelector);
21
- var FC__default = /*#__PURE__*/_interopDefaultLegacy(FC);
22
20
 
23
21
  const fieldRatioMap = {
24
22
  '25%': 6,
@@ -785,15 +783,27 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
785
783
  "placeholder",
786
784
  "defaultSelected",
787
785
  "load",
788
- "disabled"
786
+ "disabled",
787
+ "fieldNames"
789
788
  ],
790
789
  emits: ["change"],
791
790
  setup(__props, { emit: emits }) {
792
791
  const props = __props;
792
+ const fieldNames = props.fieldNames || {
793
+ label: "name",
794
+ value: "code"
795
+ };
793
796
  const selected = vue.ref([]);
794
797
  const visible = vue.ref(false);
795
798
  function selectedChange(val) {
796
- emits("change", val);
799
+ emits(
800
+ "change",
801
+ val.map((item) => ({
802
+ [fieldNames.value]: item.key,
803
+ [fieldNames.label]: item.title,
804
+ ...item
805
+ }))
806
+ );
797
807
  }
798
808
  function handleAdd() {
799
809
  visible.value = true;
@@ -838,6 +848,7 @@ var StaffSelector = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "staff-
838
848
  var people = {
839
849
  name: 'people',
840
850
  rule(data, extraConfig) {
851
+ var _a;
841
852
  return {
842
853
  type: 'StaffSelector',
843
854
  component: StaffSelector,
@@ -853,6 +864,7 @@ var people = {
853
864
  return yield extraConfig.people.fetch(params);
854
865
  });
855
866
  },
867
+ fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
856
868
  },
857
869
  effect: {
858
870
  required: data.effect.required && '请选择',
@@ -877,6 +889,7 @@ var people = {
877
889
  };
878
890
  },
879
891
  rowRule(data, extraConfig) {
892
+ var _a;
880
893
  return {
881
894
  type: 'StaffSelector',
882
895
  component: StaffSelector,
@@ -892,6 +905,7 @@ var people = {
892
905
  return yield extraConfig.people.fetch(params);
893
906
  });
894
907
  },
908
+ fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
895
909
  },
896
910
  effect: {
897
911
  required: data.effect.required && '请选择',
@@ -2228,11 +2242,21 @@ var product = {
2228
2242
 
2229
2243
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2230
2244
  __name: "shop-widget",
2231
- props: ["value", "extraConfig", "rule", "disabled"],
2245
+ props: [
2246
+ "value",
2247
+ "extraConfig",
2248
+ "rule",
2249
+ "disabled",
2250
+ "formCreateInject"
2251
+ ],
2232
2252
  emits: ["change"],
2233
2253
  setup(__props, { emit: emits }) {
2234
2254
  const props = __props;
2235
- const value = vue.ref(props.value.value);
2255
+ const fieldNames = props.extraConfig.fieldNames || {
2256
+ label: "name",
2257
+ value: "code"
2258
+ };
2259
+ const value = vue.ref(props.value?.[fieldNames.value]);
2236
2260
  const options = vue.ref([]);
2237
2261
  const keyword = vue.ref("");
2238
2262
  const debounceFetch = lodashEs.debounce((value2) => {
@@ -2250,8 +2274,12 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2250
2274
  options.value = data;
2251
2275
  });
2252
2276
  }
2253
- function handleChange(value2, option) {
2254
- emits("change", option);
2277
+ function handleChange(val, option) {
2278
+ value.value = val;
2279
+ emits("change", {
2280
+ [fieldNames.value]: option.value,
2281
+ [fieldNames.label]: option.label
2282
+ });
2255
2283
  }
2256
2284
  function handleSearch(value2) {
2257
2285
  keyword.value = value2;
@@ -2261,7 +2289,6 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2261
2289
  return (_ctx, _cache) => {
2262
2290
  return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Select), {
2263
2291
  value: value.value,
2264
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => value.value = $event),
2265
2292
  placeholder: "\u8BF7\u9009\u62E9",
2266
2293
  "show-search": "",
2267
2294
  "show-arrow": false,
@@ -2301,6 +2328,7 @@ var shop = {
2301
2328
  change(inject, value) {
2302
2329
  const rule = inject.self;
2303
2330
  rule.value = value;
2331
+ rule.props.value = value;
2304
2332
  vue.nextTick(() => {
2305
2333
  setTimeout(() => {
2306
2334
  inject.api.validateField(rule.field);
@@ -2331,6 +2359,7 @@ var shop = {
2331
2359
  change(inject, value) {
2332
2360
  const rule = inject.self;
2333
2361
  rule.value = value;
2362
+ rule.props.value = value;
2334
2363
  vue.nextTick(() => {
2335
2364
  setTimeout(() => {
2336
2365
  inject.api.validateField(rule.field);
@@ -2369,7 +2398,7 @@ var shop = {
2369
2398
  };
2370
2399
 
2371
2400
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
2372
- __name: "material-type-in-table",
2401
+ __name: "material-type",
2373
2402
  props: ["config", "multiple", "format", "value"],
2374
2403
  emits: ["change"],
2375
2404
  setup(__props, { emit: emits }) {
@@ -2394,58 +2423,65 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
2394
2423
  result.forEach((item) => {
2395
2424
  item.isLeaf = props.format === optionLength + 1;
2396
2425
  });
2397
- targetOption.children = result;
2426
+ if (result.length) {
2427
+ targetOption.children = result;
2428
+ } else {
2429
+ targetOption.isLeaf = true;
2430
+ }
2398
2431
  }).finally(() => {
2399
2432
  targetOption.loading = false;
2400
2433
  });
2401
2434
  }
2402
- function handleChange(v) {
2403
- emits("change", v);
2435
+ function handleChange(value, selectedOptions) {
2436
+ const result = lodashEs.cloneDeep(selectedOptions);
2437
+ processValue(result);
2438
+ emits("change", result);
2439
+ }
2440
+ function processValue(selectedOptions) {
2441
+ selectedOptions.forEach((item) => {
2442
+ if (Array.isArray(item))
2443
+ processValue(item);
2444
+ else {
2445
+ delete item.disabled;
2446
+ delete item.children;
2447
+ delete item.isLeaf;
2448
+ delete item.loading;
2449
+ }
2450
+ });
2451
+ }
2452
+ function formatValue(value) {
2453
+ value = value || [];
2454
+ return value.reduce((pre, cur) => {
2455
+ if (Array.isArray(cur)) {
2456
+ pre.push(cur.map((c) => c.value));
2457
+ } else {
2458
+ pre.push(cur.value);
2459
+ }
2460
+ return pre;
2461
+ }, []);
2404
2462
  }
2405
2463
  initOptions();
2406
2464
  return (_ctx, _cache) => {
2407
2465
  return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Cascader), {
2408
- value: __props.value,
2466
+ value: formatValue(__props.value),
2409
2467
  placeholder: "\u8BF7\u8F93\u5165",
2410
2468
  multiple: __props.multiple,
2411
2469
  options: options.value,
2412
2470
  "load-data": loadData,
2413
2471
  "get-popup-container": vue.unref(getContainer),
2414
- "onUpdate:value": handleChange
2472
+ onChange: handleChange
2415
2473
  }, null, 8, ["value", "multiple", "options", "get-popup-container"]);
2416
2474
  };
2417
2475
  }
2418
2476
  });
2419
- var materialTypeInTable = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "material-type-in-table.vue"]]);
2477
+ var materialType$1 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "material-type.vue"]]);
2420
2478
 
2421
- FC__default["default"].register({
2422
- name: 'materialTypesOption',
2423
- init({ value }, rule) {
2424
- getOption(value, { level: 1, relationCode: '' }).then((data) => {
2425
- data = isLeaf(data, rule.config.format === 1);
2426
- if (rule.props) {
2427
- rule.props.options = data;
2428
- }
2429
- else {
2430
- (rule.props = {}).options = data;
2431
- }
2432
- });
2433
- },
2434
- });
2435
- function getOption(config, data) {
2436
- return config.fetch(data);
2437
- }
2438
- function isLeaf(data, value) {
2439
- data.forEach((item) => {
2440
- item.isLeaf = value;
2441
- });
2442
- return data;
2443
- }
2444
2479
  var materialType = {
2445
2480
  name: 'materialType',
2446
2481
  rule(data, extraConfig) {
2447
2482
  return {
2448
- type: 'cascader',
2483
+ type: 'materialType',
2484
+ component: materialType$1,
2449
2485
  field: data.field,
2450
2486
  title: '素材类型',
2451
2487
  validate: [
@@ -2457,38 +2493,22 @@ var materialType = {
2457
2493
  },
2458
2494
  ],
2459
2495
  props: {
2460
- placeholder: '请选择',
2496
+ value: data.value,
2461
2497
  multiple: data.props.multiple,
2462
- loadData(inject, selectedOptions) {
2463
- const optionLength = selectedOptions.length;
2464
- const targetOption = selectedOptions[optionLength - 1];
2465
- targetOption.loading = true;
2466
- getOption(extraConfig.materialType, {
2467
- level: optionLength + 1,
2468
- relationCode: targetOption.value,
2469
- })
2470
- .then((result) => {
2471
- result = isLeaf(result, inject.self.config.format === optionLength + 1);
2472
- targetOption.children = result;
2473
- })
2474
- .finally(() => {
2475
- targetOption.loading = false;
2476
- });
2477
- },
2478
- },
2479
- config: {
2480
2498
  format: data.config.format,
2481
- },
2482
- effect: {
2483
- materialTypesOption: extraConfig.materialType,
2499
+ config: extraConfig.materialType,
2500
+ disabled: data.disabled,
2484
2501
  },
2485
2502
  inject: true,
2486
2503
  on: {
2487
2504
  change(inject, list) {
2488
2505
  const rule = inject.self;
2489
2506
  rule.value = list;
2507
+ rule.props.value = list;
2490
2508
  vue.nextTick(() => {
2491
- inject.api.validateField(rule.field);
2509
+ setTimeout(() => {
2510
+ inject.api.validateField(rule.field);
2511
+ });
2492
2512
  });
2493
2513
  },
2494
2514
  },
@@ -2497,7 +2517,8 @@ var materialType = {
2497
2517
  },
2498
2518
  rowRule(data, extraConfig) {
2499
2519
  return {
2500
- type: 'cascader',
2520
+ type: 'materialType',
2521
+ component: materialType$1,
2501
2522
  field: data.field,
2502
2523
  title: '素材类型',
2503
2524
  validate: [
@@ -2509,35 +2530,22 @@ var materialType = {
2509
2530
  },
2510
2531
  ],
2511
2532
  props: {
2512
- placeholder: '请选择',
2533
+ value: data.value,
2513
2534
  multiple: data.props.multiple,
2514
- loadData(inject, selectedOptions) {
2515
- const optionLength = selectedOptions.length;
2516
- const targetOption = selectedOptions[optionLength - 1];
2517
- targetOption.loading = true;
2518
- getOption(extraConfig.materialType, optionLength + 1)
2519
- .then((result) => {
2520
- result = isLeaf(result, inject.self.config.format === optionLength + 1);
2521
- targetOption.children = result;
2522
- })
2523
- .finally(() => {
2524
- targetOption.loading = false;
2525
- });
2526
- },
2527
- },
2528
- config: {
2529
2535
  format: data.config.format,
2530
- },
2531
- effect: {
2532
- materialTypesOption: extraConfig.materialType,
2536
+ config: extraConfig.materialType,
2537
+ disabled: data.disabled,
2533
2538
  },
2534
2539
  inject: true,
2535
2540
  on: {
2536
2541
  change(inject, list) {
2537
2542
  const rule = inject.self;
2538
2543
  rule.value = list;
2544
+ rule.props.value = list;
2539
2545
  vue.nextTick(() => {
2540
- inject.api.validateField(rule.field);
2546
+ setTimeout(() => {
2547
+ inject.api.validateField(rule.field);
2548
+ });
2541
2549
  });
2542
2550
  },
2543
2551
  },
@@ -2556,7 +2564,7 @@ var materialType = {
2556
2564
  minWidth: '138px',
2557
2565
  slots: {
2558
2566
  default({ row }) {
2559
- return vue.h(materialTypeInTable, {
2567
+ return vue.h(materialType$1, {
2560
2568
  multiple: data.props.multiple,
2561
2569
  format: data.config.format,
2562
2570
  config: extraConfig.materialType,
@@ -2606,6 +2614,7 @@ var row = {
2606
2614
  var department = {
2607
2615
  name: 'department',
2608
2616
  rule(data, extraConfig) {
2617
+ var _a;
2609
2618
  return {
2610
2619
  type: 'StaffSelector',
2611
2620
  component: StaffSelector,
@@ -2623,6 +2632,7 @@ var department = {
2623
2632
  return yield extraConfig.department.fetch();
2624
2633
  });
2625
2634
  },
2635
+ fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
2626
2636
  },
2627
2637
  effect: {
2628
2638
  required: data.effect.required && '请选择',
@@ -2647,6 +2657,7 @@ var department = {
2647
2657
  };
2648
2658
  },
2649
2659
  rowRule(data, extraConfig) {
2660
+ var _a;
2650
2661
  return {
2651
2662
  type: 'StaffSelector',
2652
2663
  component: StaffSelector,
@@ -2664,6 +2675,7 @@ var department = {
2664
2675
  return yield extraConfig.department.fetch();
2665
2676
  });
2666
2677
  },
2678
+ fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
2667
2679
  },
2668
2680
  effect: {
2669
2681
  required: data.effect.required && '请选择',
@@ -97,7 +97,7 @@ const _hoisted_1$f = {
97
97
  };
98
98
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
99
99
  __name: "drag-tool",
100
- props: ["rule", "activeRule", "parentRule"],
100
+ props: ["rule", "activeRuleField", "parentRule"],
101
101
  emits: [
102
102
  "copy",
103
103
  "delete",
@@ -108,7 +108,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
108
108
  ],
109
109
  setup(__props, { emit: emits }) {
110
110
  const props = __props;
111
- const isActive = vue.computed(() => props.rule.field === props.activeRule?.field);
111
+ const isActive = vue.computed(() => props.rule.field === props.activeRuleField);
112
112
  const option = vue.computed(() => ({
113
113
  form: {
114
114
  layout: "vertical"
@@ -116,6 +116,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
116
116
  submitBtn: {
117
117
  show: false
118
118
  },
119
+ global: {
120
+ "*": {
121
+ props: {
122
+ activeRuleField: props.activeRuleField
123
+ }
124
+ }
125
+ },
119
126
  parentType: props.parentRule?.type,
120
127
  childRules: props.parentRule?.config?.childRules
121
128
  }));
@@ -146,16 +153,16 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
146
153
  props.rule.config.isHover = true;
147
154
  }
148
155
  function handleNestSetActiveRule(element, parentRule) {
149
- emits("setActiveRule", element, parentRule || props.rule);
156
+ emits("setActiveRule", element, parentRule);
150
157
  }
151
- function handleRowWidgetCopy(rule) {
152
- emitCopyEvt(rule, props.rule);
158
+ function handleNestCopy(rule, parentRule) {
159
+ emitCopyEvt(rule, parentRule);
153
160
  }
154
- function handleRowWidgetDelete(rule) {
155
- emitDeleteEvt(rule, props.rule);
161
+ function handleNestDelete(rule, parentRule) {
162
+ emitDeleteEvt(rule, parentRule);
156
163
  }
157
- function handleNestAdd(rule) {
158
- emits("widgetAdd", rule, props.rule);
164
+ function handleNestAdd(rule, parentRule) {
165
+ emits("widgetAdd", rule, parentRule);
159
166
  }
160
167
  return (_ctx, _cache) => {
161
168
  const _component_FormCreate = vue.resolveComponent("FormCreate");
@@ -180,8 +187,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
180
187
  onNestMouseenter: handleRowWidgetMouseenter,
181
188
  onNestMouseleave: handleRowWidgetMouseleave,
182
189
  onNestSetActiveRule: handleNestSetActiveRule,
183
- onNestCopy: handleRowWidgetCopy,
184
- onNestDelete: handleRowWidgetDelete,
190
+ onNestCopy: handleNestCopy,
191
+ onNestDelete: handleNestDelete,
185
192
  onNestAdd: handleNestAdd
186
193
  }, null, 8, ["option", "rule"])) : (vue.openBlock(), vue.createBlock(WidgetInstruction, {
187
194
  key: 1,
@@ -256,7 +263,7 @@ const _hoisted_2$a = {
256
263
  };
257
264
  const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
258
265
  __name: "widget-row",
259
- props: ["activeRule", "formCreateInject"],
266
+ props: ["activeRuleField", "formCreateInject"],
260
267
  emits: [
261
268
  "mouseenter",
262
269
  "mouseleave",
@@ -267,32 +274,35 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
267
274
  ],
268
275
  setup(__props, { emit: emits }) {
269
276
  const props = __props;
270
- const childRules = vue.computed(() => props.formCreateInject.rule.config.childRules);
277
+ const rowRule = vue.computed(() => props.formCreateInject.rule);
278
+ const childRules = vue.computed(() => rowRule.value.config.childRules);
271
279
  function handleMouseenter() {
272
280
  emits("mouseenter");
273
281
  }
274
282
  function handleMouseleave() {
275
283
  emits("mouseleave");
276
284
  }
277
- function emitSetActiveRuleEvt(rule, parentRule = void 0) {
285
+ function emitSetActiveRuleEvt(rule, parentRule) {
278
286
  emits("set-active-rule", rule, parentRule);
279
287
  }
280
288
  function handleClick(element) {
281
- emitSetActiveRuleEvt(element);
289
+ emitSetActiveRuleEvt(element, rowRule.value);
282
290
  }
283
291
  function handleRowWidgetAdd({ newIndex }) {
284
- emits("add", childRules.value[newIndex]);
292
+ emits("add", childRules.value[newIndex], rowRule.value);
285
293
  }
286
294
  function handleRowWidgetUpdate({ newIndex }) {
287
295
  const rule = childRules.value[newIndex];
288
296
  if (rule)
289
- emitSetActiveRuleEvt(rule);
297
+ emitSetActiveRuleEvt(rule, rowRule.value);
290
298
  }
291
- function handleCopy(rule) {
292
- emits("copy", rule);
299
+ function handleCopy(rule, parentRule) {
300
+ parentRule = parentRule || rowRule.value;
301
+ emits("copy", rule, parentRule);
293
302
  }
294
- function handleDelete(rule) {
295
- emits("delete", rule);
303
+ function handleDelete(rule, parentRule) {
304
+ parentRule = parentRule || rowRule.value;
305
+ emits("delete", rule, parentRule);
296
306
  }
297
307
  function handleWidgetInTableActive(rule, parentRule) {
298
308
  emitSetActiveRuleEvt(rule, parentRule);
@@ -329,7 +339,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
329
339
  default: vue.withCtx(() => [
330
340
  vue.createVNode(DragTool, {
331
341
  rule: element,
332
- "active-rule": __props.activeRule,
342
+ "active-rule-field": __props.activeRuleField,
333
343
  "parent-rule": __props.formCreateInject.rule,
334
344
  onMouseenter: handleMouseenter,
335
345
  onMouseleave: handleMouseleave,
@@ -337,7 +347,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
337
347
  onCopy: handleCopy,
338
348
  onDelete: handleDelete,
339
349
  onSetActiveRule: handleWidgetInTableActive
340
- }, null, 8, ["rule", "active-rule", "parent-rule", "onClick"]),
350
+ }, null, 8, ["rule", "active-rule-field", "parent-rule", "onClick"]),
341
351
  vue.createVNode(DragPlaceholder)
342
352
  ]),
343
353
  _: 2
@@ -1805,7 +1815,7 @@ const _hoisted_17 = /* @__PURE__ */ vue.createElementVNode("span", null, null, -
1805
1815
  const _hoisted_18 = /* @__PURE__ */ vue.createElementVNode("a", null, "\u5220\u9664", -1);
1806
1816
  const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1807
1817
  __name: "widget-table",
1808
- props: ["formCreateInject", "activeRule"],
1818
+ props: ["formCreateInject", "activeRuleField"],
1809
1819
  emits: [
1810
1820
  "add",
1811
1821
  "mouseenter",
@@ -1816,16 +1826,16 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1816
1826
  ],
1817
1827
  setup(__props, { emit: emits }) {
1818
1828
  const props = __props;
1819
- const rule = vue.computed(() => props.formCreateInject.rule);
1820
- const childRules = vue.computed(() => rule.value.config.childRules);
1829
+ const tableRule = vue.computed(() => props.formCreateInject.rule);
1830
+ const childRules = vue.computed(() => tableRule.value.config.childRules);
1821
1831
  const showDelete = vue.computed(() => showFeature("delete"));
1822
1832
  const showImport = vue.computed(() => showFeature("import"));
1823
1833
  const showCopy = vue.computed(() => showFeature("copy"));
1824
1834
  function showFeature(featureId) {
1825
- return rule.value.config.tableAdvancedFeatures.includes(featureId);
1835
+ return tableRule.value.config.tableAdvancedFeatures.includes(featureId);
1826
1836
  }
1827
1837
  function handleAdd({ newIndex }) {
1828
- emits("add", childRules.value[newIndex]);
1838
+ emits("add", childRules.value[newIndex], tableRule.value);
1829
1839
  }
1830
1840
  function handleMouseenter() {
1831
1841
  emits("mouseenter");
@@ -1833,8 +1843,8 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1833
1843
  function handleMouseleave() {
1834
1844
  emits("mouseleave");
1835
1845
  }
1836
- function emitSetActiveRuleEvt(rule2) {
1837
- emits("set-active-rule", rule2);
1846
+ function emitSetActiveRuleEvt(rule) {
1847
+ emits("set-active-rule", rule, tableRule.value);
1838
1848
  }
1839
1849
  function handleClick(element) {
1840
1850
  emitSetActiveRuleEvt(element);
@@ -1842,11 +1852,11 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1842
1852
  function handleUpdate({ newIndex }) {
1843
1853
  emitSetActiveRuleEvt(childRules.value[newIndex]);
1844
1854
  }
1845
- function handleCopy(rule2) {
1846
- emits("copy", rule2);
1855
+ function handleCopy(rule) {
1856
+ emits("copy", rule, tableRule.value);
1847
1857
  }
1848
- function handleDelete(rule2) {
1849
- emits("delete", rule2);
1858
+ function handleDelete(rule) {
1859
+ emits("delete", rule, tableRule.value);
1850
1860
  }
1851
1861
  return (_ctx, _cache) => {
1852
1862
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
@@ -1891,7 +1901,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1891
1901
  vue.unref(childRules).length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, _hoisted_8)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, "\u53EF\u62D6\u5165\u591A\u4E2A\u63A7\u4EF6")),
1892
1902
  vue.createVNode(vue.unref(Draggable__default["default"]), {
1893
1903
  "component-data": {
1894
- field: vue.unref(rule).field,
1904
+ field: vue.unref(tableRule).field,
1895
1905
  type: vue.unref(WidgetType).TableWidget
1896
1906
  },
1897
1907
  class: "bm-widget-table__drag-content",
@@ -1917,14 +1927,14 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1917
1927
  }, [
1918
1928
  vue.createVNode(DragTool, {
1919
1929
  rule: element,
1920
- "active-rule": __props.activeRule,
1930
+ "active-rule-field": __props.activeRuleField,
1921
1931
  "parent-rule": __props.formCreateInject.rule,
1922
1932
  onMouseenter: handleMouseenter,
1923
1933
  onMouseleave: handleMouseleave,
1924
1934
  onClick: vue.withModifiers(($event) => handleClick(element), ["stop"]),
1925
1935
  onCopy: handleCopy,
1926
1936
  onDelete: handleDelete
1927
- }, null, 8, ["rule", "active-rule", "parent-rule", "onClick"]),
1937
+ }, null, 8, ["rule", "active-rule-field", "parent-rule", "onClick"]),
1928
1938
  vue.createVNode(DragPlaceholder)
1929
1939
  ], 4)
1930
1940
  ]),
@@ -3994,22 +4004,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3994
4004
  function setActiveRule(rule, parentRule = void 0) {
3995
4005
  activeRule.value = rule;
3996
4006
  activeParentRule.value = parentRule;
3997
- widgetFormRules.forEach((item) => {
3998
- if (item.type === WidgetType.RowWidget || item.type === WidgetType.TableWidget) {
3999
- vue.nextTick(() => {
4000
- item.props.activeRule = rule;
4001
- });
4002
- if (item.type === WidgetType.RowWidget && item?.config?.childRules?.length) {
4003
- item.config.childRules.forEach((childRule) => {
4004
- if (childRule.type === WidgetType.TableWidget) {
4005
- vue.nextTick(() => {
4006
- childRule.props.activeRule = rule;
4007
- });
4008
- }
4009
- });
4010
- }
4011
- }
4012
- });
4013
4007
  if (!cacheProps[rule.field]) {
4014
4008
  cacheProps[rule.field] = makePropRule(rule, parentRule);
4015
4009
  }
@@ -4066,20 +4060,18 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4066
4060
  }
4067
4061
  }
4068
4062
  function getFormRule() {
4069
- return widgetFormRules.map((rule) => {
4070
- const ruleParsed = parseRule(rule);
4071
- const childRules = rule?.config?.childRules;
4072
- if (childRules?.length) {
4073
- const childRulesParsed = ruleParsed.config.childRules = [];
4074
- childRules.forEach((ruleItem) => {
4075
- childRulesParsed.push(parseRule(ruleItem));
4076
- });
4077
- }
4078
- return ruleParsed;
4079
- });
4063
+ return widgetFormRules.map((rule) => parseRule(rule));
4080
4064
  }
4081
4065
  function parseRule(rule) {
4082
- return rule.config.config.parse(rule);
4066
+ const ruleParsed = rule.config.config.parse(rule);
4067
+ const childRules = rule?.config?.childRules;
4068
+ if (childRules?.length) {
4069
+ const childRulesParsed = ruleParsed.config.childRules = [];
4070
+ childRules.forEach((ruleItem) => {
4071
+ childRulesParsed.push(parseRule(ruleItem));
4072
+ });
4073
+ }
4074
+ return ruleParsed;
4083
4075
  }
4084
4076
  function edit(formRules) {
4085
4077
  widgetFormRules.splice(0);
@@ -4271,7 +4263,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4271
4263
  vue.createElementVNode("div", _hoisted_4, [
4272
4264
  vue.createVNode(DragTool, {
4273
4265
  rule: element,
4274
- "active-rule": activeRule.value,
4266
+ "active-rule-field": activeRule.value.field,
4275
4267
  style: vue.normalizeStyle({
4276
4268
  width: element.config.fieldRatio
4277
4269
  }),
@@ -4280,7 +4272,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4280
4272
  onClick: ($event) => handleFormItemClick(element),
4281
4273
  onSetActiveRule: setActiveRule,
4282
4274
  onWidgetAdd: handleWidgetAdd
4283
- }, null, 8, ["rule", "active-rule", "style", "onClick"]),
4275
+ }, null, 8, ["rule", "active-rule-field", "style", "onClick"]),
4284
4276
  vue.createVNode(DragPlaceholder)
4285
4277
  ])
4286
4278
  ]),
@@ -12,4 +12,5 @@ export * from './input-tags-display';
12
12
  export * from './select-all';
13
13
  export * from './breadcrumb';
14
14
  export * from './editor';
15
+ export * from './videoView';
15
16
  export * from './attachment';