@ibiz-template/vue3-components 0.7.41-alpha.19 → 0.7.41-alpha.20

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 (126) hide show
  1. package/dist/index-hzGAQk1t.js +11 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/map-chart-ICyEpflN.js +1 -0
  5. package/dist/map-chart-user-7zfETImI.js +1 -0
  6. package/dist/{wang-editor-exnzt_I1.js → wang-editor-qbGW8Rzj.js} +1 -1
  7. package/dist/{xlsx-util-fuTLwrKA.js → xlsx-util-mN5WSU7v.js} +1 -1
  8. package/es/common/control-navigation/control-navigation.mjs +8 -9
  9. package/es/common/control-navigation/provider/calendar-navigation.provider.d.ts +6 -1
  10. package/es/common/control-navigation/provider/calendar-navigation.provider.mjs +21 -10
  11. package/es/common/control-navigation/provider/map-navigation.provider.d.ts +1 -1
  12. package/es/common/control-navigation/provider/map-navigation.provider.mjs +32 -15
  13. package/es/common/control-navigation/provider/navigation-base.provider.d.ts +13 -0
  14. package/es/common/control-navigation/provider/navigation-base.provider.mjs +25 -10
  15. package/es/common/control-navigation/provider/tree-navigation.provider.d.ts +2 -2
  16. package/es/common/control-navigation/provider/tree-navigation.provider.mjs +5 -8
  17. package/es/common/custom-filter-condition/custom-filter-condition.d.ts +3 -0
  18. package/es/common/map-chart/map-chart.d.ts +9 -1
  19. package/es/common/map-chart/map-chart.mjs +6 -4
  20. package/es/common/map-chart/map-manager.d.ts +2 -1
  21. package/es/common/map-chart/map-manager.mjs +3 -4
  22. package/es/common/map-chart-user/map-chart-user.css +1 -1
  23. package/es/common/map-chart-user/map-chart-user.mjs +2 -1
  24. package/es/common/map-chart-user/map-user-manager.mjs +1 -1
  25. package/es/common/view-message/view-message.d.ts +3 -0
  26. package/es/control/calendar/calendar.css +1 -1
  27. package/es/control/calendar/calendar.d.ts +1 -1
  28. package/es/control/calendar/calendar.mjs +19 -15
  29. package/es/control/grid/grid/grid-control.util.mjs +29 -29
  30. package/es/control/grid/grid/grid.mjs +20 -17
  31. package/es/control/map/map.mjs +24 -22
  32. package/es/control/tree/tree.mjs +2 -14
  33. package/es/control/tree-grid/index.d.ts +10 -10
  34. package/es/control/tree-grid/tree-grid.d.ts +11 -11
  35. package/es/control/tree-grid/tree-grid.mjs +120 -67
  36. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  37. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +15 -12
  38. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +95 -61
  39. package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  40. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +12 -11
  41. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +36 -43
  42. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +4 -4
  43. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.mjs +9 -9
  44. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +27 -23
  45. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +53 -42
  46. package/es/editor/data-picker/picker-editor.controller.d.ts +2 -2
  47. package/es/editor/data-picker/picker-editor.controller.mjs +6 -6
  48. package/es/editor/date-range-select/date-range-select-picker/date-range-select.d.ts +4 -4
  49. package/es/locale/en/index.d.ts +1 -0
  50. package/es/locale/zh-CN/index.d.ts +1 -0
  51. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.d.ts +1 -1
  52. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.d.ts +12 -0
  53. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.d.ts +6 -0
  54. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.d.ts +1 -1
  55. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.d.ts +1 -1
  56. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.d.ts +1 -1
  57. package/es/panel-component/app-switch/app-switch.d.ts +1 -1
  58. package/es/panel-component/auth-sso/auth-sso.css +1 -1
  59. package/es/panel-component/auth-sso/auth-sso.d.ts +8 -2
  60. package/es/panel-component/auth-sso/auth-sso.mjs +78 -6
  61. package/es/panel-component/auth-sso/index.d.ts +7 -1
  62. package/es/panel-component/coop-pos/coop-pos.d.ts +1 -1
  63. package/es/panel-component/global-search/global-search.d.ts +1 -1
  64. package/es/panel-component/index-actions/index-actions.d.ts +1 -0
  65. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.d.ts +2 -2
  66. package/es/panel-component/nav-pos-index/nav-pos-index.controller.d.ts +1 -1
  67. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +1 -1
  68. package/es/panel-component/panel-app-title/panel-app-title.controller.d.ts +1 -1
  69. package/es/panel-component/panel-app-title/panel-app-title.controller.mjs +1 -1
  70. package/es/panel-component/user-action/user-action.d.ts +1 -1
  71. package/es/panel-component/view-message/view-message.d.ts +1 -1
  72. package/es/panel-component/view-msg-pos/view-msg-pos.d.ts +1 -1
  73. package/es/view-engine/mpickup-view-engine.d.ts +4 -6
  74. package/es/view-engine/mpickup-view-engine.mjs +12 -14
  75. package/es/view-engine/pickup-data-view.engine.d.ts +12 -0
  76. package/es/view-engine/pickup-data-view.engine.mjs +31 -0
  77. package/es/view-engine/pickup-grid-view.engine.d.ts +12 -0
  78. package/es/view-engine/pickup-grid-view.engine.mjs +31 -0
  79. package/es/view-engine/pickup-tree-view.engine.d.ts +6 -16
  80. package/es/view-engine/pickup-tree-view.engine.mjs +15 -60
  81. package/es/view-engine/pickup-view.engine.d.ts +6 -0
  82. package/es/view-engine/pickup-view.engine.mjs +11 -0
  83. package/es/web-app/App.mjs +17 -1
  84. package/es/web-app/guard/auth-guard/auth-guard.mjs +1 -0
  85. package/es/web-app/util/unauthorized-handler/unauthorized-handler.d.ts +7 -0
  86. package/es/web-app/util/unauthorized-handler/unauthorized-handler.mjs +22 -1
  87. package/lib/common/control-navigation/control-navigation.cjs +8 -9
  88. package/lib/common/control-navigation/provider/calendar-navigation.provider.cjs +21 -10
  89. package/lib/common/control-navigation/provider/map-navigation.provider.cjs +32 -15
  90. package/lib/common/control-navigation/provider/navigation-base.provider.cjs +25 -10
  91. package/lib/common/control-navigation/provider/tree-navigation.provider.cjs +5 -8
  92. package/lib/common/map-chart/map-chart.cjs +6 -4
  93. package/lib/common/map-chart/map-manager.cjs +3 -4
  94. package/lib/common/map-chart-user/map-chart-user.cjs +1 -0
  95. package/lib/common/map-chart-user/map-chart-user.css +1 -1
  96. package/lib/common/map-chart-user/map-user-manager.cjs +1 -1
  97. package/lib/control/calendar/calendar.cjs +19 -15
  98. package/lib/control/calendar/calendar.css +1 -1
  99. package/lib/control/grid/grid/grid-control.util.cjs +29 -29
  100. package/lib/control/grid/grid/grid.cjs +20 -17
  101. package/lib/control/map/map.cjs +24 -22
  102. package/lib/control/tree/tree.cjs +2 -14
  103. package/lib/control/tree-grid/tree-grid.cjs +119 -66
  104. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +94 -60
  105. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  106. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +36 -43
  107. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  108. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.cjs +9 -9
  109. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +52 -41
  110. package/lib/editor/data-picker/picker-editor.controller.cjs +6 -6
  111. package/lib/panel-component/auth-sso/auth-sso.cjs +77 -5
  112. package/lib/panel-component/auth-sso/auth-sso.css +1 -1
  113. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +1 -1
  114. package/lib/panel-component/panel-app-title/panel-app-title.controller.cjs +1 -1
  115. package/lib/view-engine/mpickup-view-engine.cjs +12 -14
  116. package/lib/view-engine/pickup-data-view.engine.cjs +31 -0
  117. package/lib/view-engine/pickup-grid-view.engine.cjs +31 -0
  118. package/lib/view-engine/pickup-tree-view.engine.cjs +15 -60
  119. package/lib/view-engine/pickup-view.engine.cjs +11 -0
  120. package/lib/web-app/App.cjs +16 -0
  121. package/lib/web-app/guard/auth-guard/auth-guard.cjs +1 -0
  122. package/lib/web-app/util/unauthorized-handler/unauthorized-handler.cjs +22 -1
  123. package/package.json +6 -6
  124. package/dist/index-BoV5htv9.js +0 -11
  125. package/dist/map-chart-3dojS1dZ.js +0 -1
  126. package/dist/map-chart-user-NYROZ-6g.js +0 -1
@@ -12,6 +12,8 @@ import './ibiz-mpicker.scss';
12
12
  * @editorparams {"name":"objectnamefield","parameterType":"string","description":"值类型为OBJECTS时的对象名称属性。也用于控制是否触发下拉区域数据的默认加载,配置时会触发默认加载,不配置时不会触发默认加载"}
13
13
  * @editorparams {"name":"objectvaluefield","parameterType":"string","description":"值类型为OBJECTS时的对象值属性"}
14
14
  * @editorparams {"name":"readonly","parameterType":"boolean","defaultvalue":false,"description":"设置编辑器是否为只读态"}
15
+ * @editorparams {"name":"AC","parameterType":"boolean","defaultvalue":false,"description":"设置编辑器是否启用AC自填模式"}
16
+ * @editorparams {"name":"actionpostion","parameterType":"'top' | 'bottom'","defaultvalue":"'bottom'","description":"设置AC自填模式行为组位置,默认在下拉底部"}
15
17
  * @ignoreprops overflowMode
16
18
  */
17
19
  export declare const IBizMPicker: import("vue").DefineComponent<{
@@ -37,26 +39,27 @@ export declare const IBizMPicker: import("vue").DefineComponent<{
37
39
  required: boolean;
38
40
  };
39
41
  }, {
40
- ns: import("@ibiz-template/core").Namespace;
41
42
  c: PickerEditorController;
42
- curValue: Ref<string[]>;
43
- loading: Ref<boolean>;
43
+ ns: import("@ibiz-template/core").Namespace;
44
44
  items: Ref<import("@ibiz-template/core").IApiData[]>;
45
+ loading: Ref<boolean>;
46
+ curValue: Ref<string[]>;
45
47
  valueText: import("vue").ComputedRef<string>;
48
+ editorRef: Ref<any>;
49
+ isEllipsis: boolean;
50
+ isEditable: Ref<boolean>;
51
+ selectItems: Ref<import("@ibiz-template/core").IApiData[]>;
52
+ showFormDefaultContent: import("vue").ComputedRef<boolean>;
53
+ onBlur: (e: IData) => void;
54
+ onFocus: (e: IData) => void;
46
55
  onSearch: (query: string) => Promise<void>;
47
- onOpenChange: (flag: boolean) => void;
48
56
  onSelect: (selects: string[]) => Promise<void>;
49
57
  onRemove: (tag: string) => void;
50
- openPickUpView: () => Promise<void>;
51
- onFocus: (e: IData) => void;
52
- onBlur: (e: IData) => void;
58
+ onOpenChange: (flag: boolean) => void;
53
59
  handleKeyUp: (e: KeyboardEvent) => void;
54
- selectItems: Ref<import("@ibiz-template/core").IApiData[]>;
55
- editorRef: Ref<any>;
56
- isEditable: Ref<boolean>;
57
60
  setEditable: (flag: boolean) => void;
58
- showFormDefaultContent: import("vue").ComputedRef<boolean>;
59
- renderEmpty: () => JSX.Element | undefined;
61
+ openPickUpView: () => Promise<void>;
62
+ renderListContent: () => (JSX.Element | undefined)[];
60
63
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
64
  change: (_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => boolean;
62
65
  blur: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
@@ -1,10 +1,13 @@
1
- import { ref, computed, watch, onMounted, resolveComponent, createVNode, mergeProps, h, defineComponent } from 'vue';
1
+ import { isVNode, ref, computed, watch, onMounted, resolveComponent, createVNode, h, mergeProps, defineComponent } from 'vue';
2
2
  import { getDataPickerProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { clone } from 'lodash-es';
4
4
  import { showTitle } from '@ibiz-template/core';
5
5
  import './ibiz-mpicker.css';
6
6
 
7
7
  "use strict";
8
+ function _isSlot(s) {
9
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
10
+ }
8
11
  const IBizMPicker = /* @__PURE__ */ defineComponent({
9
12
  name: "IBizMPicker",
10
13
  props: getDataPickerProps(),
@@ -12,6 +15,7 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
12
15
  setup(props, {
13
16
  emit
14
17
  }) {
18
+ var _a;
15
19
  const ns = useNamespace("mpicker");
16
20
  const c = props.controller;
17
21
  const curValue = ref([]);
@@ -21,6 +25,9 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
21
25
  const loading = ref(false);
22
26
  const isEditable = ref(false);
23
27
  const editorRef = ref();
28
+ const actionPostion = ((_a = c.model.editorParams) == null ? void 0 : _a.actionpostion) || "bottom";
29
+ const overflowMode = c.editorParams.overflowMode || c.editorParams.overflowmode || ibiz.config.pickerEditor.overflowMode;
30
+ const isEllipsis = overflowMode === "ellipsis";
24
31
  const showFormDefaultContent = computed(() => {
25
32
  if (props.controlParams && props.controlParams.editmode === "hover" && !props.readonly) {
26
33
  return true;
@@ -166,10 +173,8 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
166
173
  };
167
174
  const onSelect = async (selects) => {
168
175
  setEditable(false);
169
- if (selects.includes("empty")) {
170
- resetCurValue();
171
- return;
172
- }
176
+ if (selects.includes("empty") || selects.some((selectKey) => selectKey.includes("DEUIACTION")))
177
+ return resetCurValue();
173
178
  const val = [];
174
179
  let value = null;
175
180
  const selections = selects.map((select) => {
@@ -302,45 +307,102 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
302
307
  onSearch("");
303
308
  }
304
309
  });
305
- const renderEmpty = () => {
306
- if (items.value.length) {
307
- return;
308
- }
309
- return createVNode(resolveComponent("el-option"), {
310
- "value": "empty"
311
- }, {
312
- default: () => [createVNode(resolveComponent("iBizNoData"), {
313
- "class": ns.e("empty"),
314
- "onClick": (event) => event.stopPropagation()
315
- }, null)]
310
+ const renderActionItems = () => {
311
+ return c.actionDetails.map((item) => {
312
+ if (!c.groupActionState[item.id].visible)
313
+ return;
314
+ return createVNode(resolveComponent("el-option"), {
315
+ "key": item.id,
316
+ "label": item.caption,
317
+ "value": "DEUIACTION-".concat(item.id),
318
+ "disabled": c.groupActionState[item.id].disabled,
319
+ "title": showTitle(isEllipsis ? item.tooltip : "")
320
+ }, {
321
+ default: () => createVNode("div", {
322
+ "class": [ns.e("action-item"), ns.is("disabled", c.groupActionState[item.id].disabled)],
323
+ "onClick": (event) => {
324
+ if (!c.groupActionState[item.id].disabled)
325
+ c.onActionClick(item, props.data, event);
326
+ }
327
+ }, [item.showIcon && item.sysImage && createVNode(resolveComponent("iBizIcon"), {
328
+ "class": ns.em("action-item", "icon"),
329
+ "icon": item.sysImage
330
+ }, null), createVNode("span", {
331
+ "class": ns.em("action-item", "caption")
332
+ }, [item.showCaption ? item.caption : ""])])
333
+ });
316
334
  });
317
335
  };
336
+ const renderListItems = () => {
337
+ if (!items.value.length)
338
+ return [createVNode(resolveComponent("el-option"), {
339
+ "value": "empty"
340
+ }, {
341
+ default: () => [createVNode(resolveComponent("iBizNoData"), {
342
+ "class": ns.e("empty"),
343
+ "onClick": (event) => event.stopPropagation()
344
+ }, null)]
345
+ })];
346
+ return items.value.map((item) => {
347
+ return createVNode(resolveComponent("el-option"), {
348
+ "key": item[c.keyName],
349
+ "value": item[c.keyName],
350
+ "label": item[c.textName],
351
+ "title": showTitle(isEllipsis ? item[c.textName] : "")
352
+ }, {
353
+ default: () => {
354
+ var _a2;
355
+ if (c.acItemProvider) {
356
+ const component = resolveComponent(c.acItemProvider.component);
357
+ return h(component, {
358
+ item,
359
+ controller: c
360
+ });
361
+ }
362
+ const panel = (_a2 = c.deACMode) == null ? void 0 : _a2.itemLayoutPanel;
363
+ if (panel)
364
+ return createVNode(resolveComponent("iBizControlShell"), {
365
+ "data": item,
366
+ "modelData": panel,
367
+ "context": c.context,
368
+ "params": c.params
369
+ }, null);
370
+ return createVNode("span", null, [item[c.textName] != null ? item[c.textName] : ""]);
371
+ }
372
+ });
373
+ });
374
+ };
375
+ const renderListContent = () => {
376
+ if (actionPostion === "top")
377
+ return [...renderActionItems(), ...renderListItems()];
378
+ return [...renderListItems(), ...renderActionItems()];
379
+ };
318
380
  return {
319
- ns,
320
381
  c,
321
- curValue,
322
- loading,
382
+ ns,
323
383
  items,
384
+ loading,
385
+ curValue,
324
386
  valueText,
387
+ editorRef,
388
+ isEllipsis,
389
+ isEditable,
390
+ selectItems,
391
+ showFormDefaultContent,
392
+ onBlur,
393
+ onFocus,
325
394
  onSearch,
326
- onOpenChange,
327
395
  onSelect,
328
396
  onRemove,
329
- openPickUpView,
330
- onFocus,
331
- onBlur,
397
+ onOpenChange,
332
398
  handleKeyUp,
333
- selectItems,
334
- editorRef,
335
- isEditable,
336
399
  setEditable,
337
- showFormDefaultContent,
338
- renderEmpty
400
+ openPickUpView,
401
+ renderListContent
339
402
  };
340
403
  },
341
404
  render() {
342
- const overflowMode = this.c.editorParams.overflowMode || this.c.editorParams.overflowmode || ibiz.config.pickerEditor.overflowMode;
343
- const isEllipsis = overflowMode === "ellipsis";
405
+ let _slot;
344
406
  const editContent = [!this.readonly && createVNode(resolveComponent("el-select"), mergeProps({
345
407
  "ref": "editorRef",
346
408
  "class": [this.ns.b("select")],
@@ -361,38 +423,10 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
361
423
  "onFocus": this.onFocus,
362
424
  "onBlur": this.onBlur,
363
425
  "onKeyup": this.handleKeyUp,
364
- "fit-input-width": isEllipsis,
426
+ "fit-input-width": this.isEllipsis,
365
427
  "remote-show-suffix": this.c.model.showTrigger
366
- }, this.$attrs), {
367
- default: () => [this.items.map((item) => {
368
- return createVNode(resolveComponent("el-option"), {
369
- "title": showTitle(isEllipsis ? item[this.c.textName] : ""),
370
- "key": item[this.c.keyName],
371
- "value": item[this.c.keyName],
372
- "label": item[this.c.textName]
373
- }, {
374
- default: () => {
375
- var _a;
376
- if (this.c.acItemProvider) {
377
- const component = resolveComponent(this.c.acItemProvider.component);
378
- return h(component, {
379
- item,
380
- controller: this.c
381
- });
382
- }
383
- const panel = (_a = this.c.deACMode) == null ? void 0 : _a.itemLayoutPanel;
384
- if (panel) {
385
- return createVNode(resolveComponent("iBizControlShell"), {
386
- "data": item,
387
- "modelData": panel,
388
- "context": this.c.context,
389
- "params": this.c.params
390
- }, null);
391
- }
392
- return createVNode("span", null, [item[this.c.textName] != null ? item[this.c.textName] : ""]);
393
- }
394
- });
395
- }), this.renderEmpty()]
428
+ }, this.$attrs), _isSlot(_slot = this.renderListContent()) ? _slot : {
429
+ default: () => [_slot]
396
430
  }), !this.readonly && createVNode("div", {
397
431
  "class": this.ns.e("buns-position")
398
432
  }, [this.c.model.pickupAppViewId ? createVNode("div", {
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-picker .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker .el-input .el-input__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker ion-icon{font-size:var(--ibiz-form-item-font-size);cursor:pointer}.ibiz-picker .ibiz-picker-input{width:100%}.ibiz-picker .ibiz-picker-input .el-input__wrapper{width:100%}.ibiz-picker-input__buns-position{position:relative;display:inline-block}.ibiz-picker-input__btns{position:absolute;right:0;display:flex;height:var(--ibiz-picker-height)}.ibiz-picker-input__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker-input__autocomplete{display:flex}.ibiz-picker-input__autocomplete .el-autocomplete{width:100%}.ibiz-picker-input__transfer-item{padding:var(--ibiz-spacing-extra-tight);cursor:pointer}.ibiz-picker-input__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker-input__link{width:var(--ibiz-font-size-header-1);height:var(--ibiz-font-size-header-1);padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-header-6)}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-picker__transfer-item.is-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-picker__action-item{color:var(--ibiz-color-link);text-align:center}.ibiz-picker__empty{padding:0;--ibiz-no-data-min-height:100px;--el-empty-image-width:100px}.ibiz-picker__transfer{--ibiz-picker-height:var(--ibiz-editor-default-line-height);--ibiz-picker-empty-bg-color:var(--ibiz-color-bg-3)}.ibiz-picker__transfer.is-empty .el-autocomplete-suggestion li{padding:0}.ibiz-picker__transfer.is-empty .ibiz-no-data{background-color:var(--ibiz-picker-empty-bg-color)}.ibiz-picker__suffix{cursor:pointer;visibility:inherit;transition:var(--el-transition-duration);transform:rotate(0)}.ibiz-picker__suffix.is-reverse{transform:rotate(-180deg)}.ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-input{display:block}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-input{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-input{display:block}
1
+ @charset "UTF-8";.ibiz-picker .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker .el-input .el-input__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker ion-icon{font-size:var(--ibiz-form-item-font-size);cursor:pointer}.ibiz-picker .ibiz-picker-input{width:100%}.ibiz-picker .ibiz-picker-input .el-input__wrapper{width:100%}.ibiz-picker-input__buns-position{position:relative;display:inline-block}.ibiz-picker-input__btns{position:absolute;right:0;display:flex;height:var(--ibiz-picker-height)}.ibiz-picker-input__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker-input__autocomplete{display:flex}.ibiz-picker-input__autocomplete .el-autocomplete{width:100%}.ibiz-picker-input__transfer-item{padding:var(--ibiz-spacing-extra-tight);cursor:pointer}.ibiz-picker-input__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker-input__link{width:var(--ibiz-font-size-header-1);height:var(--ibiz-font-size-header-1);padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-header-6)}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-picker__transfer-item.is-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-picker__action-item{display:flex;align-items:center;justify-content:center;color:var(--ibiz-color-link)}.ibiz-picker__action-item--caption{margin-left:var(--ibiz-spacing-extra-tight)}.ibiz-picker__action-item.is-disabled{color:var(--ibiz-color-disabled-text);cursor:not-allowed}.ibiz-picker__empty{padding:0;--ibiz-no-data-min-height:100px;--el-empty-image-width:100px}.ibiz-picker__transfer{--ibiz-picker-height:var(--ibiz-editor-default-line-height);--ibiz-picker-empty-bg-color:var(--ibiz-color-bg-3)}.ibiz-picker__transfer.is-empty .el-autocomplete-suggestion li{padding:0}.ibiz-picker__transfer.is-empty .ibiz-no-data{background-color:var(--ibiz-picker-empty-bg-color)}.ibiz-picker__suffix{cursor:pointer;visibility:inherit;transition:var(--el-transition-duration);transform:rotate(0)}.ibiz-picker__suffix.is-reverse{transform:rotate(-180deg)}.ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default:hover .ibiz-picker-input{display:block}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-picker.is-show-default .ibiz-picker-input{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-form-default-content{display:none}.ibiz-form-item .ibiz-picker.is-show-default.is-editable .ibiz-picker-input{display:block}
@@ -13,6 +13,7 @@ import './ibiz-picker.scss';
13
13
  * @editorparams {"name":"objectnamefield","parameterType":"string","description":"值类型为OBJECT时的对象名称属性"}
14
14
  * @editorparams {"name":"objectvaluefield","parameterType":"string","description":"值类型为OBJECT时的对象值属性"}
15
15
  * @editorparams {"name":"readonly","parameterType":"boolean","defaultvalue":false,"description":"设置编辑器是否为只读态"}
16
+ * @editorparams {"name":"actionpostion","parameterType":"'top' | 'bottom'","defaultvalue":"'bottom'","description":"设置AC模式行为组位置,默认在下拉底部"}
16
17
  * @ignoreprops overflowMode
17
18
  */
18
19
  export declare const IBizPicker: import("vue").DefineComponent<{
@@ -40,25 +41,25 @@ export declare const IBizPicker: import("vue").DefineComponent<{
40
41
  }, {
41
42
  ns: import("@ibiz-template/core").Namespace;
42
43
  c: PickerEditorController;
44
+ items: Ref<import("@ibiz-template/core").IApiData[]>;
43
45
  curValue: Ref<string | string[] | null>;
44
46
  valueText: import("vue").ComputedRef<string>;
45
- items: Ref<import("@ibiz-template/core").IApiData[]>;
46
- openPickUpView: (e: MouseEvent) => Promise<void>;
47
- openLinkView: (e: MouseEvent) => Promise<void>;
48
- onACSelect: (item: IData) => Promise<void>;
49
- onSearch: (query: string, cb?: ((_items: IData[]) => void) | undefined) => Promise<void>;
50
47
  editorRef: Ref<any>;
51
- onClear: () => void;
52
- onFocus: (e: IData) => void;
53
- onBlur: (e: IData) => void;
54
- handleKeyUp: (e: KeyboardEvent) => void;
55
48
  closeCircle: number;
56
49
  isEditable: Ref<boolean>;
57
50
  isReverse: Ref<boolean>;
58
- setEditable: (flag: boolean) => void;
59
51
  showFormDefaultContent: import("vue").ComputedRef<boolean>;
60
- renderActionItem: (detail: IAppDEUIActionGroupDetail) => JSX.Element | undefined;
52
+ onBlur: (e: IData) => void;
53
+ onFocus: (e: IData) => void;
54
+ onClear: () => void;
55
+ onSearch: (query: string, cb?: ((_items: IData[]) => void) | undefined) => Promise<void>;
56
+ onACSelect: (item: IData) => Promise<void>;
57
+ handleKeyUp: (e: KeyboardEvent) => void;
58
+ setEditable: (flag: boolean) => void;
61
59
  renderEmpty: () => JSX.Element;
60
+ openLinkView: (e: MouseEvent) => Promise<void>;
61
+ openPickUpView: (e: MouseEvent) => Promise<void>;
62
+ renderActionItem: (detail: IAppDEUIActionGroupDetail) => JSX.Element | undefined;
62
63
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
63
64
  change: (_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => boolean;
64
65
  blur: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
@@ -12,6 +12,7 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
12
12
  setup(props, {
13
13
  emit
14
14
  }) {
15
+ var _a;
15
16
  const ns = useNamespace("picker");
16
17
  const c = props.controller;
17
18
  const curValue = ref("");
@@ -21,6 +22,7 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
21
22
  const editorRef = ref();
22
23
  const isLoaded = ref(false);
23
24
  const isReverse = ref(false);
25
+ const actionPostion = ((_a = c.model.editorParams) == null ? void 0 : _a.actionpostion) || "bottom";
24
26
  const showFormDefaultContent = computed(() => {
25
27
  if (props.controlParams && props.controlParams.editmode === "hover" && !props.readonly) {
26
28
  return true;
@@ -124,14 +126,11 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
124
126
  items.value = res.data;
125
127
  isLoaded.value = true;
126
128
  if (cb && cb instanceof Function) {
127
- if (items.value.length) {
128
- cb([...items.value, ...c.actionDetails]);
129
- } else {
130
- const empty = {
131
- srftype: "empty"
132
- };
133
- cb([empty, ...c.actionDetails]);
134
- }
129
+ const callbackItems = items.value.length ? [...items.value] : [{
130
+ srftype: "empty"
131
+ }];
132
+ actionPostion === "top" ? callbackItems.unshift(...c.actionDetails) : callbackItems.push(...c.actionDetails);
133
+ cb(callbackItems);
135
134
  }
136
135
  }
137
136
  }
@@ -139,16 +138,9 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
139
138
  const onACSelect = async (item) => {
140
139
  isShowAll.value = true;
141
140
  setEditable(false);
142
- if (item.srftype === "empty") {
143
- resetCurValue();
144
- return;
145
- }
146
- if (item.detailType === "DEUIACTION") {
147
- c.onActionClick(item, props.data);
148
- resetCurValue();
149
- } else {
150
- await handleDataSelect(item);
151
- }
141
+ if (item.srftype === "empty" || item.detailType === "DEUIACTION")
142
+ return resetCurValue();
143
+ await handleDataSelect(item);
152
144
  };
153
145
  const onClear = () => {
154
146
  const dataItems = c.dataItems;
@@ -219,16 +211,21 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
219
211
  });
220
212
  });
221
213
  const renderActionItem = (detail) => {
222
- if (!c.groupActionState[detail.id].visible) {
214
+ if (!c.groupActionState[detail.id].visible)
223
215
  return;
224
- }
225
216
  return createVNode("div", {
217
+ "title": showTitle(detail.tooltip),
226
218
  "class": [ns.e("action-item"), ns.is("disabled", c.groupActionState[detail.id].disabled)],
227
- "onClick": (event) => c.onActionClick(detail, props.data, event),
228
- "title": showTitle(detail.tooltip)
219
+ "onClick": (event) => {
220
+ if (!c.groupActionState[detail.id].disabled)
221
+ c.onActionClick(detail, props.data, event);
222
+ }
229
223
  }, [detail.showIcon && detail.sysImage && createVNode(resolveComponent("iBizIcon"), {
224
+ "class": ns.em("action-item", "icon"),
230
225
  "icon": detail.sysImage
231
- }, null), detail.showCaption ? detail.caption : ""]);
226
+ }, null), createVNode("span", {
227
+ "class": ns.em("action-item", "caption")
228
+ }, [detail.showCaption ? detail.caption : ""])]);
232
229
  };
233
230
  const renderEmpty = () => {
234
231
  return createVNode(resolveComponent("iBizNoData"), {
@@ -239,25 +236,25 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
239
236
  return {
240
237
  ns,
241
238
  c,
239
+ items,
242
240
  curValue,
243
241
  valueText,
244
- items,
245
- openPickUpView,
246
- openLinkView,
247
- onACSelect,
248
- onSearch,
249
242
  editorRef,
250
- onClear,
251
- onFocus,
252
- onBlur,
253
- handleKeyUp,
254
243
  closeCircle,
255
244
  isEditable,
256
245
  isReverse,
257
- setEditable,
258
246
  showFormDefaultContent,
259
- renderActionItem,
260
- renderEmpty
247
+ onBlur,
248
+ onFocus,
249
+ onClear,
250
+ onSearch,
251
+ onACSelect,
252
+ handleKeyUp,
253
+ setEditable,
254
+ renderEmpty,
255
+ openLinkView,
256
+ openPickUpView,
257
+ renderActionItem
261
258
  };
262
259
  },
263
260
  render() {
@@ -354,21 +351,17 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
354
351
  default: ({
355
352
  item
356
353
  }) => {
357
- if (this.$slots.append) {
354
+ if (this.$slots.append)
358
355
  return this.$slots.append({});
359
- }
360
- if (item.srftype === "empty") {
356
+ if (item.srftype === "empty")
361
357
  return this.renderEmpty();
362
- }
363
- if (item.detailType === "DEUIACTION") {
358
+ if (item.detailType === "DEUIACTION")
364
359
  return this.renderActionItem(item);
365
- }
366
360
  return itemContent(item);
367
361
  },
368
362
  suffix: () => {
369
- if (this.c.noButton) {
363
+ if (this.c.noButton)
370
364
  return;
371
- }
372
365
  return [this.c.model.pickupAppViewId ? createVNode("ion-icon", {
373
366
  "onClick": this.openPickUpView,
374
367
  "name": "search"
@@ -1,6 +1,6 @@
1
- import './ibiz-picker-embed-view.scss';
2
1
  import { EventBase } from '@ibiz-template/runtime';
3
2
  import { PickerEditorController } from '../picker-editor.controller';
3
+ import './ibiz-picker-embed-view.scss';
4
4
  /**
5
5
  * 数据选择(嵌入选择视图)
6
6
  *
@@ -43,14 +43,14 @@ export declare const IBizPickerEmbedView: import("vue").DefineComponent<{
43
43
  [x: symbol]: any;
44
44
  }>;
45
45
  editorRef: import("vue").Ref<any>;
46
- singleSelect: import("vue").Ref<boolean>;
47
- checkStrictly: import("vue").Ref<boolean>;
48
46
  isShowText: import("vue").Ref<boolean>;
49
- selectedData: import("vue").Ref<import("@ibiz-template/core").IApiData[]>;
50
47
  cloneParams: import("vue").ComputedRef<{
51
48
  [x: string]: any;
52
49
  [x: symbol]: any;
53
50
  }>;
51
+ singleSelect: import("vue").Ref<boolean>;
52
+ selectedData: import("vue").Ref<import("@ibiz-template/core").IApiData[]>;
53
+ checkStrictly: import("vue").Ref<boolean>;
54
54
  onSelectionChange: (event: EventBase) => void;
55
55
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
56
56
  change: (_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => boolean;
@@ -23,17 +23,17 @@ const IBizPickerEmbedView = /* @__PURE__ */ defineComponent({
23
23
  });
24
24
  watch(() => props.data, (newVal) => {
25
25
  const {
26
- context: _context,
27
- params: _params
26
+ context: tempContext,
27
+ params: tempParams
28
28
  } = c.handlePublicParams(newVal, c.context, c.params);
29
- const newContext = Object.assign(c.context.clone(), _context);
29
+ const newContext = Object.assign(c.context.clone(), tempContext);
30
30
  const newParams = Object.assign({
31
31
  ...c.params
32
- }, _params);
33
- if (JSON.stringify(context.value) !== JSON.stringify(newContext) || JSON.stringify(params.value) !== JSON.stringify(newParams)) {
32
+ }, tempParams);
33
+ if (JSON.stringify(context.value) !== JSON.stringify(newContext))
34
34
  context.value = newContext;
35
+ if (JSON.stringify(params.value) !== JSON.stringify(newParams))
35
36
  params.value = newParams;
36
- }
37
37
  }, {
38
38
  deep: true,
39
39
  immediate: true
@@ -108,11 +108,11 @@ const IBizPickerEmbedView = /* @__PURE__ */ defineComponent({
108
108
  context,
109
109
  params,
110
110
  editorRef,
111
- singleSelect,
112
- checkStrictly,
113
111
  isShowText,
114
- selectedData,
115
112
  cloneParams,
113
+ singleSelect,
114
+ selectedData,
115
+ checkStrictly,
116
116
  onSelectionChange
117
117
  };
118
118
  },
@@ -1,5 +1,5 @@
1
1
  import { Ref } from 'vue';
2
- import { IModalData, Modal } from '@ibiz-template/runtime';
2
+ import { EventBase, IModalData, Modal } from '@ibiz-template/runtime';
3
3
  import { PickerEditorController } from '../picker-editor.controller';
4
4
  import './ibiz-picker-select-view.scss';
5
5
  /**
@@ -40,38 +40,42 @@ export declare const IBizPickerSelectView: import("vue").DefineComponent<{
40
40
  required: boolean;
41
41
  };
42
42
  }, {
43
- ns: import("@ibiz-template/core").Namespace;
44
43
  c: PickerEditorController;
45
- singleSelect: Ref<boolean>;
46
- keySet: Ref<string[]>;
44
+ ns: import("@ibiz-template/core").Namespace;
47
45
  items: Ref<import("@ibiz-template/core").IApiData[]>;
48
- queryValue: Ref<string>;
46
+ modal: Modal;
47
+ keySet: Ref<string[]>;
48
+ params: Ref<import("@ibiz-template/core").IApiData>;
49
49
  visible: Ref<boolean>;
50
- pickViewWidth: Ref<string>;
51
50
  context: Ref<import("@ibiz-template/core").IApiContext>;
52
- params: Ref<import("@ibiz-template/core").IApiData>;
51
+ showView: Ref<boolean>;
53
52
  editorRef: Ref<any>;
54
- onInputChange: (e: IData) => void;
55
- triggerMenu: (show?: boolean) => void;
56
- onViewDataChange: (event: IData[]) => void;
57
- onClear: () => void;
58
- openLinkView: (e: MouseEvent) => Promise<void>;
59
- onSelectChange: (selects: string[]) => void;
60
- remoteMethod: (e: string) => void;
61
- onSelectionChange: (event: IModalData) => void;
62
- modal: Modal;
63
- onFocus: (e: IData) => void;
64
- onBlur: (e: IData) => void;
65
- handleKeyUp: (e: KeyboardEvent) => void;
66
53
  valueText: import("vue").ComputedRef<string>;
67
54
  isEditable: Ref<boolean>;
68
- setEditable: (flag: boolean) => void;
55
+ queryValue: Ref<string>;
56
+ cloneParams: import("vue").ComputedRef<{
57
+ [x: string]: any;
58
+ [x: symbol]: any;
59
+ }>;
60
+ selectedData: Ref<import("@ibiz-template/core").IApiData[]>;
61
+ singleSelect: Ref<boolean>;
62
+ pickViewWidth: Ref<string>;
69
63
  showFormDefaultContent: import("vue").ComputedRef<boolean>;
64
+ arrow: () => JSX.Element;
65
+ onBlur: (e: IData) => void;
66
+ onClear: () => void;
67
+ onFocus: (e: IData) => void;
68
+ triggerMenu: (show?: boolean) => void;
69
+ setEditable: (flag: boolean) => void;
70
+ handleKeyUp: (e: KeyboardEvent) => void;
71
+ openLinkView: (e: MouseEvent) => Promise<void>;
72
+ remoteMethod: (e: string) => void;
73
+ onInputChange: (e: IData) => void;
74
+ onSelectChange: (selects: string[]) => void;
70
75
  onVisibleChange: (e: boolean) => void;
71
- showView: Ref<boolean>;
72
- selectedData: Ref<import("@ibiz-template/core").IApiData[]>;
76
+ onViewDataChange: (event: IData[]) => void;
77
+ onSelectionChange: (event: EventBase | IModalData, isClose?: boolean) => void;
73
78
  handleDropDownKeyDown: (e: KeyboardEvent) => void;
74
- arrow: () => JSX.Element;
75
79
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
76
80
  change: (_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => boolean;
77
81
  blur: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;