@modeltables/fontawesome-vuetify 2.1.0 → 2.2.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.
- package/components/dataSets/dataSetItems.ts +35 -3
- package/components/helpers/instances.ts +1 -1
- package/components/table/TableView.vue +39 -32
- package/dist/index.amd.ts +15 -15
- package/dist/index.esm.ts +2260 -2239
- package/package.json +1 -1
|
@@ -1,7 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
import { selectedRow, unSelectedRow } from "../helpers/resources";
|
|
2
|
+
|
|
3
|
+
export class DataSetItems{
|
|
2
4
|
id: number = 0;
|
|
3
5
|
startPosition: boolean = false;
|
|
4
|
-
selected: boolean = false;
|
|
5
|
-
rowClass: string = '';
|
|
6
6
|
dataItem: Object = Object.assign({});
|
|
7
|
+
changeMultipleSet: ((item: DataSetItems) => void)[] = [];
|
|
8
|
+
changeItemSet: ((item: DataSetItems, dataItems: DataSetItems[]) => void)[] = [];
|
|
9
|
+
properties: DataSetItemProps = new DataSetItemProps();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class DataSetItemProps{
|
|
13
|
+
rowClass: string = unSelectedRow;
|
|
14
|
+
selected: boolean = false;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const changeActiveSets = (method: any, item: DataSetItems) => {
|
|
18
|
+
for(let state of method){
|
|
19
|
+
state(item);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const changeMultipleSets = (method: any, item: DataSetItems, dataItems: DataSetItems[] = []) => {
|
|
24
|
+
for(let state of method){
|
|
25
|
+
state(item, dataItems);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const changeSet = (dataSetItems: DataSetItems[], multiSelected: boolean) => {
|
|
30
|
+
for(const value of dataSetItems){
|
|
31
|
+
if(!multiSelected){
|
|
32
|
+
value.properties.selected = true;
|
|
33
|
+
value.properties.rowClass = selectedRow;
|
|
34
|
+
}else{
|
|
35
|
+
value.properties.selected = false;
|
|
36
|
+
value.properties.rowClass = unSelectedRow;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
7
39
|
}
|
|
@@ -16,7 +16,7 @@ import PaginationView from '@/components/pagination/PaginationView.vue';
|
|
|
16
16
|
import DataItem from '@/components/table/data/ItemView.vue';
|
|
17
17
|
import { isEqual } from '../helpers/instances';
|
|
18
18
|
import { DataSetHeader } from '../dataSets/dataSetHeader';
|
|
19
|
-
import { DataSetItems } from '../dataSets/dataSetItems';
|
|
19
|
+
import { changeActiveSets, changeMultipleSets, changeSet, DataSetItems } from '../dataSets/dataSetItems';
|
|
20
20
|
|
|
21
21
|
export default {
|
|
22
22
|
props: {
|
|
@@ -154,7 +154,7 @@ export default {
|
|
|
154
154
|
faIndent: faIndent,
|
|
155
155
|
faCheck: faCheck,
|
|
156
156
|
faSquare: faSquare,
|
|
157
|
-
|
|
157
|
+
multiSelectedItems: [] as Object[],
|
|
158
158
|
lastItem: {},
|
|
159
159
|
completes: this.completes,
|
|
160
160
|
filters: { CurrentPage: 1, PerPage: 10, SortColumn: '', SortDirection: 1 } as any,
|
|
@@ -167,7 +167,10 @@ export default {
|
|
|
167
167
|
pageCount: this.pagination!.PageCount,
|
|
168
168
|
totalCount:this.pagination!.TotalCount,
|
|
169
169
|
showTime: this.showTime,
|
|
170
|
-
isEqual: isEqual
|
|
170
|
+
isEqual: isEqual,
|
|
171
|
+
changeMultipleSets: changeMultipleSets,
|
|
172
|
+
changeActiveSets: changeActiveSets,
|
|
173
|
+
changeSet: changeSet
|
|
171
174
|
};
|
|
172
175
|
},
|
|
173
176
|
methods: {
|
|
@@ -192,9 +195,25 @@ export default {
|
|
|
192
195
|
for(let [index, item] of dataItems.entries()){
|
|
193
196
|
let dataSet = new DataSetItems();
|
|
194
197
|
dataSet.id = index + 1;
|
|
195
|
-
dataSet.
|
|
196
|
-
|
|
197
|
-
dataSet.
|
|
198
|
+
dataSet.dataItem = item;
|
|
199
|
+
|
|
200
|
+
dataSet.changeMultipleSet = [(item: DataSetItems) => {
|
|
201
|
+
if(this.multiSelectedItems.some(element => isEqual(element, item.dataItem))){
|
|
202
|
+
item.properties.rowClass = unSelectedRow;
|
|
203
|
+
item.properties.selected = false;
|
|
204
|
+
}else{
|
|
205
|
+
item.properties.rowClass = selectedRow;
|
|
206
|
+
item.properties.selected = true;
|
|
207
|
+
}
|
|
208
|
+
}];
|
|
209
|
+
|
|
210
|
+
dataSet.changeItemSet = [(item: DataSetItems, dataItems: DataSetItems[]) => {
|
|
211
|
+
for(let dataSet of dataItems){
|
|
212
|
+
dataSet.properties.rowClass = unSelectedRow;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
changeActiveSets(dataSet.changeMultipleSet, item);
|
|
216
|
+
}]
|
|
198
217
|
|
|
199
218
|
if(dataSet.id == 1){
|
|
200
219
|
dataSet.startPosition = true;
|
|
@@ -247,28 +266,25 @@ export default {
|
|
|
247
266
|
|
|
248
267
|
if(this.select){
|
|
249
268
|
for(let dataSet of this.dataSetItems){
|
|
250
|
-
dataSet.rowClass =
|
|
269
|
+
dataSet.properties.rowClass = unSelectedRow;
|
|
251
270
|
}
|
|
252
271
|
|
|
253
|
-
item.
|
|
272
|
+
changeMultipleSets(item.changeItemSet, item, this.dataSetItems);
|
|
254
273
|
this.$emit(itemSelection, item.dataItem);
|
|
255
274
|
}
|
|
256
275
|
|
|
257
276
|
if(this.multiSelect){
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
this.
|
|
263
|
-
}else if(item.selected){
|
|
264
|
-
item.rowClass = selectedRow;
|
|
265
|
-
this.multiSelectionItems = [...this.multiSelectionItems, item.dataItem]
|
|
277
|
+
|
|
278
|
+
if(!this.multiSelectedItems.length){
|
|
279
|
+
this.multiSelectedItems = [item.dataItem];
|
|
280
|
+
}else if(this.multiSelectedItems.some(element => isEqual(element, item.dataItem))){
|
|
281
|
+
this.multiSelectedItems = this.multiSelectedItems.filter(element => !isEqual(element, item.dataItem));
|
|
266
282
|
}else{
|
|
267
|
-
|
|
268
|
-
this.multiSelectionItems = this.multiSelectionItems.filter(element => !isEqual(element, item.dataItem));
|
|
283
|
+
this.multiSelectedItems = [...this.multiSelectedItems, item.dataItem]
|
|
269
284
|
}
|
|
270
285
|
|
|
271
|
-
|
|
286
|
+
changeActiveSets(item.changeMultipleSet, item);
|
|
287
|
+
this.$emit(multiSelection, this.multiSelectedItems);
|
|
272
288
|
}
|
|
273
289
|
},
|
|
274
290
|
filterValue(event: any, dataItem: any){
|
|
@@ -338,16 +354,7 @@ export default {
|
|
|
338
354
|
console.log(event);
|
|
339
355
|
},
|
|
340
356
|
multiSelectItems(event){
|
|
341
|
-
|
|
342
|
-
if(!this.multiSelected){
|
|
343
|
-
value.selected = true;
|
|
344
|
-
value.rowClass = selectedRow;
|
|
345
|
-
}else{
|
|
346
|
-
value.selected = false;
|
|
347
|
-
value.rowClass = unSelectedRow;
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
|
|
357
|
+
changeSet(this.dataSetItems, this.multiSelected);
|
|
351
358
|
this.multiSelected = !this.multiSelected;
|
|
352
359
|
}
|
|
353
360
|
}
|
|
@@ -413,9 +420,9 @@ export default {
|
|
|
413
420
|
</Filters>
|
|
414
421
|
</td>
|
|
415
422
|
</tr>
|
|
416
|
-
<tr @click="updateItem(dataSet, dataSet.id!)" :class="dataSet.rowClass">
|
|
417
|
-
<td v-if="multiSelect"
|
|
418
|
-
<FontAwesomeIcon v-if="dataSet.selected" :icon="faCheck"></FontAwesomeIcon>
|
|
423
|
+
<tr @click="updateItem(dataSet, dataSet.id!)" v-bind="dataSet.properties" :class="dataSet.properties.rowClass">
|
|
424
|
+
<td v-if="multiSelect">
|
|
425
|
+
<FontAwesomeIcon v-if="dataSet.properties.selected" :icon="faCheck"></FontAwesomeIcon>
|
|
419
426
|
<FontAwesomeIcon v-else :icon="faSquare"></FontAwesomeIcon>
|
|
420
427
|
</td>
|
|
421
428
|
<td v-for="(prop) in Object.keys(dataSet.dataItem)">
|