@cmeslib/components 0.1.14 → 0.3.0-beta.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 (91) hide show
  1. package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
  2. package/es/components/demo/index.mjs +2 -4
  3. package/es/components/demo/src/demo-button-setup-tsx.vue.mjs +3 -3
  4. package/es/components/demo/src/demo-button-setup-tsx.vue2.mjs +3 -3
  5. package/es/components/demo/src/demo-button.vue.mjs +4 -4
  6. package/es/components/demo/src/demo-button.vue2.mjs +5 -5
  7. package/es/components/hifleet/index.d.ts +4 -0
  8. package/es/components/hifleet/index.mjs +1 -0
  9. package/es/components/hifleet/src/helper.d.ts +32 -0
  10. package/es/components/hifleet/src/helper.mjs +261 -0
  11. package/es/components/hifleet/src/index.vue.d.ts +37 -0
  12. package/es/components/hifleet/src/index.vue.mjs +6 -0
  13. package/es/components/hifleet/src/index.vue2.mjs +123 -0
  14. package/es/components/hifleet/src/map-data.d.ts +18 -0
  15. package/es/components/hifleet/src/map-data.mjs +238 -0
  16. package/es/components/hifleet/src/types.d.ts +28 -0
  17. package/es/components/hifleet/src/types.mjs +1 -0
  18. package/es/components/index.d.ts +2 -0
  19. package/es/components/index.mjs +4 -3
  20. package/es/components/selectors/index.d.ts +6 -0
  21. package/es/components/selectors/index.mjs +2 -0
  22. package/es/components/selectors/src/DeptTreeSelect.vue.d.ts +13 -0
  23. package/es/components/selectors/src/DeptTreeSelect.vue.mjs +5 -0
  24. package/es/components/selectors/src/DeptTreeSelect.vue2.mjs +63 -0
  25. package/es/components/selectors/src/UserTreeSelect.vue.d.ts +13 -0
  26. package/es/components/selectors/src/UserTreeSelect.vue.mjs +5 -0
  27. package/es/components/selectors/src/UserTreeSelect.vue2.mjs +82 -0
  28. package/es/components/selectors/src/types.d.ts +27 -0
  29. package/es/components/selectors/src/types.mjs +1 -0
  30. package/es/directives/demo/index.d.ts +2 -0
  31. package/es/directives/demo/index.mjs +8 -0
  32. package/es/directives/index.d.ts +1 -1
  33. package/es/directives/index.mjs +1 -5
  34. package/es/hooks/common/index.d.ts +1 -0
  35. package/es/hooks/common/index.mjs +1 -0
  36. package/es/hooks/common/src/globalSingleFlight.d.ts +27 -0
  37. package/es/hooks/common/src/globalSingleFlight.mjs +108 -0
  38. package/es/hooks/demo/index.d.ts +1 -0
  39. package/es/hooks/demo/index.mjs +5 -0
  40. package/es/hooks/index.d.ts +2 -0
  41. package/es/hooks/index.mjs +2 -0
  42. package/es/index.css +63 -0
  43. package/es/index.d.ts +1 -0
  44. package/es/index.mjs +7 -4
  45. package/es/types/env.d.mjs +1 -0
  46. package/lib/_virtual/_plugin-vue_export-helper.js +13 -0
  47. package/lib/components/demo/index.js +4 -6
  48. package/lib/components/demo/src/demo-button-setup-tsx.vue.js +1 -1
  49. package/lib/components/demo/src/demo-button-setup-tsx.vue2.js +2 -2
  50. package/lib/components/demo/src/demo-button.vue.js +3 -3
  51. package/lib/components/demo/src/demo-button.vue2.js +3 -3
  52. package/lib/components/hifleet/index.d.ts +4 -0
  53. package/lib/components/hifleet/index.js +7 -0
  54. package/lib/components/hifleet/src/helper.d.ts +32 -0
  55. package/lib/components/hifleet/src/helper.js +272 -0
  56. package/lib/components/hifleet/src/index.vue.d.ts +37 -0
  57. package/lib/components/hifleet/src/index.vue.js +10 -0
  58. package/lib/components/hifleet/src/index.vue2.js +127 -0
  59. package/lib/components/hifleet/src/map-data.d.ts +18 -0
  60. package/lib/components/hifleet/src/map-data.js +241 -0
  61. package/lib/components/hifleet/src/types.d.ts +28 -0
  62. package/lib/components/hifleet/src/types.js +2 -0
  63. package/lib/components/index.d.ts +3 -0
  64. package/lib/components/index.js +8 -4
  65. package/lib/components/selectors/index.d.ts +6 -0
  66. package/lib/components/selectors/index.js +9 -0
  67. package/lib/components/selectors/src/DeptTreeSelect.vue.d.ts +13 -0
  68. package/lib/components/selectors/src/DeptTreeSelect.vue.js +9 -0
  69. package/lib/components/selectors/src/DeptTreeSelect.vue2.js +67 -0
  70. package/lib/components/selectors/src/UserTreeSelect.vue.d.ts +13 -0
  71. package/lib/components/selectors/src/UserTreeSelect.vue.js +9 -0
  72. package/lib/components/selectors/src/UserTreeSelect.vue2.js +86 -0
  73. package/lib/components/selectors/src/types.d.ts +27 -0
  74. package/lib/components/selectors/src/types.js +2 -0
  75. package/lib/directives/demo/index.d.ts +2 -0
  76. package/lib/directives/demo/index.js +10 -0
  77. package/lib/directives/index.d.ts +1 -1
  78. package/lib/directives/index.js +4 -4
  79. package/lib/hooks/common/index.d.ts +1 -0
  80. package/lib/hooks/common/index.js +8 -0
  81. package/lib/hooks/common/src/globalSingleFlight.d.ts +27 -0
  82. package/lib/hooks/common/src/globalSingleFlight.js +111 -0
  83. package/lib/hooks/demo/index.d.ts +1 -0
  84. package/lib/hooks/demo/index.js +7 -0
  85. package/lib/hooks/index.d.ts +2 -0
  86. package/lib/hooks/index.js +10 -0
  87. package/lib/index.css +63 -0
  88. package/lib/index.d.ts +3 -0
  89. package/lib/index.js +15 -6
  90. package/lib/types/env.d.js +2 -0
  91. package/package.json +5 -3
@@ -0,0 +1,127 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var utils = require('@cmeslib/utils');
7
+ var helper = require('./helper.js');
8
+ var globalSingleFlight = require('../../../hooks/common/src/globalSingleFlight.js');
9
+
10
+ const _hoisted_1 = ["id"];
11
+ const _hoisted_2 = { class: "hifleet-map-container-maptype" };
12
+ const _hoisted_3 = ["onClick"];
13
+ const _hoisted_4 = { class: "map__position--wrapper" };
14
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
+ __name: "index",
16
+ props: {
17
+ mapId: {
18
+ type: String,
19
+ required: true
20
+ },
21
+ height: {
22
+ type: String,
23
+ default: "400px"
24
+ },
25
+ width: {
26
+ type: String,
27
+ default: "100%"
28
+ }
29
+ },
30
+ emits: ["init"],
31
+ setup(__props, { emit: __emit }) {
32
+ const sf = globalSingleFlight.useGlobalSingleFlight("hifleet", utils.loadHiFleetResources, { cache: true, cloneOnHit: true });
33
+ vue.defineComponent({
34
+ name: "HiFleetMap"
35
+ });
36
+ const props = __props;
37
+ const emit = __emit;
38
+ const mapLoading = vue.ref(false);
39
+ const mapTypeList = [
40
+ { label: "Map", prop: "normal" },
41
+ { label: "Global Map", prop: "global" },
42
+ { label: "Satellite Map", prop: "satellite" }
43
+ ];
44
+ const toggleIcon = vue.ref(false);
45
+ let app;
46
+ let map;
47
+ let latlngInfoObj = {
48
+ lat: "",
49
+ latDegree: "",
50
+ lng: "",
51
+ lngDegree: ""
52
+ };
53
+ vue.onMounted(async () => {
54
+ await sf.run();
55
+ const mapObj = helper.init(props.mapId);
56
+ app = mapObj.mapInfo.app;
57
+ map = mapObj.mapInfo.map;
58
+ latlngInfoObj = mapObj.latlngInfoObj;
59
+ toggleIcon.value = true;
60
+ emit("init", { app, map, L: window.L });
61
+ });
62
+ return (_ctx, _cache) => {
63
+ const _directive_loading = vue.resolveDirective("loading");
64
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
65
+ "div",
66
+ {
67
+ class: "hifleet-map-container",
68
+ style: vue.normalizeStyle({ width: __props.width, height: __props.height })
69
+ },
70
+ [
71
+ vue.createElementVNode("div", {
72
+ id: __props.mapId,
73
+ style: { width: "100%", height: "100%" }
74
+ }, null, 8, _hoisted_1),
75
+ vue.createElementVNode("ul", _hoisted_2, [
76
+ (vue.openBlock(), vue.createElementBlock(
77
+ vue.Fragment,
78
+ null,
79
+ vue.renderList(mapTypeList, (item) => {
80
+ return vue.createElementVNode("li", {
81
+ key: item.prop,
82
+ style: vue.normalizeStyle({ color: vue.unref(helper.mapType) === item.prop ? "var(--el-color-primary)" : "#666" }),
83
+ class: "map__type--li",
84
+ onClick: ($event) => vue.unref(helper.changMapType)(item.prop, vue.unref(map), vue.unref(app))
85
+ }, vue.toDisplayString(item.label), 13, _hoisted_3);
86
+ }),
87
+ 64
88
+ /* STABLE_FRAGMENT */
89
+ ))
90
+ ]),
91
+ vue.createElementVNode("div", _hoisted_4, [
92
+ vue.createElementVNode(
93
+ "div",
94
+ {
95
+ class: "map__position--des",
96
+ onClick: _cache[0] || (_cache[0] = ($event) => toggleIcon.value = !toggleIcon.value)
97
+ },
98
+ vue.toDisplayString(toggleIcon.value ? "DD" : "DM"),
99
+ 1
100
+ /* TEXT */
101
+ ),
102
+ vue.createElementVNode(
103
+ "div",
104
+ null,
105
+ "\u7EAC\u5EA6: " + vue.toDisplayString(toggleIcon.value ? vue.unref(latlngInfoObj).lat : vue.unref(latlngInfoObj).latDegree),
106
+ 1
107
+ /* TEXT */
108
+ ),
109
+ vue.createElementVNode(
110
+ "div",
111
+ null,
112
+ "\u7ECF\u5EA6: " + vue.toDisplayString(toggleIcon.value ? vue.unref(latlngInfoObj).lng : vue.unref(latlngInfoObj).lngDegree),
113
+ 1
114
+ /* TEXT */
115
+ )
116
+ ])
117
+ ],
118
+ 4
119
+ /* STYLE */
120
+ )), [
121
+ [_directive_loading, mapLoading.value]
122
+ ]);
123
+ };
124
+ }
125
+ });
126
+
127
+ exports.default = _sfc_main;
@@ -0,0 +1,18 @@
1
+ export declare const solidLineData: {
2
+ code: number;
3
+ message: string;
4
+ data: {
5
+ mmsi: string;
6
+ posTime: string;
7
+ lon: number;
8
+ lat: number;
9
+ cog: number;
10
+ heading: number;
11
+ sog: number;
12
+ }[];
13
+ };
14
+ export declare const dottedLineData: {
15
+ code: number;
16
+ data: string;
17
+ message: string;
18
+ };
@@ -0,0 +1,241 @@
1
+ 'use strict';
2
+
3
+ const solidLineData = {
4
+ code: 0,
5
+ message: "Operation successful",
6
+ data: [
7
+ {
8
+ mmsi: "477369300",
9
+ posTime: "2023-10-29 03:25:45",
10
+ lon: 118.5243,
11
+ lat: 38.912063333333336,
12
+ cog: 172.4,
13
+ heading: 142,
14
+ sog: 1.6
15
+ },
16
+ {
17
+ mmsi: "477369300",
18
+ posTime: "2023-10-29 04:11:24",
19
+ lon: 118.53505666666666,
20
+ lat: 38.81549,
21
+ cog: 100.9,
22
+ heading: 90,
23
+ sog: 6.2
24
+ },
25
+ {
26
+ mmsi: "477369300",
27
+ posTime: "2023-10-29 08:22:33",
28
+ lon: 119.56675666666666,
29
+ lat: 38.656101666666665,
30
+ cog: 102.1,
31
+ heading: 103,
32
+ sog: 13.7
33
+ },
34
+ {
35
+ mmsi: "477369300",
36
+ posTime: "2023-10-29 13:30:16",
37
+ lon: 120.90525166666667,
38
+ lat: 38.548535,
39
+ cog: 106.1,
40
+ heading: 110,
41
+ sog: 10.1
42
+ },
43
+ {
44
+ mmsi: "477369300",
45
+ posTime: "2023-10-29 23:10:36",
46
+ lon: 123.23456833333333,
47
+ lat: 37.906578333333336,
48
+ cog: 138.9,
49
+ heading: 152,
50
+ sog: 11.5
51
+ },
52
+ {
53
+ mmsi: "477369300",
54
+ posTime: "2023-10-30 12:21:45",
55
+ lon: 124.29332166666667,
56
+ lat: 35.12784166666667,
57
+ cog: 161.1,
58
+ heading: 161,
59
+ sog: 14.2
60
+ },
61
+ {
62
+ mmsi: "477369300",
63
+ posTime: "2023-10-30 20:44:22",
64
+ lon: 124.38431333333334,
65
+ lat: 33.36606833333333,
66
+ cog: 165.3,
67
+ heading: 166,
68
+ sog: 13.7
69
+ },
70
+ {
71
+ mmsi: "477369300",
72
+ posTime: "2023-10-30 23:57:29",
73
+ lon: 124.81396333333333,
74
+ lat: 32.739425,
75
+ cog: 164.3,
76
+ heading: 174,
77
+ sog: 12.4
78
+ },
79
+ {
80
+ mmsi: "477369300",
81
+ posTime: "2023-10-31 05:52:03",
82
+ lon: 124.58296666666666,
83
+ lat: 31.652378333333335,
84
+ cog: 169,
85
+ heading: 176,
86
+ sog: 12.1
87
+ },
88
+ {
89
+ mmsi: "477369300",
90
+ posTime: "2023-10-31 10:56:44",
91
+ lon: 124.68107333333333,
92
+ lat: 30.575655,
93
+ cog: 182.3,
94
+ heading: 181,
95
+ sog: 13.5
96
+ },
97
+ {
98
+ mmsi: "477369300",
99
+ posTime: "2023-11-01 00:18:34",
100
+ lon: 124.40846333333333,
101
+ lat: 27.75289666666667,
102
+ cog: 186.2,
103
+ heading: 185,
104
+ sog: 14.2
105
+ },
106
+ {
107
+ mmsi: "477369300",
108
+ posTime: "2023-11-02 03:17:47",
109
+ lon: 121.78017333333334,
110
+ lat: 22.797838333333335,
111
+ cog: 206.8,
112
+ heading: 211,
113
+ sog: 9.8
114
+ },
115
+ {
116
+ mmsi: "477369300",
117
+ posTime: "2023-11-02 08:58:37",
118
+ lon: 121.27895166666667,
119
+ lat: 22.077688333333334,
120
+ cog: 216.7,
121
+ heading: 215,
122
+ sog: 12
123
+ },
124
+ {
125
+ mmsi: "477369300",
126
+ posTime: "2023-11-06 02:03:42",
127
+ lon: 109.54603833333333,
128
+ lat: 8.047503333333333,
129
+ cog: 219.5,
130
+ heading: 211,
131
+ sog: 10.5
132
+ },
133
+ {
134
+ mmsi: "477369300",
135
+ posTime: "2023-11-06 18:25:08",
136
+ lon: 107.35896,
137
+ lat: 5.659675,
138
+ cog: 223.6,
139
+ heading: 227,
140
+ sog: 11.1
141
+ },
142
+ {
143
+ mmsi: "477369300",
144
+ posTime: "2023-11-07 14:01:39",
145
+ lon: 105.202815,
146
+ lat: 2.75397,
147
+ cog: 206.5,
148
+ heading: 208,
149
+ sog: 12.2
150
+ },
151
+ {
152
+ mmsi: "477369300",
153
+ posTime: "2023-11-07 20:17:59",
154
+ lon: 104.70786833333334,
155
+ lat: 1.6842033333333333,
156
+ cog: 215.5,
157
+ heading: 220,
158
+ sog: 10.8
159
+ },
160
+ {
161
+ mmsi: "477369300",
162
+ posTime: "2023-11-07 23:56:59",
163
+ lon: 104.325975,
164
+ lat: 1.3168566666666666,
165
+ cog: 234.4,
166
+ heading: 251,
167
+ sog: 9.4
168
+ },
169
+ {
170
+ mmsi: "477369300",
171
+ posTime: "2023-11-10 13:11:37",
172
+ lon: 103.73402833333333,
173
+ lat: 1.1395083333333333,
174
+ cog: 261.9,
175
+ heading: 272,
176
+ sog: 13.6
177
+ },
178
+ {
179
+ mmsi: "477369300",
180
+ posTime: "2023-11-10 14:34:37",
181
+ lon: 103.428255,
182
+ lat: 1.237375,
183
+ cog: 291.2,
184
+ heading: 295,
185
+ sog: 14.6
186
+ },
187
+ {
188
+ mmsi: "477369300",
189
+ posTime: "2023-11-11 02:36:10",
190
+ lon: 101.00935666666666,
191
+ lat: 2.8190866666666667,
192
+ cog: 300.9,
193
+ heading: 312,
194
+ sog: 15.3
195
+ },
196
+ {
197
+ mmsi: "477369300",
198
+ posTime: "2023-11-11 19:15:43",
199
+ lon: 98.24982166666666,
200
+ lat: 5.475786666666667,
201
+ cog: 314.8,
202
+ heading: 318,
203
+ sog: 14
204
+ },
205
+ {
206
+ mmsi: "477369300",
207
+ posTime: "2023-11-12 08:16:26",
208
+ lon: 95.25469833333334,
209
+ lat: 6.300505,
210
+ cog: 279.7,
211
+ heading: 276,
212
+ sog: 14.4
213
+ },
214
+ {
215
+ mmsi: "477369300",
216
+ posTime: "2023-11-12 18:43:17",
217
+ lon: 93.50505333333334,
218
+ lat: 4.995748333333333,
219
+ cog: 229.6,
220
+ heading: 227,
221
+ sog: 12.4
222
+ },
223
+ {
224
+ mmsi: "477369300",
225
+ posTime: "2023-11-14 00:53:22",
226
+ lon: 88.72558,
227
+ lat: 0.30146666666666666,
228
+ cog: 225.3,
229
+ heading: 223,
230
+ sog: 13.8
231
+ }
232
+ ]
233
+ };
234
+ const dottedLineData = {
235
+ code: 0,
236
+ data: '{"end":"12.0785,-5.4461","nmile":6367,"passAvoidArea":[],"start":"89.234732,0.804882","status":"success","viewpoint":"","waypoints":[[89.234732,0.804882],[62.0255,-18.196],[48.0322,-25.3639],[27.6297,-33.9707],[25.719,-34.3117],[20.2773,-35.0008],[19.6545,-34.9715],[18.3334,-34.4477],[18.1645,-34.0675],[18.0931,-33.8567],[17.9723,-33.5551],[17.7718,-33.1134],[17.6385,-32.9557],[17.1826,-32.3614],[13.3744,-24.9273],[12.7153,-23.3643],[12.1222,-21.599],[10.6348,-18.0519],[11.451,-12.6654],[11.5191,-6.4184],[11.7499,-6.2607],[12.1928,-6.0322],[12.0785,-5.4461]]}',
237
+ message: "Operation successful"
238
+ };
239
+
240
+ exports.dottedLineData = dottedLineData;
241
+ exports.solidLineData = solidLineData;
@@ -0,0 +1,28 @@
1
+ import * as Leaflet from 'leaflet';
2
+ export interface LineOptions {
3
+ weight: number;
4
+ color?: string;
5
+ decorator?: string;
6
+ [key: string]: any;
7
+ }
8
+ export interface MapInfo {
9
+ readonly app: object;
10
+ readonly map: object;
11
+ EVENT: object;
12
+ }
13
+ export type LatlngInfoObj = {
14
+ lng: string | number;
15
+ lat: string | number;
16
+ lngDegree: string | number;
17
+ latDegree: string | number;
18
+ } & Record<string, any>;
19
+ export interface MapObj {
20
+ mapInfo: MapInfo;
21
+ latlngInfoObj: object;
22
+ layerGroup: object;
23
+ }
24
+ export interface HiFleetMapInitResponse {
25
+ app: any;
26
+ map: any;
27
+ L: typeof Leaflet;
28
+ }
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,3 @@
1
+ export * from './demo';
2
+ export * from './hifleet';
3
+ export * from './selectors';
@@ -1,13 +1,17 @@
1
1
  'use strict';
2
2
 
3
- require('./demo/src/demo-button.vue.js');
4
- var demoButton_vue_vue_type_script_setup_true_lang = require('./demo/src/demo-button.vue2.js');
5
- require('./demo/src/demo-button-setup-tsx.vue.js');
6
3
  var demoButtonSetupTsx_vue_vue_type_script_setup_true_lang = require('./demo/src/demo-button-setup-tsx.vue2.js');
4
+ var DeptTreeSelect_vue_vue_type_script_setup_true_lang = require('./selectors/src/DeptTreeSelect.vue2.js');
5
+ var UserTreeSelect_vue_vue_type_script_setup_true_lang = require('./selectors/src/UserTreeSelect.vue2.js');
6
+ var demoButton = require('./demo/src/demo-button.vue.js');
7
7
  var demoButtonTsx = require('./demo/src/demo-button-tsx.js');
8
+ var index = require('./hifleet/src/index.vue.js');
8
9
 
9
10
 
10
11
 
11
- exports.DemoButton = demoButton_vue_vue_type_script_setup_true_lang.default;
12
12
  exports.DemoButtonSetupTsx = demoButtonSetupTsx_vue_vue_type_script_setup_true_lang.default;
13
+ exports.DeptTreeSelect = DeptTreeSelect_vue_vue_type_script_setup_true_lang.default;
14
+ exports.UserTreeSelect = UserTreeSelect_vue_vue_type_script_setup_true_lang.default;
15
+ exports.DemoButton = demoButton.default;
13
16
  exports.DemoButtonTsx = demoButtonTsx.default;
17
+ exports.HiFleetMap = index.default;
@@ -0,0 +1,6 @@
1
+ import UserTreeSelect from './src/UserTreeSelect.vue';
2
+ export { UserTreeSelect };
3
+ export type { UserTreeSelectProps, UserDataNode } from './src/types';
4
+ import DeptTreeSelect from './src/DeptTreeSelect.vue';
5
+ export { DeptTreeSelect };
6
+ export type { DeptTreeSelectProps, DeptDataNode } from './src/types';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var UserTreeSelect_vue_vue_type_script_setup_true_lang = require('./src/UserTreeSelect.vue2.js');
4
+ var DeptTreeSelect_vue_vue_type_script_setup_true_lang = require('./src/DeptTreeSelect.vue2.js');
5
+
6
+
7
+
8
+ exports.UserTreeSelect = UserTreeSelect_vue_vue_type_script_setup_true_lang.default;
9
+ exports.DeptTreeSelect = DeptTreeSelect_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,13 @@
1
+ import type { DeptTreeSelectProps } from './types';
2
+ type __VLS_Props = DeptTreeSelectProps;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: any;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: any) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: (value: any) => any;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var DeptTreeSelect_vue_vue_type_script_setup_true_lang = require('./DeptTreeSelect.vue2.js');
6
+
7
+
8
+
9
+ exports.default = DeptTreeSelect_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var elementPlus = require('element-plus');
7
+
8
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
+ ...{ name: "DeptTreeSelect" },
10
+ __name: "DeptTreeSelect",
11
+ props: /* @__PURE__ */ vue.mergeModels({
12
+ placeholder: { type: String, required: false },
13
+ multiple: { type: Boolean, required: false, default: false },
14
+ filterable: { type: Boolean, required: false, default: true },
15
+ hasMinWidth: { type: Boolean, required: false },
16
+ getData: { type: Function, required: true },
17
+ disabledIds: { type: [String, Array, Number], required: false }
18
+ }, {
19
+ "modelValue": { type: null, ...{
20
+ required: false
21
+ } },
22
+ "modelModifiers": {}
23
+ }),
24
+ emits: ["update:modelValue"],
25
+ setup(__props) {
26
+ const defaultProps = {
27
+ children: "children",
28
+ label: "name",
29
+ value: "id"
30
+ };
31
+ const props = __props;
32
+ const model = vue.useModel(__props, "modelValue");
33
+ const deptList = vue.ref([]);
34
+ const deptListWithDisabled = vue.computed(() => {
35
+ if (!props.disabledIds) return deptList.value;
36
+ const disabledIdsSet = new Set(Array.isArray(props.disabledIds) ? props.disabledIds : [props.disabledIds]);
37
+ return markDisabled(deptList.value, disabledIdsSet);
38
+ });
39
+ const markDisabled = (nodes, disabledIdsSet) => {
40
+ return nodes.map((node) => {
41
+ const isDisabled = disabledIdsSet.has(node.id);
42
+ const newNode = { ...node, disabled: isDisabled };
43
+ if (node.children) {
44
+ newNode.children = markDisabled(node.children, disabledIdsSet);
45
+ }
46
+ return newNode;
47
+ });
48
+ };
49
+ vue.onMounted(async () => {
50
+ const data = await props.getData();
51
+ deptList.value = data;
52
+ });
53
+ return (_ctx, _cache) => {
54
+ return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElTreeSelect), vue.mergeProps({
55
+ modelValue: model.value,
56
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
57
+ data: deptListWithDisabled.value,
58
+ props: defaultProps,
59
+ filterable: props.filterable,
60
+ "node-key": "id",
61
+ placeholder: props.placeholder || "\u8BF7\u9009\u62E9"
62
+ }, _ctx.$attrs), null, 16, ["modelValue", "data", "filterable", "placeholder"]);
63
+ };
64
+ }
65
+ });
66
+
67
+ exports.default = _sfc_main;
@@ -0,0 +1,13 @@
1
+ import type { UserTreeSelectProps } from './types';
2
+ type __VLS_Props = UserTreeSelectProps;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: any;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: any) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: (value: any) => any;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var UserTreeSelect_vue_vue_type_script_setup_true_lang = require('./UserTreeSelect.vue2.js');
6
+
7
+
8
+
9
+ exports.default = UserTreeSelect_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,86 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var elementPlus = require('element-plus');
7
+
8
+ const _hoisted_1 = { class: "custom-tree-node" };
9
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
10
+ ...{ name: "UserTreeSelect" },
11
+ __name: "UserTreeSelect",
12
+ props: /* @__PURE__ */ vue.mergeModels({
13
+ placeholder: { type: String, required: false },
14
+ multiple: { type: Boolean, required: false },
15
+ filterable: { type: Boolean, required: false },
16
+ hasMinWidth: { type: Boolean, required: false },
17
+ getData: { type: Function, required: true }
18
+ }, {
19
+ "modelValue": { type: null, ...{
20
+ required: false
21
+ } },
22
+ "modelModifiers": {}
23
+ }),
24
+ emits: ["update:modelValue"],
25
+ setup(__props) {
26
+ const props = __props;
27
+ const model = vue.useModel(__props, "modelValue");
28
+ const defaultProps = vue.ref({
29
+ children: "children",
30
+ label: "name",
31
+ value: "id"
32
+ });
33
+ const filter = (nodes) => {
34
+ return nodes.filter((node) => {
35
+ if (node.visible === false) return false;
36
+ if (node.children) {
37
+ node.id = `parent-${node.id}`;
38
+ node.children = filter(node.children);
39
+ }
40
+ return true;
41
+ });
42
+ };
43
+ const userList = vue.ref();
44
+ vue.onMounted(async () => {
45
+ const data = await props.getData();
46
+ userList.value = filter(data);
47
+ });
48
+ return (_ctx, _cache) => {
49
+ const _component_Icon = vue.resolveComponent("Icon");
50
+ return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElTreeSelect), vue.mergeProps({
51
+ modelValue: model.value,
52
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
53
+ data: userList.value,
54
+ props: defaultProps.value,
55
+ multiple: props.multiple,
56
+ "show-checkbox": props.multiple,
57
+ filterable: props.filterable,
58
+ class: props.hasMinWidth ? "min-w-240px" : "",
59
+ "collapse-tags": "",
60
+ "node-key": "id",
61
+ placeholder: props.placeholder || "\u8BF7\u9009\u62E9"
62
+ }, _ctx.$attrs), {
63
+ default: vue.withCtx(({ node, data }) => [
64
+ vue.createElementVNode("span", _hoisted_1, [
65
+ data.userFlag ? (vue.openBlock(), vue.createBlock(_component_Icon, {
66
+ key: 0,
67
+ class: "mr-5px",
68
+ icon: "ep-user-filled"
69
+ })) : vue.createCommentVNode("v-if", true),
70
+ vue.createElementVNode(
71
+ "span",
72
+ null,
73
+ vue.toDisplayString(node.label),
74
+ 1
75
+ /* TEXT */
76
+ )
77
+ ])
78
+ ]),
79
+ _: 1
80
+ /* STABLE */
81
+ }, 16, ["modelValue", "data", "props", "multiple", "show-checkbox", "filterable", "class", "placeholder"]);
82
+ };
83
+ }
84
+ });
85
+
86
+ exports.default = _sfc_main;