yc-pro-components 0.0.84 → 1.0.0

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 (216) hide show
  1. package/es/components/check-card/index.d.ts +38 -38
  2. package/es/components/check-card/src/index.vue.d.ts +2 -2
  3. package/es/components/check-card-group/index.d.ts +19 -19
  4. package/es/components/check-card-group/src/index.vue.d.ts +1 -1
  5. package/es/components/date-picker/index.d.ts +10 -10
  6. package/es/components/date-picker/src/index.vue.d.ts +10 -10
  7. package/es/components/form/src/form-content.vue2.mjs +11 -2
  8. package/es/components/form/src/index.vue2.mjs +5 -2
  9. package/es/components/form/src/type.d.ts +5 -0
  10. package/es/components/form-item/src/index.vue2.mjs +9 -3
  11. package/es/components/header/index.d.ts +19 -19
  12. package/es/components/header/src/index.vue.d.ts +1 -1
  13. package/es/components/index.d.ts +1 -0
  14. package/es/components/index.mjs +1 -0
  15. package/es/components/input-tag/index.d.ts +9 -9
  16. package/es/components/input-tag/src/index.vue.d.ts +1 -1
  17. package/es/components/page/src/index.vue2.mjs +31 -13
  18. package/es/components/radio/index.d.ts +23 -23
  19. package/es/components/radio/src/index.vue.d.ts +23 -23
  20. package/es/components/render/index.d.ts +6 -6
  21. package/es/components/render/src/index.vue.d.ts +2 -2
  22. package/es/components/search/src/index.vue2.mjs +4 -1
  23. package/es/components/search/src/type.d.ts +5 -0
  24. package/es/components/yc-count-to/index.d.ts +1 -1
  25. package/es/components/yc-count-to/src/normal/index.d.ts +1 -1
  26. package/es/components/yc-dialog/index.d.ts +24 -24
  27. package/es/components/yc-more-actions/index.d.ts +46 -46
  28. package/es/components/yc-more-actions/src/index.vue.d.ts +3 -3
  29. package/es/components/yc-plus-page/src/index.vue.mjs +1 -1
  30. package/es/components/yc-plus-page/src/index.vue2.mjs +24 -13
  31. package/es/components/yc-plus-page/src/type.d.ts +5 -0
  32. package/es/components/yc-query-filter/index.d.ts +7 -0
  33. package/es/components/yc-query-filter/index.mjs +6 -0
  34. package/es/components/yc-query-filter/src/index.vue.d.ts +32 -0
  35. package/es/components/yc-query-filter/src/index.vue.mjs +6 -0
  36. package/es/components/yc-query-filter/src/index.vue2.mjs +662 -0
  37. package/es/components/yc-query-filter/src/serialize.d.ts +4 -0
  38. package/es/components/yc-query-filter/src/serialize.mjs +17 -0
  39. package/es/components/yc-select-v2/src/index.vue.d.ts +2 -2
  40. package/es/components/yc-status-dialog/src/index.vue.d.ts +1 -1
  41. package/es/components/yc-svg-icon/src/index.vue.d.ts +1 -1
  42. package/es/components/yc-text/src/index.vue.d.ts +2 -2
  43. package/es/constants/index.d.ts +1 -0
  44. package/es/constants/index.mjs +1 -0
  45. package/es/constants/query-filter.d.ts +69 -0
  46. package/es/constants/query-filter.mjs +3 -0
  47. package/es/hooks/index.d.ts +1 -0
  48. package/es/hooks/index.mjs +1 -0
  49. package/es/hooks/useQueryFilterConfig.d.ts +11 -0
  50. package/es/hooks/useQueryFilterConfig.mjs +38 -0
  51. package/es/index.css +10 -10
  52. package/es/index.d.ts +1 -1
  53. package/es/index.mjs +3 -0
  54. package/es/locale/lang/en.d.ts +33 -0
  55. package/es/locale/lang/en.mjs +33 -0
  56. package/es/locale/lang/ja.d.ts +33 -0
  57. package/es/locale/lang/ja.mjs +33 -0
  58. package/es/locale/lang/ko.d.ts +33 -0
  59. package/es/locale/lang/ko.mjs +33 -0
  60. package/es/locale/lang/zh-cn.d.ts +33 -0
  61. package/es/locale/lang/zh-cn.mjs +33 -0
  62. package/es/locale/lang/zh-tw.d.ts +33 -0
  63. package/es/locale/lang/zh-tw.mjs +33 -0
  64. package/es/types/form.d.ts +5 -0
  65. package/es/version.d.ts +1 -1
  66. package/es/version.mjs +1 -1
  67. package/es/yc-components/index.d.ts +1 -1
  68. package/es/yc-components/version.d.ts +1 -1
  69. package/index.css +1 -1
  70. package/index.js +1097 -221
  71. package/index.min.css +1 -1
  72. package/index.min.js +16 -12
  73. package/index.min.mjs +16 -12
  74. package/index.mjs +1093 -223
  75. package/lib/components/check-card/index.d.ts +38 -38
  76. package/lib/components/check-card/src/index.vue.d.ts +2 -2
  77. package/lib/components/check-card-group/index.d.ts +19 -19
  78. package/lib/components/check-card-group/src/index.vue.d.ts +1 -1
  79. package/lib/components/date-picker/index.d.ts +10 -10
  80. package/lib/components/date-picker/src/index.vue.d.ts +10 -10
  81. package/lib/components/form/src/form-content.vue2.js +11 -2
  82. package/lib/components/form/src/index.vue2.js +5 -2
  83. package/lib/components/form/src/type.d.ts +5 -0
  84. package/lib/components/form-item/src/index.vue2.js +9 -3
  85. package/lib/components/header/index.d.ts +19 -19
  86. package/lib/components/header/src/index.vue.d.ts +1 -1
  87. package/lib/components/index.d.ts +1 -0
  88. package/lib/components/index.js +3 -0
  89. package/lib/components/input-tag/index.d.ts +9 -9
  90. package/lib/components/input-tag/src/index.vue.d.ts +1 -1
  91. package/lib/components/page/src/index.vue2.js +31 -13
  92. package/lib/components/radio/index.d.ts +23 -23
  93. package/lib/components/radio/src/index.vue.d.ts +23 -23
  94. package/lib/components/render/index.d.ts +6 -6
  95. package/lib/components/render/src/index.vue.d.ts +2 -2
  96. package/lib/components/search/src/index.vue2.js +4 -1
  97. package/lib/components/search/src/type.d.ts +5 -0
  98. package/lib/components/yc-count-to/index.d.ts +1 -1
  99. package/lib/components/yc-count-to/src/normal/index.d.ts +1 -1
  100. package/lib/components/yc-dialog/index.d.ts +24 -24
  101. package/lib/components/yc-more-actions/index.d.ts +46 -46
  102. package/lib/components/yc-more-actions/src/index.vue.d.ts +3 -3
  103. package/lib/components/yc-plus-page/src/index.vue.js +1 -1
  104. package/lib/components/yc-plus-page/src/index.vue2.js +26 -15
  105. package/lib/components/yc-plus-page/src/type.d.ts +5 -0
  106. package/lib/components/yc-query-filter/index.d.ts +7 -0
  107. package/lib/components/yc-query-filter/index.js +9 -0
  108. package/lib/components/yc-query-filter/src/index.vue.d.ts +32 -0
  109. package/lib/components/yc-query-filter/src/index.vue.js +10 -0
  110. package/lib/components/yc-query-filter/src/index.vue2.js +666 -0
  111. package/lib/components/yc-query-filter/src/serialize.d.ts +4 -0
  112. package/lib/components/yc-query-filter/src/serialize.js +20 -0
  113. package/lib/components/yc-select-v2/src/index.vue.d.ts +2 -2
  114. package/lib/components/yc-status-dialog/src/index.vue.d.ts +1 -1
  115. package/lib/components/yc-svg-icon/src/index.vue.d.ts +1 -1
  116. package/lib/components/yc-text/src/index.vue.d.ts +2 -2
  117. package/lib/constants/index.d.ts +1 -0
  118. package/lib/constants/index.js +2 -0
  119. package/lib/constants/query-filter.d.ts +69 -0
  120. package/lib/constants/query-filter.js +5 -0
  121. package/lib/hooks/index.d.ts +1 -0
  122. package/lib/hooks/index.js +4 -0
  123. package/lib/hooks/useQueryFilterConfig.d.ts +11 -0
  124. package/lib/hooks/useQueryFilterConfig.js +42 -0
  125. package/lib/index.css +9 -9
  126. package/lib/index.d.ts +1 -1
  127. package/lib/index.js +9 -0
  128. package/lib/locale/lang/en.d.ts +33 -0
  129. package/lib/locale/lang/en.js +33 -0
  130. package/lib/locale/lang/ja.d.ts +33 -0
  131. package/lib/locale/lang/ja.js +33 -0
  132. package/lib/locale/lang/ko.d.ts +33 -0
  133. package/lib/locale/lang/ko.js +33 -0
  134. package/lib/locale/lang/zh-cn.d.ts +33 -0
  135. package/lib/locale/lang/zh-cn.js +33 -0
  136. package/lib/locale/lang/zh-tw.d.ts +33 -0
  137. package/lib/locale/lang/zh-tw.js +33 -0
  138. package/lib/types/form.d.ts +5 -0
  139. package/lib/version.d.ts +1 -1
  140. package/lib/version.js +1 -1
  141. package/lib/yc-components/index.d.ts +1 -1
  142. package/lib/yc-components/version.d.ts +1 -1
  143. package/locale/en.d.ts +33 -0
  144. package/locale/en.js +34 -1
  145. package/locale/en.min.js +1 -1
  146. package/locale/en.min.mjs +1 -1
  147. package/locale/en.mjs +34 -1
  148. package/locale/ja.d.ts +33 -0
  149. package/locale/ja.js +34 -1
  150. package/locale/ja.min.js +1 -1
  151. package/locale/ja.min.mjs +1 -1
  152. package/locale/ja.mjs +34 -1
  153. package/locale/ko.d.ts +33 -0
  154. package/locale/ko.js +34 -1
  155. package/locale/ko.min.js +1 -1
  156. package/locale/ko.min.mjs +1 -1
  157. package/locale/ko.mjs +34 -1
  158. package/locale/zh-cn.d.ts +33 -0
  159. package/locale/zh-cn.js +34 -1
  160. package/locale/zh-cn.min.js +1 -1
  161. package/locale/zh-cn.min.mjs +1 -1
  162. package/locale/zh-cn.mjs +34 -1
  163. package/locale/zh-tw.d.ts +33 -0
  164. package/locale/zh-tw.js +34 -1
  165. package/locale/zh-tw.min.js +1 -1
  166. package/locale/zh-tw.min.mjs +1 -1
  167. package/locale/zh-tw.mjs +34 -1
  168. package/package.json +1 -1
  169. package/theme-chalk/index.css +1 -1
  170. package/theme-chalk/plus-form-item.css +1 -1
  171. package/theme-chalk/plus-yc-query-filter.css +1 -0
  172. package/theme-chalk/src/form-item.scss +60 -39
  173. package/theme-chalk/src/index.scss +1 -0
  174. package/theme-chalk/src/yc-query-filter.scss +163 -0
  175. package/es/components/breadcrumb/index.d.ts +0 -6985
  176. package/es/components/breadcrumb/src/index.vue.d.ts +0 -6947
  177. package/es/components/dialog-form/index.d.ts +0 -311
  178. package/es/components/dialog-form/src/index.vue.d.ts +0 -211
  179. package/es/components/display-item/index.d.ts +0 -571
  180. package/es/components/display-item/src/index.vue.d.ts +0 -437
  181. package/es/components/drawer-form/index.d.ts +0 -1589
  182. package/es/components/drawer-form/src/index.vue.d.ts +0 -627
  183. package/es/components/form/index.d.ts +0 -845
  184. package/es/components/form/src/form-content.vue.d.ts +0 -583
  185. package/es/components/form/src/index.vue.d.ts +0 -373
  186. package/es/components/form-item/index.d.ts +0 -1469
  187. package/es/components/form-item/src/index.vue.d.ts +0 -535
  188. package/es/components/page/index.d.ts +0 -10563
  189. package/es/components/page/src/index.vue.d.ts +0 -3712
  190. package/es/components/search/index.d.ts +0 -2892
  191. package/es/components/search/src/index.vue.d.ts +0 -994
  192. package/es/components/table/src/table-column.vue.d.ts +0 -615
  193. package/es/components/yc-drawer/store.d.ts +0 -2359
  194. package/es/components/yc-plus-page/src/index.vue.d.ts +0 -8127
  195. package/es/hooks/usePlusFormReset.d.ts +0 -4483
  196. package/lib/components/breadcrumb/index.d.ts +0 -6985
  197. package/lib/components/breadcrumb/src/index.vue.d.ts +0 -6947
  198. package/lib/components/dialog-form/index.d.ts +0 -311
  199. package/lib/components/dialog-form/src/index.vue.d.ts +0 -211
  200. package/lib/components/display-item/index.d.ts +0 -571
  201. package/lib/components/display-item/src/index.vue.d.ts +0 -437
  202. package/lib/components/drawer-form/index.d.ts +0 -1589
  203. package/lib/components/drawer-form/src/index.vue.d.ts +0 -627
  204. package/lib/components/form/index.d.ts +0 -845
  205. package/lib/components/form/src/form-content.vue.d.ts +0 -583
  206. package/lib/components/form/src/index.vue.d.ts +0 -373
  207. package/lib/components/form-item/index.d.ts +0 -1469
  208. package/lib/components/form-item/src/index.vue.d.ts +0 -535
  209. package/lib/components/page/index.d.ts +0 -10563
  210. package/lib/components/page/src/index.vue.d.ts +0 -3712
  211. package/lib/components/search/index.d.ts +0 -2892
  212. package/lib/components/search/src/index.vue.d.ts +0 -994
  213. package/lib/components/table/src/table-column.vue.d.ts +0 -615
  214. package/lib/components/yc-drawer/store.d.ts +0 -2359
  215. package/lib/components/yc-plus-page/src/index.vue.d.ts +0 -8127
  216. package/lib/hooks/usePlusFormReset.d.ts +0 -4483
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! yc-pro-components v0.0.84 */
1
+ /*! yc-pro-components v1.0.0 */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('element-plus')) :
4
4
  typeof define === 'function' && define.amd ? define(['exports', 'vue', 'element-plus'], factory) :
@@ -4806,6 +4806,8 @@
4806
4806
 
4807
4807
  const DictStoreInjectionKey = Symbol("DictStore");
4808
4808
 
4809
+ const QueryFilterConfigKey = Symbol("QueryFilterConfig");
4810
+
4809
4811
  const throwError = (data) => {
4810
4812
  if (!isArray(data)) {
4811
4813
  console.error("Uncaught TypeError: ", `options expected Array but got ${toRawType(data)}`);
@@ -5027,6 +5029,39 @@
5027
5029
  expand: "Expand",
5028
5030
  retract: "Retract"
5029
5031
  },
5032
+ queryFilter: {
5033
+ saveAs: "Save as",
5034
+ saved: "Saved filters",
5035
+ savedTitle: "Saved filters",
5036
+ panelTitle: "Filters",
5037
+ received: "Received filters",
5038
+ shared: "Shared filters",
5039
+ nameTitle: "Filter name",
5040
+ namePlaceholder: "Name this filter",
5041
+ emptyMine: "No saved filters",
5042
+ emptyReceived: "No received filters",
5043
+ emptyShared: "No shared filters",
5044
+ shareTitle: "Share filter",
5045
+ sharePlaceholder: "Search employees in this tenant",
5046
+ recipients: "Recipients",
5047
+ revoke: "Revoke",
5048
+ edit: "Edit",
5049
+ remove: "Delete",
5050
+ share: "Share",
5051
+ confirmDelete: "Delete this filter?",
5052
+ confirmRevoke: "Revoke this share?",
5053
+ saveSuccess: "Saved",
5054
+ deleteSuccess: "Deleted",
5055
+ shareSuccess: "Shared",
5056
+ revokeSuccess: "Revoked",
5057
+ applied: "Filled into the search form. Click Search to query.",
5058
+ schemaMismatch: "This filter schema is outdated. Review it before searching.",
5059
+ noSelector: "Employee selector is not configured",
5060
+ sharedBy: "{time} [{sender}] shared [{name}]",
5061
+ sharedTo: "{time} I shared [{name}] with [{recipient}] and others",
5062
+ sharedByPrefix: "{time} [{sender}] shared",
5063
+ sharedToPrefix: "{time} I shared with [{recipient}] and others"
5064
+ },
5030
5065
  table: {
5031
5066
  title: "Table",
5032
5067
  density: "Density",
@@ -8616,6 +8651,40 @@
8616
8651
  vue.provide(DictStoreInjectionKey, dictStore);
8617
8652
  }
8618
8653
 
8654
+ function unwrapResponse(res) {
8655
+ var _a;
8656
+ const payload = (res == null ? void 0 : res.data) !== void 0 && (res == null ? void 0 : res.code) !== void 0 ? res : (_a = res == null ? void 0 : res.data) != null ? _a : res;
8657
+ const code = payload == null ? void 0 : payload.code;
8658
+ if (code !== void 0 && code !== "00000" && code !== "0" && code !== 0) {
8659
+ throw new Error((payload == null ? void 0 : payload.message) || "\u8BF7\u6C42\u5931\u8D25");
8660
+ }
8661
+ if (payload && typeof payload === "object" && "data" in payload && payload.code !== void 0) {
8662
+ return payload.data;
8663
+ }
8664
+ return payload;
8665
+ }
8666
+ function provideQueryFilterConfig(config) {
8667
+ vue.provide(QueryFilterConfigKey, config);
8668
+ }
8669
+ function useQueryFilterConfig() {
8670
+ return vue.inject(QueryFilterConfigKey, void 0);
8671
+ }
8672
+ function createQueryFilterApi(options) {
8673
+ var _a;
8674
+ const prefix = (_a = options.prefix) != null ? _a : "/opa/api/query-filter";
8675
+ const request = async (path, body) => {
8676
+ return unwrapResponse(await options.post(`${prefix}${path}`, body));
8677
+ };
8678
+ return {
8679
+ saveAs: (body) => request("/save-as", body),
8680
+ update: (body) => request("/update", body),
8681
+ delete: (body) => request("/delete", body),
8682
+ list: (body) => request("/list", body),
8683
+ share: (body) => request("/share", body),
8684
+ revoke: (body) => request("/revoke", body)
8685
+ };
8686
+ }
8687
+
8619
8688
  const DEFAULT_RESIZE_AREA_WIDTH = 12;
8620
8689
  const DEFAULT_BORDER_COLOR = "var(--theme-color)";
8621
8690
  const DEFAULT_SCROLL_SELECTOR = ".el-scrollbar__wrap";
@@ -8933,8 +9002,8 @@
8933
9002
  };
8934
9003
  }
8935
9004
 
8936
- const _hoisted_1$v = { class: "plus-dialog-body" };
8937
- var _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9005
+ const _hoisted_1$w = { class: "plus-dialog-body" };
9006
+ var _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
8938
9007
  ...{
8939
9008
  name: "PlusDialog",
8940
9009
  inheritAttrs: false
@@ -9017,7 +9086,7 @@
9017
9086
  style: mergedDialogStyle.value
9018
9087
  }, filteredAttrs.value), vue.createSlots({
9019
9088
  default: vue.withCtx(() => [
9020
- vue.createElementVNode("div", _hoisted_1$v, [
9089
+ vue.createElementVNode("div", _hoisted_1$w, [
9021
9090
  vue.renderSlot(_ctx.$slots, "default")
9022
9091
  ])
9023
9092
  ]),
@@ -9089,25 +9158,25 @@
9089
9158
  return target;
9090
9159
  };
9091
9160
 
9092
- var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__file", "index.vue"]]);
9161
+ var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__file", "index.vue"]]);
9093
9162
 
9094
9163
  const PlusDialog = Dialog;
9095
9164
 
9096
- const _hoisted_1$u = /* @__PURE__ */ vue.createElementVNode(
9165
+ const _hoisted_1$v = /* @__PURE__ */ vue.createElementVNode(
9097
9166
  "span",
9098
9167
  null,
9099
9168
  null,
9100
9169
  -1
9101
9170
  /* HOISTED */
9102
9171
  );
9103
- const _hoisted_2$k = /* @__PURE__ */ vue.createElementVNode(
9172
+ const _hoisted_2$l = /* @__PURE__ */ vue.createElementVNode(
9104
9173
  "span",
9105
9174
  null,
9106
9175
  null,
9107
9176
  -1
9108
9177
  /* HOISTED */
9109
9178
  );
9110
- var _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
9179
+ var _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9111
9180
  ...{
9112
9181
  name: "PlusPagination"
9113
9182
  },
@@ -9149,7 +9218,7 @@
9149
9218
  },
9150
9219
  [
9151
9220
  _ctx.align === "right" || _ctx.align === "center" ? vue.renderSlot(_ctx.$slots, "pagination-left", { key: 0 }, () => [
9152
- _hoisted_1$u
9221
+ _hoisted_1$v
9153
9222
  ]) : vue.createCommentVNode("v-if", true),
9154
9223
  vue.createVNode(vue.unref(elementPlus.ElPagination), vue.mergeProps({
9155
9224
  layout: "total, sizes, prev, pager, next, jumper",
@@ -9163,7 +9232,7 @@
9163
9232
  onCurrentChange: handleCurrentChange
9164
9233
  }), null, 16, ["current-page", "page-size", "total", "page-sizes"]),
9165
9234
  _ctx.align === "left" || _ctx.align === "center" ? vue.renderSlot(_ctx.$slots, "pagination-right", { key: 1 }, () => [
9166
- _hoisted_2$k
9235
+ _hoisted_2$l
9167
9236
  ]) : vue.createCommentVNode("v-if", true)
9168
9237
  ],
9169
9238
  2
@@ -9173,11 +9242,11 @@
9173
9242
  }
9174
9243
  });
9175
9244
 
9176
- var Pagination = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__file", "index.vue"]]);
9245
+ var Pagination = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__file", "index.vue"]]);
9177
9246
 
9178
9247
  const PlusPagination = Pagination;
9179
9248
 
9180
- var _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
9249
+ var _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
9181
9250
  ...{
9182
9251
  name: "PlusRadio"
9183
9252
  },
@@ -9362,7 +9431,7 @@
9362
9431
  }
9363
9432
  });
9364
9433
 
9365
- var Radio = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__file", "index.vue"]]);
9434
+ var Radio = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__file", "index.vue"]]);
9366
9435
 
9367
9436
  const PlusRadio = Radio;
9368
9437
 
@@ -15424,13 +15493,13 @@
15424
15493
  ZoomOut: zoom_out_default
15425
15494
  });
15426
15495
 
15427
- const _hoisted_1$t = {
15496
+ const _hoisted_1$u = {
15428
15497
  key: 0,
15429
15498
  class: "plus-table-action-bar__dropdown__link"
15430
15499
  };
15431
- const _hoisted_2$j = { class: "plus-table-action-bar__dropdown__link" };
15432
- const _hoisted_3$f = { class: "plus-table-action-bar__more-text" };
15433
- var _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
15500
+ const _hoisted_2$k = { class: "plus-table-action-bar__dropdown__link" };
15501
+ const _hoisted_3$g = { class: "plus-table-action-bar__more-text" };
15502
+ var _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
15434
15503
  ...{
15435
15504
  name: "PlusTableActionBar"
15436
15505
  },
@@ -15746,7 +15815,7 @@
15746
15815
  )
15747
15816
  ]),
15748
15817
  default: vue.withCtx(() => [
15749
- _ctx.moreType === "icon" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$t, [
15818
+ _ctx.moreType === "icon" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$u, [
15750
15819
  vue.renderSlot(_ctx.$slots, "action-bar-more-icon", {}, () => [
15751
15820
  vue.createVNode(vue.unref(elementPlus.ElIcon), null, {
15752
15821
  default: vue.withCtx(() => [
@@ -15761,10 +15830,10 @@
15761
15830
  { key: 1 },
15762
15831
  [
15763
15832
  vue.createCommentVNode(" \u9ED8\u8BA4 "),
15764
- vue.createElementVNode("span", _hoisted_2$j, [
15833
+ vue.createElementVNode("span", _hoisted_2$k, [
15765
15834
  vue.createElementVNode(
15766
15835
  "span",
15767
- _hoisted_3$f,
15836
+ _hoisted_3$g,
15768
15837
  vue.toDisplayString(vue.unref(t)("plus.table.more")),
15769
15838
  1
15770
15839
  /* TEXT */
@@ -15795,9 +15864,9 @@
15795
15864
  }
15796
15865
  });
15797
15866
 
15798
- var PlusTableActionBar = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__file", "table-action-bar.vue"]]);
15867
+ var PlusTableActionBar = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__file", "table-action-bar.vue"]]);
15799
15868
 
15800
- var _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
15869
+ var _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
15801
15870
  ...{
15802
15871
  name: "PlusRender"
15803
15872
  },
@@ -15865,12 +15934,12 @@
15865
15934
  }
15866
15935
  });
15867
15936
 
15868
- var Render = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__file", "index.vue"]]);
15937
+ var Render = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__file", "index.vue"]]);
15869
15938
 
15870
15939
  const PlusRender = Render;
15871
15940
 
15872
- const _hoisted_1$s = { class: "plus-date-picker__middle" };
15873
- var _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
15941
+ const _hoisted_1$t = { class: "plus-date-picker__middle" };
15942
+ var _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
15874
15943
  ...{
15875
15944
  name: "PlusDatePicker"
15876
15945
  },
@@ -15975,7 +16044,7 @@
15975
16044
  }), null, 16, ["modelValue", "type", "value-format", "placeholder", "disabled"]),
15976
16045
  vue.createElementVNode(
15977
16046
  "span",
15978
- _hoisted_1$s,
16047
+ _hoisted_1$t,
15979
16048
  vue.toDisplayString(_ctx.rangeSeparator),
15980
16049
  1
15981
16050
  /* TEXT */
@@ -16006,11 +16075,11 @@
16006
16075
  }
16007
16076
  });
16008
16077
 
16009
- var DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__file", "index.vue"]]);
16078
+ var DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__file", "index.vue"]]);
16010
16079
 
16011
16080
  const PlusDatePicker = DatePicker;
16012
16081
 
16013
- var _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
16082
+ var _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
16014
16083
  ...{
16015
16084
  name: "PlusInputTag"
16016
16085
  },
@@ -16147,7 +16216,7 @@
16147
16216
  }
16148
16217
  });
16149
16218
 
16150
- var InputTag = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__file", "index.vue"]]);
16219
+ var InputTag = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__file", "index.vue"]]);
16151
16220
 
16152
16221
  const PlusInputTag = InputTag;
16153
16222
 
@@ -16307,18 +16376,18 @@
16307
16376
  return hovered ? hitFromInput(hovered, measure) : null;
16308
16377
  };
16309
16378
 
16310
- const _hoisted_1$r = { class: "el-form-item__error" };
16311
- const _hoisted_2$i = { class: "plus-form-item__label" };
16312
- const _hoisted_3$e = {
16379
+ const _hoisted_1$s = { class: "el-form-item__error" };
16380
+ const _hoisted_2$j = { class: "plus-form-item__label" };
16381
+ const _hoisted_3$f = {
16313
16382
  key: 0,
16314
16383
  class: "plus-form-item-field"
16315
16384
  };
16316
- const _hoisted_4$b = {
16385
+ const _hoisted_4$c = {
16317
16386
  key: 1,
16318
16387
  class: "plus-form-item-field"
16319
16388
  };
16320
16389
  const TOOLTIP_SHOW_DELAY = 300;
16321
- var _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
16390
+ var _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
16322
16391
  ...{
16323
16392
  name: "PlusFormItem"
16324
16393
  },
@@ -16341,7 +16410,8 @@
16341
16410
  optionsMap: { default: void 0 },
16342
16411
  autoDict: { type: [Boolean, Function, Object], default: void 0 },
16343
16412
  index: { default: 0 },
16344
- clearable: { type: Boolean, default: true }
16413
+ clearable: { type: Boolean, default: true },
16414
+ ellipsis: { type: Boolean, default: false }
16345
16415
  },
16346
16416
  emits: ["update:modelValue", "change"],
16347
16417
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -16384,6 +16454,7 @@
16384
16454
  labelOverflow.value = el.scrollWidth > el.clientWidth + 1;
16385
16455
  };
16386
16456
  const showLabelTooltip = () => {
16457
+ if (!props.ellipsis) return;
16387
16458
  syncLabelOverflow();
16388
16459
  if (labelTooltipTimer) clearTimeout(labelTooltipTimer);
16389
16460
  if (!labelOverflow.value || !labelTooltipContent.value) {
@@ -16408,6 +16479,7 @@
16408
16479
  placeholderTooltipContent.value = "";
16409
16480
  };
16410
16481
  const handlePlaceholderHover = (event) => {
16482
+ if (!props.ellipsis) return;
16411
16483
  const root = event.currentTarget;
16412
16484
  if (!(root instanceof HTMLElement)) return;
16413
16485
  const hit = findPlaceholderOverflow(root, event.target, {
@@ -16606,7 +16678,10 @@
16606
16678
  ref: formItemInstance,
16607
16679
  label: _ctx.hasLabel ? labelValue.value : "",
16608
16680
  prop: _ctx.prop,
16609
- class: ["plus-form-item", { "plus-form-item--no-label": !_ctx.hasLabel }]
16681
+ class: ["plus-form-item", {
16682
+ "plus-form-item--no-label": !_ctx.hasLabel,
16683
+ "plus-form-item--ellipsis": _ctx.ellipsis
16684
+ }]
16610
16685
  }, customFormItemProps.value, {
16611
16686
  "label-width": _ctx.hasLabel ? (_a = customFormItemProps.value) == null ? void 0 : _a.labelWidth : "0px"
16612
16687
  }), vue.createSlots({
@@ -16619,7 +16694,7 @@
16619
16694
  onMouseleave: hidePlaceholderTooltip
16620
16695
  },
16621
16696
  [
16622
- _ctx.renderField && vue.unref(isFunction)(_ctx.renderField) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$e, [
16697
+ _ctx.renderField && vue.unref(isFunction)(_ctx.renderField) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$f, [
16623
16698
  valueIsReady.value ? (vue.openBlock(), vue.createBlock(vue.unref(PlusRender), {
16624
16699
  key: 0,
16625
16700
  render: _ctx.renderField,
@@ -16629,7 +16704,7 @@
16629
16704
  "render-type": "form",
16630
16705
  "handle-change": handleChange
16631
16706
  }, null, 8, ["render", "params", "callback-value", "custom-field-props"])) : vue.createCommentVNode("v-if", true)
16632
- ])) : _ctx.$slots[vue.unref(getFieldSlotName)(_ctx.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b, [
16707
+ ])) : _ctx.$slots[vue.unref(getFieldSlotName)(_ctx.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c, [
16633
16708
  vue.renderSlot(_ctx.$slots, vue.unref(getFieldSlotName)(_ctx.prop), vue.mergeProps(params.value, { column: props }))
16634
16709
  ])) : _ctx.valueType === "select" && customFieldProps.value.multiple === true ? (vue.openBlock(), vue.createBlock(vue.unref(ElSelect), vue.mergeProps({
16635
16710
  key: 2,
@@ -16969,7 +17044,7 @@
16969
17044
  vue.unref(isFunction)(_ctx.renderErrorMessage) ? {
16970
17045
  name: "error",
16971
17046
  fn: vue.withCtx(({ error }) => [
16972
- vue.createElementVNode("div", _hoisted_1$r, [
17047
+ vue.createElementVNode("div", _hoisted_1$s, [
16973
17048
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.renderErrorMessage), vue.mergeProps(props, {
16974
17049
  value: state.value,
16975
17050
  error,
@@ -16982,13 +17057,13 @@
16982
17057
  _ctx.hasLabel ? {
16983
17058
  name: "label",
16984
17059
  fn: vue.withCtx(({ label: currentLabel }) => [
16985
- vue.createElementVNode("span", _hoisted_2$i, [
17060
+ vue.createElementVNode("span", _hoisted_2$j, [
16986
17061
  vue.createVNode(vue.unref(ElTooltip), {
16987
17062
  visible: labelTooltipVisible.value,
16988
17063
  "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => labelTooltipVisible.value = $event),
16989
17064
  content: labelTooltipContent.value,
16990
17065
  placement: "top",
16991
- disabled: !labelOverflow.value || !labelTooltipContent.value
17066
+ disabled: !_ctx.ellipsis || !labelOverflow.value || !labelTooltipContent.value
16992
17067
  }, {
16993
17068
  default: vue.withCtx(() => [
16994
17069
  vue.createElementVNode(
@@ -17066,11 +17141,11 @@
17066
17141
  }
17067
17142
  });
17068
17143
 
17069
- var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__file", "index.vue"]]);
17144
+ var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__file", "index.vue"]]);
17070
17145
 
17071
17146
  const PlusFormItem = FormItem;
17072
17147
 
17073
- var _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17148
+ var _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17074
17149
  ...{
17075
17150
  name: "PlusCollapseTransition"
17076
17151
  },
@@ -17121,17 +17196,17 @@
17121
17196
  }
17122
17197
  });
17123
17198
 
17124
- var PlusCollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__file", "collapse-transition.vue"]]);
17199
+ var PlusCollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__file", "collapse-transition.vue"]]);
17125
17200
 
17126
- const _hoisted_1$q = {
17201
+ const _hoisted_1$r = {
17127
17202
  key: 0,
17128
17203
  class: "plus-form-item-previous"
17129
17204
  };
17130
- const _hoisted_2$h = {
17205
+ const _hoisted_2$i = {
17131
17206
  key: 1,
17132
17207
  class: "plus-form-item-extra"
17133
17208
  };
17134
- var _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17209
+ var _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17135
17210
  ...{
17136
17211
  name: "PlusFormContent"
17137
17212
  },
@@ -17145,7 +17220,8 @@
17145
17220
  colProps: { default: () => ({}) },
17146
17221
  collapseDuration: { default: void 0 },
17147
17222
  collapseTransition: { type: Boolean, default: void 0 },
17148
- clearable: { type: Boolean, default: true }
17223
+ clearable: { type: Boolean, default: true },
17224
+ ellipsis: { type: Boolean, default: false }
17149
17225
  },
17150
17226
  emits: ["update:modelValue", "change"],
17151
17227
  setup(__props, { emit: __emit }) {
@@ -17172,6 +17248,13 @@
17172
17248
  }
17173
17249
  return props.hasLabel;
17174
17250
  };
17251
+ const getEllipsis = (ellipsis) => {
17252
+ const value = vue.unref(ellipsis);
17253
+ if (isBoolean(value)) {
17254
+ return value;
17255
+ }
17256
+ return props.ellipsis;
17257
+ };
17175
17258
  vue.watch(
17176
17259
  () => props.modelValue,
17177
17260
  (val) => {
@@ -17212,7 +17295,7 @@
17212
17295
  }), {
17213
17296
  default: vue.withCtx(() => [
17214
17297
  vue.createCommentVNode(" el-form-item\u4E0A\u4E00\u884C\u7684\u5185\u5BB9 "),
17215
- item.renderPrevious || _ctx.$slots[vue.unref(getPreviousSlotName)(item.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
17298
+ item.renderPrevious || _ctx.$slots[vue.unref(getPreviousSlotName)(item.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
17216
17299
  vue.unref(isFunction)(item.renderPrevious) ? (vue.openBlock(), vue.createBlock(
17217
17300
  vue.resolveDynamicComponent(item.renderPrevious),
17218
17301
  vue.normalizeProps(vue.mergeProps({ key: 0 }, item)),
@@ -17226,6 +17309,7 @@
17226
17309
  }, item, {
17227
17310
  clearable: _ctx.clearable,
17228
17311
  "has-label": getHasLabel(item.hasLabel),
17312
+ ellipsis: getEllipsis(item.ellipsis),
17229
17313
  onChange: (value) => handleChange(value, item)
17230
17314
  }), vue.createSlots({
17231
17315
  _: 2
@@ -17252,9 +17336,9 @@
17252
17336
  ]),
17253
17337
  key: "2"
17254
17338
  } : void 0
17255
- ]), 1040, ["model-value", "clearable", "has-label", "onChange"]),
17339
+ ]), 1040, ["model-value", "clearable", "has-label", "ellipsis", "onChange"]),
17256
17340
  vue.createCommentVNode(" el-form-item \u4E0B\u4E00\u884C\u989D\u5916\u7684\u5185\u5BB9 "),
17257
- item.renderExtra || _ctx.$slots[vue.unref(getExtraSlotName)(item.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
17341
+ item.renderExtra || _ctx.$slots[vue.unref(getExtraSlotName)(item.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, [
17258
17342
  item.renderExtra && vue.unref(isFunction)(item.renderExtra) ? (vue.openBlock(), vue.createBlock(
17259
17343
  vue.resolveDynamicComponent(item.renderExtra),
17260
17344
  vue.normalizeProps(vue.mergeProps({ key: 0 }, item)),
@@ -17285,10 +17369,10 @@
17285
17369
  }
17286
17370
  });
17287
17371
 
17288
- var PlusFormContent = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__file", "form-content.vue"]]);
17372
+ var PlusFormContent = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__file", "form-content.vue"]]);
17289
17373
 
17290
- const _hoisted_1$p = { class: "plus-form__group__item__icon" };
17291
- var _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17374
+ const _hoisted_1$q = { class: "plus-form__group__item__icon" };
17375
+ var _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17292
17376
  ...{
17293
17377
  name: "PlusForm",
17294
17378
  inheritAttrs: false
@@ -17308,6 +17392,7 @@
17308
17392
  hasFooter: { type: Boolean, default: true },
17309
17393
  hasReset: { type: Boolean, default: true },
17310
17394
  hasLabel: { type: Boolean, default: true },
17395
+ ellipsis: { type: Boolean, default: false },
17311
17396
  submitText: { default: "" },
17312
17397
  resetText: { default: "" },
17313
17398
  submitLoading: { type: Boolean, default: false },
@@ -17453,7 +17538,7 @@
17453
17538
  icon: groupItem.icon,
17454
17539
  index
17455
17540
  }, () => [
17456
- vue.createElementVNode("div", _hoisted_1$p, [
17541
+ vue.createElementVNode("div", _hoisted_1$q, [
17457
17542
  groupItem.icon ? (vue.openBlock(), vue.createBlock(
17458
17543
  vue.unref(elementPlus.ElIcon),
17459
17544
  { key: 0 },
@@ -17485,6 +17570,7 @@
17485
17570
  layout: _ctx.layout,
17486
17571
  columns: filterHide(groupItem.columns),
17487
17572
  "has-label": _ctx.hasLabel,
17573
+ ellipsis: _ctx.ellipsis,
17488
17574
  "collapse-transition": _ctx.collapseTransition,
17489
17575
  "collapse-duration": _ctx.collapseDuration,
17490
17576
  clearable: _ctx.clearable,
@@ -17501,7 +17587,7 @@
17501
17587
  ])
17502
17588
  };
17503
17589
  })
17504
- ]), 1032, ["modelValue", "row-props", "col-props", "layout", "columns", "has-label", "collapse-transition", "collapse-duration", "clearable"]))
17590
+ ]), 1032, ["modelValue", "row-props", "col-props", "layout", "columns", "has-label", "ellipsis", "collapse-transition", "collapse-duration", "clearable"]))
17505
17591
  ]),
17506
17592
  _: 2
17507
17593
  /* DYNAMIC */
@@ -17525,6 +17611,7 @@
17525
17611
  layout: _ctx.layout,
17526
17612
  columns: subColumns.value,
17527
17613
  "has-label": _ctx.hasLabel,
17614
+ ellipsis: _ctx.ellipsis,
17528
17615
  "collapse-transition": _ctx.collapseTransition,
17529
17616
  "collapse-duration": _ctx.collapseDuration,
17530
17617
  clearable: _ctx.clearable,
@@ -17541,7 +17628,7 @@
17541
17628
  ])
17542
17629
  };
17543
17630
  })
17544
- ]), 1032, ["modelValue", "row-props", "col-props", "layout", "columns", "has-label", "collapse-transition", "collapse-duration", "clearable"])
17631
+ ]), 1032, ["modelValue", "row-props", "col-props", "layout", "columns", "has-label", "ellipsis", "collapse-transition", "collapse-duration", "clearable"])
17545
17632
  ],
17546
17633
  64
17547
17634
  /* STABLE_FRAGMENT */
@@ -17600,7 +17687,7 @@
17600
17687
  }
17601
17688
  });
17602
17689
 
17603
- var Form = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__file", "index.vue"]]);
17690
+ var Form = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__file", "index.vue"]]);
17604
17691
 
17605
17692
  const PlusForm = Form;
17606
17693
 
@@ -17643,9 +17730,9 @@
17643
17730
  const hasDisplayComponent = (valueType) => Object.keys(DisplayComponentMap).includes(valueType);
17644
17731
  const getDisplayComponent = (valueType) => Reflect.get(DisplayComponentMap, valueType) || {};
17645
17732
 
17646
- const _hoisted_1$o = ["innerHTML"];
17647
- const _hoisted_2$g = { class: "plus-display-item" };
17648
- const _hoisted_3$d = /* @__PURE__ */ vue.createElementVNode(
17733
+ const _hoisted_1$p = ["innerHTML"];
17734
+ const _hoisted_2$h = { class: "plus-display-item" };
17735
+ const _hoisted_3$e = /* @__PURE__ */ vue.createElementVNode(
17649
17736
  "svg",
17650
17737
  {
17651
17738
  fill: "none",
@@ -17664,7 +17751,7 @@
17664
17751
  -1
17665
17752
  /* HOISTED */
17666
17753
  );
17667
- var _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17754
+ var _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17668
17755
  ...{
17669
17756
  name: "PlusDisplayItem"
17670
17757
  },
@@ -18054,7 +18141,7 @@
18054
18141
  vue.createElementVNode("span", {
18055
18142
  class: "plus-display-item",
18056
18143
  innerHTML: _ctx.column.renderHTML(displayValue.value, renderParams.value)
18057
- }, null, 8, _hoisted_1$o)
18144
+ }, null, 8, _hoisted_1$p)
18058
18145
  ],
18059
18146
  2112
18060
18147
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -18173,7 +18260,7 @@
18173
18260
  { key: 5 },
18174
18261
  [
18175
18262
  vue.createCommentVNode(" \u590D\u5236 "),
18176
- vue.createElementVNode("span", _hoisted_2$g, [
18263
+ vue.createElementVNode("span", _hoisted_2$h, [
18177
18264
  vue.createTextVNode(
18178
18265
  vue.toDisplayString(formatterValue.value) + " ",
18179
18266
  1
@@ -18299,7 +18386,7 @@
18299
18386
  "pointer-events": "none"
18300
18387
  }, {
18301
18388
  default: vue.withCtx(() => [
18302
- _hoisted_3$d
18389
+ _hoisted_3$e
18303
18390
  ]),
18304
18391
  _: 1
18305
18392
  /* STABLE */
@@ -18313,13 +18400,13 @@
18313
18400
  }
18314
18401
  });
18315
18402
 
18316
- var DisplayItem = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__file", "index.vue"]]);
18403
+ var DisplayItem = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__file", "index.vue"]]);
18317
18404
 
18318
18405
  const PlusDisplayItem = DisplayItem;
18319
18406
 
18320
- const _hoisted_1$n = { class: "plus-table-column__header-text" };
18321
- const _hoisted_2$f = { class: "plus-table-column__header-text" };
18322
- var _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
18407
+ const _hoisted_1$o = { class: "plus-table-column__header-text" };
18408
+ const _hoisted_2$g = { class: "plus-table-column__header-text" };
18409
+ var _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
18323
18410
  ...{
18324
18411
  name: "PlusTableColumn"
18325
18412
  },
@@ -18453,7 +18540,7 @@
18453
18540
  default: vue.withCtx(() => [
18454
18541
  vue.createElementVNode(
18455
18542
  "span",
18456
- _hoisted_1$n,
18543
+ _hoisted_1$o,
18457
18544
  vue.toDisplayString(vue.unref(getLabel$1)(item.label)),
18458
18545
  1
18459
18546
  /* TEXT */
@@ -18468,7 +18555,7 @@
18468
18555
  vue.createCommentVNode(" \u542F\u7528\u7701\u7565\u4F46\u7981\u7528 tooltip \u65F6 "),
18469
18556
  vue.createElementVNode(
18470
18557
  "span",
18471
- _hoisted_2$f,
18558
+ _hoisted_2$g,
18472
18559
  vue.toDisplayString(vue.unref(getLabel$1)(item.label)),
18473
18560
  1
18474
18561
  /* TEXT */
@@ -18597,9 +18684,9 @@
18597
18684
  }
18598
18685
  });
18599
18686
 
18600
- var PlusTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__file", "table-column.vue"]]);
18687
+ var PlusTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__file", "table-column.vue"]]);
18601
18688
 
18602
- var _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
18689
+ var _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
18603
18690
  ...{
18604
18691
  name: "PlusTableTableColumnIndex"
18605
18692
  },
@@ -18673,10 +18760,10 @@
18673
18760
  }
18674
18761
  });
18675
18762
 
18676
- var PlusTableTableColumnIndex = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__file", "table-column-index.vue"]]);
18763
+ var PlusTableTableColumnIndex = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__file", "table-column-index.vue"]]);
18677
18764
 
18678
- const _hoisted_1$m = { class: "plus-table-column-drag-icon" };
18679
- var _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
18765
+ const _hoisted_1$n = { class: "plus-table-column-drag-icon" };
18766
+ var _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
18680
18767
  ...{
18681
18768
  name: "PlusTableColumnDragSort"
18682
18769
  },
@@ -18727,7 +18814,7 @@
18727
18814
  "class-name": "plus-table-column-drag-sort"
18728
18815
  }, _ctx.dragSortableTableColumnProps), {
18729
18816
  default: vue.withCtx(() => [
18730
- vue.createElementVNode("span", _hoisted_1$m, [
18817
+ vue.createElementVNode("span", _hoisted_1$n, [
18731
18818
  vue.renderSlot(_ctx.$slots, "drag-sort-icon", {}, () => [
18732
18819
  vue.createTextVNode("\u2637")
18733
18820
  ])
@@ -18740,13 +18827,13 @@
18740
18827
  }
18741
18828
  });
18742
18829
 
18743
- var PlusTableColumnDragSort = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__file", "table-column-drag-sort.vue"]]);
18830
+ var PlusTableColumnDragSort = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__file", "table-column-drag-sort.vue"]]);
18744
18831
 
18745
- const _hoisted_1$l = {
18832
+ const _hoisted_1$m = {
18746
18833
  key: 0,
18747
18834
  style: { "padding-top": "12px" }
18748
18835
  };
18749
- var _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
18836
+ var _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
18750
18837
  ...{
18751
18838
  name: "PlusPopover"
18752
18839
  },
@@ -18805,7 +18892,7 @@
18805
18892
  ]),
18806
18893
  default: vue.withCtx(() => [
18807
18894
  vue.renderSlot(_ctx.$slots, "default"),
18808
- _ctx.hasShowBottomButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
18895
+ _ctx.hasShowBottomButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
18809
18896
  vue.createVNode(vue.unref(elementPlus.ElButton), {
18810
18897
  size: "small",
18811
18898
  plain: "",
@@ -18846,16 +18933,16 @@
18846
18933
  }
18847
18934
  });
18848
18935
 
18849
- var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__file", "index.vue"]]);
18936
+ var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__file", "index.vue"]]);
18850
18937
 
18851
18938
  const PlusPopover = Popover;
18852
18939
 
18853
18940
  const _withScopeId$4 = (n) => (vue.pushScopeId("data-v-d1506155"), n = n(), vue.popScopeId(), n);
18854
- const _hoisted_1$k = { class: "plus-table-title-bar" };
18855
- const _hoisted_2$e = { class: "plus-table-title-bar__title" };
18856
- const _hoisted_3$c = { class: "plus-table-title-bar__toolbar" };
18857
- const _hoisted_4$a = { class: "plus-table-title-bar__toolbar__density" };
18858
- const _hoisted_5$9 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode(
18941
+ const _hoisted_1$l = { class: "plus-table-title-bar" };
18942
+ const _hoisted_2$f = { class: "plus-table-title-bar__title" };
18943
+ const _hoisted_3$d = { class: "plus-table-title-bar__toolbar" };
18944
+ const _hoisted_4$b = { class: "plus-table-title-bar__toolbar__density" };
18945
+ const _hoisted_5$a = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode(
18859
18946
  "svg",
18860
18947
  {
18861
18948
  viewBox: "0 0 1024 1024",
@@ -18870,15 +18957,15 @@
18870
18957
  -1
18871
18958
  /* HOISTED */
18872
18959
  ));
18873
- const _hoisted_6$7 = { class: "plus-table-checkbox-checkAll" };
18874
- const _hoisted_7$5 = { class: "plus-table-checkbox-actions" };
18875
- const _hoisted_8$4 = {
18960
+ const _hoisted_6$8 = { class: "plus-table-checkbox-checkAll" };
18961
+ const _hoisted_7$6 = { class: "plus-table-checkbox-actions" };
18962
+ const _hoisted_8$5 = {
18876
18963
  key: 0,
18877
18964
  class: "plus-table-checkbox-handle"
18878
18965
  };
18879
- const _hoisted_9$4 = { key: 1 };
18880
- const _hoisted_10$3 = { key: 1 };
18881
- var _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
18966
+ const _hoisted_9$5 = { key: 1 };
18967
+ const _hoisted_10$4 = { key: 1 };
18968
+ var _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
18882
18969
  ...{
18883
18970
  name: "PlusTableToolbar"
18884
18971
  },
@@ -19047,8 +19134,8 @@
19047
19134
  });
19048
19135
  return (_ctx, _cache) => {
19049
19136
  var _a, _b, _c;
19050
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
19051
- vue.createElementVNode("div", _hoisted_2$e, [
19137
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
19138
+ vue.createElementVNode("div", _hoisted_2$f, [
19052
19139
  vue.renderSlot(_ctx.$slots, "title", {}, () => [
19053
19140
  vue.createTextVNode(
19054
19141
  vue.toDisplayString(titleBarConfig.value.title),
@@ -19057,7 +19144,7 @@
19057
19144
  )
19058
19145
  ], true)
19059
19146
  ]),
19060
- vue.createElementVNode("div", _hoisted_3$c, [
19147
+ vue.createElementVNode("div", _hoisted_3$d, [
19061
19148
  vue.renderSlot(_ctx.$slots, "toolbar", {}, void 0, true),
19062
19149
  ((_a = titleBarConfig.value) == null ? void 0 : _a.refresh) === true ? (vue.openBlock(), vue.createElementBlock("span", {
19063
19150
  key: 0,
@@ -19110,7 +19197,7 @@
19110
19197
  class: "plus-table-title-bar__toolbar__icon"
19111
19198
  }, {
19112
19199
  default: vue.withCtx(() => [
19113
- _hoisted_5$9
19200
+ _hoisted_5$a
19114
19201
  ]),
19115
19202
  _: 1
19116
19203
  /* STABLE */
@@ -19122,7 +19209,7 @@
19122
19209
  }, 8, ["content"])
19123
19210
  ]),
19124
19211
  default: vue.withCtx(() => [
19125
- vue.createElementVNode("div", _hoisted_4$a, [
19212
+ vue.createElementVNode("div", _hoisted_4$b, [
19126
19213
  (vue.openBlock(), vue.createElementBlock(
19127
19214
  vue.Fragment,
19128
19215
  null,
@@ -19189,7 +19276,7 @@
19189
19276
  default: vue.withCtx(() => {
19190
19277
  var _a2, _b2, _c2, _d;
19191
19278
  return [
19192
- vue.createElementVNode("div", _hoisted_6$7, [
19279
+ vue.createElementVNode("div", _hoisted_6$8, [
19193
19280
  vue.createVNode(vue.unref(elementPlus.ElCheckbox), {
19194
19281
  modelValue: state.checkAll,
19195
19282
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
@@ -19206,7 +19293,7 @@
19206
19293
  _: 1
19207
19294
  /* STABLE */
19208
19295
  }, 8, ["modelValue", "indeterminate"]),
19209
- vue.createElementVNode("div", _hoisted_7$5, [
19296
+ vue.createElementVNode("div", _hoisted_7$6, [
19210
19297
  ((_a2 = columnSetting.value) == null ? void 0 : _a2.confirm) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElLink), {
19211
19298
  key: 0,
19212
19299
  type: "primary",
@@ -19267,7 +19354,7 @@
19267
19354
  key: item.prop,
19268
19355
  class: "plus-table-checkbox-item"
19269
19356
  }, [
19270
- ((_a3 = columnSetting.value) == null ? void 0 : _a3.dragSort) !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$4, [
19357
+ ((_a3 = columnSetting.value) == null ? void 0 : _a3.dragSort) !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$5, [
19271
19358
  vue.renderSlot(_ctx.$slots, "drag-sort-icon", {}, () => [
19272
19359
  vue.createTextVNode("\u2637")
19273
19360
  ], true)
@@ -19296,7 +19383,7 @@
19296
19383
  /* DYNAMIC */
19297
19384
  }, 1032, ["content"])) : (vue.openBlock(), vue.createElementBlock(
19298
19385
  "span",
19299
- _hoisted_9$4,
19386
+ _hoisted_9$5,
19300
19387
  vue.toDisplayString(item.label ? getLabelValue(item.label) : ""),
19301
19388
  1
19302
19389
  /* TEXT */
@@ -19331,7 +19418,7 @@
19331
19418
  /* DYNAMIC */
19332
19419
  }, 1032, ["content"])) : (vue.openBlock(), vue.createElementBlock(
19333
19420
  "span",
19334
- _hoisted_10$3,
19421
+ _hoisted_10$4,
19335
19422
  vue.toDisplayString(item.label ? getLabelValue(item.label) : ""),
19336
19423
  1
19337
19424
  /* TEXT */
@@ -19368,7 +19455,7 @@
19368
19455
  }
19369
19456
  });
19370
19457
 
19371
- var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-d1506155"], ["__file", "table-title-bar.vue"]]);
19458
+ var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-d1506155"], ["__file", "table-title-bar.vue"]]);
19372
19459
 
19373
19460
  const TABLE_DENSITY_STORAGE_KEY = "yc-table-density";
19374
19461
  const VALID_TABLE_DENSITY = ["default", "large", "small"];
@@ -19391,8 +19478,8 @@
19391
19478
  }
19392
19479
  };
19393
19480
 
19394
- const _hoisted_1$j = { class: "plus-table-expand-col" };
19395
- var _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
19481
+ const _hoisted_1$k = { class: "plus-table-expand-col" };
19482
+ var _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
19396
19483
  ...{
19397
19484
  name: "PlusTable",
19398
19485
  inheritAttrs: false
@@ -19784,7 +19871,7 @@
19784
19871
  }, _ctx.expandTableColumnProps),
19785
19872
  {
19786
19873
  default: vue.withCtx((scoped) => [
19787
- vue.createElementVNode("div", _hoisted_1$j, [
19874
+ vue.createElementVNode("div", _hoisted_1$k, [
19788
19875
  vue.renderSlot(_ctx.$slots, "expand", vue.mergeProps({
19789
19876
  index: scoped.$index
19790
19877
  }, scoped))
@@ -19898,11 +19985,11 @@
19898
19985
  }
19899
19986
  });
19900
19987
 
19901
- var _Table = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__file", "index.vue"]]);
19988
+ var _Table = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__file", "index.vue"]]);
19902
19989
 
19903
19990
  const PlusTable = _Table;
19904
19991
 
19905
- var _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
19992
+ var _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
19906
19993
  ...{
19907
19994
  name: "PlusDescriptions"
19908
19995
  },
@@ -20110,7 +20197,7 @@
20110
20197
  }
20111
20198
  });
20112
20199
 
20113
- var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__file", "index.vue"]]);
20200
+ var Descriptions = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__file", "index.vue"]]);
20114
20201
 
20115
20202
  const PlusDescriptions = Descriptions;
20116
20203
 
@@ -29381,7 +29468,7 @@
29381
29468
  }
29382
29469
  };
29383
29470
 
29384
- var _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
29471
+ var _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
29385
29472
  ...{
29386
29473
  name: "YcConfigProvider"
29387
29474
  },
@@ -29431,7 +29518,7 @@
29431
29518
  }
29432
29519
  });
29433
29520
 
29434
- var ConfigProvider = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__file", "index.vue"]]);
29521
+ var ConfigProvider = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__file", "index.vue"]]);
29435
29522
 
29436
29523
  function useYcConfig() {
29437
29524
  const config = vue.inject(YC_CONFIG_KEY, DEFAULT_YC_CONFIG);
@@ -29483,7 +29570,7 @@
29483
29570
 
29484
29571
  const YcConfigProvider = l(ConfigProvider);
29485
29572
 
29486
- var _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
29573
+ var _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
29487
29574
  ...{
29488
29575
  name: "PlusSearch"
29489
29576
  },
@@ -29505,6 +29592,7 @@
29505
29592
  inline: { type: Boolean, default: true },
29506
29593
  showNumber: { default: 2 },
29507
29594
  labelPosition: { default: void 0 },
29595
+ ellipsis: { type: Boolean, default: false },
29508
29596
  rowProps: { default: () => ({
29509
29597
  gutter: 20
29510
29598
  }) },
@@ -29609,6 +29697,7 @@
29609
29697
  "col-props": _ctx.colProps,
29610
29698
  columns: subColumns.value,
29611
29699
  layout: _ctx.layout,
29700
+ ellipsis: _ctx.ellipsis,
29612
29701
  class: "plus-search",
29613
29702
  "has-footer": false,
29614
29703
  onChange: handleChange
@@ -29627,6 +29716,7 @@
29627
29716
  handleUnfold,
29628
29717
  searchLoading: _ctx.searchLoading
29629
29718
  }, () => [
29719
+ vue.renderSlot(_ctx.$slots, "search-actions-after"),
29630
29720
  vue.createCommentVNode(' :icon="computedResetIcon" '),
29631
29721
  _ctx.hasReset ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
29632
29722
  key: 0,
@@ -29700,16 +29790,16 @@
29700
29790
  ])
29701
29791
  };
29702
29792
  })
29703
- ]), 1040, ["modelValue", "inline", "rules", "label-position", "row-props", "col-props", "columns", "layout"]);
29793
+ ]), 1040, ["modelValue", "inline", "rules", "label-position", "row-props", "col-props", "columns", "layout", "ellipsis"]);
29704
29794
  };
29705
29795
  }
29706
29796
  });
29707
29797
 
29708
- var Search = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__file", "index.vue"]]);
29798
+ var Search = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__file", "index.vue"]]);
29709
29799
 
29710
29800
  const PlusSearch = Search;
29711
29801
 
29712
- var _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
29802
+ var _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
29713
29803
  ...{
29714
29804
  name: "PlusDialogForm"
29715
29805
  },
@@ -29871,12 +29961,12 @@
29871
29961
  }
29872
29962
  });
29873
29963
 
29874
- var DialogForm = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "index.vue"]]);
29964
+ var DialogForm = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__file", "index.vue"]]);
29875
29965
 
29876
29966
  const PlusDialogForm = DialogForm;
29877
29967
 
29878
- const _hoisted_1$i = { class: "plus-drawer-form__footer" };
29879
- var _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
29968
+ const _hoisted_1$j = { class: "plus-drawer-form__footer" };
29969
+ var _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
29880
29970
  ...{
29881
29971
  name: "PlusDrawerForm"
29882
29972
  },
@@ -30031,7 +30121,7 @@
30031
30121
  _ctx.hasFooter ? {
30032
30122
  name: "footer",
30033
30123
  fn: vue.withCtx(() => [
30034
- vue.createElementVNode("div", _hoisted_1$i, [
30124
+ vue.createElementVNode("div", _hoisted_1$j, [
30035
30125
  vue.renderSlot(_ctx.$slots, "drawer-footer", vue.normalizeProps(vue.guardReactiveProps({ handleConfirm, handleCancel })), () => [
30036
30126
  vue.createVNode(vue.unref(elementPlus.ElButton), { onClick: handleCancel }, {
30037
30127
  default: vue.withCtx(() => [
@@ -30069,7 +30159,7 @@
30069
30159
  }
30070
30160
  });
30071
30161
 
30072
- var DrawerForm = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "index.vue"]]);
30162
+ var DrawerForm = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "index.vue"]]);
30073
30163
 
30074
30164
  const PlusDrawerForm = DrawerForm;
30075
30165
 
@@ -30651,17 +30741,17 @@
30651
30741
  };
30652
30742
  }
30653
30743
 
30654
- const _hoisted_1$h = {
30744
+ const _hoisted_1$i = {
30655
30745
  key: 0,
30656
30746
  class: "plus-virtual-table__title-bar"
30657
30747
  };
30658
- const _hoisted_2$d = { class: "plus-virtual-table__title-bar__left" };
30659
- const _hoisted_3$b = {
30748
+ const _hoisted_2$e = { class: "plus-virtual-table__title-bar__left" };
30749
+ const _hoisted_3$c = {
30660
30750
  key: 0,
30661
30751
  class: "plus-virtual-table__title-bar__text"
30662
30752
  };
30663
- const _hoisted_4$9 = { class: "plus-virtual-table__title-bar__right" };
30664
- var _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
30753
+ const _hoisted_4$a = { class: "plus-virtual-table__title-bar__right" };
30754
+ var _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
30665
30755
  ...{
30666
30756
  name: "PlusVirtualTable",
30667
30757
  inheritAttrs: false
@@ -30844,19 +30934,19 @@
30844
30934
  },
30845
30935
  [
30846
30936
  vue.createCommentVNode(" \u6807\u9898\u680F\uFF08\u7B80\u5316\u7248\uFF09 "),
30847
- showTitleBar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
30848
- vue.createElementVNode("div", _hoisted_2$d, [
30937
+ showTitleBar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
30938
+ vue.createElementVNode("div", _hoisted_2$e, [
30849
30939
  vue.renderSlot(_ctx.$slots, "title", {}, () => [
30850
30940
  titleBarConfig.value.title ? (vue.openBlock(), vue.createElementBlock(
30851
30941
  "span",
30852
- _hoisted_3$b,
30942
+ _hoisted_3$c,
30853
30943
  vue.toDisplayString(titleBarConfig.value.title),
30854
30944
  1
30855
30945
  /* TEXT */
30856
30946
  )) : vue.createCommentVNode("v-if", true)
30857
30947
  ])
30858
30948
  ]),
30859
- vue.createElementVNode("div", _hoisted_4$9, [
30949
+ vue.createElementVNode("div", _hoisted_4$a, [
30860
30950
  vue.renderSlot(_ctx.$slots, "toolbar"),
30861
30951
  titleBarConfig.value.refresh ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), {
30862
30952
  key: 0,
@@ -30968,12 +31058,12 @@
30968
31058
  }
30969
31059
  });
30970
31060
 
30971
- var _VirtualTable = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "index.vue"]]);
31061
+ var _VirtualTable = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "index.vue"]]);
30972
31062
 
30973
31063
  const PlusVirtualTable = _VirtualTable;
30974
31064
 
30975
- const _hoisted_1$g = { class: "plus-page" };
30976
- var _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31065
+ const _hoisted_1$h = { class: "plus-page" };
31066
+ var _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
30977
31067
  ...{
30978
31068
  name: "PlusPage"
30979
31069
  },
@@ -31034,14 +31124,19 @@
31034
31124
  const plusSearchInstance = vue.ref(null);
31035
31125
  const plusTableInstance = vue.ref(null);
31036
31126
  const plusVirtualTableInstance = vue.ref(null);
31037
- const values = vue.ref({ ...(_a = props.search) == null ? void 0 : _a.defaultValues });
31127
+ const defaultSearchValues = {
31128
+ ...(_a = props.search) == null ? void 0 : _a.defaultValues
31129
+ };
31130
+ const searchFormValues = vue.ref({ ...defaultSearchValues });
31131
+ const submittedSearchValues = vue.ref({ ...defaultSearchValues });
31038
31132
  const isVirtualMode = vue.computed(() => {
31039
31133
  var _a2;
31040
31134
  return !!((_a2 = props.table) == null ? void 0 : _a2.useVirtual);
31041
31135
  });
31042
31136
  const virtualTableProps = vue.computed(() => {
31043
31137
  if (!isVirtualMode.value) return {};
31044
- const { useVirtual: _, ...rest } = props.table || {};
31138
+ const rest = { ...props.table || {} };
31139
+ delete rest.useVirtual;
31045
31140
  return rest;
31046
31141
  });
31047
31142
  const virtualColumns = vue.computed(() => {
@@ -31077,7 +31172,7 @@
31077
31172
  try {
31078
31173
  loadingStatus.value = true;
31079
31174
  const payload = {
31080
- ...values.value,
31175
+ ...submittedSearchValues.value,
31081
31176
  // eslint-disabled no-useless-spread
31082
31177
  ...{
31083
31178
  [((_a2 = props.pageInfoMap) == null ? void 0 : _a2.page) || "page"]: pageInfo.value.page,
@@ -31105,16 +31200,18 @@
31105
31200
  };
31106
31201
  const handleSearch = (val) => {
31107
31202
  const data = props.beforeSearchSubmit && props.beforeSearchSubmit(val) || val;
31108
- values.value = data;
31203
+ searchFormValues.value = data;
31204
+ submittedSearchValues.value = { ...data };
31109
31205
  pageInfo.value.page = 1;
31110
31206
  getList();
31111
- emit("search", values.value);
31207
+ emit("search", submittedSearchValues.value);
31112
31208
  };
31113
31209
  const handleReset = (val) => {
31114
- values.value = { ...val };
31210
+ searchFormValues.value = { ...val };
31211
+ submittedSearchValues.value = { ...val };
31115
31212
  pageInfo.value.page = 1;
31116
31213
  getList();
31117
- emit("reset", values.value);
31214
+ emit("reset", submittedSearchValues.value);
31118
31215
  };
31119
31216
  const handleRefresh = () => {
31120
31217
  getList();
@@ -31122,19 +31219,22 @@
31122
31219
  const setSearchFieldsValue = (val) => {
31123
31220
  if (isPlainObject$1(val)) {
31124
31221
  Object.keys(val).forEach((key) => {
31125
- Reflect.set(values.value, key, val[key]);
31222
+ Reflect.set(searchFormValues.value, key, val[key]);
31126
31223
  });
31127
31224
  }
31128
31225
  };
31226
+ const replaceSearchFormValues = (val) => {
31227
+ searchFormValues.value = isPlainObject$1(val) ? { ...val } : {};
31228
+ };
31129
31229
  const getSearchFieldsValue = (key) => {
31130
31230
  if (key !== void 0 && key !== null) {
31131
- return Reflect.get(values.value, key);
31231
+ return Reflect.get(searchFormValues.value, key);
31132
31232
  } else {
31133
- return { ...values.value };
31233
+ return { ...searchFormValues.value };
31134
31234
  }
31135
31235
  };
31136
31236
  const clearSearchFieldsValue = () => {
31137
- values.value = {};
31237
+ searchFormValues.value = {};
31138
31238
  };
31139
31239
  const setTableData = (data, _total) => {
31140
31240
  tableData.value = data || [];
@@ -31151,6 +31251,7 @@
31151
31251
  */
31152
31252
  handleRest: handleReset,
31153
31253
  setSearchFieldsValue,
31254
+ replaceSearchFormValues,
31154
31255
  getSearchFieldsValue,
31155
31256
  clearSearchFieldsValue,
31156
31257
  /**
@@ -31159,15 +31260,15 @@
31159
31260
  setTableData
31160
31261
  });
31161
31262
  return (_ctx, _cache) => {
31162
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
31263
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
31163
31264
  _ctx.search ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderWrapper().search), { key: 0 }, {
31164
31265
  default: vue.withCtx(() => [
31165
31266
  vue.createVNode(vue.unref(PlusSearch), vue.mergeProps({
31166
31267
  ref_key: "plusSearchInstance",
31167
31268
  ref: plusSearchInstance
31168
31269
  }, _ctx.search, {
31169
- modelValue: values.value,
31170
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => values.value = $event),
31270
+ modelValue: searchFormValues.value,
31271
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchFormValues.value = $event),
31171
31272
  columns: _ctx.columns,
31172
31273
  "search-loading": vue.unref(loadingStatus),
31173
31274
  onSearch: handleSearch,
@@ -31183,6 +31284,13 @@
31183
31284
  ]),
31184
31285
  key: "0"
31185
31286
  } : void 0,
31287
+ _ctx.$slots["search-actions-after"] ? {
31288
+ name: "search-actions-after",
31289
+ fn: vue.withCtx(() => [
31290
+ vue.renderSlot(_ctx.$slots, "search-actions-after")
31291
+ ]),
31292
+ key: "1"
31293
+ } : void 0,
31186
31294
  vue.renderList(searchSlots.value, (_, key) => {
31187
31295
  return {
31188
31296
  name: key,
@@ -31342,11 +31450,11 @@
31342
31450
  }
31343
31451
  });
31344
31452
 
31345
- var Page = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "index.vue"]]);
31453
+ var Page = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "index.vue"]]);
31346
31454
 
31347
31455
  const PlusPage = Page;
31348
31456
 
31349
- var _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31457
+ var _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31350
31458
  ...{
31351
31459
  name: "PlusStepsForm"
31352
31460
  },
@@ -31487,11 +31595,11 @@
31487
31595
  }
31488
31596
  });
31489
31597
 
31490
- var StepsForm = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "index.vue"]]);
31598
+ var StepsForm = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "index.vue"]]);
31491
31599
 
31492
31600
  const PlusStepsForm = StepsForm;
31493
31601
 
31494
- var _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31602
+ var _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31495
31603
  ...{
31496
31604
  name: "PlusBreadcrumb"
31497
31605
  },
@@ -31581,13 +31689,13 @@
31581
31689
  }
31582
31690
  });
31583
31691
 
31584
- var Breadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "index.vue"]]);
31692
+ var Breadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "index.vue"]]);
31585
31693
 
31586
31694
  const PlusBreadcrumb = Breadcrumb;
31587
31695
 
31588
- const _hoisted_1$f = { class: "plus-sidebar__item-title" };
31589
- const _hoisted_2$c = { class: "plus-sidebar__item-title" };
31590
- var _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31696
+ const _hoisted_1$g = { class: "plus-sidebar__item-title" };
31697
+ const _hoisted_2$d = { class: "plus-sidebar__item-title" };
31698
+ var _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31591
31699
  ...{
31592
31700
  name: "PlusSidebarItem",
31593
31701
  inheritAttrs: false
@@ -31652,7 +31760,7 @@
31652
31760
  title: vue.withCtx(() => {
31653
31761
  var _a2;
31654
31762
  return [
31655
- vue.createElementVNode("span", _hoisted_1$f, [
31763
+ vue.createElementVNode("span", _hoisted_1$g, [
31656
31764
  _ctx.renderTitle && vue.unref(isFunction)(_ctx.renderTitle) ? (vue.openBlock(), vue.createBlock(
31657
31765
  vue.resolveDynamicComponent(_ctx.renderTitle),
31658
31766
  vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(removeChildrenField)(_ctx.item))),
@@ -31767,7 +31875,7 @@
31767
31875
  _: 1
31768
31876
  /* STABLE */
31769
31877
  })) : vue.createCommentVNode("v-if", true),
31770
- vue.createElementVNode("span", _hoisted_2$c, [
31878
+ vue.createElementVNode("span", _hoisted_2$d, [
31771
31879
  _ctx.renderTitle && vue.unref(isFunction)(_ctx.renderTitle) ? (vue.openBlock(), vue.createBlock(
31772
31880
  vue.resolveDynamicComponent(_ctx.renderTitle),
31773
31881
  vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(removeChildrenField)(_ctx.item))),
@@ -31859,9 +31967,9 @@
31859
31967
  }
31860
31968
  });
31861
31969
 
31862
- var SidebarItem = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "sidebar-item.vue"]]);
31970
+ var SidebarItem = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "sidebar-item.vue"]]);
31863
31971
 
31864
- var _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31972
+ var _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31865
31973
  ...{
31866
31974
  name: "PlusSidebar"
31867
31975
  },
@@ -32027,33 +32135,33 @@
32027
32135
  }
32028
32136
  });
32029
32137
 
32030
- var Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "index.vue"]]);
32138
+ var Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "index.vue"]]);
32031
32139
 
32032
32140
  const PlusSidebar = Sidebar;
32033
32141
  const PlusSidebarItem = SidebarItem;
32034
32142
 
32035
- const _hoisted_1$e = { class: "plus-header__left" };
32036
- const _hoisted_2$b = ["src"];
32037
- const _hoisted_3$a = {
32143
+ const _hoisted_1$f = { class: "plus-header__left" };
32144
+ const _hoisted_2$c = ["src"];
32145
+ const _hoisted_3$b = {
32038
32146
  key: 1,
32039
32147
  class: "plus-header__title"
32040
32148
  };
32041
- const _hoisted_4$8 = /* @__PURE__ */ vue.createElementVNode(
32149
+ const _hoisted_4$9 = /* @__PURE__ */ vue.createElementVNode(
32042
32150
  "div",
32043
32151
  { class: "plus-header__placeholder" },
32044
32152
  null,
32045
32153
  -1
32046
32154
  /* HOISTED */
32047
32155
  );
32048
- const _hoisted_5$8 = { class: "plus-header__right" };
32049
- const _hoisted_6$6 = { class: "plus-header__dropdown-area" };
32050
- const _hoisted_7$4 = ["src"];
32051
- const _hoisted_8$3 = { class: "plus-header__username" };
32052
- const _hoisted_9$3 = {
32156
+ const _hoisted_5$9 = { class: "plus-header__right" };
32157
+ const _hoisted_6$7 = { class: "plus-header__dropdown-area" };
32158
+ const _hoisted_7$5 = ["src"];
32159
+ const _hoisted_8$4 = { class: "plus-header__username" };
32160
+ const _hoisted_9$4 = {
32053
32161
  key: 0,
32054
32162
  class: "plus-header-placeholder"
32055
32163
  };
32056
- var _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
32164
+ var _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
32057
32165
  ...{
32058
32166
  name: "PlusHeader"
32059
32167
  },
@@ -32091,7 +32199,7 @@
32091
32199
  class: vue.normalizeClass(["plus-header", { "is-fixed": _ctx.fixed }])
32092
32200
  }, {
32093
32201
  default: vue.withCtx(() => [
32094
- vue.createElementVNode("div", _hoisted_1$e, [
32202
+ vue.createElementVNode("div", _hoisted_1$f, [
32095
32203
  _ctx.renderHeaderLeft && vue.unref(isFunction)(_ctx.renderHeaderLeft) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.renderHeaderLeft), {
32096
32204
  key: 0,
32097
32205
  logo: _ctx.logo,
@@ -32109,10 +32217,10 @@
32109
32217
  src: _ctx.logo,
32110
32218
  alt: "",
32111
32219
  class: "plus-header__logo"
32112
- }, null, 8, _hoisted_2$b)) : vue.createCommentVNode("v-if", true),
32220
+ }, null, 8, _hoisted_2$c)) : vue.createCommentVNode("v-if", true),
32113
32221
  _ctx.title ? (vue.openBlock(), vue.createElementBlock(
32114
32222
  "h2",
32115
- _hoisted_3$a,
32223
+ _hoisted_3$b,
32116
32224
  vue.toDisplayString(_ctx.title),
32117
32225
  1
32118
32226
  /* TEXT */
@@ -32122,8 +32230,8 @@
32122
32230
  /* STABLE_FRAGMENT */
32123
32231
  ))
32124
32232
  ]),
32125
- _hoisted_4$8,
32126
- vue.createElementVNode("div", _hoisted_5$8, [
32233
+ _hoisted_4$9,
32234
+ vue.createElementVNode("div", _hoisted_5$9, [
32127
32235
  _ctx.renderHeaderRight && vue.unref(isFunction)(_ctx.renderHeaderRight) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.renderHeaderRight), {
32128
32236
  key: 0,
32129
32237
  "user-info": _ctx.userInfo,
@@ -32182,14 +32290,14 @@
32182
32290
  })
32183
32291
  ]),
32184
32292
  default: vue.withCtx(() => [
32185
- vue.createElementVNode("span", _hoisted_6$6, [
32293
+ vue.createElementVNode("span", _hoisted_6$7, [
32186
32294
  vue.createCommentVNode(" avatar "),
32187
32295
  _ctx.userInfo.avatar ? (vue.openBlock(), vue.createElementBlock("img", {
32188
32296
  key: 0,
32189
32297
  src: _ctx.userInfo.avatar,
32190
32298
  alt: "",
32191
32299
  class: "plus-header__avatar"
32192
- }, null, 8, _hoisted_7$4)) : (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), {
32300
+ }, null, 8, _hoisted_7$5)) : (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), {
32193
32301
  key: 1,
32194
32302
  size: 20,
32195
32303
  class: "plus-header__avatar"
@@ -32203,7 +32311,7 @@
32203
32311
  vue.createCommentVNode(" username "),
32204
32312
  vue.createElementVNode(
32205
32313
  "p",
32206
- _hoisted_8$3,
32314
+ _hoisted_8$4,
32207
32315
  vue.toDisplayString(_ctx.userInfo.username || "admin"),
32208
32316
  1
32209
32317
  /* TEXT */
@@ -32225,7 +32333,7 @@
32225
32333
  _: 3
32226
32334
  /* FORWARDED */
32227
32335
  }, 8, ["class"]),
32228
- _ctx.fixed ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$3)) : vue.createCommentVNode("v-if", true)
32336
+ _ctx.fixed ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$4)) : vue.createCommentVNode("v-if", true)
32229
32337
  ],
32230
32338
  64
32231
32339
  /* STABLE_FRAGMENT */
@@ -32234,16 +32342,16 @@
32234
32342
  }
32235
32343
  });
32236
32344
 
32237
- var Header = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "index.vue"]]);
32345
+ var Header = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "index.vue"]]);
32238
32346
 
32239
32347
  const PlusHeader = Header;
32240
32348
 
32241
- const _hoisted_1$d = { class: "plus-layout-main" };
32242
- const _hoisted_2$a = {
32349
+ const _hoisted_1$e = { class: "plus-layout-main" };
32350
+ const _hoisted_2$b = {
32243
32351
  key: 0,
32244
32352
  class: "plus-layout-extra"
32245
32353
  };
32246
- var _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
32354
+ var _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
32247
32355
  ...{
32248
32356
  name: "PlusLayout"
32249
32357
  },
@@ -32362,9 +32470,9 @@
32362
32470
  } : void 0
32363
32471
  ]), 1040, ["collapse"])) : vue.createCommentVNode("v-if", true),
32364
32472
  vue.createCommentVNode(" \u4E3B\u5185\u5BB9 "),
32365
- vue.createElementVNode("main", _hoisted_1$d, [
32473
+ vue.createElementVNode("main", _hoisted_1$e, [
32366
32474
  vue.createCommentVNode(" \u9762\u5305\u5C51\u4E0A\u65B9 "),
32367
- _ctx.$slots["layout-extra"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
32475
+ _ctx.$slots["layout-extra"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$b, [
32368
32476
  vue.renderSlot(_ctx.$slots, "layout-extra")
32369
32477
  ])) : vue.createCommentVNode("v-if", true),
32370
32478
  vue.createCommentVNode(" \u9762\u5305\u5C51 "),
@@ -32437,22 +32545,22 @@
32437
32545
  }
32438
32546
  });
32439
32547
 
32440
- var Layout = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "index.vue"]]);
32548
+ var Layout = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "index.vue"]]);
32441
32549
 
32442
32550
  const PlusLayout = Layout;
32443
32551
 
32444
- const _hoisted_1$c = { class: "plus-check-card__avatar-wrapper" };
32445
- const _hoisted_2$9 = { class: "plus-check-card__right-content" };
32446
- const _hoisted_3$9 = {
32552
+ const _hoisted_1$d = { class: "plus-check-card__avatar-wrapper" };
32553
+ const _hoisted_2$a = { class: "plus-check-card__right-content" };
32554
+ const _hoisted_3$a = {
32447
32555
  key: 0,
32448
32556
  class: "plus-check-card__title"
32449
32557
  };
32450
- const _hoisted_4$7 = { class: "plus-check-card__title-left" };
32451
- const _hoisted_5$7 = {
32558
+ const _hoisted_4$8 = { class: "plus-check-card__title-left" };
32559
+ const _hoisted_5$8 = {
32452
32560
  key: 1,
32453
32561
  class: "plus-check-card__description"
32454
32562
  };
32455
- var _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
32563
+ var _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
32456
32564
  ...{
32457
32565
  name: "PlusCheckCard"
32458
32566
  },
@@ -32507,7 +32615,7 @@
32507
32615
  onClick: handleClick
32508
32616
  },
32509
32617
  [
32510
- vue.createElementVNode("div", _hoisted_1$c, [
32618
+ vue.createElementVNode("div", _hoisted_1$d, [
32511
32619
  vue.unref(isFunction)(_ctx.avatar) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.avatar), {
32512
32620
  key: 0,
32513
32621
  avatar: _ctx.avatar,
@@ -32523,9 +32631,9 @@
32523
32631
  src: _ctx.avatar
32524
32632
  }, _ctx.avatarProps), null, 16, ["src"])) : vue.createCommentVNode("v-if", true)
32525
32633
  ]),
32526
- vue.createElementVNode("div", _hoisted_2$9, [
32527
- _ctx.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, [
32528
- vue.createElementVNode("div", _hoisted_4$7, [
32634
+ vue.createElementVNode("div", _hoisted_2$a, [
32635
+ _ctx.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$a, [
32636
+ vue.createElementVNode("div", _hoisted_4$8, [
32529
32637
  vue.unref(isFunction)(_ctx.title) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.title), {
32530
32638
  key: 0,
32531
32639
  avatar: _ctx.avatar,
@@ -32567,7 +32675,7 @@
32567
32675
  }) : vue.createCommentVNode("v-if", true)
32568
32676
  ])
32569
32677
  ])) : vue.createCommentVNode("v-if", true),
32570
- _ctx.description || _ctx.$slots.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$7, [
32678
+ _ctx.description || _ctx.$slots.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8, [
32571
32679
  vue.unref(isFunction)(_ctx.description) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.description), {
32572
32680
  key: 0,
32573
32681
  title: _ctx.title,
@@ -32601,12 +32709,12 @@
32601
32709
  }
32602
32710
  });
32603
32711
 
32604
- var CheckCard = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "index.vue"]]);
32712
+ var CheckCard = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "index.vue"]]);
32605
32713
 
32606
32714
  const PlusCheckCard = CheckCard;
32607
32715
 
32608
- const _hoisted_1$b = { class: "plus-check-card-group" };
32609
- var _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
32716
+ const _hoisted_1$c = { class: "plus-check-card-group" };
32717
+ var _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
32610
32718
  ...{
32611
32719
  name: "PlusCheckCardGroup"
32612
32720
  },
@@ -32660,7 +32768,7 @@
32660
32768
  emit("extra", item);
32661
32769
  };
32662
32770
  return (_ctx, _cache) => {
32663
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
32771
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
32664
32772
  (vue.openBlock(true), vue.createElementBlock(
32665
32773
  vue.Fragment,
32666
32774
  null,
@@ -32719,12 +32827,12 @@
32719
32827
  }
32720
32828
  });
32721
32829
 
32722
- var CheckCardGroup = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "index.vue"]]);
32830
+ var CheckCardGroup = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "index.vue"]]);
32723
32831
 
32724
32832
  const PlusCheckCardGroup = CheckCardGroup;
32725
32833
 
32726
- const _hoisted_1$a = ["src"];
32727
- var _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
32834
+ const _hoisted_1$b = ["src"];
32835
+ var _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
32728
32836
  ...{
32729
32837
  name: "YcSvgIcon",
32730
32838
  inheritAttrs: false
@@ -32771,7 +32879,7 @@
32771
32879
  opacity: _ctx.opacity
32772
32880
  },
32773
32881
  alt: ""
32774
- }), null, 16, _hoisted_1$a)) : (vue.openBlock(), vue.createElementBlock(
32882
+ }), null, 16, _hoisted_1$b)) : (vue.openBlock(), vue.createElementBlock(
32775
32883
  vue.Fragment,
32776
32884
  { key: 1 },
32777
32885
  [
@@ -32805,7 +32913,759 @@
32805
32913
  }
32806
32914
  });
32807
32915
 
32808
- var YcSvgIcon = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-34e1f2f7"], ["__file", "index.vue"]]);
32916
+ var YcSvgIcon = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-34e1f2f7"], ["__file", "index.vue"]]);
32917
+
32918
+ /*!
32919
+ * vue-router v4.2.0
32920
+ * (c) 2023 Eduardo San Martin Morote
32921
+ * @license MIT
32922
+ */
32923
+
32924
+ var NavigationType;
32925
+ (function (NavigationType) {
32926
+ NavigationType["pop"] = "pop";
32927
+ NavigationType["push"] = "push";
32928
+ })(NavigationType || (NavigationType = {}));
32929
+ var NavigationDirection;
32930
+ (function (NavigationDirection) {
32931
+ NavigationDirection["back"] = "back";
32932
+ NavigationDirection["forward"] = "forward";
32933
+ NavigationDirection["unknown"] = "";
32934
+ })(NavigationDirection || (NavigationDirection = {}));
32935
+
32936
+ Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');
32937
+ /**
32938
+ * Enumeration with all possible types for navigation failures. Can be passed to
32939
+ * {@link isNavigationFailure} to check for specific failures.
32940
+ */
32941
+ var NavigationFailureType;
32942
+ (function (NavigationFailureType) {
32943
+ /**
32944
+ * An aborted navigation is a navigation that failed because a navigation
32945
+ * guard returned `false` or called `next(false)`
32946
+ */
32947
+ NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted";
32948
+ /**
32949
+ * A cancelled navigation is a navigation that failed because a more recent
32950
+ * navigation finished started (not necessarily finished).
32951
+ */
32952
+ NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled";
32953
+ /**
32954
+ * A duplicated navigation is a navigation that failed because it was
32955
+ * initiated while already being at the exact same location.
32956
+ */
32957
+ NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated";
32958
+ })(NavigationFailureType || (NavigationFailureType = {}));
32959
+
32960
+ /**
32961
+ * RouteRecord being rendered by the closest ancestor Router View. Used for
32962
+ * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View
32963
+ * Location Matched
32964
+ *
32965
+ * @internal
32966
+ */
32967
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');
32968
+ /**
32969
+ * Allows overriding the router view depth to control which component in
32970
+ * `matched` is rendered. rvd stands for Router View Depth
32971
+ *
32972
+ * @internal
32973
+ */
32974
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');
32975
+ /**
32976
+ * Allows overriding the router instance returned by `useRouter` in tests. r
32977
+ * stands for router
32978
+ *
32979
+ * @internal
32980
+ */
32981
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');
32982
+ /**
32983
+ * Allows overriding the current route returned by `useRoute` in tests. rl
32984
+ * stands for route location
32985
+ *
32986
+ * @internal
32987
+ */
32988
+ const routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');
32989
+ /**
32990
+ * Allows overriding the current route used by router-view. Internally this is
32991
+ * used when the `route` prop is passed.
32992
+ *
32993
+ * @internal
32994
+ */
32995
+ Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');
32996
+
32997
+ function serializeQueryFilter(fields, schemaVersion) {
32998
+ return {
32999
+ schemaVersion,
33000
+ fields: { ...fields || {} }
33001
+ };
33002
+ }
33003
+ function extractQueryFilterFields(conditions) {
33004
+ if (!conditions || typeof conditions !== "object") return {};
33005
+ if (conditions.fields && typeof conditions.fields === "object") {
33006
+ return { ...conditions.fields };
33007
+ }
33008
+ const rest = { ...conditions };
33009
+ delete rest.schemaVersion;
33010
+ return rest;
33011
+ }
33012
+
33013
+ const _hoisted_1$a = {
33014
+ key: 0,
33015
+ class: "yc-query-filter"
33016
+ };
33017
+ const _hoisted_2$9 = { class: "yc-query-filter__panel" };
33018
+ const _hoisted_3$9 = {
33019
+ key: 0,
33020
+ class: "yc-query-filter__loading"
33021
+ };
33022
+ const _hoisted_4$7 = { class: "yc-query-filter__col" };
33023
+ const _hoisted_5$7 = { class: "yc-query-filter__title" };
33024
+ const _hoisted_6$6 = {
33025
+ key: 0,
33026
+ class: "yc-query-filter__empty"
33027
+ };
33028
+ const _hoisted_7$4 = {
33029
+ key: 1,
33030
+ class: "yc-query-filter__list"
33031
+ };
33032
+ const _hoisted_8$3 = ["onClick"];
33033
+ const _hoisted_9$3 = { class: "yc-query-filter__ops" };
33034
+ const _hoisted_10$3 = { class: "yc-query-filter__col yc-query-filter__col--right" };
33035
+ const _hoisted_11$3 = { class: "yc-query-filter__title" };
33036
+ const _hoisted_12$3 = { class: "yc-query-filter__tabs" };
33037
+ const _hoisted_13$3 = {
33038
+ key: 1,
33039
+ class: "yc-query-filter__list"
33040
+ };
33041
+ const _hoisted_14$3 = ["onClick"];
33042
+ const _hoisted_15$1 = { class: "yc-query-filter__meta" };
33043
+ const _hoisted_16$1 = { class: "yc-query-filter__highlight" };
33044
+ const _hoisted_17$1 = { class: "yc-query-filter__ops" };
33045
+ const _hoisted_18$1 = {
33046
+ key: 1,
33047
+ class: "yc-query-filter__list"
33048
+ };
33049
+ const _hoisted_19$1 = ["onClick"];
33050
+ const _hoisted_20$1 = { class: "yc-query-filter__meta" };
33051
+ const _hoisted_21$1 = { class: "yc-query-filter__highlight" };
33052
+ const _hoisted_22$1 = { class: "yc-query-filter__ops" };
33053
+ var _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
33054
+ ...{
33055
+ name: "YcQueryFilterManager"
33056
+ },
33057
+ __name: "index",
33058
+ props: {
33059
+ pageInstance: {},
33060
+ queryFilterKey: { default: "main" }
33061
+ },
33062
+ setup(__props) {
33063
+ const props = __props;
33064
+ const { t } = useLocale();
33065
+ const config = useQueryFilterConfig();
33066
+ const enabled = vue.computed(
33067
+ () => !!((config == null ? void 0 : config.enabled) && config.api && config.appCode && pageEnabled.value)
33068
+ );
33069
+ const route = vue.inject(routeLocationKey, null);
33070
+ const pageCode = vue.computed(() => {
33071
+ const custom = config == null ? void 0 : config.pageCode;
33072
+ if (typeof custom === "function") return custom();
33073
+ if (custom) return custom;
33074
+ const routeName = String((route == null ? void 0 : route.name) || (route == null ? void 0 : route.path) || "unnamed");
33075
+ return `${config == null ? void 0 : config.appCode}:${routeName}:${props.queryFilterKey}`;
33076
+ });
33077
+ const schemaVersion = vue.ref(1);
33078
+ const pageEnabled = vue.ref(true);
33079
+ const mine = vue.ref([]);
33080
+ const received = vue.ref([]);
33081
+ const shared = vue.ref([]);
33082
+ const rightTab = vue.ref("received");
33083
+ const panelVisible = vue.ref(false);
33084
+ const loading = vue.ref(false);
33085
+ const saveVisible = vue.ref(false);
33086
+ const saveName = vue.ref("");
33087
+ const editingId = vue.ref(null);
33088
+ const editingItem = vue.ref(null);
33089
+ const saving = vue.ref(false);
33090
+ const shareVisible = vue.ref(false);
33091
+ const sharingId = vue.ref(null);
33092
+ const shareUserIds = vue.ref([]);
33093
+ const userOptions = vue.ref([]);
33094
+ function getPage() {
33095
+ return vue.unref(props.pageInstance);
33096
+ }
33097
+ function getFormValues() {
33098
+ var _a;
33099
+ const page = getPage();
33100
+ const values = (_a = page == null ? void 0 : page.getSearchFieldsValue) == null ? void 0 : _a.call(page);
33101
+ return values && typeof values === "object" ? { ...values } : {};
33102
+ }
33103
+ function displayTime(value) {
33104
+ if (!value) return "";
33105
+ const matched = value.match(/^(\d{4}-\d{2}-\d{2} \d{2}:\d{2})/);
33106
+ return matched ? matched[1] : value;
33107
+ }
33108
+ function applyItem(item) {
33109
+ var _a, _b;
33110
+ const fields = extractQueryFilterFields(item.conditions);
33111
+ const page = getPage();
33112
+ if (page == null ? void 0 : page.replaceSearchFormValues) {
33113
+ page.replaceSearchFormValues(fields);
33114
+ } else {
33115
+ (_a = page == null ? void 0 : page.clearSearchFieldsValue) == null ? void 0 : _a.call(page);
33116
+ (_b = page == null ? void 0 : page.setSearchFieldsValue) == null ? void 0 : _b.call(page, fields);
33117
+ }
33118
+ if (schemaVersion.value && item.schemaVersion && item.schemaVersion !== schemaVersion.value) {
33119
+ elementPlus.ElMessage.warning(t("plus.queryFilter.schemaMismatch"));
33120
+ } else {
33121
+ elementPlus.ElMessage.success(t("plus.queryFilter.applied"));
33122
+ }
33123
+ panelVisible.value = false;
33124
+ }
33125
+ async function refreshList() {
33126
+ if (!(config == null ? void 0 : config.api)) return;
33127
+ loading.value = true;
33128
+ try {
33129
+ const data = await config.api.list({
33130
+ appCode: config.appCode,
33131
+ pageCode: pageCode.value
33132
+ });
33133
+ schemaVersion.value = (data == null ? void 0 : data.schemaVersion) || 1;
33134
+ pageEnabled.value = (data == null ? void 0 : data.enabled) !== false;
33135
+ mine.value = (data == null ? void 0 : data.mine) || [];
33136
+ received.value = (data == null ? void 0 : data.received) || [];
33137
+ shared.value = (data == null ? void 0 : data.shared) || [];
33138
+ } finally {
33139
+ loading.value = false;
33140
+ }
33141
+ }
33142
+ function openSaveAs() {
33143
+ editingId.value = null;
33144
+ editingItem.value = null;
33145
+ saveName.value = "";
33146
+ saveVisible.value = true;
33147
+ }
33148
+ function openEdit(item) {
33149
+ editingId.value = item.id;
33150
+ editingItem.value = item;
33151
+ saveName.value = item.name;
33152
+ saveVisible.value = true;
33153
+ }
33154
+ async function confirmSave() {
33155
+ const name = saveName.value.trim();
33156
+ if (!name) {
33157
+ elementPlus.ElMessage.warning(t("plus.queryFilter.namePlaceholder"));
33158
+ return;
33159
+ }
33160
+ if (!(config == null ? void 0 : config.api)) return;
33161
+ saving.value = true;
33162
+ try {
33163
+ const owned = mine.value.some((item) => item.id === editingId.value);
33164
+ if (editingId.value && owned) {
33165
+ await config.api.update({ id: editingId.value, name });
33166
+ } else {
33167
+ const fields = editingItem.value ? extractQueryFilterFields(editingItem.value.conditions) : getFormValues();
33168
+ await config.api.saveAs({
33169
+ appCode: config.appCode,
33170
+ pageCode: pageCode.value,
33171
+ name,
33172
+ conditions: serializeQueryFilter(fields, schemaVersion.value)
33173
+ });
33174
+ }
33175
+ elementPlus.ElMessage.success(t("plus.queryFilter.saveSuccess"));
33176
+ saveVisible.value = false;
33177
+ await refreshList();
33178
+ } catch (error) {
33179
+ elementPlus.ElMessage.error(error instanceof Error ? error.message : t("plus.queryFilter.saveSuccess"));
33180
+ } finally {
33181
+ saving.value = false;
33182
+ }
33183
+ }
33184
+ function confirmOptions() {
33185
+ return {
33186
+ type: "warning",
33187
+ confirmButtonText: t("plus.dialog.confirmText"),
33188
+ cancelButtonText: t("plus.dialog.cancelText")
33189
+ };
33190
+ }
33191
+ async function removeItem(item) {
33192
+ if (!(config == null ? void 0 : config.api)) return;
33193
+ try {
33194
+ await elementPlus.ElMessageBox.confirm(
33195
+ t("plus.queryFilter.confirmDelete"),
33196
+ t("plus.table.prompt"),
33197
+ confirmOptions()
33198
+ );
33199
+ await config.api.delete({ id: item.id });
33200
+ elementPlus.ElMessage.success(t("plus.queryFilter.deleteSuccess"));
33201
+ await refreshList();
33202
+ } catch (e) {
33203
+ }
33204
+ }
33205
+ async function openShare(item) {
33206
+ sharingId.value = item.id;
33207
+ shareUserIds.value = [...item.recipientUserIds || []];
33208
+ if (config == null ? void 0 : config.openUserSelector) {
33209
+ try {
33210
+ const ids = await config.openUserSelector();
33211
+ if (ids == null ? void 0 : ids.length) {
33212
+ await config.api.share({ id: item.id, recipientUserIds: ids });
33213
+ elementPlus.ElMessage.success(t("plus.queryFilter.shareSuccess"));
33214
+ await refreshList();
33215
+ }
33216
+ } catch (error) {
33217
+ if (error instanceof Error && error.message) elementPlus.ElMessage.error(error.message);
33218
+ }
33219
+ return;
33220
+ }
33221
+ if (!(config == null ? void 0 : config.searchUsers)) {
33222
+ elementPlus.ElMessage.warning(t("plus.queryFilter.noSelector"));
33223
+ return;
33224
+ }
33225
+ userOptions.value = await config.searchUsers("");
33226
+ shareVisible.value = true;
33227
+ }
33228
+ async function remoteSearchUsers(keyword) {
33229
+ if (!(config == null ? void 0 : config.searchUsers)) return;
33230
+ userOptions.value = await config.searchUsers(keyword);
33231
+ }
33232
+ async function confirmShare() {
33233
+ if (!(config == null ? void 0 : config.api) || !sharingId.value) return;
33234
+ if (!shareUserIds.value.length) {
33235
+ elementPlus.ElMessage.warning(t("plus.queryFilter.sharePlaceholder"));
33236
+ return;
33237
+ }
33238
+ try {
33239
+ await config.api.share({ id: sharingId.value, recipientUserIds: shareUserIds.value });
33240
+ elementPlus.ElMessage.success(t("plus.queryFilter.shareSuccess"));
33241
+ shareVisible.value = false;
33242
+ await refreshList();
33243
+ } catch (error) {
33244
+ elementPlus.ElMessage.error(error instanceof Error ? error.message : t("plus.queryFilter.shareSuccess"));
33245
+ }
33246
+ }
33247
+ async function revokeShare(item, recipientUserIds) {
33248
+ if (!(config == null ? void 0 : config.api)) return;
33249
+ try {
33250
+ await elementPlus.ElMessageBox.confirm(
33251
+ t("plus.queryFilter.confirmRevoke"),
33252
+ t("plus.table.prompt"),
33253
+ confirmOptions()
33254
+ );
33255
+ await config.api.revoke({ id: item.id, recipientUserIds });
33256
+ elementPlus.ElMessage.success(t("plus.queryFilter.revokeSuccess"));
33257
+ await refreshList();
33258
+ } catch (e) {
33259
+ }
33260
+ }
33261
+ function receivedPrefix(item) {
33262
+ return t("plus.queryFilter.sharedByPrefix", {
33263
+ time: displayTime(item.sharedTime || item.createdTime),
33264
+ sender: item.ownerUserName || item.ownerUserId
33265
+ });
33266
+ }
33267
+ function sharedPrefix(item) {
33268
+ var _a, _b;
33269
+ const recipient = ((_a = item.recipientNames) == null ? void 0 : _a[0]) || (((_b = item.recipientUserIds) == null ? void 0 : _b.length) ? `${item.recipientUserIds.length}` : "");
33270
+ return t("plus.queryFilter.sharedToPrefix", {
33271
+ time: displayTime(item.sharedTime || item.updatedTime || item.createdTime),
33272
+ recipient
33273
+ });
33274
+ }
33275
+ return (_ctx, _cache) => {
33276
+ return enabled.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$a, [
33277
+ vue.createVNode(vue.unref(elementPlus.ElButton), { onClick: openSaveAs }, {
33278
+ default: vue.withCtx(() => [
33279
+ vue.createTextVNode(
33280
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.saveAs")),
33281
+ 1
33282
+ /* TEXT */
33283
+ )
33284
+ ]),
33285
+ _: 1
33286
+ /* STABLE */
33287
+ }),
33288
+ vue.createVNode(vue.unref(elementPlus.ElPopover), {
33289
+ visible: panelVisible.value,
33290
+ "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => panelVisible.value = $event),
33291
+ placement: "bottom-end",
33292
+ width: 720,
33293
+ trigger: "click",
33294
+ teleported: "",
33295
+ onShow: refreshList
33296
+ }, {
33297
+ reference: vue.withCtx(() => [
33298
+ vue.createVNode(vue.unref(elementPlus.ElButton), null, {
33299
+ default: vue.withCtx(() => [
33300
+ vue.createTextVNode(
33301
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.saved")),
33302
+ 1
33303
+ /* TEXT */
33304
+ )
33305
+ ]),
33306
+ _: 1
33307
+ /* STABLE */
33308
+ })
33309
+ ]),
33310
+ default: vue.withCtx(() => [
33311
+ vue.createElementVNode("div", _hoisted_2$9, [
33312
+ loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, "...")) : vue.createCommentVNode("v-if", true),
33313
+ vue.createElementVNode("div", _hoisted_4$7, [
33314
+ vue.createElementVNode(
33315
+ "div",
33316
+ _hoisted_5$7,
33317
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.savedTitle")),
33318
+ 1
33319
+ /* TEXT */
33320
+ ),
33321
+ !mine.value.length ? (vue.openBlock(), vue.createElementBlock(
33322
+ "div",
33323
+ _hoisted_6$6,
33324
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.emptyMine")),
33325
+ 1
33326
+ /* TEXT */
33327
+ )) : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_7$4, [
33328
+ (vue.openBlock(true), vue.createElementBlock(
33329
+ vue.Fragment,
33330
+ null,
33331
+ vue.renderList(mine.value, (item) => {
33332
+ return vue.openBlock(), vue.createElementBlock("li", {
33333
+ key: item.id,
33334
+ class: "yc-query-filter__item"
33335
+ }, [
33336
+ vue.createElementVNode("button", {
33337
+ type: "button",
33338
+ class: "yc-query-filter__name",
33339
+ onClick: ($event) => applyItem(item)
33340
+ }, vue.toDisplayString(item.name), 9, _hoisted_8$3),
33341
+ vue.createElementVNode("span", _hoisted_9$3, [
33342
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33343
+ link: "",
33344
+ type: "danger",
33345
+ icon: vue.unref(delete_default),
33346
+ title: vue.unref(t)("plus.queryFilter.remove"),
33347
+ onClick: vue.withModifiers(($event) => removeItem(item), ["stop"])
33348
+ }, null, 8, ["icon", "title", "onClick"]),
33349
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33350
+ link: "",
33351
+ icon: vue.unref(edit_pen_default),
33352
+ title: vue.unref(t)("plus.queryFilter.edit"),
33353
+ onClick: vue.withModifiers(($event) => openEdit(item), ["stop"])
33354
+ }, null, 8, ["icon", "title", "onClick"]),
33355
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33356
+ link: "",
33357
+ icon: vue.unref(share_default),
33358
+ title: vue.unref(t)("plus.queryFilter.share"),
33359
+ onClick: vue.withModifiers(($event) => openShare(item), ["stop"])
33360
+ }, null, 8, ["icon", "title", "onClick"])
33361
+ ])
33362
+ ]);
33363
+ }),
33364
+ 128
33365
+ /* KEYED_FRAGMENT */
33366
+ ))
33367
+ ]))
33368
+ ]),
33369
+ vue.createElementVNode("div", _hoisted_10$3, [
33370
+ vue.createElementVNode(
33371
+ "div",
33372
+ _hoisted_11$3,
33373
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.panelTitle")),
33374
+ 1
33375
+ /* TEXT */
33376
+ ),
33377
+ vue.createElementVNode("div", _hoisted_12$3, [
33378
+ vue.createElementVNode(
33379
+ "button",
33380
+ {
33381
+ type: "button",
33382
+ class: vue.normalizeClass({ "is-active": rightTab.value === "received" }),
33383
+ onClick: _cache[0] || (_cache[0] = ($event) => rightTab.value = "received")
33384
+ },
33385
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.received")),
33386
+ 3
33387
+ /* TEXT, CLASS */
33388
+ ),
33389
+ vue.createElementVNode(
33390
+ "button",
33391
+ {
33392
+ type: "button",
33393
+ class: vue.normalizeClass({ "is-active": rightTab.value === "shared" }),
33394
+ onClick: _cache[1] || (_cache[1] = ($event) => rightTab.value = "shared")
33395
+ },
33396
+ vue.toDisplayString(vue.unref(t)("plus.queryFilter.shared")),
33397
+ 3
33398
+ /* TEXT, CLASS */
33399
+ )
33400
+ ]),
33401
+ rightTab.value === "received" ? (vue.openBlock(), vue.createElementBlock(
33402
+ vue.Fragment,
33403
+ { key: 0 },
33404
+ [
33405
+ !received.value.length ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElEmpty), {
33406
+ key: 0,
33407
+ description: vue.unref(t)("plus.queryFilter.emptyReceived"),
33408
+ "image-size": 48
33409
+ }, null, 8, ["description"])) : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_13$3, [
33410
+ (vue.openBlock(true), vue.createElementBlock(
33411
+ vue.Fragment,
33412
+ null,
33413
+ vue.renderList(received.value, (item) => {
33414
+ return vue.openBlock(), vue.createElementBlock("li", {
33415
+ key: item.id,
33416
+ class: "yc-query-filter__item"
33417
+ }, [
33418
+ vue.createElementVNode("button", {
33419
+ type: "button",
33420
+ class: "yc-query-filter__line",
33421
+ onClick: ($event) => applyItem(item)
33422
+ }, [
33423
+ vue.createElementVNode(
33424
+ "span",
33425
+ _hoisted_15$1,
33426
+ vue.toDisplayString(receivedPrefix(item)),
33427
+ 1
33428
+ /* TEXT */
33429
+ ),
33430
+ vue.createElementVNode(
33431
+ "span",
33432
+ _hoisted_16$1,
33433
+ "\u3010" + vue.toDisplayString(item.name) + "\u3011",
33434
+ 1
33435
+ /* TEXT */
33436
+ )
33437
+ ], 8, _hoisted_14$3),
33438
+ vue.createElementVNode("span", _hoisted_17$1, [
33439
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33440
+ link: "",
33441
+ type: "danger",
33442
+ icon: vue.unref(delete_default),
33443
+ title: vue.unref(t)("plus.queryFilter.remove"),
33444
+ onClick: vue.withModifiers(($event) => removeItem(item), ["stop"])
33445
+ }, null, 8, ["icon", "title", "onClick"]),
33446
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33447
+ link: "",
33448
+ icon: vue.unref(edit_pen_default),
33449
+ title: vue.unref(t)("plus.queryFilter.edit"),
33450
+ onClick: vue.withModifiers(($event) => openEdit(item), ["stop"])
33451
+ }, null, 8, ["icon", "title", "onClick"])
33452
+ ])
33453
+ ]);
33454
+ }),
33455
+ 128
33456
+ /* KEYED_FRAGMENT */
33457
+ ))
33458
+ ]))
33459
+ ],
33460
+ 64
33461
+ /* STABLE_FRAGMENT */
33462
+ )) : (vue.openBlock(), vue.createElementBlock(
33463
+ vue.Fragment,
33464
+ { key: 1 },
33465
+ [
33466
+ !shared.value.length ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElEmpty), {
33467
+ key: 0,
33468
+ description: vue.unref(t)("plus.queryFilter.emptyShared"),
33469
+ "image-size": 48
33470
+ }, null, 8, ["description"])) : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_18$1, [
33471
+ (vue.openBlock(true), vue.createElementBlock(
33472
+ vue.Fragment,
33473
+ null,
33474
+ vue.renderList(shared.value, (item) => {
33475
+ return vue.openBlock(), vue.createElementBlock("li", {
33476
+ key: item.id,
33477
+ class: "yc-query-filter__item"
33478
+ }, [
33479
+ vue.createElementVNode("button", {
33480
+ type: "button",
33481
+ class: "yc-query-filter__line",
33482
+ onClick: ($event) => applyItem(item)
33483
+ }, [
33484
+ vue.createElementVNode(
33485
+ "span",
33486
+ _hoisted_20$1,
33487
+ vue.toDisplayString(sharedPrefix(item)),
33488
+ 1
33489
+ /* TEXT */
33490
+ ),
33491
+ vue.createElementVNode(
33492
+ "span",
33493
+ _hoisted_21$1,
33494
+ "\u3010" + vue.toDisplayString(item.name) + "\u3011",
33495
+ 1
33496
+ /* TEXT */
33497
+ )
33498
+ ], 8, _hoisted_19$1),
33499
+ vue.createElementVNode("span", _hoisted_22$1, [
33500
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33501
+ link: "",
33502
+ type: "danger",
33503
+ icon: vue.unref(refresh_left_default),
33504
+ title: vue.unref(t)("plus.queryFilter.revoke"),
33505
+ onClick: vue.withModifiers(($event) => revokeShare(item), ["stop"])
33506
+ }, null, 8, ["icon", "title", "onClick"])
33507
+ ])
33508
+ ]);
33509
+ }),
33510
+ 128
33511
+ /* KEYED_FRAGMENT */
33512
+ ))
33513
+ ]))
33514
+ ],
33515
+ 64
33516
+ /* STABLE_FRAGMENT */
33517
+ ))
33518
+ ])
33519
+ ])
33520
+ ]),
33521
+ _: 1
33522
+ /* STABLE */
33523
+ }, 8, ["visible"]),
33524
+ vue.createVNode(vue.unref(elementPlus.ElDialog), {
33525
+ modelValue: saveVisible.value,
33526
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => saveVisible.value = $event),
33527
+ title: vue.unref(t)("plus.queryFilter.nameTitle"),
33528
+ width: "420px",
33529
+ "append-to-body": "",
33530
+ "append-to": "body"
33531
+ }, {
33532
+ footer: vue.withCtx(() => [
33533
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33534
+ type: "primary",
33535
+ loading: saving.value,
33536
+ onClick: confirmSave
33537
+ }, {
33538
+ default: vue.withCtx(() => [
33539
+ vue.createTextVNode(
33540
+ vue.toDisplayString(vue.unref(t)("plus.dialog.confirmText")),
33541
+ 1
33542
+ /* TEXT */
33543
+ )
33544
+ ]),
33545
+ _: 1
33546
+ /* STABLE */
33547
+ }, 8, ["loading"]),
33548
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33549
+ onClick: _cache[4] || (_cache[4] = ($event) => saveVisible.value = false)
33550
+ }, {
33551
+ default: vue.withCtx(() => [
33552
+ vue.createTextVNode(
33553
+ vue.toDisplayString(vue.unref(t)("plus.dialog.cancelText")),
33554
+ 1
33555
+ /* TEXT */
33556
+ )
33557
+ ]),
33558
+ _: 1
33559
+ /* STABLE */
33560
+ })
33561
+ ]),
33562
+ default: vue.withCtx(() => [
33563
+ vue.createVNode(vue.unref(elementPlus.ElForm), {
33564
+ onSubmit: vue.withModifiers(confirmSave, ["prevent"])
33565
+ }, {
33566
+ default: vue.withCtx(() => [
33567
+ vue.createVNode(vue.unref(elementPlus.ElFormItem), {
33568
+ label: vue.unref(t)("plus.queryFilter.nameTitle"),
33569
+ required: ""
33570
+ }, {
33571
+ default: vue.withCtx(() => [
33572
+ vue.createVNode(vue.unref(elementPlus.ElInput), {
33573
+ modelValue: saveName.value,
33574
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => saveName.value = $event),
33575
+ maxlength: "30",
33576
+ placeholder: vue.unref(t)("plus.queryFilter.namePlaceholder")
33577
+ }, null, 8, ["modelValue", "placeholder"])
33578
+ ]),
33579
+ _: 1
33580
+ /* STABLE */
33581
+ }, 8, ["label"])
33582
+ ]),
33583
+ _: 1
33584
+ /* STABLE */
33585
+ })
33586
+ ]),
33587
+ _: 1
33588
+ /* STABLE */
33589
+ }, 8, ["modelValue", "title"]),
33590
+ vue.createVNode(vue.unref(elementPlus.ElDialog), {
33591
+ modelValue: shareVisible.value,
33592
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => shareVisible.value = $event),
33593
+ title: vue.unref(t)("plus.queryFilter.shareTitle"),
33594
+ width: "480px",
33595
+ "append-to-body": "",
33596
+ "append-to": "body"
33597
+ }, {
33598
+ footer: vue.withCtx(() => [
33599
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33600
+ onClick: _cache[7] || (_cache[7] = ($event) => shareVisible.value = false)
33601
+ }, {
33602
+ default: vue.withCtx(() => [
33603
+ vue.createTextVNode(
33604
+ vue.toDisplayString(vue.unref(t)("plus.dialog.cancelText")),
33605
+ 1
33606
+ /* TEXT */
33607
+ )
33608
+ ]),
33609
+ _: 1
33610
+ /* STABLE */
33611
+ }),
33612
+ vue.createVNode(vue.unref(elementPlus.ElButton), {
33613
+ type: "primary",
33614
+ onClick: confirmShare
33615
+ }, {
33616
+ default: vue.withCtx(() => [
33617
+ vue.createTextVNode(
33618
+ vue.toDisplayString(vue.unref(t)("plus.dialog.confirmText")),
33619
+ 1
33620
+ /* TEXT */
33621
+ )
33622
+ ]),
33623
+ _: 1
33624
+ /* STABLE */
33625
+ })
33626
+ ]),
33627
+ default: vue.withCtx(() => [
33628
+ vue.createVNode(vue.unref(elementPlus.ElSelect), {
33629
+ modelValue: shareUserIds.value,
33630
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => shareUserIds.value = $event),
33631
+ multiple: "",
33632
+ filterable: "",
33633
+ remote: "",
33634
+ "remote-method": remoteSearchUsers,
33635
+ placeholder: vue.unref(t)("plus.queryFilter.sharePlaceholder"),
33636
+ style: { "width": "100%" }
33637
+ }, {
33638
+ default: vue.withCtx(() => [
33639
+ (vue.openBlock(true), vue.createElementBlock(
33640
+ vue.Fragment,
33641
+ null,
33642
+ vue.renderList(userOptions.value, (user) => {
33643
+ return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElOption), {
33644
+ key: user.userId,
33645
+ label: user.name,
33646
+ value: user.userId
33647
+ }, null, 8, ["label", "value"]);
33648
+ }),
33649
+ 128
33650
+ /* KEYED_FRAGMENT */
33651
+ ))
33652
+ ]),
33653
+ _: 1
33654
+ /* STABLE */
33655
+ }, 8, ["modelValue", "placeholder"])
33656
+ ]),
33657
+ _: 1
33658
+ /* STABLE */
33659
+ }, 8, ["modelValue", "title"])
33660
+ ])) : vue.createCommentVNode("v-if", true);
33661
+ };
33662
+ }
33663
+ });
33664
+
33665
+ var QueryFilterManagerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "index.vue"]]);
33666
+
33667
+ const YcQueryFilterManager = QueryFilterManagerComponent;
33668
+ const ReQueryFilterManager = YcQueryFilterManager;
32809
33669
 
32810
33670
  const OPERATOR_CATALOG = {
32811
33671
  string: ["=", "!=", "like", "not like", "in", "not in"],
@@ -33808,7 +34668,8 @@
33808
34668
  columnCacheKey: { default: void 0 },
33809
34669
  disableColumnCache: { type: Boolean, default: false },
33810
34670
  columnSettingsText: { default: void 0 },
33811
- dragScroll: { type: [Boolean, Object], default: false }
34671
+ dragScroll: { type: [Boolean, Object], default: false },
34672
+ queryFilterKey: { default: "main" }
33812
34673
  },
33813
34674
  emits: ["header-filter-confirm", "header-filter-reset"],
33814
34675
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -33820,20 +34681,18 @@
33820
34681
  const plusPageRef = vue.ref();
33821
34682
  const rootRef = vue.ref();
33822
34683
  const dragScrollWrapperRef = vue.ref(null);
33823
- const dragScrollEnabled = vue.computed(() => props.dragScroll !== false && props.dragScroll != null);
34684
+ const dragScrollEnabled = vue.computed(
34685
+ () => props.dragScroll !== false && props.dragScroll !== null && props.dragScroll !== void 0
34686
+ );
33824
34687
  const dragScrollOptions = vue.computed(() => {
33825
34688
  const value = props.dragScroll;
33826
34689
  if (value && typeof value === "object") return value;
33827
34690
  return {};
33828
34691
  });
33829
- const { onMouseDown: onDragScrollMouseDown } = useTableDragScroll(
33830
- dragScrollWrapperRef,
33831
- void 0,
33832
- {
33833
- ...dragScrollOptions.value,
33834
- enabled: dragScrollEnabled
33835
- }
33836
- );
34692
+ const { onMouseDown: onDragScrollMouseDown } = useTableDragScroll(dragScrollWrapperRef, void 0, {
34693
+ ...dragScrollOptions.value,
34694
+ enabled: dragScrollEnabled
34695
+ });
33837
34696
  const plusTableInstance = vue.computed(() => {
33838
34697
  var _a;
33839
34698
  return (_a = plusPageRef.value) == null ? void 0 : _a.plusTableInstance;
@@ -33890,7 +34749,7 @@
33890
34749
  const handleFilterConfirm = (payload) => {
33891
34750
  var _a;
33892
34751
  const field = String(((_a = payload.column) == null ? void 0 : _a.prop) || "");
33893
- const isEmpty = payload.value == null || String(payload.value).trim() === "";
34752
+ const isEmpty = payload.value === null || payload.value === void 0 || String(payload.value).trim() === "";
33894
34753
  if (isEmpty) {
33895
34754
  removeHeaderFilter(field);
33896
34755
  } else {
@@ -34196,7 +35055,7 @@
34196
35055
  });
34197
35056
  return sorted;
34198
35057
  };
34199
- const handleFilterTableHeader = (columns, eventType) => {
35058
+ const handleFilterTableHeader = (columns, _eventType) => {
34200
35059
  const order = columns.map((col) => String(col.prop || "")).filter(Boolean);
34201
35060
  const checked = columns.filter((col) => col.headerIsChecked !== false).map((col) => String(col.prop || "")).filter(Boolean);
34202
35061
  const existingCache = loadColumnCache();
@@ -34298,6 +35157,10 @@
34298
35157
  clearSearchFieldsValue: () => {
34299
35158
  var _a, _b;
34300
35159
  return (_b = (_a = plusPageRef.value) == null ? void 0 : _a.clearSearchFieldsValue) == null ? void 0 : _b.call(_a);
35160
+ },
35161
+ replaceSearchFormValues: (values) => {
35162
+ var _a, _b;
35163
+ return (_b = (_a = plusPageRef.value) == null ? void 0 : _a.replaceSearchFormValues) == null ? void 0 : _b.call(_a, values);
34301
35164
  }
34302
35165
  });
34303
35166
  return (_ctx, _cache) => {
@@ -34335,6 +35198,13 @@
34335
35198
  onFilterTableHeader: handleFilterTableHeader,
34336
35199
  onHeaderDragend: handleHeaderDragend
34337
35200
  }), vue.createSlots({
35201
+ "search-actions-after": vue.withCtx(() => [
35202
+ vue.createVNode(vue.unref(YcQueryFilterManager), {
35203
+ "page-instance": plusPageRef.value,
35204
+ "query-filter-key": props.queryFilterKey
35205
+ }, null, 8, ["page-instance", "query-filter-key"]),
35206
+ vue.renderSlot(_ctx.$slots, "search-actions-after", {}, void 0, true)
35207
+ ]),
34338
35208
  default: vue.withCtx(() => [
34339
35209
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
34340
35210
  ]),
@@ -34370,7 +35240,7 @@
34370
35240
  return {
34371
35241
  name,
34372
35242
  fn: vue.withCtx((slotProps) => [
34373
- name !== "column-settings-icon" && name !== "default" ? vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotProps)), void 0, true) : vue.createCommentVNode("v-if", true)
35243
+ name !== "column-settings-icon" && name !== "default" && name !== "search-actions-after" ? vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotProps)), void 0, true) : vue.createCommentVNode("v-if", true)
34374
35244
  ])
34375
35245
  };
34376
35246
  })
@@ -34387,7 +35257,7 @@
34387
35257
  }
34388
35258
  });
34389
35259
 
34390
- var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-3ce473db"], ["__file", "index.vue"]]);
35260
+ var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-4b8729a9"], ["__file", "index.vue"]]);
34391
35261
 
34392
35262
  function compareValues(a, b) {
34393
35263
  if (a == null && b == null) return 0;
@@ -64932,7 +65802,7 @@
64932
65802
  });
64933
65803
  }
64934
65804
 
64935
- const version = "0.0.84";
65805
+ const version = "1.0.0";
64936
65806
 
64937
65807
  const install = installer.install;
64938
65808
 
@@ -64970,6 +65840,7 @@
64970
65840
  exports.PlusStepsForm = PlusStepsForm;
64971
65841
  exports.PlusTable = PlusTable;
64972
65842
  exports.PlusVirtualTable = PlusVirtualTable;
65843
+ exports.QueryFilterConfigKey = QueryFilterConfigKey;
64973
65844
  exports.ReAnimateSelector = YcAnimateSelector;
64974
65845
  exports.ReAuth = YcAuth;
64975
65846
  exports.ReBatchImportDialog = YcBatchImportDialog;
@@ -64986,6 +65857,7 @@
64986
65857
  exports.RePerms = YcPerms;
64987
65858
  exports.RePlusPage = RePlusPage;
64988
65859
  exports.RePlusTree = RePlusTree;
65860
+ exports.ReQueryFilterManager = ReQueryFilterManager;
64989
65861
  exports.ReSegmented = YcSegmented;
64990
65862
  exports.ReSelectV2 = YcSelectV2;
64991
65863
  exports.ReStatusDialog = YcStatusDialog;
@@ -65027,6 +65899,7 @@
65027
65899
  exports.YcPermsWithInstall = YcPermsWithInstall;
65028
65900
  exports.YcPlusPage = YcPlusPage;
65029
65901
  exports.YcPlusTree = YcPlusTree;
65902
+ exports.YcQueryFilterManager = YcQueryFilterManager;
65030
65903
  exports.YcReboundCountTo = YcReboundCountTo;
65031
65904
  exports.YcReboundCountToWithInstall = YcReboundCountToWithInstall;
65032
65905
  exports.YcSegmented = YcSegmented;
@@ -65044,6 +65917,7 @@
65044
65917
  exports.closeAllDrawer = closeAllDrawer;
65045
65918
  exports.closeDrawer = closeDrawer;
65046
65919
  exports.createDictStore = createDictStore;
65920
+ exports.createQueryFilterApi = createQueryFilterApi;
65047
65921
  exports.default = installer;
65048
65922
  exports.drawerStore = drawerStore;
65049
65923
  exports.findNodeById = findNodeById;
@@ -65056,6 +65930,7 @@
65056
65930
  exports.insertNodeAtPosition = insertNodeAtPosition;
65057
65931
  exports.install = install;
65058
65932
  exports.providePlusProConfig = providePlusProConfig;
65933
+ exports.provideQueryFilterConfig = provideQueryFilterConfig;
65059
65934
  exports.removeNode = removeNode;
65060
65935
  exports.reorderNodeChildren = reorderNodeChildren;
65061
65936
  exports.reorderSiblingNodes = reorderSiblingNodes;
@@ -65072,6 +65947,7 @@
65072
65947
  exports.useLocale = useLocale;
65073
65948
  exports.usePlusFormReset = usePlusFormReset;
65074
65949
  exports.usePlusProConfig = usePlusProConfig;
65950
+ exports.useQueryFilterConfig = useQueryFilterConfig;
65075
65951
  exports.useRenderFlicker = useRenderFlicker;
65076
65952
  exports.useRenderReFlicker = useRenderFlicker;
65077
65953
  exports.useSelectWithMapping = useSelectWithMapping;