@opentiny/vue-renderless 3.21.2 → 3.23.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 (331) hide show
  1. package/amount/index.js +4 -4
  2. package/anchor/index.js +1 -1
  3. package/async-flowchart/index.js +1 -1
  4. package/autocomplete/index.js +4 -1
  5. package/autocomplete/vue.js +3 -3
  6. package/base-select/index.js +20 -21
  7. package/base-select/vue.js +2 -2
  8. package/calendar/index.js +2 -2
  9. package/calendar-bar/index.js +2 -2
  10. package/calendar-bar/vue.js +1 -1
  11. package/calendar-view/index.js +91 -25
  12. package/calendar-view/vue.js +6 -4
  13. package/card/index.js +1 -1
  14. package/card-template/index.js +1 -1
  15. package/carousel/index.js +4 -4
  16. package/carousel/vue.js +1 -1
  17. package/cascader/index.js +21 -11
  18. package/cascader/vue.js +6 -5
  19. package/cascader-menu/vue.js +2 -2
  20. package/cascader-mobile/index.js +1 -1
  21. package/cascader-node/vue.js +11 -1
  22. package/cascader-panel/index.js +4 -4
  23. package/cascader-panel/node.js +3 -4
  24. package/cascader-panel/vue.js +1 -1
  25. package/cascader-select/column-index.js +2 -2
  26. package/cascader-view/index.js +1 -1
  27. package/chart-bar/index.js +1 -1
  28. package/chart-candle/index.js +1 -1
  29. package/chart-core/deps/utils.js +6 -6
  30. package/chart-core/index.js +1 -1
  31. package/chart-funnel/index.js +1 -1
  32. package/chart-gauge/index.js +1 -1
  33. package/chart-line/index.js +1 -1
  34. package/chart-map/index.js +1 -1
  35. package/chart-pie/index.js +1 -1
  36. package/chart-radar/index.js +1 -1
  37. package/chart-sankey/index.js +1 -1
  38. package/chart-scatter/index.js +1 -1
  39. package/chart-waterfall/index.js +1 -1
  40. package/chart-wordcloud/index.js +1 -1
  41. package/checkbox/index.js +1 -1
  42. package/collapse-item/vue.js +1 -1
  43. package/column-list-item/index.js +1 -1
  44. package/common/deps/dom.js +20 -196
  45. package/common/deps/infinite-scroll.js +4 -43
  46. package/common/deps/popup-manager.js +1 -200
  47. package/container/index.js +2 -2
  48. package/crop/index.js +3 -3
  49. package/currency/index.js +2 -2
  50. package/date-panel/index.js +82 -26
  51. package/date-panel/vue.js +53 -21
  52. package/date-picker/vue.js +1 -1
  53. package/date-picker-mobile/index.js +1 -1
  54. package/date-range/index.js +74 -37
  55. package/date-range/vue.js +27 -23
  56. package/date-table/index.js +8 -5
  57. package/date-table/vue.js +1 -1
  58. package/dialog-box/index.js +3 -3
  59. package/dialog-box/vue.js +1 -1
  60. package/dialog-select/index.js +15 -4
  61. package/dialog-select/vue.js +7 -4
  62. package/drawer/index.js +2 -2
  63. package/drop-times/index.js +1 -1
  64. package/dropdown/index.js +11 -3
  65. package/dropdown/vue.js +2 -2
  66. package/dropdown-item/index.js +1 -1
  67. package/dropdown-item/mf.js +1 -1
  68. package/dropdown-menu/index.js +1 -1
  69. package/espace/vue.js +2 -2
  70. package/fall-menu/index.js +3 -3
  71. package/file-upload/index.js +16 -13
  72. package/file-upload/vue.js +2 -2
  73. package/filter/vue.js +1 -1
  74. package/filter-panel/vue.js +1 -2
  75. package/floating-button/index.js +1 -1
  76. package/flowchart/index.js +3 -3
  77. package/flowchart/vue.js +1 -1
  78. package/fluent-editor/index.js +5 -7
  79. package/fluent-editor/options.js +2 -2
  80. package/form/index.js +20 -2
  81. package/form-item/index.js +6 -6
  82. package/fullscreen/index.js +1 -1
  83. package/fullscreen/vue.js +1 -1
  84. package/grid/plugins/export.js +8 -2
  85. package/grid/plugins/exportExcel.js +3 -3
  86. package/grid/plugins/resize.js +2 -2
  87. package/grid/static/base/helperEqualCompare.js +1 -1
  88. package/grid/static/base/isPlainObject.js +1 -1
  89. package/grid/utils/common.js +2 -2
  90. package/grid/utils/dom.js +12 -7
  91. package/grid/utils/event.js +4 -4
  92. package/hrapprover/index.js +1 -1
  93. package/image/index.js +3 -3
  94. package/image-viewer/index.js +4 -6
  95. package/image-viewer/vue.js +1 -1
  96. package/input/index.js +2 -2
  97. package/input/vue.js +1 -1
  98. package/ip-address/index.js +17 -21
  99. package/ip-address/vue.js +1 -1
  100. package/link-menu/index.js +1 -1
  101. package/link-menu/vue.js +1 -1
  102. package/load-list/index.js +1 -1
  103. package/load-list/vue.js +4 -4
  104. package/loading/index.js +2 -2
  105. package/menu/vue.js +1 -1
  106. package/milestone/index.js +6 -45
  107. package/modal/index.js +5 -5
  108. package/month-range/index.js +48 -5
  109. package/month-range/vue.js +19 -15
  110. package/month-table/index.js +5 -5
  111. package/month-table/vue.js +1 -1
  112. package/nav-menu/index.js +7 -7
  113. package/notify/index.js +3 -3
  114. package/number-animation/index.js +53 -0
  115. package/number-animation/vue.js +27 -0
  116. package/numeric/index.js +5 -5
  117. package/option/index.js +1 -1
  118. package/option/vue.js +2 -1
  119. package/package.json +3 -2
  120. package/pager/index.js +28 -16
  121. package/pager/vue.js +27 -16
  122. package/panel/index.js +1 -1
  123. package/picker/index.js +28 -23
  124. package/picker/vue.js +6 -6
  125. package/picker-column/index.js +1 -1
  126. package/pop-upload/vue.js +1 -1
  127. package/popconfirm/vue.js +1 -1
  128. package/popeditor/index.js +6 -6
  129. package/popeditor/vue.js +2 -2
  130. package/popover/index.js +3 -3
  131. package/popover/vue.js +1 -1
  132. package/popup/index.js +3 -3
  133. package/pull-refresh/index.js +1 -1
  134. package/pull-refresh-mobile-first/index.js +1 -1
  135. package/pull-refresh-mobile-first/vue.js +4 -4
  136. package/quarter-panel/index.js +2 -2
  137. package/quarter-panel/vue.js +1 -1
  138. package/radio-group/index.js +1 -1
  139. package/rate/index.js +1 -1
  140. package/rate/vue.js +1 -1
  141. package/recycle-scroller/index.js +2 -2
  142. package/recycle-scroller/vue.js +1 -1
  143. package/rich-text/index.js +1 -1
  144. package/rich-text/table-module.js +2 -2
  145. package/river/river.js +1 -1
  146. package/river/vue.js +1 -1
  147. package/scrollbar/vue-bar.js +1 -1
  148. package/scrollbar/vue.js +1 -1
  149. package/search/index.js +3 -3
  150. package/select/index.js +26 -22
  151. package/select/vue.js +8 -7
  152. package/select-dropdown/vue.js +5 -5
  153. package/selected-box/index.js +1 -1
  154. package/signature/index.js +1 -1
  155. package/signature/vue.js +2 -2
  156. package/skeleton/index.js +1 -1
  157. package/slider/index.js +4 -4
  158. package/slider-button-group/slide-button.js +2 -2
  159. package/split/index.js +2 -2
  160. package/split/vue.js +1 -1
  161. package/statistic/index.js +1 -1
  162. package/steps/index.js +2 -3
  163. package/steps/slide-bar.js +2 -2
  164. package/sticky/vue.js +4 -4
  165. package/tab-bar/index.js +2 -2
  166. package/tab-item-mf/vue.js +1 -1
  167. package/tab-nav/index.js +4 -4
  168. package/tabbar/index.js +1 -1
  169. package/tabbar/vue.js +1 -1
  170. package/tabbar-item/index.js +1 -1
  171. package/tabs-mf/index.js +9 -5
  172. package/tabs-mf/vue-bar.js +5 -4
  173. package/tabs-mf/vue-swipe.js +1 -1
  174. package/tabs-mf/vue.js +2 -2
  175. package/tabs-mf/wheel.js +3 -3
  176. package/tag-group/vue.js +2 -2
  177. package/tall-storage/index.js +1 -1
  178. package/tall-storage/vue.js +1 -1
  179. package/time/index.js +1 -1
  180. package/time/vue.js +1 -1
  181. package/time-line/index.js +1 -1
  182. package/time-line-new/index.js +1 -1
  183. package/time-panel/index.js +2 -2
  184. package/time-panel/vue.js +1 -1
  185. package/time-range/index.js +1 -1
  186. package/time-range/vue.js +1 -1
  187. package/time-spinner/index.js +4 -4
  188. package/time-spinner/vue.js +1 -1
  189. package/timeline-item/index.js +1 -1
  190. package/toggle-menu/index.js +1 -1
  191. package/tooltip/index.js +2 -2
  192. package/tooltip/vue.js +2 -2
  193. package/top-box/index.js +3 -3
  194. package/transfer/index.js +42 -1
  195. package/transfer/vue.js +64 -24
  196. package/transfer-panel/index.js +6 -1
  197. package/tree/index.js +9 -9
  198. package/tree/vue.js +2 -2
  199. package/tree-node/index.js +1 -1
  200. package/tree-node/vue.js +1 -1
  201. package/tree-select/index.js +68 -22
  202. package/tree-select/vue.js +27 -3
  203. package/types/async-flowchart.type.d.ts +2 -14
  204. package/types/breadcrumb-item.type.d.ts +5 -1
  205. package/types/breadcrumb.type.d.ts +5 -1
  206. package/types/button-group.type.d.ts +5 -1
  207. package/types/button.type.d.ts +2 -2
  208. package/types/cascader.type.d.ts +6 -1
  209. package/types/date-table.type.d.ts +1 -120
  210. package/types/dropdown.type.d.ts +1 -1
  211. package/types/label.type.d.ts +1 -53
  212. package/types/loading.type.d.ts +12 -0
  213. package/types/numeric.type.d.ts +3 -22
  214. package/types/pager.type.d.ts +12 -7
  215. package/types/popconfirm.type.d.ts +2 -0
  216. package/types/steps.type.d.ts +1 -0
  217. package/types/tag-group.type.d.ts +2 -14
  218. package/types/tag.type.d.ts +4 -4
  219. package/types/tooltip.type.d.ts +3 -13
  220. package/types/transfer.type.d.ts +3 -0
  221. package/types/user-head.type.d.ts +0 -4
  222. package/upload/index.js +1 -1
  223. package/upload-list/index.js +1 -1
  224. package/upload-list/vue.js +4 -4
  225. package/user/index.js +7 -7
  226. package/user/vue.js +15 -2
  227. package/user-contact/vue.js +2 -2
  228. package/virtual-scroll-box/index.js +2 -2
  229. package/wizard/index.js +3 -3
  230. package/year-range/index.js +61 -11
  231. package/year-range/vue.js +33 -20
  232. package/year-table/index.js +10 -5
  233. package/avatar/index.js +0 -30
  234. package/avatar/vue.js +0 -22
  235. package/common/array.js +0 -115
  236. package/common/bigInt.js +0 -315
  237. package/common/browser.js +0 -81
  238. package/common/calendar/calendar.js +0 -97
  239. package/common/dataset/index.js +0 -99
  240. package/common/date.js +0 -354
  241. package/common/decimal.js +0 -155
  242. package/common/deps/ResizeObserver.js +0 -456
  243. package/common/deps/after-leave.js +0 -27
  244. package/common/deps/clickoutside.js +0 -75
  245. package/common/deps/date-util.js +0 -255
  246. package/common/deps/date.js +0 -286
  247. package/common/deps/debounce.js +0 -8
  248. package/common/deps/eSpaceCtrl.js +0 -304
  249. package/common/deps/fastdom/async.js +0 -41
  250. package/common/deps/fastdom/index.js +0 -9
  251. package/common/deps/fastdom/sandbox.js +0 -53
  252. package/common/deps/fastdom/singleton.js +0 -88
  253. package/common/deps/fullscreen/apis.js +0 -143
  254. package/common/deps/fullscreen/screenfull.js +0 -165
  255. package/common/deps/memorize.js +0 -124
  256. package/common/deps/observe-visibility.js +0 -106
  257. package/common/deps/popper.js +0 -616
  258. package/common/deps/repeat-click.js +0 -29
  259. package/common/deps/resize-event.js +0 -39
  260. package/common/deps/scroll-into-view.js +0 -29
  261. package/common/deps/scrollbar-width.js +0 -33
  262. package/common/deps/throttle.js +0 -45
  263. package/common/deps/touch-emulator.js +0 -103
  264. package/common/deps/touch.js +0 -37
  265. package/common/deps/tree-model/node.js +0 -475
  266. package/common/deps/tree-model/tree-store.js +0 -312
  267. package/common/deps/tree-model/util.js +0 -24
  268. package/common/deps/upload-ajax.js +0 -81
  269. package/common/deps/useEventListener.js +0 -54
  270. package/common/deps/useInstanceSlots.js +0 -22
  271. package/common/deps/useRect.js +0 -25
  272. package/common/deps/useRelation.js +0 -89
  273. package/common/deps/useTouch.js +0 -68
  274. package/common/deps/useUserAgent.js +0 -16
  275. package/common/deps/useWindowSize.js +0 -23
  276. package/common/deps/vue-emitter.js +0 -34
  277. package/common/deps/vue-popper.js +0 -180
  278. package/common/deps/vue-popup.js +0 -138
  279. package/common/event.js +0 -46
  280. package/common/form/const.js +0 -10
  281. package/common/function.js +0 -28
  282. package/common/global.js +0 -11
  283. package/common/index.js +0 -259
  284. package/common/object.js +0 -227
  285. package/common/prop-util.js +0 -43
  286. package/common/runtime.js +0 -79
  287. package/common/string.js +0 -417
  288. package/common/type.js +0 -66
  289. package/common/validate/index.js +0 -10
  290. package/common/validate/messages.js +0 -65
  291. package/common/validate/rules/enum.js +0 -12
  292. package/common/validate/rules/index.js +0 -18
  293. package/common/validate/rules/pattern.js +0 -20
  294. package/common/validate/rules/range.js +0 -52
  295. package/common/validate/rules/required.js +0 -11
  296. package/common/validate/rules/type.js +0 -100
  297. package/common/validate/rules/whitespace.js +0 -10
  298. package/common/validate/schema.js +0 -290
  299. package/common/validate/util.js +0 -211
  300. package/common/validate/validations/array.js +0 -22
  301. package/common/validate/validations/date.js +0 -31
  302. package/common/validate/validations/enum.js +0 -22
  303. package/common/validate/validations/float.js +0 -22
  304. package/common/validate/validations/index.js +0 -46
  305. package/common/validate/validations/integer.js +0 -22
  306. package/common/validate/validations/method.js +0 -21
  307. package/common/validate/validations/number.js +0 -25
  308. package/common/validate/validations/pattern.js +0 -21
  309. package/common/validate/validations/required.js +0 -11
  310. package/common/validate/validations/string.js +0 -33
  311. package/common/validate/validations/type.js +0 -29
  312. package/index-bar/index.js +0 -66
  313. package/index-bar/vue.js +0 -73
  314. package/index-bar-anchor/vue.js +0 -16
  315. package/label/index.js +0 -56
  316. package/label/vue.js +0 -26
  317. package/list/index.js +0 -13
  318. package/list/vue.js +0 -17
  319. package/mask/index.js +0 -13
  320. package/mask/vue.js +0 -18
  321. package/mini-picker/index.js +0 -165
  322. package/mini-picker/vue.js +0 -122
  323. package/multi-select/index.js +0 -394
  324. package/multi-select/vue.js +0 -113
  325. package/multi-select-item/index.js +0 -23
  326. package/multi-select-item/vue.js +0 -31
  327. package/toast/index.js +0 -7
  328. package/toast/vue.js +0 -19
  329. package/types/toast.type.d.ts +0 -63
  330. package/wheel/index.js +0 -165
  331. package/wheel/vue.js +0 -79
package/transfer/vue.js CHANGED
@@ -11,34 +11,48 @@ import {
11
11
  addToLeft,
12
12
  addToRight,
13
13
  clearQuery,
14
- sortableEvent
14
+ sortableEvent,
15
+ recurseTreeDataToFlagInitDisabled,
16
+ recurseTreeDataToDisabled,
17
+ setCheckedOnMounted
15
18
  } from "./index";
16
19
  const api = ["state", "onSourceCheckedChange", "onTargetCheckedChange", "addToLeft", "addToRight", "clearQuery"];
17
- const initState = ({ reactive, computed, api: api2, props, h, slots }) => reactive({
18
- leftChecked: [],
19
- rightChecked: [],
20
- rightData: computed(() => api2.getRightCheckedData()),
21
- leftData: computed(() => api2.getLeftCheckedData()),
22
- dataObj: computed(() => api2.getObj()),
23
- sourceData: computed(() => api2.getSourceData()),
24
- targetData: computed(() => api2.getTargetData()),
25
- hasButtonTexts: computed(() => props.buttonTexts.length === 2),
26
- isToLeft: false,
27
- optionRender: computed(() => (option) => {
28
- if (props.renderContent) {
29
- return props.renderContent(h, option);
30
- }
31
- if (slots.default) {
32
- return slots.default({ option });
33
- }
34
- return h("span", option[props.props.label] || option[props.props.key]);
35
- })
36
- });
37
- const renderless = (props, { computed, onMounted, reactive, h }, { $prefix, emit, refs, parent, slots, vm }) => {
20
+ const initState = ({ reactive, computed, api: api2, props, h, slots, Tree }) => {
21
+ const state = reactive({
22
+ leftChecked: [],
23
+ rightChecked: [],
24
+ rightData: computed(() => api2.getRightCheckedData()),
25
+ leftData: computed(() => api2.getLeftCheckedData()),
26
+ dataObj: computed(() => api2.getObj()),
27
+ sourceData: computed(() => api2.getSourceData()),
28
+ targetData: computed(() => api2.getTargetData()),
29
+ hasButtonTexts: computed(() => props.buttonTexts.length === 2),
30
+ isToLeft: false,
31
+ optionRender: computed(() => (option) => {
32
+ if (props.renderContent) {
33
+ return props.renderContent(h, option);
34
+ }
35
+ if (slots.default) {
36
+ return slots.default({ option });
37
+ }
38
+ return h("span", option[props.props.label] || option[props.props.key]);
39
+ }),
40
+ isToLeftBtnDisabled: computed(() => {
41
+ var _a, _b;
42
+ if (((_b = (_a = props.render) == null ? void 0 : _a.plugin) == null ? void 0 : _b.name) === Tree) {
43
+ return props.toLeftDisable && state.leftChecked.length <= props.modelValue.length;
44
+ }
45
+ return props.toLeftDisable && state.leftChecked.length === 0;
46
+ })
47
+ });
48
+ return state;
49
+ };
50
+ const renderless = (props, { computed, onMounted, reactive, h, watch }, { $prefix, emit, refs, parent, slots, vm }) => {
51
+ var _a, _b;
38
52
  const api2 = {};
39
53
  const Tree = $prefix + "Tree";
40
54
  const Table = $prefix + "Table";
41
- const state = initState({ reactive, computed, api: api2, props, h, slots });
55
+ const state = initState({ reactive, computed, api: api2, props, h, slots, Tree });
42
56
  const { DROPPANEL, TRANSFERPANEL } = parent.$constants;
43
57
  Object.assign(api2, {
44
58
  state,
@@ -53,9 +67,35 @@ const renderless = (props, { computed, onMounted, reactive, h }, { $prefix, emit
53
67
  onSourceCheckedChange: onSourceCheckedChange({ emit, state }),
54
68
  logicFun: logicFun({ props, emit, state, vm }),
55
69
  getTargetData: getTargetData({ props, state, Tree, Table }),
56
- sortableEvent: sortableEvent({ api: api2, droppanel: DROPPANEL, props, queryDom: TRANSFERPANEL, refs })
70
+ sortableEvent: sortableEvent({ api: api2, droppanel: DROPPANEL, props, queryDom: TRANSFERPANEL, refs }),
71
+ setCheckedOnMounted: setCheckedOnMounted({ props, vm, Tree })
57
72
  });
73
+ if (((_b = (_a = props.render) == null ? void 0 : _a.plugin) == null ? void 0 : _b.name) === Tree) {
74
+ watch(
75
+ props.data,
76
+ (value) => {
77
+ recurseTreeDataToFlagInitDisabled(
78
+ value,
79
+ props.props.children || "children",
80
+ props.props.key || "key",
81
+ props.modelValue
82
+ );
83
+ },
84
+ { immediate: true }
85
+ );
86
+ watch(
87
+ () => props.modelValue,
88
+ (value) => {
89
+ var _a2, _b2;
90
+ if (((_b2 = (_a2 = props.render) == null ? void 0 : _a2.plugin) == null ? void 0 : _b2.name) === Tree) {
91
+ recurseTreeDataToDisabled(props.data, props.props.children || "children", props.props.key || "key", value);
92
+ api2.setCheckedOnMounted();
93
+ }
94
+ }
95
+ );
96
+ }
58
97
  onMounted(api2.sortableEvent);
98
+ onMounted(api2.setCheckedOnMounted);
59
99
  return api2;
60
100
  };
61
101
  export {
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { copyArray } from "../common/object";
2
+ import { copyArray } from "@opentiny/utils";
3
3
  import { getFlatData } from "../transfer";
4
4
  const showFilterData = (data, sign) => {
5
5
  const getChild = (data2, sign2) => data2.filter((node) => {
@@ -185,6 +185,11 @@ const handlePageChange = (state) => (currentPage) => {
185
185
  const getFilterTreeData = ({ props, state }) => (data) => {
186
186
  const getChild = (data2, query) => {
187
187
  data2.forEach((node) => {
188
+ if (node.__disabled) {
189
+ node.disabled = true;
190
+ } else if (!props.showLeft) {
191
+ node.disabled = false;
192
+ }
188
193
  const label = node[state.labelProp];
189
194
  if (typeof props.treeOp.filterNodeMethod === "function") {
190
195
  const result = props.treeOp.filterNodeMethod(state.query, node);
package/tree/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { getNodeKey as innerGetNodekey } from "../common/deps/tree-model/util";
3
- import { KEY_CODE } from "../common";
4
- import TreeStore from "../common/deps/tree-model/tree-store";
5
- import { addClass, removeClass } from "../common/deps/dom";
6
- import { on, off } from "../common/deps/dom";
7
- import { getDataset } from "../common/dataset";
8
- import { copyArray } from "../common/object";
9
- import { log } from "../common";
2
+ import { getNodeKey as innerGetNodekey } from "@opentiny/utils";
3
+ import { KEY_CODE } from "@opentiny/utils";
4
+ import { TreeStore } from "@opentiny/utils";
5
+ import { addClass, removeClass } from "@opentiny/utils";
6
+ import { on, off } from "@opentiny/utils";
7
+ import { getDataset } from "@opentiny/utils";
8
+ import { copyArray } from "@opentiny/utils";
9
+ import { logger } from "@opentiny/utils";
10
10
  const setChildren = (props) => (data) => props.data = data;
11
11
  const getChildren = () => (props) => props.data;
12
12
  const computedTreeItemArray = () => (props, state) => Array.prototype.slice.call(state.treeItems);
@@ -561,7 +561,7 @@ const addNode = ({ api, props, state }) => (node) => {
561
561
  state.newNodeId++;
562
562
  }
563
563
  if (state.allNodeKeys.includes(nodeId) && !props.editConfig.noWarning) {
564
- log.logger.warn(`the ${props.nodeKey || "id"} ${nodeId} is already exists. Please check.`);
564
+ logger.warn(`the ${props.nodeKey || "id"} ${nodeId} is already exists. Please check.`);
565
565
  }
566
566
  state.allNodeKeys.push(nodeId);
567
567
  const newNode = { label: "", [props.nodeKey || "id"]: nodeId };
package/tree/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import debounce from "../common/deps/debounce";
2
+ import { debounce } from "@opentiny/utils";
3
3
  import {
4
4
  computedShowEmptyText,
5
5
  closeMenu,
@@ -68,7 +68,7 @@ import {
68
68
  handleClickPlainNode,
69
69
  setCheckedByNodeKey
70
70
  } from "./index";
71
- import { random } from "../common/string";
71
+ import { random } from "@opentiny/utils";
72
72
  const api = [
73
73
  "state",
74
74
  "closeMenu",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  __spreadValues
3
3
  } from "../chunk-G2ADBYYC.js";
4
- import { getNodeKey as getTreeNodeKey } from "../common/deps/tree-model/util";
4
+ import { getNodeKey as getTreeNodeKey } from "@opentiny/utils";
5
5
  const watchIndeterminate = ({ api, props }) => (value) => api.handleSelectChange(props.node.checked, value);
6
6
  const watchChecked = ({ api, props }) => (value) => api.handleSelectChange(value, props.node.indeterminate);
7
7
  const watchExpanded = ({ state }) => (value) => {
package/tree-node/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import debounce from "../common/deps/debounce";
2
+ import { debounce } from "@opentiny/utils";
3
3
  import {
4
4
  created,
5
5
  handleDragEnd,
@@ -2,7 +2,7 @@ import {
2
2
  __spreadProps,
3
3
  __spreadValues
4
4
  } from "../chunk-G2ADBYYC.js";
5
- import { find } from "../common/array";
5
+ import { find } from "@opentiny/utils";
6
6
  const filter = ({ vm }) => (value) => {
7
7
  vm.$refs.treeRef.filter(value);
8
8
  };
@@ -28,8 +28,7 @@ const check = ({ props, vm, emit }) => (data, { checkedNodes }) => {
28
28
  currentValue.push(node[props.valueField]);
29
29
  return __spreadProps(__spreadValues({}, node), {
30
30
  currentLabel: node[props.textField],
31
- value: node[props.valueField],
32
- isTree: true
31
+ value: node[props.valueField]
33
32
  });
34
33
  })
35
34
  );
@@ -63,40 +62,51 @@ const getPluginOption = ({ api, props, state }) => (value) => {
63
62
  }
64
63
  return items;
65
64
  };
66
- const getCheckedData = ({ props, state }) => () => {
65
+ const getCheckedData = ({ props, state }) => (selected) => {
67
66
  const checkedKey = [];
68
- if (!Array.isArray(state.selected)) {
69
- return props.modelValue ? [props.modelValue] : [state.selected[props.valueField]];
67
+ if (!Array.isArray(selected)) {
68
+ return props.modelValue ? [props.modelValue] : [selected[props.valueField]];
70
69
  } else {
71
- state.selected.length > 0 && state.selected.forEach((item) => {
70
+ selected.length > 0 && selected.forEach((item) => {
72
71
  checkedKey.push(item[props.valueField]);
73
72
  });
74
73
  return checkedKey;
75
74
  }
76
75
  };
76
+ const getChildValue = () => (childNodes, key) => {
77
+ const ids = [];
78
+ const getChild = (nodes) => {
79
+ nodes.forEach((node) => {
80
+ ids.push(node.data[key]);
81
+ if (node.childNodes.length > 0) {
82
+ getChild(node.childNodes);
83
+ }
84
+ });
85
+ };
86
+ getChild(childNodes);
87
+ return ids;
88
+ };
77
89
  const mounted = ({ api, state, props, vm }) => () => {
78
- if (!state.value || state.value.length === 0)
90
+ if (!state.modelValue || state.modelValue.length === 0)
79
91
  return;
80
92
  if (props.multiple) {
81
93
  let initialNodes = [];
82
- if (Array.isArray(state.value)) {
83
- state.value.forEach((value) => {
94
+ if (Array.isArray(state.modelValue)) {
95
+ state.modelValue.forEach((value) => {
84
96
  const option = api.getPluginOption(value);
85
97
  initialNodes = initialNodes.concat(option);
86
98
  });
87
99
  }
88
- vm.$refs.baseSelectRef.updateSelectedData(
89
- initialNodes.map((node) => {
90
- return __spreadProps(__spreadValues({}, node), {
91
- currentLabel: node[props.textField],
92
- value: node[props.valueField],
93
- isTree: true
94
- });
95
- })
96
- );
97
- state.defaultCheckedKeys = api.getCheckedData()[0];
100
+ const selected = initialNodes.map((node) => {
101
+ return __spreadProps(__spreadValues({}, node), {
102
+ currentLabel: node[props.textField],
103
+ value: node[props.valueField]
104
+ });
105
+ });
106
+ vm.$refs.baseSelectRef.updateSelectedData(selected);
107
+ state.defaultCheckedKeys = api.getCheckedData(selected);
98
108
  } else {
99
- const data = api.getPluginOption(state.value)[0];
109
+ const data = api.getPluginOption(state.modelValue)[0];
100
110
  vm.$refs.baseSelectRef.updateSelectedData(__spreadProps(__spreadValues({}, data), {
101
111
  currentLabel: data[props.textField],
102
112
  value: data[props.valueField],
@@ -107,12 +117,48 @@ const mounted = ({ api, state, props, vm }) => () => {
107
117
  state.currentKey = data[props.valueField];
108
118
  }
109
119
  };
120
+ const watchValue = ({ api, props, vm, state }) => (newValue, oldValue) => {
121
+ if (props.multiple) {
122
+ const xorResult = oldValue.filter((item) => !newValue.includes(item));
123
+ const tagId = xorResult[0];
124
+ const treeIds = [tagId];
125
+ let checkedKeys = newValue;
126
+ if (xorResult.length === 1 && !props.treeOp.checkStrictly) {
127
+ let node = vm.$refs.treeRef.getNode(tagId);
128
+ if (!node.isLeaf) {
129
+ treeIds.push(...api.getChildValue(node.childNodes, props.valueField));
130
+ }
131
+ while (node.parent && !Array.isArray(node.parent.data)) {
132
+ node.parent.data && treeIds.push(node.parent.data[props.valueField]);
133
+ node = node.parent;
134
+ }
135
+ checkedKeys = newValue.filter((item) => !treeIds.includes(item));
136
+ }
137
+ let initialNodes = [];
138
+ if (Array.isArray(checkedKeys)) {
139
+ checkedKeys.forEach((value) => {
140
+ const option = api.getPluginOption(value);
141
+ initialNodes = initialNodes.concat(option);
142
+ });
143
+ }
144
+ const selected = initialNodes.map((node) => {
145
+ return __spreadProps(__spreadValues({}, node), {
146
+ currentLabel: node[props.textField],
147
+ value: node[props.valueField]
148
+ });
149
+ });
150
+ vm.$refs.baseSelectRef.updateSelectedData(selected);
151
+ vm.$refs.treeRef.setCheckedKeys(checkedKeys);
152
+ }
153
+ };
110
154
  export {
111
155
  check,
112
156
  filter,
113
157
  getCheckedData,
158
+ getChildValue,
114
159
  getPluginOption,
115
160
  getTreeData,
116
161
  mounted,
117
- nodeClick
162
+ nodeClick,
163
+ watchValue
118
164
  };
@@ -1,5 +1,15 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { check, filter, getCheckedData, getPluginOption, getTreeData, mounted, nodeClick } from "./index";
2
+ import {
3
+ check,
4
+ filter,
5
+ getCheckedData,
6
+ getPluginOption,
7
+ getTreeData,
8
+ mounted,
9
+ nodeClick,
10
+ watchValue,
11
+ getChildValue
12
+ } from "./index";
3
13
  const api = ["state", "check", "filter", "nodeClick"];
4
14
  const renderless = (props, { reactive, computed, watch, onMounted }, { vm, emit }) => {
5
15
  const api2 = {};
@@ -9,7 +19,7 @@ const renderless = (props, { reactive, computed, watch, onMounted }, { vm, emit
9
19
  defaultCheckedKeys: [],
10
20
  remoteData: [],
11
21
  treeData: props.treeOp.data,
12
- value: computed(() => props.modelValue)
22
+ modelValue: []
13
23
  });
14
24
  Object.assign(api2, {
15
25
  state,
@@ -19,13 +29,27 @@ const renderless = (props, { reactive, computed, watch, onMounted }, { vm, emit
19
29
  getPluginOption: getPluginOption({ api: api2, props, state }),
20
30
  getTreeData: getTreeData({ props, state }),
21
31
  mounted: mounted({ api: api2, state, props, vm }),
22
- nodeClick: nodeClick({ props, vm, emit })
32
+ nodeClick: nodeClick({ props, vm, emit }),
33
+ watchValue: watchValue({ api: api2, props, vm, state }),
34
+ getChildValue: getChildValue()
23
35
  });
24
36
  watch(
25
37
  () => props.treeOp.data,
26
38
  (data) => data && (state.treeData = data),
27
39
  { immediate: true, deep: true }
28
40
  );
41
+ watch(
42
+ () => props.modelValue,
43
+ () => {
44
+ if (props.multiple && Array.isArray(props.modelValue)) {
45
+ state.modelValue = [...props.modelValue];
46
+ } else {
47
+ state.modelValue = props.modelValue;
48
+ }
49
+ },
50
+ { immediate: true, deep: true }
51
+ );
52
+ watch(() => state.modelValue, api2.watchValue);
29
53
  onMounted(api2.mounted);
30
54
  return api2;
31
55
  };
@@ -1,4 +1,5 @@
1
1
  import { ExtractPropTypes } from 'vue';
2
+ import { ResizeObserver } from '@opentiny/utils';
2
3
  import { ISharedRenderlessParamHooks, ISharedRenderlessParamUtils } from './shared.type.js';
3
4
 
4
5
  declare const asyncFlowchartProps: {
@@ -14,19 +15,6 @@ declare const asyncFlowchartProps: {
14
15
  tiny_chart_theme: ObjectConstructor;
15
16
  };
16
17
 
17
- /**
18
- * Copyright (c) 2022 - present TinyVue Authors.
19
- * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
20
- *
21
- * Use of this source code is governed by an MIT-style license.
22
- *
23
- * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
24
- * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
25
- * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
26
- *
27
- */
28
- declare const index: any;
29
-
30
18
  declare const observeContainerSize: ({ nextTick, vm, state }: {
31
19
  nextTick: ISharedRenderlessParamHooks['nextTick'];
32
20
  vm: ISharedRenderlessParamUtils['vm'];
@@ -54,7 +42,7 @@ interface IAsyncFlowchartState {
54
42
  config: null | {
55
43
  nodeWrapperSize: number;
56
44
  };
57
- temporary?: typeof index;
45
+ temporary?: typeof ResizeObserver;
58
46
  }
59
47
  type IAsyncFlowchartProps = ExtractPropTypes<typeof asyncFlowchartProps>;
60
48
  interface IAsyncFlowchartApi {
@@ -7,7 +7,11 @@ declare const breadcrumbItemProps: {
7
7
  type: BooleanConstructor;
8
8
  default: boolean;
9
9
  };
10
- size: StringConstructor;
10
+ size: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ validator: (val: string) => boolean;
14
+ };
11
15
  option: {
12
16
  type: ObjectConstructor;
13
17
  default: () => {};
@@ -26,7 +26,11 @@ declare const breadcrumbProps: {
26
26
  type: StringConstructor;
27
27
  default: string;
28
28
  };
29
- size: StringConstructor;
29
+ size: {
30
+ type: StringConstructor;
31
+ default: string;
32
+ validator: (val: string) => boolean;
33
+ };
30
34
  options: {
31
35
  type: ArrayConstructor;
32
36
  default: () => never[];
@@ -3,7 +3,11 @@ import { IButtonGroupNode as IButtonGroupNode$1 } from '@opentiny/vue-renderless
3
3
  import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from './shared.type.js';
4
4
 
5
5
  declare const buttonGroupProps: {
6
- size: StringConstructor;
6
+ size: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ validator: (val: string) => boolean;
10
+ };
7
11
  data: {
8
12
  type: PropType<IButtonGroupNode$1[]>;
9
13
  default: () => never[];
@@ -75,9 +75,9 @@ declare const buttonProps: {
75
75
  type: PropType<(ev: MouseEvent) => void>;
76
76
  };
77
77
  tiny_mode: StringConstructor;
78
- tiny_mode_root: BooleanConstructor;
78
+ tiny_mode_root: BooleanConstructor; /** 是否圆角按钮 */
79
79
  tiny_template: (FunctionConstructor | ObjectConstructor)[];
80
- tiny_renderless: FunctionConstructor; /** 是否圆形按钮 */
80
+ tiny_renderless: FunctionConstructor;
81
81
  tiny_theme: StringConstructor;
82
82
  tiny_chart_theme: ObjectConstructor;
83
83
  };
@@ -89,6 +89,10 @@ declare const cascaderProps: {
89
89
  type: BooleanConstructor;
90
90
  default: boolean;
91
91
  };
92
+ changeCompat: {
93
+ type: BooleanConstructor;
94
+ default: boolean;
95
+ };
92
96
  tiny_mode: StringConstructor;
93
97
  tiny_mode_root: BooleanConstructor;
94
98
  tiny_template: (FunctionConstructor | ObjectConstructor)[];
@@ -121,11 +125,12 @@ declare const computePresentContent: ({ api, state }: {
121
125
  api: ICascaderApi;
122
126
  state: ICascaderState;
123
127
  }) => () => void;
128
+ /** 用户在修改值,不必触发change */
124
129
  declare const watchValue: ({ api, state }: {
125
130
  api: ICascaderApi;
126
131
  state: ICascaderState;
127
132
  }) => (value: any) => void;
128
- declare const watchCheckedValue: ({ nextTick, constants, dispatch, api, emit, state }: {
133
+ declare const watchCheckedValue: ({ nextTick, constants, dispatch, api, emit, state, props }: {
129
134
  api: ICascaderApi;
130
135
  emit: ICascadeRenderlessParamUtils['emit'];
131
136
  state: ICascaderState;
@@ -1,123 +1,4 @@
1
- /**
2
- * Copyright (c) 2022 - present TinyVue Authors.
3
- * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
4
- *
5
- * Use of this source code is governed by an MIT-style license.
6
- *
7
- * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
- * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
- * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
- *
11
- */
12
-
13
- declare const DATEPICKER: {
14
- Day: string;
15
- Date: string;
16
- Dates: string;
17
- Year: string;
18
- Years: string;
19
- YearRange: string;
20
- PanelYearNum: number;
21
- Month: string;
22
- Week: string;
23
- Normal: string;
24
- Today: string;
25
- PreMonth: string;
26
- NextMonth: string;
27
- YearI18n: string;
28
- List: number[];
29
- YearObj: {
30
- 38: number;
31
- 40: number;
32
- 37: number;
33
- 39: number;
34
- };
35
- WeekObj: {
36
- 38: number;
37
- 40: number;
38
- 37: number;
39
- 39: number;
40
- };
41
- DayObj: {
42
- 38: number;
43
- 40: number;
44
- 37: number;
45
- 39: number;
46
- };
47
- Aviailable: string;
48
- Default: string;
49
- Current: string;
50
- InRange: string;
51
- StartDate: string;
52
- EndDate: string;
53
- Selected: string;
54
- Disabled: string;
55
- Range: string;
56
- fullMonths: string[];
57
- fullWeeks: string[];
58
- MonhtList: string[];
59
- Weeks: string[];
60
- PlacementMap: {
61
- left: string;
62
- center: string;
63
- right: string;
64
- };
65
- QuarterMap: {
66
- 0: number;
67
- 1: number;
68
- 2: number;
69
- 3: number;
70
- };
71
- MonthQuarterMap: {
72
- 0: number;
73
- 3: number;
74
- 6: number;
75
- 9: number;
76
- };
77
- TriggerTypes: string[];
78
- DateFormats: {
79
- year: string;
80
- years: string;
81
- yearrange: string;
82
- month: string;
83
- time: string;
84
- week: string;
85
- date: string;
86
- timerange: string;
87
- monthrange: string;
88
- daterange: string;
89
- datetime: string;
90
- datetimerange: string;
91
- };
92
- Time: string;
93
- TimeRange: string;
94
- Quarter: string;
95
- IconTime: string;
96
- IconDate: string;
97
- DateRange: string;
98
- DateTimeRange: string;
99
- MonthRange: string;
100
- TimeSelect: string;
101
- TimesTamp: string;
102
- DateTime: string;
103
- SelectbaleRange: string;
104
- Start: string;
105
- End: string;
106
- Step: string;
107
- CompareOne: string;
108
- CompareHundred: string;
109
- selClass: string;
110
- queryClass: string;
111
- disableClass: string;
112
- defaultClass: string;
113
- Qurtyli: string;
114
- MappingKeyCode: {
115
- 40: number;
116
- 38: number;
117
- };
118
- DatePicker: string;
119
- TimePicker: string;
120
- };
1
+ import { DATEPICKER } from '@opentiny/utils';
121
2
 
122
3
  interface IDateTableRow {
123
4
  /** 列数,从0开始,[0, 6] */
@@ -4,7 +4,7 @@ import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from './
4
4
  declare const dropdownProps: {
5
5
  modelValue: (StringConstructor | NumberConstructor)[];
6
6
  visible: {
7
- type: BooleanConstructor;
7
+ type: (BooleanConstructor | undefined)[];
8
8
  default: undefined;
9
9
  };
10
10
  type: StringConstructor;