flameresttable 1.0.118 → 1.0.119
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/package.json +1 -1
- package/src/Table/Columns.ts +44 -5
- package/src/Table/FlameTable.ts +11 -1
package/package.json
CHANGED
package/src/Table/Columns.ts
CHANGED
|
@@ -124,7 +124,17 @@ export class Column implements IColumn {
|
|
|
124
124
|
* @param col
|
|
125
125
|
* @returns
|
|
126
126
|
*/
|
|
127
|
-
value: (row: any, col: string) => row[col]
|
|
127
|
+
value: (row: any, col: string) => row[col],
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Добавить в начало списка
|
|
131
|
+
*/
|
|
132
|
+
prepend: [] as ITableSelectorItem[],
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Добавить в конец списка
|
|
136
|
+
*/
|
|
137
|
+
append: [] as ITableSelectorItem[]
|
|
128
138
|
|
|
129
139
|
};
|
|
130
140
|
|
|
@@ -228,7 +238,17 @@ export class Column implements IColumn {
|
|
|
228
238
|
values: [],
|
|
229
239
|
|
|
230
240
|
// Загрузчик значений - используется всегда и перекрывает values
|
|
231
|
-
loader: (column: Column) => null
|
|
241
|
+
loader: (column: Column) => null,
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Добавить в начало списка
|
|
245
|
+
*/
|
|
246
|
+
prepend: [] as ITableSelectorItem[],
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Добавить в конец списка
|
|
250
|
+
*/
|
|
251
|
+
append: [] as ITableSelectorItem[]
|
|
232
252
|
|
|
233
253
|
},
|
|
234
254
|
|
|
@@ -418,7 +438,17 @@ export interface IColumn {
|
|
|
418
438
|
* @param col
|
|
419
439
|
* @returns
|
|
420
440
|
*/
|
|
421
|
-
value?: (row: any, col: string) => any
|
|
441
|
+
value?: (row: any, col: string) => any,
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Добавить в начало списка
|
|
445
|
+
*/
|
|
446
|
+
prepend?: ITableSelectorItem[],
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Добавить в конец списка
|
|
450
|
+
*/
|
|
451
|
+
append?: ITableSelectorItem[]
|
|
422
452
|
|
|
423
453
|
},
|
|
424
454
|
|
|
@@ -466,7 +496,6 @@ export interface IColumn {
|
|
|
466
496
|
// Текст ошибки добавления/обновления
|
|
467
497
|
errorMessage?: string,
|
|
468
498
|
|
|
469
|
-
|
|
470
499
|
// Настройки селектора, если он включён в popupType
|
|
471
500
|
Selector?: {
|
|
472
501
|
|
|
@@ -474,7 +503,17 @@ export interface IColumn {
|
|
|
474
503
|
values?: Array<any>,
|
|
475
504
|
|
|
476
505
|
// Загрузчик значений - используется всегда и перекрывает values
|
|
477
|
-
loader?: (column: Column) => Array<any> | null
|
|
506
|
+
loader?: (column: Column) => Array<any> | null,
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Добавить в начало списка
|
|
510
|
+
*/
|
|
511
|
+
prepend?: ITableSelectorItem[],
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
* Добавить в конец списка
|
|
515
|
+
*/
|
|
516
|
+
append?: ITableSelectorItem[]
|
|
478
517
|
|
|
479
518
|
},
|
|
480
519
|
|
package/src/Table/FlameTable.ts
CHANGED
|
@@ -111,8 +111,11 @@ export default class FlameTable<T> {
|
|
|
111
111
|
newCol.name = key;
|
|
112
112
|
|
|
113
113
|
// Загружаем селекторы один раз за страницу
|
|
114
|
-
if (newCol.Popup.popupType === 'selector' && newCol.Popup.Selector.loader !== null)
|
|
114
|
+
if (newCol.Popup.popupType === 'selector' && newCol.Popup.Selector.loader !== null) {
|
|
115
115
|
newCol.Popup.Selector.values = reactive(newCol.Popup.Selector.loader(newCol) ?? newCol.Popup.Selector.values)
|
|
116
|
+
if (newCol.Popup.Selector.prepend.length > 0) (newCol.Popup.Selector.values as any[]).unshift(...newCol.Popup.Selector.prepend);
|
|
117
|
+
if (newCol.Popup.Selector.append.length > 0) (newCol.Popup.Selector.values as any[]).push(...newCol.Popup.Selector.append);
|
|
118
|
+
}
|
|
116
119
|
|
|
117
120
|
}
|
|
118
121
|
|
|
@@ -225,6 +228,13 @@ export default class FlameTable<T> {
|
|
|
225
228
|
// Начинаем процесс предзагрузки
|
|
226
229
|
await Promise.allSettled(allPreloadPromises);
|
|
227
230
|
|
|
231
|
+
// Добавляем prepend/append
|
|
232
|
+
for (const key in this.columns) {
|
|
233
|
+
const col = this.columns[key];
|
|
234
|
+
if (col.Selector.prepend.length > 0) col.Selector.values.unshift(...col.Selector.prepend);
|
|
235
|
+
if (col.Selector.append.length > 0) col.Selector.values.push(...col.Selector.append);
|
|
236
|
+
}
|
|
237
|
+
|
|
228
238
|
}
|
|
229
239
|
|
|
230
240
|
/**
|