@progress/kendo-vue-listbox 3.7.4-dev.202212300853

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 (69) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +86 -0
  3. package/README.md +52 -0
  4. package/dist/cdn/js/kendo-vue-listbox.js +1 -0
  5. package/dist/es/ListBox.d.ts +40 -0
  6. package/dist/es/ListBox.js +253 -0
  7. package/dist/es/ListBoxToolbar.d.ts +40 -0
  8. package/dist/es/ListBoxToolbar.js +166 -0
  9. package/dist/es/additionalTypes.ts +21 -0
  10. package/dist/es/interfaces/Enums.d.ts +7 -0
  11. package/dist/es/interfaces/Enums.js +8 -0
  12. package/dist/es/interfaces/ListBoxEvents.d.ts +13 -0
  13. package/dist/es/interfaces/ListBoxEvents.js +1 -0
  14. package/dist/es/interfaces/ListBoxProps.d.ts +93 -0
  15. package/dist/es/interfaces/ListBoxProps.js +2 -0
  16. package/dist/es/interfaces/ListBoxToolBarProps.d.ts +32 -0
  17. package/dist/es/interfaces/ListBoxToolBarProps.js +1 -0
  18. package/dist/es/main.d.ts +7 -0
  19. package/dist/es/main.js +4 -0
  20. package/dist/es/messages/main.d.ts +40 -0
  21. package/dist/es/messages/main.js +41 -0
  22. package/dist/es/package-metadata.d.ts +5 -0
  23. package/dist/es/package-metadata.js +11 -0
  24. package/dist/es/utils.d.ts +31 -0
  25. package/dist/es/utils.js +195 -0
  26. package/dist/esm/ListBox.d.ts +40 -0
  27. package/dist/esm/ListBox.js +253 -0
  28. package/dist/esm/ListBoxToolbar.d.ts +40 -0
  29. package/dist/esm/ListBoxToolbar.js +166 -0
  30. package/dist/esm/additionalTypes.ts +21 -0
  31. package/dist/esm/interfaces/Enums.d.ts +7 -0
  32. package/dist/esm/interfaces/Enums.js +8 -0
  33. package/dist/esm/interfaces/ListBoxEvents.d.ts +13 -0
  34. package/dist/esm/interfaces/ListBoxEvents.js +1 -0
  35. package/dist/esm/interfaces/ListBoxProps.d.ts +93 -0
  36. package/dist/esm/interfaces/ListBoxProps.js +2 -0
  37. package/dist/esm/interfaces/ListBoxToolBarProps.d.ts +32 -0
  38. package/dist/esm/interfaces/ListBoxToolBarProps.js +1 -0
  39. package/dist/esm/main.d.ts +7 -0
  40. package/dist/esm/main.js +4 -0
  41. package/dist/esm/messages/main.d.ts +40 -0
  42. package/dist/esm/messages/main.js +41 -0
  43. package/dist/esm/package-metadata.d.ts +5 -0
  44. package/dist/esm/package-metadata.js +11 -0
  45. package/dist/esm/package.json +3 -0
  46. package/dist/esm/utils.d.ts +31 -0
  47. package/dist/esm/utils.js +195 -0
  48. package/dist/npm/ListBox.d.ts +40 -0
  49. package/dist/npm/ListBox.js +260 -0
  50. package/dist/npm/ListBoxToolbar.d.ts +40 -0
  51. package/dist/npm/ListBoxToolbar.js +173 -0
  52. package/dist/npm/additionalTypes.ts +21 -0
  53. package/dist/npm/interfaces/Enums.d.ts +7 -0
  54. package/dist/npm/interfaces/Enums.js +14 -0
  55. package/dist/npm/interfaces/ListBoxEvents.d.ts +13 -0
  56. package/dist/npm/interfaces/ListBoxEvents.js +5 -0
  57. package/dist/npm/interfaces/ListBoxProps.d.ts +93 -0
  58. package/dist/npm/interfaces/ListBoxProps.js +3 -0
  59. package/dist/npm/interfaces/ListBoxToolBarProps.d.ts +32 -0
  60. package/dist/npm/interfaces/ListBoxToolBarProps.js +5 -0
  61. package/dist/npm/main.d.ts +7 -0
  62. package/dist/npm/main.js +11 -0
  63. package/dist/npm/messages/main.d.ts +40 -0
  64. package/dist/npm/messages/main.js +44 -0
  65. package/dist/npm/package-metadata.d.ts +5 -0
  66. package/dist/npm/package-metadata.js +14 -0
  67. package/dist/npm/utils.d.ts +31 -0
  68. package/dist/npm/utils.js +204 -0
  69. package/package.json +57 -0
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ var __spreadArray = undefined && undefined.__spreadArray || function (to, from, pack) {
4
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
5
+ if (ar || !(i in from)) {
6
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
7
+ ar[i] = from[i];
8
+ }
9
+ }
10
+ return to.concat(ar || Array.prototype.slice.call(from));
11
+ };
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports.processListBoxDragAndDrop = exports.moveItem = exports.processListBoxData = void 0;
16
+ /**
17
+ * Process the data collection/s based on the clicked ListBoxToolbar tool.
18
+ *
19
+ * @param {T[]} listBoxOneData - The first data collection.
20
+ * @param {T[]} listBoxTwoData - The second data collection. Pass an empty array if there is only one ListBox.
21
+ * @param {string} toolName - The tool that was clicked.
22
+ * @param {string} selectedField - The field that contains the selected information in the data object.
23
+ * @returns {{listBoxOneData: T[], listBoxTwoData: t[]}} - The object that contains the new data collections.
24
+ */
25
+ // tslint:disable-next-line: max-line-length
26
+ var processListBoxData = function processListBoxData(listBoxOneData, listBoxTwoData, toolName, selectedField) {
27
+ if (listBoxOneData === void 0) {
28
+ listBoxOneData = [];
29
+ }
30
+ if (listBoxTwoData === void 0) {
31
+ listBoxTwoData = [];
32
+ }
33
+ var newFirstData = [];
34
+ var itemsForTransfer = [];
35
+ var newSecondData = [];
36
+ var result = {
37
+ listBoxOneData: listBoxOneData,
38
+ listBoxTwoData: listBoxTwoData
39
+ };
40
+ switch (toolName) {
41
+ case 'moveUp':
42
+ newFirstData = __spreadArray([], listBoxOneData, true);
43
+ newFirstData.forEach(function (item, index) {
44
+ if (item[selectedField]) {
45
+ newFirstData = (0, exports.moveItem)(index, index - 1, newFirstData);
46
+ }
47
+ });
48
+ newSecondData = __spreadArray([], listBoxTwoData, true);
49
+ newSecondData.forEach(function (item, index) {
50
+ if (item[selectedField]) {
51
+ newSecondData = (0, exports.moveItem)(index, index - 1, newSecondData);
52
+ }
53
+ });
54
+ result.listBoxOneData = newFirstData;
55
+ result.listBoxTwoData = newSecondData;
56
+ break;
57
+ case 'moveDown':
58
+ newFirstData = listBoxOneData.reverse();
59
+ newFirstData.forEach(function (item, index) {
60
+ if (item[selectedField]) {
61
+ newFirstData = (0, exports.moveItem)(index, index - 1, newFirstData);
62
+ }
63
+ });
64
+ newSecondData = listBoxTwoData.reverse();
65
+ newSecondData.forEach(function (item, index) {
66
+ if (item[selectedField]) {
67
+ newSecondData = (0, exports.moveItem)(index, index - 1, newSecondData);
68
+ }
69
+ });
70
+ result.listBoxOneData = __spreadArray([], newFirstData, true).reverse();
71
+ result.listBoxTwoData = __spreadArray([], newSecondData, true).reverse();
72
+ break;
73
+ case 'transferTo':
74
+ newFirstData = listBoxOneData.filter(function (item) {
75
+ return !item[selectedField];
76
+ });
77
+ itemsForTransfer = listBoxOneData.filter(function (item) {
78
+ return item[selectedField];
79
+ });
80
+ newSecondData = listBoxTwoData.concat(itemsForTransfer);
81
+ result.listBoxOneData = newFirstData;
82
+ result.listBoxTwoData = newSecondData;
83
+ break;
84
+ case 'transferFrom':
85
+ newSecondData = listBoxTwoData.filter(function (item) {
86
+ return !item[selectedField];
87
+ });
88
+ itemsForTransfer = listBoxTwoData.filter(function (item) {
89
+ return item[selectedField];
90
+ });
91
+ newFirstData = listBoxOneData.concat(itemsForTransfer);
92
+ result.listBoxOneData = newFirstData;
93
+ result.listBoxTwoData = newSecondData;
94
+ break;
95
+ case 'transferAllTo':
96
+ result.listBoxOneData = [];
97
+ result.listBoxTwoData = listBoxTwoData.concat(listBoxOneData);
98
+ break;
99
+ case 'transferAllFrom':
100
+ result.listBoxOneData = listBoxTwoData.concat(listBoxOneData);
101
+ result.listBoxTwoData = [];
102
+ break;
103
+ case 'remove':
104
+ newSecondData = listBoxTwoData.filter(function (item) {
105
+ return !item[selectedField];
106
+ });
107
+ newFirstData = listBoxOneData.filter(function (item) {
108
+ return !item[selectedField];
109
+ });
110
+ result.listBoxOneData = newFirstData;
111
+ result.listBoxTwoData = newSecondData;
112
+ break;
113
+ default:
114
+ }
115
+ return result;
116
+ };
117
+ exports.processListBoxData = processListBoxData;
118
+ /**
119
+ * @hidden
120
+ */
121
+ var moveItem = function moveItem(from, to, data) {
122
+ var f = data.splice(from, 1)[0];
123
+ data.splice(to, 0, f);
124
+ return data;
125
+ };
126
+ exports.moveItem = moveItem;
127
+ /**
128
+ * Process the data collection/s based on the dragged and drop item.
129
+ *
130
+ * @param {T[]} listBoxOneData - The first data collection.
131
+ * @param {T[]} listBoxTwoData - The second data collection. Pass an empty array if there is only one ListBox.
132
+ * @param {any} dragItem - The item that was dragged.
133
+ * @param {any} dropItem - The drop target item.
134
+ * @param {string} valueField - The field which points to the unique value of each data item.
135
+ * @returns {{listBoxOneData: T[], listBoxTwoData: t[]}} - The object that contains the new data collections.
136
+ */
137
+ // tslint:disable-next-line: max-line-length
138
+ var processListBoxDragAndDrop = function processListBoxDragAndDrop(listBoxOneData, listBoxTwoData, dragItem, dropItem, valueField) {
139
+ if (listBoxOneData === void 0) {
140
+ listBoxOneData = [];
141
+ }
142
+ if (listBoxTwoData === void 0) {
143
+ listBoxTwoData = [];
144
+ }
145
+ var dragItemIndexInFirstList = listBoxOneData.findIndex(function (item) {
146
+ return item[valueField] === dragItem[valueField];
147
+ });
148
+ var dragItemIndexInSecondList = listBoxTwoData.findIndex(function (item) {
149
+ return item[valueField] === dragItem[valueField];
150
+ });
151
+ var dropItemIndexInFirstList = dropItem !== null ? listBoxOneData.findIndex(function (item) {
152
+ return item[valueField] === dropItem[valueField];
153
+ }) : -1;
154
+ var dropItemIndexInSecondList = dropItem !== null ? listBoxTwoData.findIndex(function (item) {
155
+ return item[valueField] === dropItem[valueField];
156
+ }) : -1;
157
+ var isDragItemInFirstList = dragItemIndexInFirstList >= 0 ? true : false;
158
+ var isDragItemInSecondList = dragItemIndexInSecondList >= 0 ? true : false;
159
+ var isDropItemInFirstList = dropItemIndexInFirstList >= 0 ? true : false;
160
+ var isDropItemInSecondList = dropItemIndexInSecondList >= 0 ? true : false;
161
+ var firstDataSet = __spreadArray([], listBoxOneData, true);
162
+ var secondDataSet = __spreadArray([], listBoxTwoData, true);
163
+ if (isDragItemInFirstList && isDropItemInFirstList) {
164
+ return {
165
+ listBoxOneData: (0, exports.moveItem)(dragItemIndexInFirstList, dropItemIndexInFirstList, listBoxOneData),
166
+ listBoxTwoData: listBoxTwoData
167
+ };
168
+ }
169
+ if (isDragItemInSecondList && isDropItemInSecondList) {
170
+ return {
171
+ listBoxOneData: listBoxOneData,
172
+ listBoxTwoData: (0, exports.moveItem)(dragItemIndexInSecondList, dropItemIndexInSecondList, listBoxTwoData)
173
+ };
174
+ }
175
+ if (isDragItemInFirstList && (isDropItemInSecondList || dropItem === null)) {
176
+ if (dropItem === null) {
177
+ secondDataSet.push(listBoxOneData[dragItemIndexInFirstList]);
178
+ } else {
179
+ secondDataSet.splice(dropItemIndexInSecondList + 1, 0, listBoxOneData[dragItemIndexInFirstList]);
180
+ }
181
+ firstDataSet.splice(dragItemIndexInFirstList, 1);
182
+ return {
183
+ listBoxOneData: firstDataSet,
184
+ listBoxTwoData: secondDataSet
185
+ };
186
+ }
187
+ if (isDragItemInSecondList && (isDropItemInFirstList || dropItem === null)) {
188
+ if (dropItem === null) {
189
+ firstDataSet.push(listBoxTwoData[dragItemIndexInSecondList]);
190
+ } else {
191
+ firstDataSet.splice(dropItemIndexInFirstList + 1, 0, listBoxTwoData[dragItemIndexInSecondList]);
192
+ }
193
+ secondDataSet.splice(dragItemIndexInSecondList, 1);
194
+ return {
195
+ listBoxOneData: firstDataSet,
196
+ listBoxTwoData: secondDataSet
197
+ };
198
+ }
199
+ return {
200
+ listBoxOneData: listBoxOneData,
201
+ listBoxTwoData: listBoxTwoData
202
+ };
203
+ };
204
+ exports.processListBoxDragAndDrop = processListBoxDragAndDrop;
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@progress/kendo-vue-listbox",
3
+ "version": "3.7.4-dev.202212300853",
4
+ "description": "Vue ListBox enables you to display a list of items and manage the data between multiple lists. Kendo UI for Vue ListBox package",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/telerik/kendo-vue.git"
8
+ },
9
+ "main": "dist/npm/main.js",
10
+ "types": "dist/npm/main.d.ts",
11
+ "module": "dist/es/main.js",
12
+ "jsnext:main": "dist/es/main.js",
13
+ "scripts": {
14
+ "test": "cd ../../ && npm run test -- --testPathPattern=/packages/listbox/.*",
15
+ "e2e": "cd ../../ && npx jest --maxWorkers=4 --config jest.e2e.js packages/listbox",
16
+ "e2e-axe": "cd ../../ && npx jest --maxWorkers=4 --config jest.e2e.js packages/listbox/e2e/a11y.tests.ts",
17
+ "start": "gulp start",
18
+ "build-package": "gulp build-package"
19
+ },
20
+ "homepage": "https://www.telerik.com/kendo-vue-ui",
21
+ "keywords": [
22
+ "Kendo UI",
23
+ "Vue",
24
+ "Progress",
25
+ "ListBox",
26
+ "Kendo UI for Vue",
27
+ "vuejs",
28
+ "UI",
29
+ "components",
30
+ "Vue component",
31
+ "Telerik"
32
+ ],
33
+ "peerDependencies": {
34
+ "@progress/kendo-licensing": "^1.3.0",
35
+ "@progress/kendo-vue-buttons": "^3.7.3",
36
+ "@progress/kendo-vue-intl": "^3.7.3",
37
+ "vue": "^2.6.12 || ^3.0.2"
38
+ },
39
+ "dependencies": {
40
+ "@progress/kendo-vue-common": "3.7.4-dev.202212300853"
41
+ },
42
+ "devDependencies": {
43
+ "@progress/kendo-licensing": "^1.0.1",
44
+ "@progress/kendo-vue-buttons": "3.7.4-dev.202212300853",
45
+ "@progress/kendo-vue-intl": "3.7.4-dev.202212300853"
46
+ },
47
+ "@progress": {
48
+ "friendlyName": "ListBox",
49
+ "framework": "Kendo UI for Vue"
50
+ },
51
+ "author": "Progress",
52
+ "license": "SEE LICENSE IN LICENSE.md",
53
+ "publishConfig": {
54
+ "access": "public"
55
+ },
56
+ "sideEffects": false
57
+ }