@modeltables/fontawesome-vuetify 4.2.1 → 4.3.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/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  @modeltables/fontawesome-vuetify
2
2
 
3
- #Install
3
+ --Install
4
4
 
5
5
  ```bash
6
6
  pnpm add @modeltables/fontawesome-vuetify
7
7
  ```
8
8
 
9
- #Quick start
9
+ --Quick start
10
10
 
11
11
  1. Create Header and DataItem Model
12
12
 
@@ -33,9 +33,9 @@ export class ExampleModel {
33
33
  <Table
34
34
  v-if="dataItems.length"
35
35
  :options="{
36
- Key: 'Id',
37
- Active: true,
38
- ShowKey: false
36
+ Key: 'Id',
37
+ Active: false,
38
+ ShowKey: true
39
39
  }"
40
40
  :dataheader="dataheader"
41
41
  :showFilters="true"
@@ -46,21 +46,20 @@ export class ExampleModel {
46
46
  @search="search($event)"
47
47
  @rowClick="rowClick($event)">
48
48
  ```
49
- Documentation
50
49
 
51
- Options data input key are required with optional attributes.
50
+ --Documentation
51
+
52
+ You should probably import main component and make a quick look at model table in your database.
52
53
 
53
- The table shows your data and lets you manage it easily. It has built-in `load` and `search` events for quick requests and updates.
54
+ Before populating table, think about right types and order of models.
55
+ Table should exsist with at least one virtual element at runtime with filter option enabled.
54
56
 
55
- Loading spinner appears while items and pagination changes.
57
+ Default events for coordinated items are load and search with accompanying events for follow table data.
56
58
 
57
- Data items are organized in selections with two main events `itemSelection` and `multiSelection` to easy control your items.
58
-
59
- Using `showFilters` are essential with `rowClick` event when paginationModel mode is on for quick data changes.
60
-
61
- CRUD features like add, edit, or delete are ready to use.
59
+ Loading is mandatory while data items are retreving with option to use crud operation and right tool.
62
60
 
63
61
  License
64
- MIT
62
+
63
+ ISC
65
64
 
66
65
 
@@ -1,5 +1,4 @@
1
1
  import { selectedRow, unSelectedRow } from "../helpers/resources";
2
- import { isEqual } from "../helpers/instances";
3
2
 
4
3
  export class DataSetItems{
5
4
  id: number = 0;
@@ -27,27 +26,14 @@ export const changeMultipleSets = (method: any, item: DataSetItems, dataItems: D
27
26
  }
28
27
  }
29
28
 
30
- export const changeSet = (dataSetItems: DataSetItems[], multiSelected: boolean, multiSelectedItems: Object[] = []) => {
31
- let next, before;
29
+ export const changeSet = (dataSetItems: DataSetItems[], multiSelected: boolean) => {
32
30
  for(const value of dataSetItems){
33
- if(!multiSelected){
34
- value.properties.selected = false;
35
- value.properties.rowClass = unSelectedRow;
36
- if(multiSelectedItems.some(element => isEqual(element, value.dataItem))){
37
- multiSelectedItems = multiSelectedItems.filter(element => !isEqual(element, value.dataItem));
38
- before = value.dataItem;
39
- next = multiSelected;
40
- }
41
- }else{
42
- value.properties.selected = true;
43
- value.properties.rowClass = selectedRow;
44
- if(!multiSelectedItems.some(element => isEqual(element, value.dataItem))){
45
- multiSelectedItems = [...multiSelectedItems, value.dataItem];
46
- next = value.dataItem;
47
- before = multiSelected;
48
- }
49
- }
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
+ }
50
38
  }
51
-
52
- return { selectedItems: multiSelectedItems, beforeItem: before, afterItem: next };
53
39
  }
@@ -164,7 +164,6 @@ export default {
164
164
  showFilters: this.showFilters,
165
165
  modelValue: ref([]),
166
166
  firstChange: true,
167
- lastSelectedItem: Object as any,
168
167
  multiSelected: false,
169
168
  perPage: this.pagination!.PerPage,
170
169
  page: this.pagination!.CurrentPage,
@@ -203,15 +202,11 @@ export default {
203
202
 
204
203
  dataSet.changeMultipleSet = [(item: DataSetItems) => {
205
204
  if(this.multiSelectedItems.some(element => isEqual(element, item.dataItem))){
206
- setTimeout(() => {
207
- item.properties.rowClass = selectedRow;
208
- item.properties.selected = true;
209
- }, 100)
205
+ item.properties.rowClass = unSelectedRow;
206
+ item.properties.selected = false;
210
207
  }else{
211
- setTimeout(() => {
212
- item.properties.rowClass = unSelectedRow;
213
- item.properties.selected = false;
214
- }, 100)
208
+ item.properties.rowClass = selectedRow;
209
+ item.properties.selected = true;
215
210
  }
216
211
  }];
217
212
 
@@ -220,8 +215,6 @@ export default {
220
215
  dataSet.properties.rowClass = unSelectedRow;
221
216
  }
222
217
 
223
- this.multiSelectedItems = [];
224
- this.multiSelectedItems = [item.dataItem];
225
218
  changeActiveSets(dataSet.changeMultipleSet, item);
226
219
  }]
227
220
 
@@ -234,9 +227,7 @@ export default {
234
227
 
235
228
  this.dataSetItems = dataSetItems;
236
229
  this.dataItems = dataItems;
237
- if(this.multiSelect){
238
- this.changePageActiveSet(event);
239
- }
230
+
240
231
  },
241
232
  initHeaders() {
242
233
  let dataSetHeaders = [] as DataSetHeader[];
@@ -280,12 +271,13 @@ export default {
280
271
  for(let dataSet of this.dataSetItems){
281
272
  dataSet.properties.rowClass = unSelectedRow;
282
273
  }
274
+
283
275
  changeMultipleSets(item.changeItemSet, item, this.dataSetItems);
284
- this.$emit(itemSelection, {item: item.dataItem, lastItem: this.lastSelectedItem});
285
- this.lastSelectedItem = item.dataItem;
276
+ this.$emit(itemSelection, item.dataItem);
286
277
  }
287
278
 
288
279
  if(this.multiSelect){
280
+
289
281
  if(!this.multiSelectedItems.length){
290
282
  this.multiSelectedItems = [item.dataItem];
291
283
  }else if(this.multiSelectedItems.some(element => isEqual(element, item.dataItem))){
@@ -295,7 +287,7 @@ export default {
295
287
  }
296
288
 
297
289
  changeActiveSets(item.changeMultipleSet, item);
298
- this.$emit(multiSelection, { selectedItems: this.multiSelectedItems, beforeItem: item.dataItem, afterItem: item.dataItem });
290
+ this.$emit(multiSelection, this.multiSelectedItems);
299
291
  }
300
292
  },
301
293
  filterValue(event: any, dataItem: any){
@@ -350,6 +342,7 @@ export default {
350
342
  this.search();
351
343
  },
352
344
  pageSize(event: any){
345
+ console.log(event);
353
346
  this.perPage = event;
354
347
  this.filters.PerPage = this.perPage;
355
348
  this.search();
@@ -360,34 +353,12 @@ export default {
360
353
  this.filters.SortDirection = window.Number(prop.sort);
361
354
  this.search();
362
355
  },
363
- changePageActiveSet(event: any){
364
- if(this.dataSetItems.length && this.multiSelectedItems.length){
365
- for(let multiSelectItem of this.multiSelectedItems){
366
- let dataSetItem = this.dataSetItems.find((dataSet) => isEqual(dataSet.dataItem, multiSelectItem));
367
- if(dataSetItem != undefined){
368
- changeActiveSets(dataSetItem.changeMultipleSet, dataSetItem);
369
- }
370
- }
371
- this.changeCheckActiveSet(event);
372
- }
373
- },
374
- changeCheckActiveSet(event: any){
375
- for(let dataSetItem of this.dataSetItems){
376
- if(this.multiSelectedItems.some(element => isEqual(element, dataSetItem.dataItem))){
377
- this.multiSelected = true;
378
- }else{
379
- this.multiSelected = false;
380
- }
381
- }
382
- },
383
356
  selectItem(event){
384
357
  console.log(event);
385
358
  },
386
359
  multiSelectItems(event){
360
+ changeSet(this.dataSetItems, this.multiSelected);
387
361
  this.multiSelected = !this.multiSelected;
388
- let result = changeSet(this.dataSetItems, this.multiSelected, this.multiSelectedItems);
389
- this.multiSelectedItems = result.selectedItems;
390
- this.$emit(multiSelection, result);
391
362
  }
392
363
  }
393
364
  }