@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.
- package/LICENSE.md +11 -0
- package/NOTICE.txt +86 -0
- package/README.md +52 -0
- package/dist/cdn/js/kendo-vue-listbox.js +1 -0
- package/dist/es/ListBox.d.ts +40 -0
- package/dist/es/ListBox.js +253 -0
- package/dist/es/ListBoxToolbar.d.ts +40 -0
- package/dist/es/ListBoxToolbar.js +166 -0
- package/dist/es/additionalTypes.ts +21 -0
- package/dist/es/interfaces/Enums.d.ts +7 -0
- package/dist/es/interfaces/Enums.js +8 -0
- package/dist/es/interfaces/ListBoxEvents.d.ts +13 -0
- package/dist/es/interfaces/ListBoxEvents.js +1 -0
- package/dist/es/interfaces/ListBoxProps.d.ts +93 -0
- package/dist/es/interfaces/ListBoxProps.js +2 -0
- package/dist/es/interfaces/ListBoxToolBarProps.d.ts +32 -0
- package/dist/es/interfaces/ListBoxToolBarProps.js +1 -0
- package/dist/es/main.d.ts +7 -0
- package/dist/es/main.js +4 -0
- package/dist/es/messages/main.d.ts +40 -0
- package/dist/es/messages/main.js +41 -0
- package/dist/es/package-metadata.d.ts +5 -0
- package/dist/es/package-metadata.js +11 -0
- package/dist/es/utils.d.ts +31 -0
- package/dist/es/utils.js +195 -0
- package/dist/esm/ListBox.d.ts +40 -0
- package/dist/esm/ListBox.js +253 -0
- package/dist/esm/ListBoxToolbar.d.ts +40 -0
- package/dist/esm/ListBoxToolbar.js +166 -0
- package/dist/esm/additionalTypes.ts +21 -0
- package/dist/esm/interfaces/Enums.d.ts +7 -0
- package/dist/esm/interfaces/Enums.js +8 -0
- package/dist/esm/interfaces/ListBoxEvents.d.ts +13 -0
- package/dist/esm/interfaces/ListBoxEvents.js +1 -0
- package/dist/esm/interfaces/ListBoxProps.d.ts +93 -0
- package/dist/esm/interfaces/ListBoxProps.js +2 -0
- package/dist/esm/interfaces/ListBoxToolBarProps.d.ts +32 -0
- package/dist/esm/interfaces/ListBoxToolBarProps.js +1 -0
- package/dist/esm/main.d.ts +7 -0
- package/dist/esm/main.js +4 -0
- package/dist/esm/messages/main.d.ts +40 -0
- package/dist/esm/messages/main.js +41 -0
- package/dist/esm/package-metadata.d.ts +5 -0
- package/dist/esm/package-metadata.js +11 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/utils.d.ts +31 -0
- package/dist/esm/utils.js +195 -0
- package/dist/npm/ListBox.d.ts +40 -0
- package/dist/npm/ListBox.js +260 -0
- package/dist/npm/ListBoxToolbar.d.ts +40 -0
- package/dist/npm/ListBoxToolbar.js +173 -0
- package/dist/npm/additionalTypes.ts +21 -0
- package/dist/npm/interfaces/Enums.d.ts +7 -0
- package/dist/npm/interfaces/Enums.js +14 -0
- package/dist/npm/interfaces/ListBoxEvents.d.ts +13 -0
- package/dist/npm/interfaces/ListBoxEvents.js +5 -0
- package/dist/npm/interfaces/ListBoxProps.d.ts +93 -0
- package/dist/npm/interfaces/ListBoxProps.js +3 -0
- package/dist/npm/interfaces/ListBoxToolBarProps.d.ts +32 -0
- package/dist/npm/interfaces/ListBoxToolBarProps.js +5 -0
- package/dist/npm/main.d.ts +7 -0
- package/dist/npm/main.js +11 -0
- package/dist/npm/messages/main.d.ts +40 -0
- package/dist/npm/messages/main.js +44 -0
- package/dist/npm/package-metadata.d.ts +5 -0
- package/dist/npm/package-metadata.js +14 -0
- package/dist/npm/utils.d.ts +31 -0
- package/dist/npm/utils.js +204 -0
- 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
|
+
}
|