@kuzntsv/uikit 1.0.90 → 1.0.92

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kuzntsv/uikit",
3
- "version": "1.0.90",
3
+ "version": "1.0.92",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^22.2.2",
6
6
  "@angular/core": "^22.2.2",
@@ -1310,15 +1310,15 @@ export declare abstract class BaseSignalFilterClass<F extends SafeFilterState> {
1310
1310
  "filters": "filtersChange";
1311
1311
  }, never, never, true, never>;
1312
1312
  }
1313
- export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F extends SafeFilterState = Record<string, never>> implements OnDestroy {
1313
+ export declare abstract class BaseSignalPageClass<TDomain extends BaseSchemaClass, TForm extends BaseSchemaClass = TDomain, TFilter extends SafeFilterState = Record<string, never>> implements OnDestroy {
1314
1314
  protected dialog: MatDialog;
1315
1315
  protected injector: Injector;
1316
1316
  protected entityService: any;
1317
1317
  protected entityEditComponent?: any;
1318
1318
  protected extraData?: any;
1319
- protected abstract readonly schema: z.ZodType<T>;
1320
- protected readonly filterSchema?: z.ZodType<F>;
1321
- protected readonly defaultFilters?: F;
1319
+ protected abstract readonly schemaDTO: z.ZodType<TDomain>;
1320
+ protected readonly filterSchema?: z.ZodType<TFilter>;
1321
+ protected readonly defaultFilters?: TFilter;
1322
1322
  private get storagePrefix();
1323
1323
  defaultPageIndex: number;
1324
1324
  defaultPageSize: number;
@@ -1332,27 +1332,27 @@ export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F e
1332
1332
  /**
1333
1333
  * Создание записи: вызывается перед открытием диалога.
1334
1334
  */
1335
- beforeOpenDialogOnNewEvent: fnType<T>;
1335
+ beforeOpenDialogOnNewEvent: fnType<TDomain>;
1336
1336
  /**
1337
1337
  * Редактирование записи: вызывается перед открытием диалога.
1338
1338
  */
1339
- beforeOpenDialogOnEditEvent: fnType<T>;
1339
+ beforeOpenDialogOnEditEvent: fnType<TDomain>;
1340
1340
  /**
1341
1341
  * Создание записи: вызывается перед сохранением объекта.
1342
1342
  */
1343
- beforeSaveOnNewEvent: fnType<T>;
1343
+ beforeSaveOnNewEvent: fnType<TDomain>;
1344
1344
  /**
1345
1345
  * Редактирование записи: вызывается перед сохранением объекта.
1346
1346
  */
1347
- beforeSaveOnEditEvent: fnType<T>;
1347
+ beforeSaveOnEditEvent: fnType<TDomain>;
1348
1348
  /**
1349
1349
  * Создание записи: вызывается после сохранения объекта.
1350
1350
  */
1351
- afterSaveOnNewEvent: fnCbType<T>;
1351
+ afterSaveOnNewEvent: fnCbType<TDomain>;
1352
1352
  /**
1353
1353
  * Редактирование записи: вызывается после сохранения объекта.
1354
1354
  */
1355
- afterSaveOnEditEvent: fnCbType<T>;
1355
+ afterSaveOnEditEvent: fnCbType<TDomain>;
1356
1356
  editorRoles: string[];
1357
1357
  executeRoles: string[];
1358
1358
  /** Список ролей, для которых скрыть элемент. */
@@ -1360,16 +1360,12 @@ export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F e
1360
1360
  /** Разрешен выбор нескольких строк. */
1361
1361
  allowMultiSelect: boolean;
1362
1362
  /** Выбранные строки в таблице. */
1363
- selected: T[];
1364
- protected fnMapEntity: fnMapEntityType<T> | undefined;
1365
- protected dataResource: HttpResourceRef<T[]>;
1363
+ selected: TForm[];
1364
+ protected fnMapEntity: fnMapEntityType<TForm> | undefined;
1365
+ protected dataResource: HttpResourceRef<TForm[]>;
1366
1366
  protected countResource: HttpResourceRef<number>;
1367
- /**
1368
- * 1. АБСТРАКТНЫЕ ФАБРИКИ: Компонент сам определит,
1369
- * какие методы какого сервиса вызвать для инициализации.
1370
- */
1371
1367
  /** Данные для табличного компонента. */
1372
- data: import("@angular/core").Signal<T[]>;
1368
+ data: import("@angular/core").Signal<TForm[]>;
1373
1369
  /** Количество записей по фильтру. */
1374
1370
  length: import("@angular/core").Signal<number>;
1375
1371
  /** Глобальный индикатор загрузки (для спиннера на странице) */
@@ -1380,7 +1376,7 @@ export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F e
1380
1376
  removeBtnDisabled: boolean;
1381
1377
  /** Разрешено ли отправлять событие rowDoubleClicked при двойном щелчке мышью. */
1382
1378
  dblClickedEventEnable: boolean;
1383
- opt: IContextMenuOptions<T>[];
1379
+ opt: IContextMenuOptions<TForm>[];
1384
1380
  protected router: Router;
1385
1381
  /** Сервис для работы с LocalStorage. */
1386
1382
  protected localStorageService: LocalStorageService;
@@ -1394,11 +1390,10 @@ export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F e
1394
1390
  /** Разово прочитать сохраненные значения из localStorage при старте страницы,
1395
1391
  * провалидировать их через Zod-схему и записать в сигнал filters */
1396
1392
  protected initFilters(): void;
1397
- clearEvent(): void;
1398
1393
  private getInitialFilters2;
1399
- filters: import("@angular/core").WritableSignal<F>;
1400
- /** Загрузка данных. */
1401
- /** Загрузка количества записей. */
1394
+ /** Событие очистки фильтра. */
1395
+ clearEvent(): void;
1396
+ filters: import("@angular/core").WritableSignal<TFilter>;
1402
1397
  /** Очистка фильтра. (для очистки присвоить пустой объект '{}'). */
1403
1398
  clearFilters: import("@angular/core").WritableSignal<any>;
1404
1399
  /** Состояние сортировки, пагинации. */
@@ -1414,20 +1409,20 @@ export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F e
1414
1409
  * @param key - имя фильтра.
1415
1410
  * @param value - значение.
1416
1411
  */
1417
- setFilter<K extends keyof F>(key: K, value: F[K]): void;
1412
+ setFilter<K extends keyof TFilter>(key: K, value: TFilter[K]): void;
1418
1413
  /**
1419
1414
  * Обновление нескольких фильтров одновременно (пачкой)
1420
1415
  * @param fields Пачка фильтров в виде объекта { имяПоля: значение }
1421
1416
  */
1422
- setFilters(fields: Partial<F>): void;
1417
+ setFilters(fields: Partial<TFilter>): void;
1423
1418
  onPageChange(pageState: PageState): void;
1424
1419
  onSortChange(sortState: SortState): void;
1425
1420
  /** Событие изменение выбранных записей. */
1426
- onSelectionChange(selected: T[]): void;
1421
+ onSelectionChange(selected: TForm[]): void;
1427
1422
  /** Обновление доступности кнопки "Изменить" - вызывается при изменении выбранных записей. */
1428
- editBtnDisabledUpdate(selected: T[]): void;
1423
+ editBtnDisabledUpdate(selected: TForm[]): void;
1429
1424
  /** Обновление доступности кнопки "Удалить" - вызывается при изменении выбранных записей. */
1430
- removeBtnDisabledUpdate(selected: T[]): void;
1425
+ removeBtnDisabledUpdate(selected: TForm[]): void;
1431
1426
  /** Событие двойной клик. */
1432
1427
  onRowDoubleClicked(): void;
1433
1428
  /** Событие создание. */
@@ -1438,17 +1433,21 @@ export declare abstract class BaseSignalPageClass<T extends BaseSchemaClass, F e
1438
1433
  removeEvent(): void;
1439
1434
  /** Событие обновления данных. */
1440
1435
  refreshEvent(): void;
1441
- /** Событие очистки фильтра. */
1442
1436
  /** Изменение сообщения об удалении. */
1443
1437
  onRemovalMessageChange(message: string): void;
1444
1438
  /** Изменение заголовка страницы. */
1445
1439
  onPageTitleChange(title: string): void;
1446
- openDialog(entityComponent: any, data: IEditDialogData<T>, dialog: any): any;
1440
+ openDialog(entityComponent: any, data: IEditDialogData<TDomain>, dialog: any): any;
1447
1441
  openDialogRemoveConfirm(removalMessage: string): MatDialogRef<DialogComponent> | undefined;
1448
- protected onMiddleButton(baseUrl: string, queryParamName?: string, queryParamValue?: string): ($event: MouseEvent, item: T | undefined, contextMenu: MatMenuTrigger) => void;
1449
- protected onActionMiddleButton(baseUrl: string, queryParamName?: string, queryParamValue?: string): ($event: MouseEvent, item: T | undefined) => void;
1450
- static ɵfac: i0.ɵɵFactoryDeclaration<BaseSignalPageClass<any, any>, never>;
1451
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSignalPageClass<any, any>, never, never, {}, {}, never, never, true, never>;
1442
+ protected onMiddleButton(baseUrl: string, queryParamName?: string, queryParamValue?: string): ($event: MouseEvent, item: TForm | undefined, contextMenu: MatMenuTrigger) => void;
1443
+ protected onActionMiddleButton(baseUrl: string, queryParamName?: string, queryParamValue?: string): ($event: MouseEvent, item: TForm | undefined) => void;
1444
+ /**
1445
+ * Маппинг: Форма -> Домен.
1446
+ * Реализация по умолчанию объединяет старый домен и новые поля формы.
1447
+ */
1448
+ protected formModelToDomainModel(formModel: TForm, originalDomain?: TDomain): TDomain;
1449
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseSignalPageClass<any, any, any>, never>;
1450
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSignalPageClass<any, any, any>, never, never, {}, {}, never, never, true, never>;
1452
1451
  }
1453
1452
  export declare abstract class BaseSignalServiceClass<T extends BaseSchemaClass> {
1454
1453
  abstract baseRoute: string;