flameresttable 1.0.100 → 1.0.102
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 +6 -0
- package/src/Table/FlameTable.ts +12 -3
- package/src/Table/Table.vue +1 -0
package/package.json
CHANGED
package/src/Table/Columns.ts
CHANGED
|
@@ -184,6 +184,9 @@ export class Column implements IColumn {
|
|
|
184
184
|
// Тут привязка к реальным данным
|
|
185
185
|
model: "",
|
|
186
186
|
|
|
187
|
+
// Тут модель для файлов
|
|
188
|
+
fileModel: null as any,
|
|
189
|
+
|
|
187
190
|
// Заголовок поля в попапе
|
|
188
191
|
title: "",
|
|
189
192
|
|
|
@@ -419,6 +422,9 @@ export interface IColumn {
|
|
|
419
422
|
// Тут привязка к реальным данным
|
|
420
423
|
model?: any,
|
|
421
424
|
|
|
425
|
+
// Тут модель для файлов
|
|
426
|
+
fileModel?: any,
|
|
427
|
+
|
|
422
428
|
// Заголовок поля в попапе
|
|
423
429
|
title?: string,
|
|
424
430
|
|
package/src/Table/FlameTable.ts
CHANGED
|
@@ -401,7 +401,8 @@ export default class FlameTable<T> {
|
|
|
401
401
|
// TODO: убрать пустой массив т.к. при добавлении он не нужен или прикрепить реактивную модель?
|
|
402
402
|
if (await this.opts.Popup.beforeAdd({}, this) === false) { return null; }
|
|
403
403
|
|
|
404
|
-
const
|
|
404
|
+
const cols = await (window as any).REST.prepare(this.getColumnsForUpdate('add'), true);
|
|
405
|
+
const res: SavedObject<T> = await Object.getPrototypeOf(this.model).constructor.create(cols);
|
|
405
406
|
|
|
406
407
|
if (!res.ok || !res.data) {
|
|
407
408
|
throw res;
|
|
@@ -422,8 +423,11 @@ export default class FlameTable<T> {
|
|
|
422
423
|
// Сперва предобработка
|
|
423
424
|
if (await this.opts.Popup.beforeEdit(columns, this) === false) { return null; }
|
|
424
425
|
|
|
426
|
+
// Подготовка к загрузке
|
|
427
|
+
const preparedCols = await (window as any).REST.prepare(columns, true);
|
|
428
|
+
|
|
425
429
|
// Сохраняем
|
|
426
|
-
const res: SavedObject<T> = await tClass.edit(columns[indexKey],
|
|
430
|
+
const res: SavedObject<T> = await tClass.edit(columns[indexKey], preparedCols);
|
|
427
431
|
|
|
428
432
|
if (!res.ok) {
|
|
429
433
|
throw res;
|
|
@@ -461,7 +465,12 @@ export default class FlameTable<T> {
|
|
|
461
465
|
if (mode === 'add' && !this.columns[key].Popup.isSendFromAdd) continue;
|
|
462
466
|
if (mode === 'edit' && !this.columns[key].Popup.isSendFromEdit) continue;
|
|
463
467
|
// TODO: здесь может быть полезно сохранять пустую строку
|
|
464
|
-
if (this.columns[key].Popup.model !== '') {
|
|
468
|
+
if (this.columns[key].Popup.model !== '') {
|
|
469
|
+
if (this.columns[key].Popup.fileModel !== null)
|
|
470
|
+
res[key] = this.columns[key].Popup.fileModel
|
|
471
|
+
else
|
|
472
|
+
res[key] = this.columns[key].Popup.model
|
|
473
|
+
}
|
|
465
474
|
}
|
|
466
475
|
return res;
|
|
467
476
|
}
|
package/src/Table/Table.vue
CHANGED
|
@@ -327,6 +327,7 @@ export default defineComponent({
|
|
|
327
327
|
Table.columns[column].Popup.model = ev;
|
|
328
328
|
const prepared = (await REST.prepare({ myParam: ev })).myParam;
|
|
329
329
|
Table.columns[column].Popup.model = prepared
|
|
330
|
+
Table.columns[column].Popup.fileModel = { myParam: ev }
|
|
330
331
|
}
|
|
331
332
|
|
|
332
333
|
/*
|