@jetlinks-web/components 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/es/AMap/Map.js +124 -0
  2. package/es/AMap/index.js +2 -0
  3. package/es/AMap/util.js +56 -0
  4. package/es/BadgeStatus/Badge.js +54 -0
  5. package/es/BadgeStatus/color.js +21 -0
  6. package/es/BadgeStatus/index.js +3 -0
  7. package/es/CardSelect/CardSelect.js +123 -0
  8. package/es/CardSelect/index.js +2 -0
  9. package/es/CheckButton/CheckButton.js +121 -0
  10. package/es/CheckButton/index.js +2 -0
  11. package/es/ConfigProvider/context.js +12 -0
  12. package/es/ConfigProvider/index.js +31 -0
  13. package/es/Echarts/Echarts.js +47 -0
  14. package/es/Echarts/index.js +2 -0
  15. package/es/Ellipsis/Ellipsis.js +189 -0
  16. package/es/Ellipsis/index.js +2 -0
  17. package/es/Empty/Empty.js +56 -0
  18. package/es/Empty/image.js +2 -0
  19. package/es/Empty/index.js +2 -0
  20. package/es/FullPage/FullPage.js +31 -0
  21. package/es/FullPage/index.js +2 -0
  22. package/es/Icon/icon.js +42 -0
  23. package/{src/Icon/index.ts → es/Icon/index.js} +2 -3
  24. package/es/MonacoEditor/Monaco.js +238 -0
  25. package/es/MonacoEditor/index.js +2 -0
  26. package/es/PermissionButton/index.js +117 -0
  27. package/es/ProLayout/Basic/BasicLayout.js +259 -0
  28. package/es/ProLayout/Basic/Header.js +97 -0
  29. package/es/ProLayout/PageContainer/index.js +324 -0
  30. package/es/ProLayout/PageContainer/typings.js +1 -0
  31. package/es/ProLayout/RouteContext.js +22 -0
  32. package/es/ProLayout/SiderMenu/BaseMenu.js +285 -0
  33. package/es/ProLayout/SiderMenu/SiderMenu.js +278 -0
  34. package/es/ProLayout/SiderMenu/index.js +2 -0
  35. package/es/ProLayout/SiderMenu/typings.js +1 -0
  36. package/es/ProLayout/TopHeader/index.js +163 -0
  37. package/es/ProLayout/defaultSettings.js +66 -0
  38. package/{src/ProLayout/index.ts → es/ProLayout/index.js} +4 -6
  39. package/{src → es}/ProLayout/style/default.less +4 -4
  40. package/es/ProLayout/style/index.js +1 -0
  41. package/es/ProLayout/typings.js +1 -0
  42. package/es/ProLayout/util.js +61 -0
  43. package/es/ProTable/index.js +411 -0
  44. package/es/ProTable/proTableTypes.js +11 -0
  45. package/es/ProTable/style/index.css +65 -0
  46. package/es/ProTable/style/index.js +1 -0
  47. package/es/Scrollbar/Bar.js +114 -0
  48. package/es/Scrollbar/Scrollbar.js +212 -0
  49. package/es/Scrollbar/Thumb.js +189 -0
  50. package/es/Scrollbar/constants.js +1 -0
  51. package/es/Scrollbar/index.js +2 -0
  52. package/es/Scrollbar/scrollbarProps.js +100 -0
  53. package/es/Scrollbar/thumbProps.js +10 -0
  54. package/es/Scrollbar/util.js +30 -0
  55. package/es/Search/Advanced/History.js +183 -0
  56. package/es/Search/Advanced/SaveHistory.js +153 -0
  57. package/es/Search/Advanced/index.js +520 -0
  58. package/es/Search/Item.js +497 -0
  59. package/es/Search/Search.js +249 -0
  60. package/es/Search/hooks/index.js +1 -0
  61. package/es/Search/hooks/useSearchItems.js +40 -0
  62. package/es/Search/index.js +4 -0
  63. package/es/Search/setting.js +91 -0
  64. package/es/Search/style/Item.less +33 -0
  65. package/es/Search/style/Search.less +179 -0
  66. package/es/Search/style/index.js +2 -0
  67. package/es/Search/typing.js +1 -0
  68. package/es/Search/util.js +234 -0
  69. package/es/ValueItem/ValueItem.js +233 -0
  70. package/es/ValueItem/index.js +2 -0
  71. package/es/ValueItem/util.js +16 -0
  72. package/es/index.js +24 -0
  73. package/es/style/index.js +3 -0
  74. package/es/style/variable.css +0 -0
  75. package/{src → es}/style/variable.less +0 -2
  76. package/es/style.js +3 -0
  77. package/lib/AMap/Map.js +124 -0
  78. package/lib/AMap/index.js +9 -0
  79. package/lib/AMap/util.js +62 -0
  80. package/lib/BadgeStatus/Badge.js +54 -0
  81. package/lib/BadgeStatus/color.js +27 -0
  82. package/lib/BadgeStatus/index.js +22 -0
  83. package/lib/CardSelect/CardSelect.js +123 -0
  84. package/lib/CardSelect/index.js +9 -0
  85. package/lib/CheckButton/CheckButton.js +121 -0
  86. package/lib/CheckButton/index.js +9 -0
  87. package/lib/ConfigProvider/context.js +19 -0
  88. package/lib/ConfigProvider/index.js +37 -0
  89. package/lib/Echarts/Echarts.js +47 -0
  90. package/lib/Echarts/index.js +9 -0
  91. package/lib/Ellipsis/Ellipsis.js +189 -0
  92. package/lib/Ellipsis/index.js +9 -0
  93. package/lib/Empty/Empty.js +56 -0
  94. package/lib/Empty/image.js +8 -0
  95. package/lib/Empty/index.js +9 -0
  96. package/lib/FullPage/FullPage.js +31 -0
  97. package/lib/FullPage/index.js +9 -0
  98. package/lib/Icon/icon.js +52 -0
  99. package/lib/Icon/index.js +9 -0
  100. package/lib/MonacoEditor/Monaco.js +238 -0
  101. package/lib/MonacoEditor/index.js +9 -0
  102. package/lib/PermissionButton/index.js +124 -0
  103. package/lib/ProLayout/Basic/BasicLayout.js +268 -0
  104. package/lib/ProLayout/Basic/BasicLayout.less +66 -0
  105. package/lib/ProLayout/Basic/Header.js +103 -0
  106. package/lib/ProLayout/Basic/Header.less +8 -0
  107. package/lib/ProLayout/PageContainer/index.js +327 -0
  108. package/lib/ProLayout/PageContainer/index.less +103 -0
  109. package/lib/ProLayout/PageContainer/typings.js +5 -0
  110. package/lib/ProLayout/RouteContext.js +28 -0
  111. package/lib/ProLayout/SiderMenu/BaseMenu.js +290 -0
  112. package/lib/ProLayout/SiderMenu/SiderMenu.js +287 -0
  113. package/lib/ProLayout/SiderMenu/index.js +20 -0
  114. package/lib/ProLayout/SiderMenu/index.less +212 -0
  115. package/lib/ProLayout/SiderMenu/typings.js +5 -0
  116. package/lib/ProLayout/TopHeader/index.js +168 -0
  117. package/lib/ProLayout/TopHeader/index.less +174 -0
  118. package/lib/ProLayout/defaultSettings.js +72 -0
  119. package/lib/ProLayout/index.js +16 -0
  120. package/lib/ProLayout/style/default.less +4 -0
  121. package/lib/ProLayout/style/index.js +3 -0
  122. package/lib/ProLayout/style/style.less +7 -0
  123. package/lib/ProLayout/typings.js +5 -0
  124. package/lib/ProLayout/util.js +72 -0
  125. package/lib/ProTable/index.js +417 -0
  126. package/lib/ProTable/proTableTypes.js +17 -0
  127. package/lib/ProTable/style/index.css +65 -0
  128. package/lib/ProTable/style/index.js +3 -0
  129. package/lib/ProTable/style/index.less +92 -0
  130. package/lib/Scrollbar/Bar.js +114 -0
  131. package/lib/Scrollbar/Scrollbar.js +212 -0
  132. package/lib/Scrollbar/Thumb.js +189 -0
  133. package/lib/Scrollbar/constants.js +7 -0
  134. package/lib/Scrollbar/index.js +9 -0
  135. package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/scrollbarProps.js} +106 -108
  136. package/lib/Scrollbar/thumbProps.js +16 -0
  137. package/lib/Scrollbar/util.js +37 -0
  138. package/lib/Search/Advanced/History.js +183 -0
  139. package/lib/Search/Advanced/SaveHistory.js +153 -0
  140. package/lib/Search/Advanced/index.js +520 -0
  141. package/lib/Search/Item.js +497 -0
  142. package/lib/Search/Search.js +249 -0
  143. package/lib/Search/hooks/index.js +16 -0
  144. package/lib/Search/hooks/useSearchItems.js +47 -0
  145. package/lib/Search/index.js +16 -0
  146. package/lib/Search/setting.js +97 -0
  147. package/lib/Search/style/Item.less +33 -0
  148. package/lib/Search/style/Search.less +179 -0
  149. package/lib/Search/style/index.js +4 -0
  150. package/lib/Search/typing.js +5 -0
  151. package/lib/Search/util.js +241 -0
  152. package/lib/ValueItem/ValueItem.js +233 -0
  153. package/lib/ValueItem/index.js +9 -0
  154. package/lib/ValueItem/util.js +22 -0
  155. package/lib/index.js +158 -0
  156. package/lib/style/components.less +1 -0
  157. package/lib/style/index.js +4 -0
  158. package/lib/style/variable.css +0 -0
  159. package/lib/style/variable.less +2 -0
  160. package/lib/style.js +5 -0
  161. package/package.json +122 -13
  162. package/index.ts +0 -64
  163. package/src/AMap/Map.vue +0 -110
  164. package/src/AMap/index.ts +0 -1
  165. package/src/AMap/util.ts +0 -56
  166. package/src/BadgeStatus/Badge.vue +0 -41
  167. package/src/BadgeStatus/color.ts +0 -25
  168. package/src/BadgeStatus/index.ts +0 -4
  169. package/src/CardSelect/CardSelect.vue +0 -136
  170. package/src/CardSelect/index.ts +0 -3
  171. package/src/CheckButton/CheckButton.vue +0 -146
  172. package/src/CheckButton/index.md +0 -27
  173. package/src/CheckButton/index.ts +0 -3
  174. package/src/ConfigProvider/context.ts +0 -17
  175. package/src/ConfigProvider/index.tsx +0 -42
  176. package/src/Echarts/Echarts.vue +0 -43
  177. package/src/Echarts/index.ts +0 -3
  178. package/src/Ellipsis/Ellipsis.vue +0 -182
  179. package/src/Ellipsis/index.ts +0 -3
  180. package/src/Empty/Empty.vue +0 -43
  181. package/src/Empty/image.ts +0 -3
  182. package/src/Empty/index.ts +0 -2
  183. package/src/FullPage/FullPage.vue +0 -30
  184. package/src/FullPage/index.ts +0 -3
  185. package/src/Icon/icon.tsx +0 -40
  186. package/src/MonacoEditor/Monaco.vue +0 -242
  187. package/src/MonacoEditor/index.md +0 -26
  188. package/src/MonacoEditor/index.ts +0 -2
  189. package/src/PermissionButton/index.tsx +0 -110
  190. package/src/ProLayout/Basic/BasicLayout.tsx +0 -392
  191. package/src/ProLayout/Basic/Header.tsx +0 -115
  192. package/src/ProLayout/PageContainer/index.tsx +0 -441
  193. package/src/ProLayout/PageContainer/typings.ts +0 -56
  194. package/src/ProLayout/RouteContext.ts +0 -87
  195. package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
  196. package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
  197. package/src/ProLayout/SiderMenu/index.ts +0 -2
  198. package/src/ProLayout/SiderMenu/typings.ts +0 -49
  199. package/src/ProLayout/TopHeader/index.tsx +0 -210
  200. package/src/ProLayout/defaultSettings.ts +0 -106
  201. package/src/ProLayout/style/index.ts +0 -1
  202. package/src/ProLayout/typings.ts +0 -87
  203. package/src/ProLayout/util.ts +0 -64
  204. package/src/ProTable/index.md +0 -53
  205. package/src/ProTable/index.tsx +0 -551
  206. package/src/ProTable/proTableTypes.ts +0 -70
  207. package/src/ProTable/style/index.ts +0 -1
  208. package/src/Scrollbar/Bar.vue +0 -75
  209. package/src/Scrollbar/Scrollbar.vue +0 -260
  210. package/src/Scrollbar/Thumb.vue +0 -163
  211. package/src/Scrollbar/constants.ts +0 -10
  212. package/src/Scrollbar/index.ts +0 -4
  213. package/src/Scrollbar/thumb.ts +0 -16
  214. package/src/Scrollbar/util.ts +0 -38
  215. package/src/Search/Advanced/History.vue +0 -140
  216. package/src/Search/Advanced/SaveHistory.vue +0 -108
  217. package/src/Search/Advanced/index.vue +0 -435
  218. package/src/Search/Item.vue +0 -525
  219. package/src/Search/Search.vue +0 -398
  220. package/src/Search/hooks/index.ts +0 -1
  221. package/src/Search/hooks/useSearchItems.ts +0 -68
  222. package/src/Search/index.md +0 -57
  223. package/src/Search/index.ts +0 -5
  224. package/src/Search/setting.ts +0 -55
  225. package/src/Search/typing.ts +0 -76
  226. package/src/Search/util.ts +0 -263
  227. package/src/ValueItem/ValueItem.vue +0 -192
  228. package/src/ValueItem/index.ts +0 -3
  229. package/src/ValueItem/util.ts +0 -16
  230. package/src/style/index.ts +0 -3
  231. /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
  232. /package/{src → es}/ProLayout/Basic/Header.less +0 -0
  233. /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
  234. /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
  235. /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
  236. /package/{src → es}/ProLayout/style/style.less +0 -0
  237. /package/{src → es}/ProTable/style/index.less +0 -0
@@ -1,108 +1,106 @@
1
- import { isNumber } from '@jetlinks-web/utils'
2
- import type { StyleValue, PropType } from 'vue'
3
- import type Bar from './Bar.vue'
4
-
5
- export const scrollbarProps = {
6
- /**
7
- * @description height of scrollbar
8
- */
9
- height: {
10
- type: [String, Number],
11
- default: '',
12
- },
13
- /**
14
- * @description max height of scrollbar
15
- */
16
- maxHeight: {
17
- type: [String, Number],
18
- default: '',
19
- },
20
- /**
21
- * @description whether to use the native scrollbar
22
- */
23
- native: {
24
- type: Boolean,
25
- default: false,
26
- },
27
- /**
28
- * @description style of wrap
29
- */
30
- wrapStyle: {
31
- type: [String, Object, Array] as PropType<StyleValue>,
32
- default: '',
33
- },
34
- /**
35
- * @description class of wrap
36
- */
37
- wrapClass: {
38
- type: [String, Array],
39
- default: '',
40
- },
41
- /**
42
- * @description class of view
43
- */
44
- viewClass: {
45
- type: [String, Array],
46
- default: '',
47
- },
48
- /**
49
- * @description style of view
50
- */
51
- viewStyle: {
52
- type: [String, Array, Object],
53
- default: '',
54
- },
55
- /**
56
- * @description do not respond to container size changes, if the container size does not change, it is better to set it to optimize performance
57
- */
58
- noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能
59
- /**
60
- * @description element tag of the view
61
- */
62
- tag: {
63
- type: String,
64
- default: 'div',
65
- },
66
- /**
67
- * @description always show
68
- */
69
- always: Boolean,
70
- /**
71
- * @description minimum size of scrollbar
72
- */
73
- minSize: {
74
- type: Number,
75
- default: 20,
76
- },
77
- /**
78
- * @description id of view
79
- */
80
- id: String,
81
- /**
82
- * @description role of view
83
- */
84
- role: String,
85
- /**
86
- * @description aria-label of view
87
- */
88
- ariaLabel: String,
89
- /**
90
- * @description aria-orientation of view
91
- */
92
- ariaOrientation: {
93
- type: String,
94
- values: ['horizontal', 'vertical'],
95
- },
96
- }
97
-
98
- export const scrollbarEmits = {
99
- scroll: ({
100
- scrollTop,
101
- scrollLeft,
102
- }: {
103
- scrollTop: number
104
- scrollLeft: number
105
- }) => [scrollTop, scrollLeft].every(isNumber),
106
- }
107
-
108
- export type BarInstance = InstanceType<typeof Bar>
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.scrollbarProps = exports.scrollbarEmits = void 0;
7
+ var _utils = require("@jetlinks-web/utils");
8
+ var scrollbarProps = exports.scrollbarProps = {
9
+ /**
10
+ * @description height of scrollbar
11
+ */
12
+ height: {
13
+ type: [String, Number],
14
+ default: ''
15
+ },
16
+ /**
17
+ * @description max height of scrollbar
18
+ */
19
+ maxHeight: {
20
+ type: [String, Number],
21
+ default: ''
22
+ },
23
+ /**
24
+ * @description whether to use the native scrollbar
25
+ */
26
+ native: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ /**
31
+ * @description style of wrap
32
+ */
33
+ wrapStyle: {
34
+ type: [String, Object, Array],
35
+ default: ''
36
+ },
37
+ /**
38
+ * @description class of wrap
39
+ */
40
+ wrapClass: {
41
+ type: [String, Array],
42
+ default: ''
43
+ },
44
+ /**
45
+ * @description class of view
46
+ */
47
+ viewClass: {
48
+ type: [String, Array],
49
+ default: ''
50
+ },
51
+ /**
52
+ * @description style of view
53
+ */
54
+ viewStyle: {
55
+ type: [String, Array, Object],
56
+ default: ''
57
+ },
58
+ /**
59
+ * @description do not respond to container size changes, if the container size does not change, it is better to set it to optimize performance
60
+ */
61
+ noresize: Boolean,
62
+ /**
63
+ * @description element tag of the view
64
+ */
65
+ tag: {
66
+ type: String,
67
+ default: 'div'
68
+ },
69
+ /**
70
+ * @description always show
71
+ */
72
+ always: Boolean,
73
+ /**
74
+ * @description minimum size of scrollbar
75
+ */
76
+ minSize: {
77
+ type: Number,
78
+ default: 20
79
+ },
80
+ /**
81
+ * @description id of view
82
+ */
83
+ id: String,
84
+ /**
85
+ * @description role of view
86
+ */
87
+ role: String,
88
+ /**
89
+ * @description aria-label of view
90
+ */
91
+ ariaLabel: String,
92
+ /**
93
+ * @description aria-orientation of view
94
+ */
95
+ ariaOrientation: {
96
+ type: String,
97
+ values: ['horizontal', 'vertical']
98
+ }
99
+ };
100
+ var scrollbarEmits = exports.scrollbarEmits = {
101
+ scroll: function scroll(_ref) {
102
+ var scrollTop = _ref.scrollTop,
103
+ scrollLeft = _ref.scrollLeft;
104
+ return [scrollTop, scrollLeft].every(_utils.isNumber);
105
+ }
106
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.thumbProps = void 0;
7
+ var thumbProps = exports.thumbProps = {
8
+ vertical: Boolean,
9
+ size: String,
10
+ move: Number,
11
+ ratio: {
12
+ type: Number,
13
+ required: true
14
+ },
15
+ always: Boolean
16
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.renderThumbStyle = exports.GAP = exports.BAR_MAP = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var GAP = exports.GAP = 4; // top 2 + bottom 2 of bar instance
10
+ var BAR_MAP = exports.BAR_MAP = {
11
+ vertical: {
12
+ offset: 'offsetHeight',
13
+ scroll: 'scrollTop',
14
+ scrollSize: 'scrollHeight',
15
+ size: 'height',
16
+ key: 'vertical',
17
+ axis: 'Y',
18
+ client: 'clientY',
19
+ direction: 'top'
20
+ },
21
+ horizontal: {
22
+ offset: 'offsetWidth',
23
+ scroll: 'scrollLeft',
24
+ scrollSize: 'scrollWidth',
25
+ size: 'width',
26
+ key: 'horizontal',
27
+ axis: 'X',
28
+ client: 'clientX',
29
+ direction: 'left'
30
+ }
31
+ };
32
+ var renderThumbStyle = exports.renderThumbStyle = function renderThumbStyle(_ref) {
33
+ var move = _ref.move,
34
+ size = _ref.size,
35
+ bar = _ref.bar;
36
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, bar.size, size), "transform", "translate".concat(bar.axis, "(").concat(move, "%)"));
37
+ };
@@ -0,0 +1,183 @@
1
+ /* Analyzed bindings: {
2
+ "target": "props",
3
+ "request": "props",
4
+ "deleteRequest": "props",
5
+ "deleteKey": "props",
6
+ "computed": "setup-const",
7
+ "ref": "setup-const",
8
+ "isFunction": "setup-maybe-ref",
9
+ "AIcon": "setup-maybe-ref",
10
+ "Empty": "setup-maybe-ref",
11
+ "Ellipsis": "setup-maybe-ref",
12
+ "Popconfirm": "setup-maybe-ref",
13
+ "Button": "setup-maybe-ref",
14
+ "FormItemRest": "setup-maybe-ref",
15
+ "Popover": "setup-maybe-ref",
16
+ "message": "setup-maybe-ref",
17
+ "emit": "setup-const",
18
+ "props": "setup-reactive-const",
19
+ "historyList": "setup-ref",
20
+ "historyVisible": "setup-ref",
21
+ "showEmpty": "setup-ref",
22
+ "showHistoryList": "setup-const",
23
+ "visibleChange": "setup-const",
24
+ "click": "setup-const",
25
+ "itemClick": "setup-const",
26
+ "deleteHistory": "setup-const"
27
+ } */
28
+ import { defineComponent as _defineComponent } from 'vue';
29
+ import { createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withModifiers as _withModifiers } from "vue";
30
+ const _hoisted_1 = { class: "search-history-warp" };
31
+ const _hoisted_2 = {
32
+ key: 0,
33
+ class: "search-history-items"
34
+ };
35
+ const _hoisted_3 = ["onClick"];
36
+ const _hoisted_4 = { class: "delete" };
37
+ const _hoisted_5 = {
38
+ key: 1,
39
+ class: "search-history-empty"
40
+ };
41
+ import { computed, ref } from 'vue';
42
+ import { isFunction } from 'lodash-es';
43
+ import { AIcon, Empty, Ellipsis } from '../../../';
44
+ import { Popconfirm, Button, FormItemRest, Popover, message } from 'ant-design-vue';
45
+ const __sfc_main__ = _defineComponent({
46
+ props: {
47
+ target: {
48
+ type: String,
49
+ default: '',
50
+ required: true,
51
+ },
52
+ request: {
53
+ type: Function,
54
+ default: null,
55
+ },
56
+ deleteRequest: {
57
+ type: Function,
58
+ default: null,
59
+ },
60
+ deleteKey: {
61
+ type: String,
62
+ default: 'key',
63
+ },
64
+ },
65
+ emits: ["click", "itemClick"],
66
+ setup(__props, { emit: __emit }) {
67
+ const emit = __emit;
68
+ const props = __props;
69
+ const historyList = ref([]);
70
+ const historyVisible = ref(false);
71
+ const showEmpty = computed(() => {
72
+ return historyList.value.length === 0;
73
+ });
74
+ const showHistoryList = async () => {
75
+ if (props.request) {
76
+ const resp = await props.request(props.target);
77
+ if (resp.success && resp.result.length) {
78
+ historyList.value = resp.result.filter((item) => item.content);
79
+ }
80
+ else {
81
+ historyList.value = [];
82
+ }
83
+ }
84
+ };
85
+ const visibleChange = async (v) => {
86
+ historyVisible.value = v;
87
+ };
88
+ const click = () => {
89
+ emit('click');
90
+ };
91
+ const itemClick = (content) => {
92
+ historyVisible.value = false;
93
+ emit('itemClick', content);
94
+ };
95
+ const deleteHistory = async (item) => {
96
+ if (props.deleteRequest && isFunction(props.deleteRequest)) {
97
+ const resp = await props.deleteRequest(props.target, item[props.deleteKey]);
98
+ historyVisible.value = false;
99
+ if (resp.success || resp.status === 200 || resp.code === 200) {
100
+ message.success('操作成功');
101
+ }
102
+ else {
103
+ message.error('操作失败');
104
+ }
105
+ }
106
+ };
107
+ return (_ctx, _cache) => {
108
+ return (_openBlock(), _createElementBlock("div", _hoisted_1, [
109
+ _createVNode(_unref(FormItemRest), null, {
110
+ default: _withCtx(() => [
111
+ _createVNode(_unref(Button), {
112
+ class: "search-history-button",
113
+ type: "primary",
114
+ "html-type": "submit"
115
+ }, {
116
+ default: _withCtx(() => [
117
+ _createTextVNode(" 搜索 ")
118
+ ]),
119
+ _: 1 /* STABLE */
120
+ })
121
+ ]),
122
+ _: 1 /* STABLE */
123
+ }),
124
+ _createVNode(_unref(Popover), {
125
+ placement: "bottom",
126
+ trigger: "click",
127
+ "overlay-class-name": "search-history-list-pop",
128
+ visible: historyVisible.value,
129
+ onVisibleChange: visibleChange
130
+ }, {
131
+ content: _withCtx(() => [
132
+ (!showEmpty.value)
133
+ ? (_openBlock(), _createElementBlock("div", _hoisted_2, [
134
+ (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(historyList.value, (item) => {
135
+ return (_openBlock(), _createElementBlock("div", {
136
+ key: item.id,
137
+ class: "search-history-item"
138
+ }, [
139
+ _createElementVNode("div", {
140
+ class: "history-item--title",
141
+ onClick: ($event) => (itemClick(item.content))
142
+ }, [
143
+ _createVNode(_unref(Ellipsis), { style: { "width": "100%" } }, {
144
+ default: _withCtx(() => [
145
+ _createTextVNode(_toDisplayString(item.name), 1 /* TEXT */)
146
+ ]),
147
+ _: 2 /* DYNAMIC */
148
+ }, 1024 /* DYNAMIC_SLOTS */)
149
+ ], 8 /* PROPS */, _hoisted_3),
150
+ _createVNode(_unref(Popconfirm), {
151
+ title: "确认删除吗?",
152
+ placement: "top",
153
+ onConfirm: ($event) => (deleteHistory(item))
154
+ }, {
155
+ default: _withCtx(() => [
156
+ _createElementVNode("span", _hoisted_4, [
157
+ _createVNode(_unref(AIcon), { type: "DeleteOutlined" })
158
+ ])
159
+ ]),
160
+ _: 2 /* DYNAMIC */
161
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onConfirm"])
162
+ ]));
163
+ }), 128 /* KEYED_FRAGMENT */))
164
+ ]))
165
+ : (_openBlock(), _createElementBlock("div", _hoisted_5, [
166
+ _createVNode(_unref(Empty))
167
+ ]))
168
+ ]),
169
+ default: _withCtx(() => [
170
+ _createElementVNode("div", {
171
+ class: "search-history-button-icon",
172
+ onClick: _withModifiers(showHistoryList, ["stop"])
173
+ }, [
174
+ _createVNode(_unref(AIcon), { type: "DownOutlined" })
175
+ ])
176
+ ]),
177
+ _: 1 /* STABLE */
178
+ }, 8 /* PROPS */, ["visible"])
179
+ ]));
180
+ };
181
+ }
182
+ });
183
+ export default __sfc_main__;
@@ -0,0 +1,153 @@
1
+ /* Analyzed bindings: {
2
+ "terms": "props",
3
+ "target": "props",
4
+ "request": "props",
5
+ "ref": "setup-const",
6
+ "reactive": "setup-const",
7
+ "Form": "setup-maybe-ref",
8
+ "Button": "setup-maybe-ref",
9
+ "FormItem": "setup-maybe-ref",
10
+ "Popover": "setup-maybe-ref",
11
+ "Textarea": "setup-maybe-ref",
12
+ "message": "setup-maybe-ref",
13
+ "isFunction": "setup-maybe-ref",
14
+ "props": "setup-reactive-const",
15
+ "saveHistoryLoading": "setup-ref",
16
+ "visible": "setup-ref",
17
+ "formRef": "setup-ref",
18
+ "modelRef": "setup-reactive-const",
19
+ "visibleChange": "setup-const",
20
+ "saveHistory": "setup-const"
21
+ } */
22
+ import { defineComponent as _defineComponent } from 'vue';
23
+ import { unref as _unref, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue";
24
+ const _withScopeId = n => (_pushScopeId("data-v-1712546548162"), n = n(), _popScopeId(), n);
25
+ const _hoisted_1 = {
26
+ key: 0,
27
+ style: { "width": "240px" }
28
+ };
29
+ import { ref, reactive } from 'vue';
30
+ import { Form, Button, FormItem, Popover, Textarea, message } from 'ant-design-vue';
31
+ import { isFunction } from 'lodash-es';
32
+ const __sfc_main__ = _defineComponent({
33
+ props: {
34
+ terms: {
35
+ type: Object,
36
+ default: () => ({}),
37
+ },
38
+ target: {
39
+ type: String,
40
+ default: '',
41
+ required: true,
42
+ },
43
+ request: {
44
+ type: Function,
45
+ default: null,
46
+ },
47
+ },
48
+ setup(__props) {
49
+ const props = __props;
50
+ const saveHistoryLoading = ref(false);
51
+ const visible = ref(false);
52
+ const formRef = ref();
53
+ const modelRef = reactive({
54
+ name: undefined,
55
+ });
56
+ const visibleChange = (e) => {
57
+ visible.value = e;
58
+ if (!e) {
59
+ setTimeout(() => {
60
+ modelRef.name = undefined;
61
+ }, 100);
62
+ }
63
+ };
64
+ /**
65
+ * 保存当前查询条件
66
+ */
67
+ const saveHistory = async () => {
68
+ // 获取当前查询条件并转化为字符串
69
+ const formData = await formRef.value.validate();
70
+ if (formData && props.request && isFunction(props.request)) {
71
+ formData.content = JSON.stringify(props.terms);
72
+ saveHistoryLoading.value = true;
73
+ const resp = await props.request(formData, props.target);
74
+ saveHistoryLoading.value = false;
75
+ if (resp.success || resp.status === 200 || resp.code === 200) {
76
+ message.success('操作成功');
77
+ visibleChange(false);
78
+ }
79
+ else {
80
+ message.error('操作失败');
81
+ }
82
+ }
83
+ };
84
+ return (_ctx, _cache) => {
85
+ return (_openBlock(), _createBlock(_unref(Popover), {
86
+ visible: visible.value,
87
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => ((visible).value = $event)),
88
+ title: "搜索名称",
89
+ trigger: "click",
90
+ placement: "bottom",
91
+ onVisibleChange: visibleChange
92
+ }, {
93
+ content: _withCtx(() => [
94
+ (visible.value)
95
+ ? (_openBlock(), _createElementBlock("div", _hoisted_1, [
96
+ _createVNode(_unref(Form), {
97
+ ref_key: "formRef",
98
+ ref: formRef,
99
+ model: modelRef
100
+ }, {
101
+ default: _withCtx(() => [
102
+ _createVNode(_unref(FormItem), {
103
+ name: "name",
104
+ rules: [
105
+ { required: true, message: '请输入名称' },
106
+ { max: 64, message: '最多64个字符' },
107
+ ]
108
+ }, {
109
+ default: _withCtx(() => [
110
+ _createVNode(_unref(Textarea), {
111
+ value: modelRef.name,
112
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => ((modelRef.name) = $event)),
113
+ rows: 3,
114
+ maxlength: 200
115
+ }, null, 8 /* PROPS */, ["value"])
116
+ ]),
117
+ _: 1 /* STABLE */
118
+ })
119
+ ]),
120
+ _: 1 /* STABLE */
121
+ }, 8 /* PROPS */, ["model"]),
122
+ _createVNode(_unref(Button), {
123
+ loading: saveHistoryLoading.value,
124
+ type: "primary",
125
+ class: "save-btn",
126
+ style: { "width": "100%" },
127
+ onClick: saveHistory
128
+ }, {
129
+ default: _withCtx(() => [
130
+ _createTextVNode(" 保存 ")
131
+ ]),
132
+ _: 1 /* STABLE */
133
+ }, 8 /* PROPS */, ["loading"])
134
+ ]))
135
+ : _createCommentVNode("v-if", true)
136
+ ]),
137
+ default: _withCtx(() => [
138
+ _createVNode(_unref(Button), {
139
+ ghost: "",
140
+ type: "primary"
141
+ }, {
142
+ default: _withCtx(() => [
143
+ _createTextVNode(" 保存")
144
+ ]),
145
+ _: 1 /* STABLE */
146
+ })
147
+ ]),
148
+ _: 1 /* STABLE */
149
+ }, 8 /* PROPS */, ["visible"]));
150
+ };
151
+ }
152
+ });
153
+ export default __sfc_main__;