@ibiz-template/vue3-components 0.3.1 → 0.3.3

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 (122) hide show
  1. package/dist/ibiz-markdown-editor-BQsiQfa2.js +2 -0
  2. package/dist/ibiz-markdown-editor-BQsiQfa2.js.map +1 -0
  3. package/dist/index-zqQcb8gx.js +14 -0
  4. package/dist/index-zqQcb8gx.js.map +1 -0
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/{xlsx-util-ijmoZImT.js → xlsx-util-T__pkKxV.js} +2 -2
  8. package/dist/{xlsx-util-ijmoZImT.js.map → xlsx-util-T__pkKxV.js.map} +1 -1
  9. package/es/common/data-import/data-import.d.ts +9 -1
  10. package/es/common/data-import/data-import.mjs +12 -5
  11. package/es/control/form/form/form.mjs +39 -15
  12. package/es/control/form/search-form/search-form.css +1 -1
  13. package/es/control/form/search-form/search-form.mjs +3 -32
  14. package/es/control/grid/grid/grid.mjs +0 -1
  15. package/es/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  16. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +2 -0
  17. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +20 -4
  18. package/es/control/grid/grid-column/grid-field-column/index.d.ts +2 -0
  19. package/es/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.d.ts +2 -0
  20. package/es/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.mjs +11 -3
  21. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.css +1 -0
  22. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.d.ts +3 -0
  23. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +25 -1
  24. package/es/control/grid/grid-column/grid-field-edit-column/index.d.ts +2 -0
  25. package/es/control/panel/panel/index.d.ts +6 -0
  26. package/es/control/panel/panel/panel.d.ts +7 -1
  27. package/es/control/panel/panel/panel.mjs +4 -1
  28. package/es/control/panel/view-layout-panel/index.d.ts +6 -0
  29. package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +7 -1
  30. package/es/control/panel/view-layout-panel/view-layout-panel.mjs +4 -1
  31. package/es/editor/array/ibiz-array/ibiz-array.d.ts +8 -0
  32. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.d.ts +8 -0
  33. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +8 -0
  34. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +8 -0
  35. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +8 -0
  36. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +7 -0
  37. package/es/editor/code/monaco-editor/monaco-editor.d.ts +8 -0
  38. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.d.ts +8 -0
  39. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +8 -0
  40. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +9 -2
  41. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +9 -0
  42. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +13 -2
  43. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.d.ts +9 -0
  44. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +15 -4
  45. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +8 -0
  46. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.d.ts +8 -0
  47. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +12 -2
  48. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +8 -0
  49. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.d.ts +8 -0
  50. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +7 -0
  51. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.d.ts +8 -0
  52. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +8 -0
  53. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +8 -0
  54. package/es/editor/html/wang-editor/wang-editor.d.ts +8 -0
  55. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.d.ts +8 -0
  56. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +3 -3
  57. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +8 -0
  58. package/es/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.d.ts +8 -0
  59. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +8 -0
  60. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +7 -0
  61. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +8 -0
  62. package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +8 -0
  63. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +8 -0
  64. package/es/editor/span/span/span.d.ts +6 -0
  65. package/es/editor/span/span-link/span-link.d.ts +8 -0
  66. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +8 -0
  67. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +8 -0
  68. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.d.ts +8 -0
  69. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +8 -0
  70. package/es/editor/text-box/input/input.d.ts +9 -0
  71. package/es/editor/text-box/input/input.mjs +12 -4
  72. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +8 -0
  73. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.d.ts +8 -0
  74. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +8 -0
  75. package/es/panel-component/index.mjs +4 -1
  76. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +11 -6
  77. package/es/panel-component/searchform-buttons/index.d.ts +25 -0
  78. package/es/panel-component/searchform-buttons/index.mjs +15 -0
  79. package/es/panel-component/searchform-buttons/searchform-buttons.controller.d.ts +38 -0
  80. package/es/panel-component/searchform-buttons/searchform-buttons.controller.mjs +67 -0
  81. package/es/panel-component/searchform-buttons/searchform-buttons.css +1 -0
  82. package/es/panel-component/searchform-buttons/searchform-buttons.d.ts +28 -0
  83. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +63 -0
  84. package/es/panel-component/searchform-buttons/searchform-buttons.provider.d.ts +15 -0
  85. package/es/panel-component/searchform-buttons/searchform-buttons.provider.mjs +21 -0
  86. package/es/util/notification-util/notification-util.d.ts +38 -0
  87. package/es/util/notification-util/notification-util.mjs +70 -23
  88. package/lib/common/data-import/data-import.cjs +12 -5
  89. package/lib/control/form/form/form.cjs +38 -14
  90. package/lib/control/form/search-form/search-form.cjs +2 -31
  91. package/lib/control/form/search-form/search-form.css +1 -1
  92. package/lib/control/grid/grid/grid.cjs +0 -1
  93. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +19 -3
  94. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  95. package/lib/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.cjs +10 -2
  96. package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +24 -0
  97. package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.css +1 -0
  98. package/lib/control/panel/panel/panel.cjs +4 -1
  99. package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +4 -1
  100. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +7 -0
  101. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +9 -2
  102. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +12 -1
  103. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +14 -3
  104. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +10 -0
  105. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +7 -0
  106. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +8 -0
  107. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +3 -3
  108. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +7 -0
  109. package/lib/editor/text-box/input/input.cjs +12 -4
  110. package/lib/panel-component/index.cjs +3 -0
  111. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +11 -6
  112. package/lib/panel-component/searchform-buttons/index.cjs +20 -0
  113. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +65 -0
  114. package/lib/panel-component/searchform-buttons/searchform-buttons.controller.cjs +69 -0
  115. package/lib/panel-component/searchform-buttons/searchform-buttons.css +1 -0
  116. package/lib/panel-component/searchform-buttons/searchform-buttons.provider.cjs +23 -0
  117. package/lib/util/notification-util/notification-util.cjs +70 -23
  118. package/package.json +8 -8
  119. package/dist/ibiz-markdown-editor-7GWpRewm.js +0 -2
  120. package/dist/ibiz-markdown-editor-7GWpRewm.js.map +0 -1
  121. package/dist/index-7GoDWDWd.js +0 -14
  122. package/dist/index-7GoDWDWd.js.map +0 -1
@@ -52,40 +52,11 @@ const SearchFormControl = /* @__PURE__ */ vue.defineComponent({
52
52
  return;
53
53
  }
54
54
  return vue.createVNode(vue.resolveComponent("iBizFormControl"), {
55
- "class": [this.ns.b(), this.ns.is("btn-bottom", this.c.model.searchButtonPos === "BOTTOM")],
55
+ "class": [this.ns.b()],
56
56
  "controller": this.c,
57
57
  "onKeyup": (e) => this.c.onKeyUp(e)
58
58
  }, {
59
- ...this.$slots,
60
- searchButtons: () => {
61
- if (this.c.model.searchButtonStyle === "NONE") {
62
- return;
63
- }
64
- return vue.createVNode("div", {
65
- "class": this.ns.b("buttons")
66
- }, [this.c.model.searchButtonStyle === "SEARCHONLY" ? vue.createVNode(vue.resolveComponent("el-button"), {
67
- "onClick": () => this.c.onSearchButtonClick()
68
- }, {
69
- default: () => [vue.createTextVNode("\u641C\u7D22")]
70
- }) : vue.createVNode(vue.resolveComponent("el-dropdown"), {
71
- "split-button": true,
72
- "type": "primary",
73
- "onClick": () => this.c.onSearchButtonClick()
74
- }, {
75
- default: () => vue.createVNode("span", {
76
- "class": this.ns.b("label")
77
- }, [vue.createTextVNode("\u641C\u7D22")]),
78
- dropdown: () => {
79
- return vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
80
- default: () => [vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
81
- "onClick": () => this.c.reset()
82
- }, {
83
- default: () => [vue.createTextVNode("\u91CD\u7F6E")]
84
- })]
85
- });
86
- }
87
- })]);
88
- }
59
+ ...this.$slots
89
60
  });
90
61
  }
91
62
  });
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-control-searchform-buttons{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;height:100%;margin-top:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-tight);text-align:right}.ibiz-control-searchform{--ibiz-control-searchform-bg-color:transparent;--ibiz-control-searchform-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);display:flex;padding:var(--ibiz-control-searchform-padding);background-color:var(--ibiz-control-searchform-bg-color)}.ibiz-control-searchform>.ibiz-form-page{flex-grow:1}.ibiz-control-searchform.is-btn-bottom{flex-direction:column}
1
+ @charset "UTF-8";.ibiz-control-searchform-buttons{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;height:100%;margin-top:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-tight);text-align:right}.ibiz-control-searchform{--ibiz-control-searchform-bg-color:transparent;--ibiz-control-searchform-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);display:flex;padding:var(--ibiz-control-searchform-padding);background-color:var(--ibiz-control-searchform-bg-color)}.ibiz-control-searchform>.ibiz-form-page{flex-grow:1}
@@ -30,7 +30,6 @@ function renderColumn(c, model, renderColumns, index) {
30
30
  [widthName]: width
31
31
  }, {
32
32
  "fixed": columnState.fixed,
33
- "show-overflow-tooltip": model.columnType === "DEFGRIDCOLUMN",
34
33
  "sortable": model.enableSort ? "custom" : false,
35
34
  "align": ((_a = model.align) == null ? void 0 : _a.toLowerCase()) || "center"
36
35
  }), {
@@ -6,6 +6,7 @@ var vue = require('vue');
6
6
  var vue3Util = require('@ibiz-template/vue3-util');
7
7
  require('./grid-field-column.css');
8
8
  var runtime = require('@ibiz-template/runtime');
9
+ var ramda = require('ramda');
9
10
 
10
11
  "use strict";
11
12
  const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
@@ -39,13 +40,25 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
39
40
  });
40
41
  const fieldValue = vue.computed(() => props.row.data[props.controller.model.codeName]);
41
42
  const formatValue = vue.computed(() => props.controller.formatValue(fieldValue.value));
43
+ const codeListText = vue.ref("");
44
+ const onInfoTextChange = (text) => {
45
+ codeListText.value = text;
46
+ };
47
+ const tooltip = vue.computed(() => {
48
+ if (props.controller.grid.overflowMode === "ellipsis" && ramda.isNotNil(fieldValue.value) && fieldValue.value !== "") {
49
+ return props.controller.codeList ? codeListText.value : formatValue.value + (props.controller.model.unitName || "");
50
+ }
51
+ return void 0;
52
+ });
42
53
  return {
43
54
  ns,
44
55
  onCellClick,
45
56
  onTextClick,
57
+ onInfoTextChange,
46
58
  CustomHtml,
47
59
  fieldValue,
48
- formatValue
60
+ formatValue,
61
+ tooltip
49
62
  };
50
63
  },
51
64
  render() {
@@ -62,16 +75,19 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
62
75
  "codeListItems": c.codeListItems,
63
76
  "codeList": c.codeList,
64
77
  "value": this.fieldValue,
65
- "onClick": this.onTextClick
78
+ "onClick": this.onTextClick,
79
+ "onInfoTextChange": this.onInfoTextChange,
80
+ "title": this.tooltip
66
81
  }, null);
67
82
  } else {
68
83
  content = vue.createVNode("span", {
69
84
  "class": this.ns.e("text"),
85
+ "title": this.tooltip,
70
86
  "onClick": this.onTextClick
71
87
  }, [this.formatValue, this.fieldValue != null && c.model.unitName]);
72
88
  }
73
89
  return vue.createVNode("div", {
74
- "class": [this.ns.b(), c.clickable(this.row) && this.ns.m("clickable")],
90
+ "class": [this.ns.b(), c.clickable(this.row) && this.ns.m("clickable"), this.ns.m(this.controller.grid.overflowMode)],
75
91
  "onClick": this.onCellClick
76
92
  }, [content]);
77
93
  }
@@ -1 +1 @@
1
- .ibiz-grid-field-column{--ibiz-grid-field-column-cell-padding:var(--ibiz-spacing-tight);--ibiz-grid-field-column-clickable-text-color:var(--ibiz-color-primary);--ibiz-grid-field-column-clickable-hover-text-color:var(--ibiz-color-primary-hover);--ibiz-grid-field-column-color:var(--ibiz-color-text-2);display:inline-flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content);width:100%;height:100%;padding:var(--ibiz-grid-field-column-cell-padding)}.ibiz-grid-field-column__text{font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-grid-field-column-color);word-break:break-word;white-space:pre-wrap}.ibiz-grid-field-column--clickable{cursor:pointer}.ibiz-grid-field-column--clickable .ibiz-grid-field-column__text{color:var(--ibiz-grid-field-column-clickable-text-color)}.ibiz-grid-field-column--clickable .ibiz-grid-field-column__text:hover{color:var(--ibiz-grid-field-column-clickable-hover-text-color)}
1
+ .ibiz-grid-field-column{--ibiz-grid-field-column-cell-padding:var(--ibiz-spacing-tight);--ibiz-grid-field-column-clickable-text-color:var(--ibiz-color-primary);--ibiz-grid-field-column-clickable-hover-text-color:var(--ibiz-color-primary-hover);--ibiz-grid-field-column-color:var(--ibiz-color-text-2);display:inline-flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content);width:100%;height:100%;padding:var(--ibiz-grid-field-column-cell-padding)}.ibiz-grid-field-column__text{font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-grid-field-column-color)}.ibiz-grid-field-column--clickable{cursor:pointer}.ibiz-grid-field-column--clickable .ibiz-grid-field-column__text{color:var(--ibiz-grid-field-column-clickable-text-color)}.ibiz-grid-field-column--clickable .ibiz-grid-field-column__text:hover{color:var(--ibiz-grid-field-column-clickable-hover-text-color)}.ibiz-grid-field-column--ellipsis span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-grid-field-column--wrap{word-break:break-word;white-space:pre-wrap}
@@ -46,8 +46,16 @@ const IBizGridEditItem = /* @__PURE__ */ vue.defineComponent({
46
46
  emit("maskClick", e);
47
47
  }
48
48
  };
49
+ const showTooltip = vue.computed(() => {
50
+ return props.error;
51
+ });
52
+ const tooltipContent = vue.computed(() => {
53
+ return props.error;
54
+ });
49
55
  return {
50
56
  ns,
57
+ tooltipContent,
58
+ showTooltip,
51
59
  onClick,
52
60
  onStopPropagation
53
61
  };
@@ -58,8 +66,8 @@ const IBizGridEditItem = /* @__PURE__ */ vue.defineComponent({
58
66
  "onDblclick": this.onStopPropagation,
59
67
  "onClick": this.onClick
60
68
  }, [vue.createVNode(vue.resolveComponent("el-tooltip"), {
61
- "content": this.error,
62
- "disabled": !this.error,
69
+ "content": this.tooltipContent,
70
+ "disabled": !this.showTooltip,
63
71
  "transfer": true,
64
72
  "transfer-class-name": this.ns.e("tooltip-popper"),
65
73
  "placement": "top"
@@ -9,6 +9,8 @@ var runtime = require('@ibiz-template/runtime');
9
9
  var cellEdit = require('./cell-edit.cjs');
10
10
  var rowEdit = require('./row-edit.cjs');
11
11
  var allEdit = require('./all-edit.cjs');
12
+ var ramda = require('ramda');
13
+ require('./grid-field-edit-column.css');
12
14
 
13
15
  "use strict";
14
16
  const GridFieldEditColumn = /* @__PURE__ */ vue.defineComponent({
@@ -48,12 +50,28 @@ const GridFieldEditColumn = /* @__PURE__ */ vue.defineComponent({
48
50
  gridEditItemProps,
49
51
  editorProps
50
52
  } = useByShowMode();
53
+ const infoText = vue.ref(void 0);
54
+ const onInfoTextChange = (text) => {
55
+ infoText.value = text;
56
+ };
57
+ const tooltip = vue.computed(() => {
58
+ if (!editorProps.readonly) {
59
+ return void 0;
60
+ }
61
+ if (ramda.isNil(infoText.value)) {
62
+ const val = props.row.data[fieldName];
63
+ return c.formatValue(val);
64
+ }
65
+ return infoText.value;
66
+ });
51
67
  return {
52
68
  ns,
53
69
  c,
54
70
  fieldName,
55
71
  componentRef,
72
+ tooltip,
56
73
  rowDataChange,
74
+ onInfoTextChange,
57
75
  gridEditItemProps,
58
76
  editorProps
59
77
  };
@@ -64,13 +82,19 @@ const GridFieldEditColumn = /* @__PURE__ */ vue.defineComponent({
64
82
  ref: "componentRef",
65
83
  required: !this.c.editItem.allowEmpty,
66
84
  error: this.row.errors[this.fieldName],
85
+ overflowMode: this.controller.grid.overflowMode,
86
+ class: [this.ns, this.ns.m(this.c.grid.overflowMode)],
67
87
  ...this.gridEditItemProps
68
88
  }, {
69
89
  default: () => [this.c.editorProvider && vue.h(vue.resolveComponent(this.c.editorProvider.gridEditor), {
90
+ class: this.ns.e("editor"),
70
91
  value: this.editorProps.readonly ? this.c.formatValue(val) : val,
71
92
  data: this.row.data,
72
93
  controller: this.c.editor,
94
+ overflowMode: this.c.grid.overflowMode,
73
95
  onChange: this.rowDataChange,
96
+ onInfoTextChange: this.onInfoTextChange,
97
+ title: this.tooltip,
74
98
  ...this.editorProps
75
99
  })]
76
100
  });
@@ -0,0 +1 @@
1
+ .ibiz-grid-field-edit-column--ellipsis .ibiz-grid-field-edit-column__editor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-grid-field-edit-column--wrap .ibiz-grid-field-edit-column__editor{word-break:break-word;white-space:pre-wrap}
@@ -65,6 +65,9 @@ const PanelControl = /* @__PURE__ */ vue.defineComponent({
65
65
  provider: {
66
66
  type: Object
67
67
  },
68
+ container: {
69
+ type: Object
70
+ },
68
71
  data: Object,
69
72
  loadDefault: {
70
73
  type: Boolean,
@@ -72,7 +75,7 @@ const PanelControl = /* @__PURE__ */ vue.defineComponent({
72
75
  }
73
76
  },
74
77
  setup(props) {
75
- const c = vue3Util.useControlController((...args) => new runtime.PanelController(...args));
78
+ const c = vue3Util.useControlController((...args) => new runtime.PanelController(...args, props.container));
76
79
  const ns = vue3Util.useNamespace(`control-${c.model.controlType.toLowerCase()}`);
77
80
  vue.watch(() => props.data, (newVal) => {
78
81
  if (newVal) {
@@ -27,12 +27,15 @@ const ViewLayoutPanelControl = /* @__PURE__ */ vue.defineComponent({
27
27
  provider: {
28
28
  type: Object
29
29
  },
30
+ container: {
31
+ type: Object
32
+ },
30
33
  data: Object
31
34
  },
32
35
  setup(props, {
33
36
  slots
34
37
  }) {
35
- const c = vue3Util.useControlController((...args) => new runtime.ViewLayoutPanelController(...args));
38
+ const c = vue3Util.useControlController((...args) => new runtime.ViewLayoutPanelController(...args, props.container));
36
39
  const ns = vue3Util.useNamespace(`control-${c.model.controlType.toLowerCase()}`);
37
40
  vue.watch(() => props.data, (newVal) => {
38
41
  if (newVal) {
@@ -109,6 +109,13 @@ const IBizCheckboxList = /* @__PURE__ */ vue.defineComponent({
109
109
  return isInclude;
110
110
  }).map((item) => item.text).join(",");
111
111
  });
112
+ vue.watch(valueText, (newVal, oldVal) => {
113
+ if (newVal !== oldVal) {
114
+ emit("infoTextChange", newVal);
115
+ }
116
+ }, {
117
+ immediate: true
118
+ });
112
119
  const {
113
120
  componentRef: editorRef
114
121
  } = vue3Util.useFocusAndBlur(() => emit("focus"), () => emit("blur"));
@@ -213,6 +213,13 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
213
213
  return item[c.textName];
214
214
  }).join(",");
215
215
  });
216
+ vue.watch(valueText, (newVal, oldVal) => {
217
+ if (newVal !== oldVal) {
218
+ emit("infoTextChange", newVal);
219
+ }
220
+ }, {
221
+ immediate: true
222
+ });
216
223
  const onFocus = (e) => {
217
224
  emit("focus", e);
218
225
  };
@@ -267,9 +274,9 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
267
274
  "onFocus": this.onFocus,
268
275
  "onBlur": this.onBlur,
269
276
  "onKeyup": this.handleKeyUp
270
- }, _isSlot(_slot = this.items.map((item, index) => {
277
+ }, _isSlot(_slot = this.items.map((item) => {
271
278
  return vue.createVNode(vue.resolveComponent("el-option"), {
272
- "key": index,
279
+ "key": item[this.c.keyName],
273
280
  "value": item[this.c.keyName],
274
281
  "label": item[this.c.textName]
275
282
  }, null);
@@ -132,10 +132,21 @@ const IBizPicker = /* @__PURE__ */ vue.defineComponent({
132
132
  emit("enter", e);
133
133
  }
134
134
  };
135
+ const valueText = vue.computed(() => {
136
+ return vue3Util.renderString(curValue.value);
137
+ });
138
+ vue.watch(valueText, (newVal, oldVal) => {
139
+ if (newVal !== oldVal) {
140
+ emit("infoTextChange", newVal);
141
+ }
142
+ }, {
143
+ immediate: true
144
+ });
135
145
  return {
136
146
  ns,
137
147
  c,
138
148
  curValue,
149
+ valueText,
139
150
  items,
140
151
  pickerAutoCompleteRef,
141
152
  openPickUpView,
@@ -154,7 +165,7 @@ const IBizPicker = /* @__PURE__ */ vue.defineComponent({
154
165
  if (this.readonly) {
155
166
  return vue.createVNode("div", {
156
167
  "class": (this.ns.b(), this.ns.m("readonly"))
157
- }, [vue3Util.renderString(this.curValue)]);
168
+ }, [this.valueText]);
158
169
  }
159
170
  return vue.createVNode("div", {
160
171
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : ""]
@@ -152,11 +152,22 @@ const IBizPickerDropDown = /* @__PURE__ */ vue.defineComponent({
152
152
  const onClick = () => {
153
153
  shouldLoad.value = true;
154
154
  };
155
+ const valueText = vue.computed(() => {
156
+ return vue3Util.renderString(curValue.value);
157
+ });
158
+ vue.watch(valueText, (newVal, oldVal) => {
159
+ if (newVal !== oldVal) {
160
+ emit("infoTextChange", newVal);
161
+ }
162
+ }, {
163
+ immediate: true
164
+ });
155
165
  return {
156
166
  ns,
157
167
  c,
158
168
  refValue,
159
169
  curValue,
170
+ valueText,
160
171
  loading,
161
172
  items,
162
173
  onOpenChange,
@@ -174,7 +185,7 @@ const IBizPickerDropDown = /* @__PURE__ */ vue.defineComponent({
174
185
  if (this.readonly) {
175
186
  return vue.createVNode("div", {
176
187
  "class": (this.ns.b(), this.ns.m("readonly"))
177
- }, [vue3Util.renderString(this.curValue)]);
188
+ }, [this.valueText]);
178
189
  }
179
190
  return vue.createVNode("div", {
180
191
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : ""]
@@ -196,10 +207,10 @@ const IBizPickerDropDown = /* @__PURE__ */ vue.defineComponent({
196
207
  "onBlur": this.onBlur,
197
208
  "onKeyup": this.handleKeyUp,
198
209
  "onClick": this.onClick
199
- }, _isSlot(_slot = this.items.map((item, index) => {
210
+ }, _isSlot(_slot = this.items.map((item) => {
200
211
  return vue.createVNode(vue.resolveComponent("el-option"), {
201
212
  "value": item[this.c.keyName],
202
- "key": index,
213
+ "key": item[this.c.keyName],
203
214
  "label": item[this.c.textName]
204
215
  }, null);
205
216
  })) ? _slot : {
@@ -51,6 +51,16 @@ const IBizPickerLink = /* @__PURE__ */ vue.defineComponent({
51
51
  const {
52
52
  componentRef: editorRef
53
53
  } = vue3Util.useFocusAndBlur(() => emit("focus"), () => emit("blur"));
54
+ const valueText = vue.computed(() => {
55
+ return vue3Util.renderString(curValue.value);
56
+ });
57
+ vue.watch(valueText, (newVal, oldVal) => {
58
+ if (newVal !== oldVal) {
59
+ emit("infoTextChange", newVal);
60
+ }
61
+ }, {
62
+ immediate: true
63
+ });
54
64
  return {
55
65
  ns,
56
66
  openLinkView,
@@ -74,6 +74,13 @@ const IBizDatePicker = /* @__PURE__ */ vue.defineComponent({
74
74
  const onBlur = (e) => {
75
75
  emit("blur", e);
76
76
  };
77
+ vue.watch(formatValue, (newVal, oldVal) => {
78
+ if (newVal !== oldVal) {
79
+ emit("infoTextChange", newVal);
80
+ }
81
+ }, {
82
+ immediate: true
83
+ });
77
84
  return {
78
85
  ns,
79
86
  c,
@@ -86,6 +86,13 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
86
86
  return isInclude;
87
87
  }).map((item) => item.text).join(",");
88
88
  });
89
+ vue.watch(valueText, (newVal, oldVal) => {
90
+ if (newVal !== oldVal) {
91
+ emit("infoTextChange", newVal);
92
+ }
93
+ }, {
94
+ immediate: true
95
+ });
89
96
  const editorRef = vue.ref();
90
97
  if (props.autoFocus) {
91
98
  vue.watch(editorRef, (newVal) => {
@@ -155,6 +162,7 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
155
162
  "onKeyup": this.handleKeyUp
156
163
  }, _isSlot(_slot = this.items.map((item) => {
157
164
  return vue.createVNode(vue.resolveComponent("el-option"), {
165
+ "key": item.value,
158
166
  "value": item.value.toString(),
159
167
  "label": item.text,
160
168
  "disabled": item.disableSelect === true
@@ -36,7 +36,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
36
36
  let lastMarkDownWidth = 0;
37
37
  const cssVars = vue.ref({});
38
38
  vue.watch(() => props.data, (newVal) => {
39
- if (newVal) {
39
+ if (newVal && c) {
40
40
  const urls = c.calcBaseUrl(newVal);
41
41
  uploadUrl.value = urls.uploadUrl;
42
42
  downloadUrl.value = urls.downloadUrl;
@@ -158,7 +158,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
158
158
  const tempCssVars = {
159
159
  width: `${markDownBox.value.offsetWidth}px`
160
160
  };
161
- if (typeof c.parent.model.height === "number") {
161
+ if (c && typeof c.parent.model.height === "number") {
162
162
  Object.assign(tempCssVars, {
163
163
  height: `${c.parent.model.height}px`
164
164
  });
@@ -170,7 +170,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
170
170
  const tempCssVars2 = {
171
171
  width: `${entries[0].contentRect.width}px`
172
172
  };
173
- if (typeof c.parent.model.height === "number") {
173
+ if (c && typeof c.parent.model.height === "number") {
174
174
  Object.assign(tempCssVars2, {
175
175
  height: `${c.parent.model.height}px`
176
176
  });
@@ -35,6 +35,13 @@ const IBizRadio = /* @__PURE__ */ vue.defineComponent({
35
35
  var _a;
36
36
  return ((_a = items.value.find((item) => item.value == props.value)) == null ? void 0 : _a.text) || "";
37
37
  });
38
+ vue.watch(valueText, (newVal, oldVal) => {
39
+ if (newVal !== oldVal) {
40
+ emit("infoTextChange", newVal);
41
+ }
42
+ }, {
43
+ immediate: true
44
+ });
38
45
  const {
39
46
  componentRef: editorRef
40
47
  } = vue3Util.useFocusAndBlur(() => emit("focus"), () => emit("blur"));
@@ -176,12 +176,23 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
176
176
  chatInstance.close();
177
177
  }
178
178
  });
179
+ const readonlyText = vue.computed(() => {
180
+ const {
181
+ unitName
182
+ } = props.controller.parent;
183
+ let text = `${currentVal.value}`;
184
+ if (text && unitName) {
185
+ text += unitName;
186
+ }
187
+ return text;
188
+ });
179
189
  return {
180
190
  c,
181
191
  ns,
182
192
  rows,
183
193
  type,
184
194
  currentVal,
195
+ readonlyText,
185
196
  handleChange,
186
197
  handleKeyUp,
187
198
  onBlur,
@@ -201,10 +212,7 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
201
212
  } = this.c.model;
202
213
  let content = null;
203
214
  if (this.readonly) {
204
- content = `${this.currentVal}`;
205
- if (content && unitName) {
206
- content += unitName;
207
- }
215
+ content = this.readonlyText;
208
216
  } else {
209
217
  const slots = {};
210
218
  if (unitName) {
@@ -21,6 +21,7 @@ var index$f = require('./panel-remember-me/index.cjs');
21
21
  var index$8 = require('./index-actions/index.cjs');
22
22
  var index$g = require('./panel-container-group/index.cjs');
23
23
  var index$h = require('./user-message/index.cjs');
24
+ var index$i = require('./searchform-buttons/index.cjs');
24
25
  var navPosIndex_state = require('./nav-pos-index/nav-pos-index.state.cjs');
25
26
  var navPosIndex_controller = require('./nav-pos-index/nav-pos-index.controller.cjs');
26
27
  var panelButton_controller = require('./panel-button/panel-button.controller.cjs');
@@ -57,6 +58,8 @@ const IBizPanelComponents = {
57
58
  v.use(index$8.IBizIndexActions);
58
59
  v.use(index$g.IBizPanelContainerGroup);
59
60
  v.use(index$h.IBizUserMessage);
61
+ v.use(vue3Util.IBizPanelContainerImage);
62
+ v.use(index$i.IBizSearchFormButtons);
60
63
  }
61
64
  };
62
65
 
@@ -96,16 +96,21 @@ class NavPosIndexController extends runtime.PanelItemController {
96
96
  currentKey,
97
97
  fullPath
98
98
  }) {
99
- var _a;
100
- if (this.state.currentKey !== currentKey) {
99
+ const isCurrentKeyChange = this.state.currentKey !== currentKey;
100
+ if (isCurrentKeyChange) {
101
+ if (this.state.cacheKeys.includes(currentKey) && this.router && this.router.currentRoute.value.matched.length === this.routeDepth + 1) {
102
+ const lastFullPath = this.state.navViewMsgs[currentKey].fullPath;
103
+ if (lastFullPath !== fullPath) {
104
+ setTimeout(() => {
105
+ this.router.push({ path: lastFullPath });
106
+ }, 0);
107
+ return;
108
+ }
109
+ }
101
110
  this.state.currentKey = currentKey;
102
111
  if (this.navTabs) {
103
112
  this.navTabs.state.currentKey = currentKey;
104
113
  }
105
- if (this.state.cacheKeys.includes(currentKey)) {
106
- const lastFullPath = this.state.navViewMsgs[currentKey].fullPath;
107
- (_a = this.router) == null ? void 0 : _a.push({ path: lastFullPath });
108
- }
109
114
  }
110
115
  if (currentKey === "") {
111
116
  return;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var runtime = require('@ibiz-template/runtime');
6
+ var vue3Util = require('@ibiz-template/vue3-util');
7
+ var searchformButtons = require('./searchform-buttons.cjs');
8
+ var searchformButtons_provider = require('./searchform-buttons.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizSearchFormButtons = vue3Util.withInstall(searchformButtons.SearchFormButtons, function(v) {
12
+ v.component(searchformButtons.SearchFormButtons.name, searchformButtons.SearchFormButtons);
13
+ runtime.registerPanelItemProvider(
14
+ "RAWITEM_SEARCHFORM_BUTTONS",
15
+ () => new searchformButtons_provider.SearchFormButtonsProvider()
16
+ );
17
+ });
18
+
19
+ exports.IBizSearchFormButtons = IBizSearchFormButtons;
20
+ exports.default = IBizSearchFormButtons;
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./searchform-buttons.css');
6
+ var searchformButtons_controller = require('./searchform-buttons.controller.cjs');
7
+
8
+ "use strict";
9
+ const SearchFormButtons = /* @__PURE__ */ vue.defineComponent({
10
+ name: "IBizSearchFormButtons",
11
+ props: {
12
+ modelData: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ controller: {
17
+ type: searchformButtons_controller.SearchFormButtonsController,
18
+ required: true
19
+ }
20
+ },
21
+ setup(prop) {
22
+ const ns = vue3Util.useNamespace("searchform-buttons");
23
+ const c = prop.controller;
24
+ const onSearchButtonClick = () => {
25
+ c.onSearchButtonClick();
26
+ };
27
+ const onResetButtonClick = () => {
28
+ c.onResetButtonClick();
29
+ };
30
+ return {
31
+ ns,
32
+ c,
33
+ onSearchButtonClick,
34
+ onResetButtonClick
35
+ };
36
+ },
37
+ render() {
38
+ return vue.createVNode("div", {
39
+ "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass]
40
+ }, [this.controller.searchButtonStyle === "SEARCHONLY" ? vue.createVNode(vue.resolveComponent("el-button"), {
41
+ "onClick": this.onSearchButtonClick
42
+ }, {
43
+ default: () => [vue.createTextVNode("\u641C\u7D22")]
44
+ }) : vue.createVNode(vue.resolveComponent("el-dropdown"), {
45
+ "split-button": true,
46
+ "type": "primary",
47
+ "onClick": this.onSearchButtonClick
48
+ }, {
49
+ default: () => vue.createVNode("span", {
50
+ "class": this.ns.b("label")
51
+ }, [vue.createTextVNode("\u641C\u7D22")]),
52
+ dropdown: () => {
53
+ return vue.createVNode(vue.resolveComponent("el-dropdown-menu"), null, {
54
+ default: () => [vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
55
+ "onClick": this.onResetButtonClick
56
+ }, {
57
+ default: () => [vue.createTextVNode("\u91CD\u7F6E")]
58
+ })]
59
+ });
60
+ }
61
+ })]);
62
+ }
63
+ });
64
+
65
+ exports.SearchFormButtons = SearchFormButtons;