imng-kendo-data-entry 8.185.1 → 8.186.5
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/fesm2022/imng-kendo-data-entry-testing.mjs.map +1 -1
- package/fesm2022/imng-kendo-data-entry.mjs +15 -14
- package/fesm2022/imng-kendo-data-entry.mjs.map +1 -1
- package/index.d.ts +143 -9
- package/package.json +1 -1
- package/testing/index.d.ts +59 -7
- package/lib/base-data-entry.component.d.ts +0 -63
- package/lib/data-delete-facade.d.ts +0 -3
- package/lib/data-entry-dialog.component.d.ts +0 -31
- package/lib/data-entry-facade.d.ts +0 -12
- package/lib/dialog-buttons.directive.d.ts +0 -7
- package/lib/form-group-patcher.d.ts +0 -6
- package/lib/imng-kendo-data-entry.module.d.ts +0 -10
- package/lib/modal-states.d.ts +0 -4
- package/lib/reducer-collection-logic.d.ts +0 -10
- package/testing/data-delete-facade-http-tests.d.ts +0 -4
- package/testing/data-delete-mock.facade.d.ts +0 -5
- package/testing/data-entry-facade-http-tests.d.ts +0 -7
- package/testing/data-entry-facade-tests.d.ts +0 -10
- package/testing/data-entry-mock.facade.d.ts +0 -13
- package/testing/mock-data-entry-dialog.component.d.ts +0 -12
- package/testing/test-trigger-event-helpers.d.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-kendo-data-entry-testing.mjs","sources":["../../../../libs/imng-kendo-data-entry/testing/src/data-entry-mock.facade.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-entry-facade-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-entry-facade-http-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-delete-facade-http-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-delete-mock.facade.ts","../../../../libs/imng-kendo-data-entry/testing/src/test-trigger-event-helpers.ts","../../../../libs/imng-kendo-data-entry/testing/src/mock-data-entry-dialog.component.ts","../../../../libs/imng-kendo-data-entry/testing/src/imng-kendo-data-entry-testing.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { IDataEntryFacade } from 'imng-kendo-data-entry';\n\nexport class DataEntryMockFacade implements IDataEntryFacade<unknown> {\n public loading$: Observable<boolean> = of(false);\n public currentEntity$: Observable<unknown> = of(null);\n public isEditActive$: Observable<boolean> = of(false);\n public isNewActive$: Observable<boolean> = of(false);\n public setCurrentEntity = jest.fn();\n public clearCurrentEntity = jest.fn();\n public saveNewEntity = jest.fn();\n public updateExistingEntity = jest.fn();\n}\n\nexport function createDataEntryMockFacade(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mockFacade?: IDataEntryFacade<unknown> | any,\n): IDataEntryFacade<unknown> {\n const localFacade = new DataEntryMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;\n mockFacade.currentEntity$ =\n mockFacade.currentEntity$ || localFacade.currentEntity$;\n mockFacade.isEditActive$ =\n mockFacade.isEditActive$ || localFacade.isEditActive$;\n mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;\n mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();\n mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();\n mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();\n mockFacade.updateExistingEntity =\n mockFacade.updateExistingEntity || jest.fn();\n return mockFacade;\n}\n","import { ModalStates } from 'imng-kendo-data-entry';\nimport { readFirst } from 'imng-ngrx-utils/testing';\nimport { Observable } from 'rxjs';\n\nexport async function testAddSetAndClearCurrentEntity<\n TFacade extends TestableFacade,\n>(facade: TFacade): Promise<void> {\n const entity = { name: '🆕' };\n await validateInitialState(facade);\n\n facade.setCurrentEntity(entity, ModalStates.ADD);\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeTruthy();\n\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\n\nexport async function testEditSetAndClearCurrentEntity<\n TFacade extends TestableFacade,\n>(facade: TFacade): Promise<void> {\n const entity = { id: '💃', name: '🧓👴👵' };\n await validateInitialState(facade);\n\n facade.setCurrentEntity(entity, ModalStates.EDIT);\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeTruthy();\n expect(status.isNewActive).toBeFalsy();\n\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\nasync function validateInitialState(facade: TestableFacade): Promise<void> {\n const status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\n\nasync function getEntityStatus<TFacade extends TestableFacade>(\n facade: TFacade,\n): Promise<{\n currentEntity: unknown;\n isEditActive: unknown;\n isNewActive: unknown;\n}> {\n return {\n currentEntity: await readFirst(facade.currentEntity$),\n isEditActive: await readFirst(facade.isEditActive$),\n isNewActive: await readFirst(facade.isNewActive$),\n };\n}\n\nexport interface TestableFacade {\n currentEntity$: Observable<unknown>;\n isEditActive$: Observable<boolean | null>;\n isNewActive$: Observable<boolean | null>;\n setCurrentEntity(entity: unknown, parentEntity?: unknown): void;\n clearCurrentEntity(): void;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { of } from 'rxjs';\n\nexport async function testSaveCurrentEntity<\n TFacade extends { saveNewEntity(entity: unknown): void },\n>(facade: TFacade, httpClient: HttpClient): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { name: '🆕' };\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.saveNewEntity(entity);\n expect(httpClient.post).toHaveBeenCalledTimes(1);\n expect(httpClient.put).toHaveBeenCalledTimes(0);\n expect(httpClient.delete).toHaveBeenCalledTimes(0);\n}\n\nexport async function testUpdateCurrentEntity<\n TFacade extends { updateExistingEntity(entity: unknown): void },\n>(facade: TFacade, httpClient: HttpClient): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { id: '💃', name: '🧓👴👵' };\n\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.updateExistingEntity(entity);\n expect(httpClient.put).toHaveBeenCalledTimes(1);\n expect(httpClient.post).toHaveBeenCalledTimes(0);\n expect(httpClient.delete).toHaveBeenCalledTimes(0);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { of } from 'rxjs';\n\nexport async function testDeleteCurrentEntity<\n TFacade extends { deleteExistingEntity(entity: unknown): void },\n>(facade: TFacade, httpClient: HttpClient): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { id: '💃', name: '🧓👴👵' };\n\n httpClient.post = jest.fn();\n httpClient.put = jest.fn();\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.deleteExistingEntity(entity);\n expect(httpClient.put).toHaveBeenCalledTimes(0);\n expect(httpClient.post).toHaveBeenCalledTimes(0);\n expect(httpClient.delete).toHaveBeenCalledTimes(1);\n}\n","// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { IDataDeleteFacade } from 'imng-kendo-data-entry';\n\nexport class DataDeleteMockFacade implements IDataDeleteFacade<unknown> {\n deleteExistingEntity = jest.fn();\n}\n\nexport function createDataDeleteMockFacade<T = unknown>(\n mockFacade?: T,\n): T & IDataDeleteFacade<unknown> {\n if (!mockFacade) {\n return new DataDeleteMockFacade() as T & IDataDeleteFacade<unknown>;\n }\n (\n mockFacade as unknown as { deleteExistingEntity: () => void }\n ).deleteExistingEntity =\n (mockFacade as unknown as { deleteExistingEntity: () => void })\n .deleteExistingEntity || jest.fn();\n return mockFacade as T & IDataDeleteFacade<unknown>;\n}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\n\nexport function triggerSaveClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void {\n const typeAhead = fixture.debugElement.query(By.css('#btnSave'));\n typeAhead.triggerEventHandler('click', {});\n}\nexport function triggerCancelClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void {\n const typeAhead = fixture.debugElement.query(By.css('#btnCancel'));\n typeAhead.triggerEventHandler('click', {});\n}\n","import { FormControl, FormGroup } from '@angular/forms';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { BaseDataEntryComponent } from 'imng-kendo-data-entry';\nimport { DataEntryMockFacade } from './data-entry-mock.facade';\n\nexport class MockDataEntryComponent extends BaseDataEntryComponent<DataEntryMockFacade> {\n public dialogTitle = 'MockDataEntryComponent';\n public override addEditForm = new FormGroup({\n id: new FormControl<string>(''),\n });\n public props = {};\n public initForm = jest.fn();\n public save = () => jest.fn();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imng-kendo-data-entry-testing.mjs","sources":["../tmp-esm2022/testing/data-entry-mock.facade.js","../tmp-esm2022/testing/data-entry-facade-tests.js","../tmp-esm2022/testing/data-entry-facade-http-tests.js","../tmp-esm2022/testing/data-delete-facade-http-tests.js","../tmp-esm2022/testing/data-delete-mock.facade.js","../tmp-esm2022/testing/test-trigger-event-helpers.js","../tmp-esm2022/testing/mock-data-entry-dialog.component.js","../tmp-esm2022/testing/imng-kendo-data-entry-testing.js"],"sourcesContent":["import { of } from 'rxjs';\nexport class DataEntryMockFacade {\n constructor() {\n this.loading$ = of(false);\n this.currentEntity$ = of(null);\n this.isEditActive$ = of(false);\n this.isNewActive$ = of(false);\n this.setCurrentEntity = jest.fn();\n this.clearCurrentEntity = jest.fn();\n this.saveNewEntity = jest.fn();\n this.updateExistingEntity = jest.fn();\n }\n}\nexport function createDataEntryMockFacade(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nmockFacade) {\n const localFacade = new DataEntryMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;\n mockFacade.currentEntity$ =\n mockFacade.currentEntity$ || localFacade.currentEntity$;\n mockFacade.isEditActive$ =\n mockFacade.isEditActive$ || localFacade.isEditActive$;\n mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;\n mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();\n mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();\n mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();\n mockFacade.updateExistingEntity =\n mockFacade.updateExistingEntity || jest.fn();\n return mockFacade;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1tb2NrLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktbW9jay5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0QyxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ1MsYUFBUSxHQUF3QixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBd0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxpQkFBWSxHQUF3QixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMvQixrQkFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDMUMsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtBQUN2Qyw4REFBOEQ7QUFDOUQsVUFBNEM7SUFFNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBQzlDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDbEUsVUFBVSxDQUFDLGNBQWM7UUFDdkIsVUFBVSxDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDO0lBQzFELFVBQVUsQ0FBQyxhQUFhO1FBQ3RCLFVBQVUsQ0FBQyxhQUFhLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4RCxVQUFVLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQztJQUM5RSxVQUFVLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxVQUFVLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzRSxVQUFVLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLFVBQVUsQ0FBQyxvQkFBb0I7UUFDN0IsVUFBVSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMvQyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgSURhdGFFbnRyeUZhY2FkZSB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRW50cnlNb2NrRmFjYWRlIGltcGxlbWVudHMgSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgcHVibGljIGN1cnJlbnRFbnRpdHkkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gb2YobnVsbCk7XG4gIHB1YmxpYyBpc0VkaXRBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgaXNOZXdBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgc2V0Q3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIGNsZWFyQ3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIHNhdmVOZXdFbnRpdHkgPSBqZXN0LmZuKCk7XG4gIHB1YmxpYyB1cGRhdGVFeGlzdGluZ0VudGl0eSA9IGplc3QuZm4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFFbnRyeU1vY2tGYWNhZGUoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIG1vY2tGYWNhZGU/OiBJRGF0YUVudHJ5RmFjYWRlPHVua25vd24+IHwgYW55LFxuKTogSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIGNvbnN0IGxvY2FsRmFjYWRlID0gbmV3IERhdGFFbnRyeU1vY2tGYWNhZGUoKTtcbiAgaWYgKCFtb2NrRmFjYWRlKSB7XG4gICAgcmV0dXJuIGxvY2FsRmFjYWRlO1xuICB9XG4gIG1vY2tGYWNhZGUubG9hZGluZyQgPSBtb2NrRmFjYWRlLmxvYWRpbmckIHx8IGxvY2FsRmFjYWRlLmxvYWRpbmckO1xuICBtb2NrRmFjYWRlLmN1cnJlbnRFbnRpdHkkID1cbiAgICBtb2NrRmFjYWRlLmN1cnJlbnRFbnRpdHkkIHx8IGxvY2FsRmFjYWRlLmN1cnJlbnRFbnRpdHkkO1xuICBtb2NrRmFjYWRlLmlzRWRpdEFjdGl2ZSQgPVxuICAgIG1vY2tGYWNhZGUuaXNFZGl0QWN0aXZlJCB8fCBsb2NhbEZhY2FkZS5pc0VkaXRBY3RpdmUkO1xuICBtb2NrRmFjYWRlLmlzTmV3QWN0aXZlJCA9IG1vY2tGYWNhZGUuaXNOZXdBY3RpdmUkIHx8IGxvY2FsRmFjYWRlLmlzTmV3QWN0aXZlJDtcbiAgbW9ja0ZhY2FkZS5zZXRDdXJyZW50RW50aXR5ID0gbW9ja0ZhY2FkZS5zZXRDdXJyZW50RW50aXR5IHx8IGplc3QuZm4oKTtcbiAgbW9ja0ZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkgPSBtb2NrRmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSB8fCBqZXN0LmZuKCk7XG4gIG1vY2tGYWNhZGUuc2F2ZU5ld0VudGl0eSA9IG1vY2tGYWNhZGUuc2F2ZU5ld0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIG1vY2tGYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkgPVxuICAgIG1vY2tGYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkgfHwgamVzdC5mbigpO1xuICByZXR1cm4gbW9ja0ZhY2FkZTtcbn1cbiJdfQ==","import { ModalStates } from 'imng-kendo-data-entry';\nimport { readFirst } from 'imng-ngrx-utils/testing';\nexport async function testAddSetAndClearCurrentEntity(facade) {\n const entity = { name: '🆕' };\n await validateInitialState(facade);\n facade.setCurrentEntity(entity, ModalStates.ADD);\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeTruthy();\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\nexport async function testEditSetAndClearCurrentEntity(facade) {\n const entity = { id: '💃', name: '🧓👴👵' };\n await validateInitialState(facade);\n facade.setCurrentEntity(entity, ModalStates.EDIT);\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeTruthy();\n expect(status.isNewActive).toBeFalsy();\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\nasync function validateInitialState(facade) {\n const status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\nasync function getEntityStatus(facade) {\n return {\n currentEntity: await readFirst(facade.currentEntity$),\n isEditActive: await readFirst(facade.isEditActive$),\n isNewActive: await readFirst(facade.isNewActive$),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWVudHJ5LWZhY2FkZS10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3BELE1BQU0sQ0FBQyxLQUFLLFVBQVUsK0JBQStCLENBRW5ELE1BQWU7SUFDZixNQUFNLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5QixNQUFNLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELElBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUV4QyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBRXBELE1BQWU7SUFDZixNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzVDLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsSUFBSSxNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRXZDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBQ0QsS0FBSyxVQUFVLG9CQUFvQixDQUFDLE1BQXNCO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxLQUFLLFVBQVUsZUFBZSxDQUM1QixNQUFlO0lBTWYsT0FBTztRQUNMLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQ3JELFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQ25ELFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0tBQ2xELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kYWxTdGF0ZXMgfSBmcm9tICdpbW5nLWtlbmRvLWRhdGEtZW50cnknO1xuaW1wb3J0IHsgcmVhZEZpcnN0IH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzL3Rlc3RpbmcnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdEFkZFNldEFuZENsZWFyQ3VycmVudEVudGl0eTxcbiAgVEZhY2FkZSBleHRlbmRzIFRlc3RhYmxlRmFjYWRlLFxuPihmYWNhZGU6IFRGYWNhZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW50aXR5ID0geyBuYW1lOiAn8J+GlScgfTtcbiAgYXdhaXQgdmFsaWRhdGVJbml0aWFsU3RhdGUoZmFjYWRlKTtcblxuICBmYWNhZGUuc2V0Q3VycmVudEVudGl0eShlbnRpdHksIE1vZGFsU3RhdGVzLkFERCk7XG4gIGxldCBzdGF0dXMgPSBhd2FpdCBnZXRFbnRpdHlTdGF0dXMoZmFjYWRlKTtcbiAgZXhwZWN0KHN0YXR1cy5jdXJyZW50RW50aXR5KS50b1N0cmljdEVxdWFsKGVudGl0eSk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZVRydXRoeSgpO1xuXG4gIGZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkoKTtcbiAgc3RhdHVzID0gYXdhaXQgZ2V0RW50aXR5U3RhdHVzKGZhY2FkZSk7XG4gIGV4cGVjdChzdGF0dXMuY3VycmVudEVudGl0eSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZUZhbHN5KCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0RWRpdFNldEFuZENsZWFyQ3VycmVudEVudGl0eTxcbiAgVEZhY2FkZSBleHRlbmRzIFRlc3RhYmxlRmFjYWRlLFxuPihmYWNhZGU6IFRGYWNhZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW50aXR5ID0geyBpZDogJ/CfkoMnLCBuYW1lOiAn8J+nk/CfkbTwn5G1JyB9O1xuICBhd2FpdCB2YWxpZGF0ZUluaXRpYWxTdGF0ZShmYWNhZGUpO1xuXG4gIGZhY2FkZS5zZXRDdXJyZW50RW50aXR5KGVudGl0eSwgTW9kYWxTdGF0ZXMuRURJVCk7XG4gIGxldCBzdGF0dXMgPSBhd2FpdCBnZXRFbnRpdHlTdGF0dXMoZmFjYWRlKTtcbiAgZXhwZWN0KHN0YXR1cy5jdXJyZW50RW50aXR5KS50b1N0cmljdEVxdWFsKGVudGl0eSk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlVHJ1dGh5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNOZXdBY3RpdmUpLnRvQmVGYWxzeSgpO1xuXG4gIGZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkoKTtcbiAgc3RhdHVzID0gYXdhaXQgZ2V0RW50aXR5U3RhdHVzKGZhY2FkZSk7XG4gIGV4cGVjdChzdGF0dXMuY3VycmVudEVudGl0eSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZUZhbHN5KCk7XG59XG5hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUluaXRpYWxTdGF0ZShmYWNhZGU6IFRlc3RhYmxlRmFjYWRlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHN0YXR1cyA9IGF3YWl0IGdldEVudGl0eVN0YXR1cyhmYWNhZGUpO1xuICBleHBlY3Qoc3RhdHVzLmN1cnJlbnRFbnRpdHkpLnRvQmVGYWxzeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzRWRpdEFjdGl2ZSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNOZXdBY3RpdmUpLnRvQmVGYWxzeSgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlTdGF0dXM8VEZhY2FkZSBleHRlbmRzIFRlc3RhYmxlRmFjYWRlPihcbiAgZmFjYWRlOiBURmFjYWRlLFxuKTogUHJvbWlzZTx7XG4gIGN1cnJlbnRFbnRpdHk6IHVua25vd247XG4gIGlzRWRpdEFjdGl2ZTogdW5rbm93bjtcbiAgaXNOZXdBY3RpdmU6IHVua25vd247XG59PiB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudEVudGl0eTogYXdhaXQgcmVhZEZpcnN0KGZhY2FkZS5jdXJyZW50RW50aXR5JCksXG4gICAgaXNFZGl0QWN0aXZlOiBhd2FpdCByZWFkRmlyc3QoZmFjYWRlLmlzRWRpdEFjdGl2ZSQpLFxuICAgIGlzTmV3QWN0aXZlOiBhd2FpdCByZWFkRmlyc3QoZmFjYWRlLmlzTmV3QWN0aXZlJCksXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdGFibGVGYWNhZGUge1xuICBjdXJyZW50RW50aXR5JDogT2JzZXJ2YWJsZTx1bmtub3duPjtcbiAgaXNFZGl0QWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gIGlzTmV3QWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gIHNldEN1cnJlbnRFbnRpdHkoZW50aXR5OiB1bmtub3duLCBwYXJlbnRFbnRpdHk/OiB1bmtub3duKTogdm9pZDtcbiAgY2xlYXJDdXJyZW50RW50aXR5KCk6IHZvaWQ7XG59XG4iXX0=","import { of } from 'rxjs';\nexport async function testSaveCurrentEntity(facade, httpClient) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity = { name: '🆕' };\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n facade.saveNewEntity(entity);\n expect(httpClient.post).toHaveBeenCalledTimes(1);\n expect(httpClient.put).toHaveBeenCalledTimes(0);\n expect(httpClient.delete).toHaveBeenCalledTimes(0);\n}\nexport async function testUpdateCurrentEntity(facade, httpClient) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity = { id: '💃', name: '🧓👴👵' };\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n facade.updateExistingEntity(entity);\n expect(httpClient.put).toHaveBeenCalledTimes(1);\n expect(httpClient.post).toHaveBeenCalledTimes(0);\n expect(httpClient.delete).toHaveBeenCalledTimes(0);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUtaHR0cC10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktZmFjYWRlLWh0dHAtdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUV6QyxNQUFlLEVBQUUsVUFBc0I7SUFDdkMsOERBQThEO0lBQzlELE1BQU0sTUFBTSxHQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ25DLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0MsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBRTNDLE1BQWUsRUFBRSxVQUFzQjtJQUN2Qyw4REFBOEQ7SUFDOUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUVqRCxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFNhdmVDdXJyZW50RW50aXR5PFxuICBURmFjYWRlIGV4dGVuZHMgeyBzYXZlTmV3RW50aXR5KGVudGl0eTogdW5rbm93bik6IHZvaWQgfSxcbj4oZmFjYWRlOiBURmFjYWRlLCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGNvbnN0IGVudGl0eTogYW55ID0geyBuYW1lOiAn8J+GlScgfTtcbiAgaHR0cENsaWVudC5wb3N0ID0gamVzdC5mbigoKSA9PiBvZihlbnRpdHkpKTtcbiAgaHR0cENsaWVudC5wdXQgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuICBodHRwQ2xpZW50LmRlbGV0ZSA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG5cbiAgZmFjYWRlLnNhdmVOZXdFbnRpdHkoZW50aXR5KTtcbiAgZXhwZWN0KGh0dHBDbGllbnQucG9zdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICBleHBlY3QoaHR0cENsaWVudC5wdXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygwKTtcbiAgZXhwZWN0KGh0dHBDbGllbnQuZGVsZXRlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0VXBkYXRlQ3VycmVudEVudGl0eTxcbiAgVEZhY2FkZSBleHRlbmRzIHsgdXBkYXRlRXhpc3RpbmdFbnRpdHkoZW50aXR5OiB1bmtub3duKTogdm9pZCB9LFxuPihmYWNhZGU6IFRGYWNhZGUsIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgZW50aXR5OiBhbnkgPSB7IGlkOiAn8J+SgycsIG5hbWU6ICfwn6eT8J+RtPCfkbUnIH07XG5cbiAgaHR0cENsaWVudC5wb3N0ID0gamVzdC5mbigoKSA9PiBvZihlbnRpdHkpKTtcbiAgaHR0cENsaWVudC5wdXQgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuICBodHRwQ2xpZW50LmRlbGV0ZSA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG5cbiAgZmFjYWRlLnVwZGF0ZUV4aXN0aW5nRW50aXR5KGVudGl0eSk7XG4gIGV4cGVjdChodHRwQ2xpZW50LnB1dCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICBleHBlY3QoaHR0cENsaWVudC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG4gIGV4cGVjdChodHRwQ2xpZW50LmRlbGV0ZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDApO1xufVxuIl19","import { of } from 'rxjs';\nexport async function testDeleteCurrentEntity(facade, httpClient) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity = { id: '💃', name: '🧓👴👵' };\n httpClient.post = jest.fn();\n httpClient.put = jest.fn();\n httpClient.delete = jest.fn(() => of(entity));\n facade.deleteExistingEntity(entity);\n expect(httpClient.put).toHaveBeenCalledTimes(0);\n expect(httpClient.post).toHaveBeenCalledTimes(0);\n expect(httpClient.delete).toHaveBeenCalledTimes(1);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtZmFjYWRlLWh0dHAtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWRlbGV0ZS1mYWNhZGUtaHR0cC10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBRTNDLE1BQWUsRUFBRSxVQUFzQjtJQUN2Qyw4REFBOEQ7SUFDOUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUVqRCxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzQixVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3REZWxldGVDdXJyZW50RW50aXR5PFxuICBURmFjYWRlIGV4dGVuZHMgeyBkZWxldGVFeGlzdGluZ0VudGl0eShlbnRpdHk6IHVua25vd24pOiB2b2lkIH0sXG4+KGZhY2FkZTogVEZhY2FkZSwgaHR0cENsaWVudDogSHR0cENsaWVudCk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBlbnRpdHk6IGFueSA9IHsgaWQ6ICfwn5KDJywgbmFtZTogJ/Cfp5Pwn5G08J+RtScgfTtcblxuICBodHRwQ2xpZW50LnBvc3QgPSBqZXN0LmZuKCk7XG4gIGh0dHBDbGllbnQucHV0ID0gamVzdC5mbigpO1xuICBodHRwQ2xpZW50LmRlbGV0ZSA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG5cbiAgZmFjYWRlLmRlbGV0ZUV4aXN0aW5nRW50aXR5KGVudGl0eSk7XG4gIGV4cGVjdChodHRwQ2xpZW50LnB1dCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDApO1xuICBleHBlY3QoaHR0cENsaWVudC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG4gIGV4cGVjdChodHRwQ2xpZW50LmRlbGV0ZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xufVxuIl19","export class DataDeleteMockFacade {\n constructor() {\n this.deleteExistingEntity = jest.fn();\n }\n}\nexport function createDataDeleteMockFacade(mockFacade) {\n if (!mockFacade) {\n return new DataDeleteMockFacade();\n }\n mockFacade.deleteExistingEntity =\n mockFacade\n .deleteExistingEntity || jest.fn();\n return mockFacade;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtbW9jay5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWRlbGV0ZS1tb2NrLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sb0JBQW9CO0lBQWpDO1FBQ0UseUJBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsVUFBYztJQUVkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksb0JBQW9CLEVBQW9DLENBQUM7SUFDdEUsQ0FBQztJQUVDLFVBQ0QsQ0FBQyxvQkFBb0I7UUFDbkIsVUFBOEQ7YUFDNUQsb0JBQW9CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZDLE9BQU8sVUFBNEMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBJRGF0YURlbGV0ZUZhY2FkZSB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRGVsZXRlTW9ja0ZhY2FkZSBpbXBsZW1lbnRzIElEYXRhRGVsZXRlRmFjYWRlPHVua25vd24+IHtcbiAgZGVsZXRlRXhpc3RpbmdFbnRpdHkgPSBqZXN0LmZuKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEYXRhRGVsZXRlTW9ja0ZhY2FkZTxUID0gdW5rbm93bj4oXG4gIG1vY2tGYWNhZGU/OiBULFxuKTogVCAmIElEYXRhRGVsZXRlRmFjYWRlPHVua25vd24+IHtcbiAgaWYgKCFtb2NrRmFjYWRlKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhRGVsZXRlTW9ja0ZhY2FkZSgpIGFzIFQgJiBJRGF0YURlbGV0ZUZhY2FkZTx1bmtub3duPjtcbiAgfVxuICAoXG4gICAgbW9ja0ZhY2FkZSBhcyB1bmtub3duIGFzIHsgZGVsZXRlRXhpc3RpbmdFbnRpdHk6ICgpID0+IHZvaWQgfVxuICApLmRlbGV0ZUV4aXN0aW5nRW50aXR5ID1cbiAgICAobW9ja0ZhY2FkZSBhcyB1bmtub3duIGFzIHsgZGVsZXRlRXhpc3RpbmdFbnRpdHk6ICgpID0+IHZvaWQgfSlcbiAgICAgIC5kZWxldGVFeGlzdGluZ0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIHJldHVybiBtb2NrRmFjYWRlIGFzIFQgJiBJRGF0YURlbGV0ZUZhY2FkZTx1bmtub3duPjtcbn1cbiJdfQ==","import { By } from '@angular/platform-browser';\nexport function triggerSaveClickEvent(fixture) {\n const typeAhead = fixture.debugElement.query(By.css('#btnSave'));\n typeAhead.triggerEventHandler('click', {});\n}\nexport function triggerCancelClickEvent(fixture) {\n const typeAhead = fixture.debugElement.query(By.css('#btnCancel'));\n typeAhead.triggerEventHandler('click', {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC10cmlnZ2VyLWV2ZW50LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy90ZXN0LXRyaWdnZXItZXZlbnQtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0MsTUFBTSxVQUFVLHFCQUFxQixDQUFhLE9BQXFDO0lBQ3JGLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFDRCxNQUFNLFVBQVUsdUJBQXVCLENBQWEsT0FBcUM7SUFDdkYsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ25FLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyaWdnZXJTYXZlQ2xpY2tFdmVudDxUQ29tcG9uZW50PihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPFRDb21wb25lbnQ+KTogdm9pZCB7XG4gIGNvbnN0IHR5cGVBaGVhZCA9IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcygnI2J0blNhdmUnKSk7XG4gIHR5cGVBaGVhZC50cmlnZ2VyRXZlbnRIYW5kbGVyKCdjbGljaycsIHt9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyQ2FuY2VsQ2xpY2tFdmVudDxUQ29tcG9uZW50PihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPFRDb21wb25lbnQ+KTogdm9pZCB7XG4gIGNvbnN0IHR5cGVBaGVhZCA9IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcygnI2J0bkNhbmNlbCcpKTtcbiAgdHlwZUFoZWFkLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xufVxuIl19","import { FormControl, FormGroup } from '@angular/forms';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { BaseDataEntryComponent } from 'imng-kendo-data-entry';\nexport class MockDataEntryComponent extends BaseDataEntryComponent {\n constructor() {\n super(...arguments);\n this.dialogTitle = 'MockDataEntryComponent';\n this.addEditForm = new FormGroup({\n id: new FormControl(''),\n });\n this.props = {};\n this.initForm = jest.fn();\n this.save = () => jest.fn();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9tb2NrLWRhdGEtZW50cnktZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQTJDO0lBQXZGOztRQUNTLGdCQUFXLEdBQUcsd0JBQXdCLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMxQyxFQUFFLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNJLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgQmFzZURhdGFFbnRyeUNvbXBvbmVudCB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5pbXBvcnQgeyBEYXRhRW50cnlNb2NrRmFjYWRlIH0gZnJvbSAnLi9kYXRhLWVudHJ5LW1vY2suZmFjYWRlJztcblxuZXhwb3J0IGNsYXNzIE1vY2tEYXRhRW50cnlDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PERhdGFFbnRyeU1vY2tGYWNhZGU+IHtcbiAgcHVibGljIGRpYWxvZ1RpdGxlID0gJ01vY2tEYXRhRW50cnlDb21wb25lbnQnO1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkRWRpdEZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBpZDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLFxuICB9KTtcbiAgcHVibGljIHByb3BzID0ge307XG4gIHB1YmxpYyBpbml0Rm9ybSA9IGplc3QuZm4oKTtcbiAgcHVibGljIHNhdmUgPSAoKSA9PiBqZXN0LmZuKCk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5LXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9pbW5nLWtlbmRvLWRhdGEtZW50cnktdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import * as i2 from '@progress/kendo-angular-dialog';
|
|
|
9
9
|
import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
10
10
|
import { filter, take, tap } from 'rxjs/operators';
|
|
11
11
|
|
|
12
|
+
/* eslint-disable @angular-eslint/prefer-inject */
|
|
12
13
|
const FACADE = new InjectionToken('imng-data-entry-facade');
|
|
13
14
|
/**
|
|
14
15
|
* The extending class has to implement the following properties on ngInit
|
|
@@ -106,14 +107,14 @@ class BaseDataEntryComponent {
|
|
|
106
107
|
}
|
|
107
108
|
return errors;
|
|
108
109
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseDataEntryComponent, isStandalone: false, selector: "ng-component", inputs: { width: "width", height: "height" }, ngImport: i0, template: '', isInline: true }); }
|
|
111
112
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
|
|
113
114
|
type: Component,
|
|
114
115
|
args: [{
|
|
115
116
|
template: '',
|
|
116
|
-
standalone: false
|
|
117
|
+
standalone: false,
|
|
117
118
|
}]
|
|
118
119
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
119
120
|
type: Inject,
|
|
@@ -128,10 +129,10 @@ class DialogButtonsDirective {
|
|
|
128
129
|
constructor() {
|
|
129
130
|
this.tpl = inject(TemplateRef);
|
|
130
131
|
}
|
|
131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
132
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DialogButtonsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: DialogButtonsDirective, isStandalone: false, selector: "[imngDialogBtns]", ngImport: i0 }); }
|
|
133
134
|
}
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DialogButtonsDirective, decorators: [{
|
|
135
136
|
type: Directive,
|
|
136
137
|
args: [{
|
|
137
138
|
selector: '[imngDialogBtns]',
|
|
@@ -173,8 +174,8 @@ class DataEntryDialogComponent {
|
|
|
173
174
|
$implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
|
|
174
175
|
};
|
|
175
176
|
}
|
|
176
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
177
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
178
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: DataEntryDialogComponent, isStandalone: false, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", cancelButtonText: "cancelButtonText", submitButtonText: "submitButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
178
179
|
[width]="width"
|
|
179
180
|
[minWidth]="minWidth ?? width"
|
|
180
181
|
[height]="height"
|
|
@@ -210,7 +211,7 @@ class DataEntryDialogComponent {
|
|
|
210
211
|
</button>
|
|
211
212
|
</ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: i2.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { kind: "component", type: i2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
212
213
|
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
|
|
214
215
|
type: Component,
|
|
215
216
|
args: [{
|
|
216
217
|
selector: 'imng-data-entry-dialog[parentComponent]',
|
|
@@ -272,11 +273,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
|
272
273
|
}] } });
|
|
273
274
|
|
|
274
275
|
class ImngDataEntryDialogModule {
|
|
275
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
276
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
277
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
276
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
277
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }
|
|
278
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }
|
|
278
279
|
}
|
|
279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
|
|
280
281
|
type: NgModule,
|
|
281
282
|
args: [{
|
|
282
283
|
imports: [CommonModule, DialogModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-kendo-data-entry.mjs","sources":["../../../../libs/imng-kendo-data-entry/src/lib/base-data-entry.component.ts","../../../../libs/imng-kendo-data-entry/src/lib/dialog-buttons.directive.ts","../../../../libs/imng-kendo-data-entry/src/lib/data-entry-dialog.component.ts","../../../../libs/imng-kendo-data-entry/src/lib/imng-kendo-data-entry.module.ts","../../../../libs/imng-kendo-data-entry/src/lib/reducer-collection-logic.ts","../../../../libs/imng-kendo-data-entry/src/lib/form-group-patcher.ts","../../../../libs/imng-kendo-data-entry/src/lib/modal-states.ts","../../../../libs/imng-kendo-data-entry/src/imng-kendo-data-entry.ts"],"sourcesContent":["import {\n Component,\n Inject,\n InjectionToken,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport {\n AbstractControl,\n ValidationErrors,\n FormGroup,\n FormArray,\n} from '@angular/forms';\nimport { IBaseDataEntryFacade } from './data-entry-facade';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\nimport { EnumProperties } from 'openapi-ts-generator/enums';\n\nconst FACADE = new InjectionToken<IBaseDataEntryFacade>(\n 'imng-data-entry-facade',\n);\n\n/**\n * The extending class has to implement the following properties on ngInit\n * dialogTitle: string - This will be the text displayed at the top of the modal title bar\n * props: enum - This is a helper property to make the html markup type safe\n *\n * Along with the requirements above, the extending class has to set values to the\n * following properties on ngInit\n * active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade\n * addEditForm: FormGroup - This will be created by your component\n *\n * @class BaseDataEntryComponent>\n */\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class BaseDataEntryComponent<\n FACADE extends IBaseDataEntryFacade,\n >\n implements OnInit, OnDestroy, Subscribable\n{\n @Input() public width: string | number = 800; //NOSONAR\n @Input() public height: string | number = 600; //NOSONAR\n\n public formId = 'imng-form';\n public cancelButtonText = 'Cancel';\n public submitButtonText = 'Submit';\n public readonly MinLengthError = 'minlength';\n public readonly RequiredError = 'required';\n public readonly EnumProperties = EnumProperties;\n public allSubscriptions = new Subscriptions();\n public abstract dialogTitle: string;\n public abstract props: unknown;\n public abstract addEditForm: FormGroup;\n public loading$: Observable<boolean>;\n public readonly submitted$: BehaviorSubject<boolean> = new BehaviorSubject(\n false as boolean,\n );\n\n constructor(@Inject(FACADE) public readonly facade: FACADE) {\n this.loading$ = this.facade.loading$;\n }\n\n public ngOnInit(): void {\n this.initForm();\n }\n\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n\n public closeForm(): void {\n this.initForm();\n this.facade.clearCurrentEntity();\n this.submitted$.next(false);\n }\n\n public onCancel(): void {\n this.closeForm();\n }\n\n public onSubmit(): boolean {\n this.submitted$.next(true);\n this.addEditForm.markAllAsTouched();\n // stop here if form is invalid\n if (!this.addEditForm.valid) {\n console.error('form validation errors.'); //NOSONAR\n console.error(JSON.stringify(this.getFormErrors())); //NOSONAR\n return false;\n }\n this.save();\n this.closeForm();\n return true;\n }\n\n public isDataInvalid(): boolean {\n return this.addEditForm.invalid;\n }\n\n // convenience getter for easy access to form fields\n public formControl(\n controlName: string,\n controls: { [key: string]: AbstractControl } = this.addEditForm.controls,\n ): AbstractControl {\n return controls[controlName];\n }\n\n public formControlErrors(\n control: string | AbstractControl,\n controls: { [key: string]: AbstractControl } | AbstractControl[] = this\n .addEditForm.controls,\n ): ValidationErrors | null {\n const tempControl =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof control === 'string' ? (controls as any)[control] : control;\n if (tempControl?.valid && !tempControl?.errors) {\n return null;\n }\n return tempControl?.errors;\n }\n public formMinLengthError(\n controlName: string,\n ): { requiredLength: number; actualLength: number } | null {\n return this.formControlErrors(controlName)?.[this.MinLengthError];\n }\n public getFormErrors(\n controls: { [key: string]: AbstractControl } | AbstractControl[] = this\n .addEditForm.controls,\n parentControlName?: string,\n ): { controlName: string; error: ValidationErrors }[] {\n const errors: { controlName: string; error: ValidationErrors }[] = [];\n for (const controlName of Object.keys(controls)) {\n const control = (controls as never)[controlName];\n const error = this.formControlErrors(control, controls);\n if (error) {\n errors.push({\n controlName: parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n error,\n });\n }\n if ((control as FormArray)?.controls) {\n errors.push(\n ...this.getFormErrors(\n (control as FormArray).controls,\n parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n ),\n );\n }\n }\n return errors;\n }\n\n public abstract initForm(): void;\n public abstract save(): void;\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[imngDialogBtns]',\n standalone: false,\n})\nexport class DialogButtonsDirective {\n tpl = inject<TemplateRef<unknown>>(TemplateRef);\n}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n TemplateRef,\n ContentChild,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { FormGroup } from '@angular/forms';\nimport { BaseDataEntryComponent } from './base-data-entry.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\n\n@Component({\n selector: 'imng-data-entry-dialog[parentComponent]',\n template: `<kendo-dialog\n [width]=\"width\"\n [minWidth]=\"minWidth ?? width\"\n [height]=\"height\"\n (close)=\"close()\"\n [autoFocusedElement]=\"autoFocusedElement || ''\">\n <kendo-dialog-titlebar class=\"bg-primary\">{{\n dialogTitle\n }}</kendo-dialog-titlebar>\n <ng-content />\n <kendo-dialog-actions>\n <ng-container *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \" />\n </kendo-dialog-actions>\n </kendo-dialog>\n <ng-template #defaultDialogActionsTpl>\n <button\n name=\"imngCancelDataEntry\"\n kendoButton\n (click)=\"cancel()\"\n class=\"btn btn-secondary btn-sm\">\n {{ cancelButtonText }}\n </button>\n <button\n name=\"imngSubmitDataEntry\"\n [attr.form]=\"formId\"\n type=\"submit\"\n kendoButton\n (click)=\"submit()\"\n class=\"btn btn-primary btn-sm\">\n {{ submitButtonText }}\n </button>\n </ng-template>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class DataEntryDialogComponent implements OnInit {\n @Input() public minWidth?: number; //NOSONAR\n @Input() public width = 800; //NOSONAR\n @Input() public height = 600; //NOSONAR\n /**\n * https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/initial-focus/\n */\n @Input() public autoFocusedElement?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() public parentComponent?: BaseDataEntryComponent<any>; //NOSONAR\n @Input() public cancelButtonText?: string = 'Cancel';\n @Input() public submitButtonText?: string = 'Submit';\n @ContentChild(DialogButtonsDirective, { static: true, read: TemplateRef })\n /**\n * Example Usage:\n * <imng-data-entry-dialog>\n * ......\n * <ng-template [imngDialogBtns] let-coreButtons>\n * <button id=\"btnCustom1\" class=\"k-button\" (click)=\"cancel()\">Close</button>\n * </ng-template>\n * </imng-data-entry-dialog>\n */\n public dialogBtnsTemplate?: TemplateRef<unknown>;\n public loading$?: Observable<boolean>;\n public addEditForm?: FormGroup;\n public formId?: string;\n public submitted = false;\n public dialogTitle?: string;\n public component?: NonNullable<unknown>;\n\n public ngOnInit(): void {\n if (!this.parentComponent) {\n throw new TypeError(`The input 'parentComponent' is required`);\n }\n this.dialogTitle = this.parentComponent.dialogTitle;\n this.loading$ = this.parentComponent.loading$;\n this.addEditForm = this.parentComponent.addEditForm;\n this.submitButtonText ??= this.parentComponent.submitButtonText ?? 'Submit';\n this.cancelButtonText ??= this.parentComponent.cancelButtonText ?? 'Cancel';\n this.formId ??= this.parentComponent.formId ?? 'imng-form';\n }\n\n public close(): void {\n this.parentComponent?.closeForm();\n }\n public cancel(): void {\n this.parentComponent?.onCancel();\n }\n public submit(): void {\n this.parentComponent?.onSubmit();\n }\n get dialogActionBtnsCtx(): object | null {\n //NOSONAR\n return {\n $implicit: { cancel: () => this.cancel(), submit: () => this.submit() },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataEntryDialogComponent } from './data-entry-dialog.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\n\n@NgModule({\n imports: [CommonModule, DialogModule],\n declarations: [DataEntryDialogComponent, DialogButtonsDirective],\n exports: [DataEntryDialogComponent, DialogButtonsDirective],\n})\nexport class ImngDataEntryDialogModule {}\n","import { ValueType } from 'imng-nrsrx-client-utils';\nexport function updateStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1, item);\n return items;\n }\n return collection;\n}\n\nexport function removeStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1);\n return items;\n }\n return collection;\n}\n\nexport function addStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const items = [...collection];\n items.unshift(item);\n return items;\n}\n","import { FormGroup } from '@angular/forms';\nimport { take, tap, filter } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { IdType } from 'imng-nrsrx-client-utils';\n\nexport const formGroupPatcher =\n <TEntity extends { id?: IdType | null | undefined } | undefined>(\n addEditForm: FormGroup,\n ) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t as never)),\n );\n","export class ModalStates {\n public static readonly ADD = 'add';\n public static readonly EDIT = 'edit';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAmBA,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,wBAAwB,CACzB;AAED;;;;;;;;;;;AAWG;MAKmB,sBAAsB,CAAA;AAuB1C,IAAA,WAAA,CAA4C,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM;AAlBlC,QAAA,IAAA,CAAA,KAAK,GAAoB,GAAG,CAAC;AAC7B,QAAA,IAAA,CAAA,MAAM,GAAoB,GAAG,CAAC;QAEvC,IAAM,CAAA,MAAA,GAAG,WAAW;QACpB,IAAgB,CAAA,gBAAA,GAAG,QAAQ;QAC3B,IAAgB,CAAA,gBAAA,GAAG,QAAQ;QAClB,IAAc,CAAA,cAAA,GAAG,WAAW;QAC5B,IAAa,CAAA,aAAA,GAAG,UAAU;QAC1B,IAAc,CAAA,cAAA,GAAG,cAAc;AACxC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,aAAa,EAAE;AAK7B,QAAA,IAAA,CAAA,UAAU,GAA6B,IAAI,eAAe,CACxE,KAAgB,CACjB;QAGC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;;IAG/B,QAAQ,GAAA;QACb,IAAI,CAAC,QAAQ,EAAE;;IAGV,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE;;IAGjC,SAAS,GAAA;QACd,IAAI,CAAC,QAAQ,EAAE;AACf,QAAA,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;AAChC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGtB,QAAQ,GAAA;QACb,IAAI,CAAC,SAAS,EAAE;;IAGX,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;;AAEnC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAC3B,YAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACzC,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AACpD,YAAA,OAAO,KAAK;;QAEd,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,OAAO,IAAI;;IAGN,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;;;IAI1B,WAAW,CAChB,WAAmB,EACnB,QAAA,GAA+C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAA;AAExE,QAAA,OAAO,QAAQ,CAAC,WAAW,CAAC;;AAGvB,IAAA,iBAAiB,CACtB,OAAiC,EACjC,QAAA,GAAmE;AAChE,SAAA,WAAW,CAAC,QAAQ,EAAA;AAEvB,QAAA,MAAM,WAAW;;AAEf,QAAA,OAAO,OAAO,KAAK,QAAQ,GAAI,QAAgB,CAAC,OAAO,CAAC,GAAG,OAAO;QACpE,IAAI,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE;AAC9C,YAAA,OAAO,IAAI;;QAEb,OAAO,WAAW,EAAE,MAAM;;AAErB,IAAA,kBAAkB,CACvB,WAAmB,EAAA;AAEnB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;;IAE5D,aAAa,CAClB,WAAmE;SAChE,WAAW,CAAC,QAAQ,EACvB,iBAA0B,EAAA;QAE1B,MAAM,MAAM,GAAuD,EAAE;QACrE,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC/C,YAAA,MAAM,OAAO,GAAI,QAAkB,CAAC,WAAW,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;YACvD,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,IAAI,CAAC;AACV,oBAAA,WAAW,EAAE;AACX,0BAAE,CAAA,EAAG,iBAAiB,CAAA,CAAA,EAAI,WAAW,CAAE;AACvC,0BAAE,WAAW;oBACf,KAAK;AACN,iBAAA,CAAC;;AAEJ,YAAA,IAAK,OAAqB,EAAE,QAAQ,EAAE;AACpC,gBAAA,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,aAAa,CAClB,OAAqB,CAAC,QAAQ,EAC/B;AACE,sBAAE,CAAA,EAAG,iBAAiB,CAAA,CAAA,EAAI,WAAW,CAAE;AACvC,sBAAE,WAAW,CAChB,CACF;;;AAGL,QAAA,OAAO,MAAM;;AArHK,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAuBtB,MAAM,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAvBN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,uHAH9B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAGM,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJ3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,UAAU,EAAE;AACf,iBAAA;;0BAwBc,MAAM;2BAAC,MAAM;yCAlBV,KAAK,EAAA,CAAA;sBAApB;gBACe,MAAM,EAAA,CAAA;sBAArB;;;MCvCU,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAuB,WAAW,CAAC;AAChD;+GAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCgDY,wBAAwB,CAAA;AAxCrC,IAAA,WAAA,GAAA;AA0CkB,QAAA,IAAA,CAAA,KAAK,GAAG,GAAG,CAAC;AACZ,QAAA,IAAA,CAAA,MAAM,GAAG,GAAG,CAAC;QAOb,IAAgB,CAAA,gBAAA,GAAY,QAAQ;QACpC,IAAgB,CAAA,gBAAA,GAAY,QAAQ;QAe7C,IAAS,CAAA,SAAA,GAAG,KAAK;AA+BzB;IA3BQ,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACzB,YAAA,MAAM,IAAI,SAAS,CAAC,CAAA,uCAAA,CAAyC,CAAC;;QAEhE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW;QACnD,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,eAAe,CAAC,gBAAgB,IAAI,QAAQ;QAC3E,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,eAAe,CAAC,gBAAgB,IAAI,QAAQ;QAC3E,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,WAAW;;IAGrD,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE;;IAE5B,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE;;IAE3B,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE;;AAElC,IAAA,IAAI,mBAAmB,GAAA;;QAErB,OAAO;YACL,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE;SACxE;;+GAvDQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAYrB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,sBAAsB,EAAwB,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,EAlD3D,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCK,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAxCpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCK,kBAAA,CAAA;oBACf,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE;AACf,iBAAA;8BAEiB,QAAQ,EAAA,CAAA;sBAAvB;gBACe,KAAK,EAAA,CAAA;sBAApB;gBACe,MAAM,EAAA,CAAA;sBAArB;gBAIe,kBAAkB,EAAA,CAAA;sBAAjC;gBAEe,eAAe,EAAA,CAAA;sBAA9B;gBACe,gBAAgB,EAAA,CAAA;sBAA/B;gBACe,gBAAgB,EAAA,CAAA;sBAA/B;gBAWM,kBAAkB,EAAA,CAAA;sBAVxB,YAAY;uBAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;;;MCtD9D,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAzB,yBAAyB,EAAA,YAAA,EAAA,CAHrB,wBAAwB,EAAE,sBAAsB,CAAA,EAAA,OAAA,EAAA,CADrD,YAAY,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAE1B,wBAAwB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;gHAE/C,yBAAyB,EAAA,OAAA,EAAA,CAJ1B,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;AACrC,oBAAA,YAAY,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAChE,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAC5D,iBAAA;;;ACTe,SAAA,yBAAyB,CACvC,UAAoB,EACpB,IAAY,EAAA;AAEZ,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;AAC/D,IAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACd,QAAA,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;AAC5B,QAAA,OAAO,KAAK;;AAEd,IAAA,OAAO,UAAU;AACnB;AAEgB,SAAA,yBAAyB,CACvC,UAAoB,EACpB,IAAY,EAAA;AAEZ,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;AAC/D,IAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACd,QAAA,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;AAC7B,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACtB,QAAA,OAAO,KAAK;;AAEd,IAAA,OAAO,UAAU;AACnB;AAEgB,SAAA,sBAAsB,CACpC,UAAoB,EACpB,IAAY,EAAA;AAEZ,IAAA,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;AAC7B,IAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AACnB,IAAA,OAAO,KAAK;AACd;;MC7Ba,gBAAgB,GAC3B,CACE,WAAsB,KAExB,CAAC,MAA2B,KAC1B,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,UAAU,CAAC,CAAU,CAAC,CAAC;;MCbvC,WAAW,CAAA;aACC,IAAG,CAAA,GAAA,GAAG,KAAK,CAAC;aACZ,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;;;ACFvC;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"imng-kendo-data-entry.mjs","sources":["../tmp-esm2022/lib/base-data-entry.component.js","../tmp-esm2022/lib/dialog-buttons.directive.js","../tmp-esm2022/lib/data-entry-dialog.component.js","../tmp-esm2022/lib/imng-kendo-data-entry.module.js","../tmp-esm2022/lib/reducer-collection-logic.js","../tmp-esm2022/lib/form-group-patcher.js","../tmp-esm2022/lib/modal-states.js","../tmp-esm2022/imng-kendo-data-entry.js"],"sourcesContent":["/* eslint-disable @angular-eslint/prefer-inject */\nimport { Component, Inject, InjectionToken, Input, } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Subscriptions } from 'imng-ngrx-utils';\nimport { EnumProperties } from 'openapi-ts-generator/enums';\nimport * as i0 from \"@angular/core\";\nconst FACADE = new InjectionToken('imng-data-entry-facade');\n/**\n * The extending class has to implement the following properties on ngInit\n * dialogTitle: string - This will be the text displayed at the top of the modal title bar\n * props: enum - This is a helper property to make the html markup type safe\n *\n * Along with the requirements above, the extending class has to set values to the\n * following properties on ngInit\n * active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade\n * addEditForm: FormGroup - This will be created by your component\n *\n * @class BaseDataEntryComponent>\n */\nexport class BaseDataEntryComponent {\n constructor(facade) {\n this.facade = facade;\n this.width = 800; //NOSONAR\n this.height = 600; //NOSONAR\n this.formId = 'imng-form';\n this.cancelButtonText = 'Cancel';\n this.submitButtonText = 'Submit';\n this.MinLengthError = 'minlength';\n this.RequiredError = 'required';\n this.EnumProperties = EnumProperties;\n this.allSubscriptions = new Subscriptions();\n this.submitted$ = new BehaviorSubject(false);\n this.loading$ = this.facade.loading$;\n }\n ngOnInit() {\n this.initForm();\n }\n ngOnDestroy() {\n this.allSubscriptions.unsubscribeAll();\n }\n closeForm() {\n this.initForm();\n this.facade.clearCurrentEntity();\n this.submitted$.next(false);\n }\n onCancel() {\n this.closeForm();\n }\n onSubmit() {\n this.submitted$.next(true);\n this.addEditForm.markAllAsTouched();\n // stop here if form is invalid\n if (!this.addEditForm.valid) {\n console.error('form validation errors.'); //NOSONAR\n console.error(JSON.stringify(this.getFormErrors())); //NOSONAR\n return false;\n }\n this.save();\n this.closeForm();\n return true;\n }\n isDataInvalid() {\n return this.addEditForm.invalid;\n }\n // convenience getter for easy access to form fields\n formControl(controlName, controls = this.addEditForm.controls) {\n return controls[controlName];\n }\n formControlErrors(control, controls = this\n .addEditForm.controls) {\n const tempControl = \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof control === 'string' ? controls[control] : control;\n if (tempControl?.valid && !tempControl?.errors) {\n return null;\n }\n return tempControl?.errors;\n }\n formMinLengthError(controlName) {\n return this.formControlErrors(controlName)?.[this.MinLengthError];\n }\n getFormErrors(controls = this\n .addEditForm.controls, parentControlName) {\n const errors = [];\n for (const controlName of Object.keys(controls)) {\n const control = controls[controlName];\n const error = this.formControlErrors(control, controls);\n if (error) {\n errors.push({\n controlName: parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n error,\n });\n }\n if (control?.controls) {\n errors.push(...this.getFormErrors(control.controls, parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName));\n }\n }\n return errors;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: BaseDataEntryComponent, isStandalone: false, selector: \"ng-component\", inputs: { width: \"width\", height: \"height\" }, ngImport: i0, template: '', isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: BaseDataEntryComponent, decorators: [{\n type: Component,\n args: [{\n template: '',\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [FACADE]\n }] }], propDecorators: { width: [{\n type: Input\n }], height: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFDbEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUW5ELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUU1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FDL0Isd0JBQXdCLENBQ3pCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBZ0Isc0JBQXNCO0lBdUIxQyxZQUE0QyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWxCMUMsVUFBSyxHQUFvQixHQUFHLENBQUMsQ0FBQyxTQUFTO1FBQ3ZDLFdBQU0sR0FBb0IsR0FBRyxDQUFDLENBQUMsU0FBUztRQUVqRCxXQUFNLEdBQUcsV0FBVyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUM1QixxQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxVQUFVLENBQUM7UUFDM0IsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUs5QixlQUFVLEdBQTZCLElBQUksZUFBZSxDQUN4RSxLQUFnQixDQUNqQixDQUFDO1FBR0EsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFB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SztpQkFDTixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSyxPQUFxQixFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDbEIsT0FBcUIsQ0FBQyxRQUFRLEVBQy9CLGlCQUFpQjtvQkFDZixDQUFDLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxXQUFXLEVBQUU7b0JBQ3ZDLENBQUMsQ0FBQyxXQUFXLENBQ2hCLENBQ0YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0F0SG1CLHNCQUFzQixrQkF1QnRCLE1BQU07a0dBdkJOLHNCQUFzQix1SEFIaEMsRUFBRTs7MkZBR1Esc0JBQXNCO2tCQUozQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBd0JjLE1BQU07MkJBQUMsTUFBTTt5Q0FsQlYsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1pbmplY3QgKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1BcnJheSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJhc2VEYXRhRW50cnlGYWNhZGUgfSBmcm9tICcuL2RhdGEtZW50cnktZmFjYWRlJztcbmltcG9ydCB7IFN1YnNjcmliYWJsZSwgU3Vic2NyaXB0aW9ucyB9IGZyb20gJ2ltbmctbmdyeC11dGlscyc7XG5pbXBvcnQgeyBFbnVtUHJvcGVydGllcyB9IGZyb20gJ29wZW5hcGktdHMtZ2VuZXJhdG9yL2VudW1zJztcblxuY29uc3QgRkFDQURFID0gbmV3IEluamVjdGlvblRva2VuPElCYXNlRGF0YUVudHJ5RmFjYWRlPihcbiAgJ2ltbmctZGF0YS1lbnRyeS1mYWNhZGUnLFxuKTtcblxuLyoqXG4gKiBUaGUgZXh0ZW5kaW5nIGNsYXNzIGhhcyB0byBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG9uIG5nSW5pdFxuICogZGlhbG9nVGl0bGU6IHN0cmluZyAtIFRoaXMgd2lsbCBiZSB0aGUgdGV4dCBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbW9kYWwgdGl0bGUgYmFyXG4gKiBwcm9wczogZW51bSAtIFRoaXMgaXMgYSBoZWxwZXIgcHJvcGVydHkgdG8gbWFrZSB0aGUgaHRtbCBtYXJrdXAgdHlwZSBzYWZlXG4gKlxuICogQWxvbmcgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIGFib3ZlLCB0aGUgZXh0ZW5kaW5nIGNsYXNzIGhhcyB0byBzZXQgdmFsdWVzIHRvIHRoZVxuICogZm9sbG93aW5nIHByb3BlcnRpZXMgb24gbmdJbml0XG4gKiBhY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IC0gVGhpcyB0eXBpY2FsbHkgd291bGQgYmUgYXNzaWduZWQgdG8gdGhlIGlzTmV3QWN0aXZlJCBvciBpc0VkaXRBY3RpdmUgb24gdGhlIGZhY2FkZVxuICogYWRkRWRpdEZvcm06IEZvcm1Hcm91cCAtIFRoaXMgd2lsbCBiZSBjcmVhdGVkIGJ5IHlvdXIgY29tcG9uZW50XG4gKlxuICogQGNsYXNzIEJhc2VEYXRhRW50cnlDb21wb25lbnQ+XG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PFxuICAgIEZBQ0FERSBleHRlbmRzIElCYXNlRGF0YUVudHJ5RmFjYWRlLFxuICA+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFN1YnNjcmliYWJsZVxue1xuICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDgwMDsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDYwMDsgLy9OT1NPTkFSXG5cbiAgcHVibGljIGZvcm1JZCA9ICdpbW5nLWZvcm0nO1xuICBwdWJsaWMgY2FuY2VsQnV0dG9uVGV4dCA9ICdDYW5jZWwnO1xuICBwdWJsaWMgc3VibWl0QnV0dG9uVGV4dCA9ICdTdWJtaXQnO1xuICBwdWJsaWMgcmVhZG9ubHkgTWluTGVuZ3RoRXJyb3IgPSAnbWlubGVuZ3RoJztcbiAgcHVibGljIHJlYWRvbmx5IFJlcXVpcmVkRXJyb3IgPSAncmVxdWlyZWQnO1xuICBwdWJsaWMgcmVhZG9ubHkgRW51bVByb3BlcnRpZXMgPSBFbnVtUHJvcGVydGllcztcbiAgcHVibGljIGFsbFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9ucygpO1xuICBwdWJsaWMgYWJzdHJhY3QgZGlhbG9nVGl0bGU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHByb3BzOiB1bmtub3duO1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkRWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibWl0dGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICBmYWxzZSBhcyBib29sZWFuLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRkFDQURFKSBwdWJsaWMgcmVhZG9ubHkgZmFjYWRlOiBGQUNBREUpIHtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5mYWNhZGUubG9hZGluZyQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWxsU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZUFsbCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5mYWNhZGUuY2xlYXJDdXJyZW50RW50aXR5KCk7XG4gICAgdGhpcy5zdWJtaXR0ZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgb25TdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5zdWJtaXR0ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5hZGRFZGl0Rm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgLy8gc3RvcCBoZXJlIGlmIGZvcm0gaXMgaW52YWxpZFxuICAgIGlmICghdGhpcy5hZGRFZGl0Rm9ybS52YWxpZCkge1xuICAgICAgY29uc29sZS5lcnJvcignZm9ybSB2YWxpZGF0aW9uIGVycm9ycy4nKTsgLy9OT1NPTkFSXG4gICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0Rm9ybUVycm9ycygpKSk7IC8vTk9TT05BUlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnNhdmUoKTtcbiAgICB0aGlzLmNsb3NlRm9ybSgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzRGF0YUludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRWRpdEZvcm0uaW52YWxpZDtcbiAgfVxuXG4gIC8vIGNvbnZlbmllbmNlIGdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZm9ybSBmaWVsZHNcbiAgcHVibGljIGZvcm1Db250cm9sKFxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmcsXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gPSB0aGlzLmFkZEVkaXRGb3JtLmNvbnRyb2xzLFxuICApOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBjb250cm9sc1tjb250cm9sTmFtZV07XG4gIH1cblxuICBwdWJsaWMgZm9ybUNvbnRyb2xFcnJvcnMoXG4gICAgY29udHJvbDogc3RyaW5nIHwgQWJzdHJhY3RDb250cm9sLFxuICAgIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9IHwgQWJzdHJhY3RDb250cm9sW10gPSB0aGlzXG4gICAgICAuYWRkRWRpdEZvcm0uY29udHJvbHMsXG4gICk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB0ZW1wQ29udHJvbCA9XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgdHlwZW9mIGNvbnRyb2wgPT09ICdzdHJpbmcnID8gKGNvbnRyb2xzIGFzIGFueSlbY29udHJvbF0gOiBjb250cm9sO1xuICAgIGlmICh0ZW1wQ29udHJvbD8udmFsaWQgJiYgIXRlbXBDb250cm9sPy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGVtcENvbnRyb2w/LmVycm9ycztcbiAgfVxuICBwdWJsaWMgZm9ybU1pbkxlbmd0aEVycm9yKFxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmcsXG4gICk6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXIgfSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sRXJyb3JzKGNvbnRyb2xOYW1lKT8uW3RoaXMuTWluTGVuZ3RoRXJyb3JdO1xuICB9XG4gIHB1YmxpYyBnZXRGb3JtRXJyb3JzKFxuICAgIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9IHwgQWJzdHJhY3RDb250cm9sW10gPSB0aGlzXG4gICAgICAuYWRkRWRpdEZvcm0uY29udHJvbHMsXG4gICAgcGFyZW50Q29udHJvbE5hbWU/OiBzdHJpbmcsXG4gICk6IHsgY29udHJvbE5hbWU6IHN0cmluZzsgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfVtdIHtcbiAgICBjb25zdCBlcnJvcnM6IHsgY29udHJvbE5hbWU6IHN0cmluZzsgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfVtdID0gW107XG4gICAgZm9yIChjb25zdCBjb250cm9sTmFtZSBvZiBPYmplY3Qua2V5cyhjb250cm9scykpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSAoY29udHJvbHMgYXMgbmV2ZXIpW2NvbnRyb2xOYW1lXTtcbiAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5mb3JtQ29udHJvbEVycm9ycyhjb250cm9sLCBjb250cm9scyk7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgIGNvbnRyb2xOYW1lOiBwYXJlbnRDb250cm9sTmFtZVxuICAgICAgICAgICAgPyBgJHtwYXJlbnRDb250cm9sTmFtZX0uJHtjb250cm9sTmFtZX1gXG4gICAgICAgICAgICA6IGNvbnRyb2xOYW1lLFxuICAgICAgICAgIGVycm9yLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICgoY29udHJvbCBhcyBGb3JtQXJyYXkpPy5jb250cm9scykge1xuICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAuLi50aGlzLmdldEZvcm1FcnJvcnMoXG4gICAgICAgICAgICAoY29udHJvbCBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzLFxuICAgICAgICAgICAgcGFyZW50Q29udHJvbE5hbWVcbiAgICAgICAgICAgICAgPyBgJHtwYXJlbnRDb250cm9sTmFtZX0uJHtjb250cm9sTmFtZX1gXG4gICAgICAgICAgICAgIDogY29udHJvbE5hbWUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBpbml0Rm9ybSgpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3Qgc2F2ZSgpOiB2b2lkO1xufVxuIl19","import { Directive, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class DialogButtonsDirective {\n constructor() {\n this.tpl = inject(TemplateRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: DialogButtonsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.6\", type: DialogButtonsDirective, isStandalone: false, selector: \"[imngDialogBtns]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: DialogButtonsDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[imngDialogBtns]',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBS0UsUUFBRyxHQUFHLE1BQU0sQ0FBdUIsV0FBVyxDQUFDLENBQUM7S0FDakQ7OEdBRlksc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpbW5nRGlhbG9nQnRuc10nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB7XG4gIHRwbCA9IGluamVjdDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oVGVtcGxhdGVSZWYpO1xufVxuIl19","import { Component, Input, ChangeDetectionStrategy, TemplateRef, ContentChild, } from '@angular/core';\nimport { BaseDataEntryComponent } from './base-data-entry.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@progress/kendo-angular-dialog\";\nexport class DataEntryDialogComponent {\n constructor() {\n this.width = 800; //NOSONAR\n this.height = 600; //NOSONAR\n this.cancelButtonText = 'Cancel';\n this.submitButtonText = 'Submit';\n this.submitted = false;\n }\n ngOnInit() {\n if (!this.parentComponent) {\n throw new TypeError(`The input 'parentComponent' is required`);\n }\n this.dialogTitle = this.parentComponent.dialogTitle;\n this.loading$ = this.parentComponent.loading$;\n this.addEditForm = this.parentComponent.addEditForm;\n this.submitButtonText ??= this.parentComponent.submitButtonText ?? 'Submit';\n this.cancelButtonText ??= this.parentComponent.cancelButtonText ?? 'Cancel';\n this.formId ??= this.parentComponent.formId ?? 'imng-form';\n }\n close() {\n this.parentComponent?.closeForm();\n }\n cancel() {\n this.parentComponent?.onCancel();\n }\n submit() {\n this.parentComponent?.onSubmit();\n }\n get dialogActionBtnsCtx() {\n //NOSONAR\n return {\n $implicit: { cancel: () => this.cancel(), submit: () => this.submit() },\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: DataEntryDialogComponent, isStandalone: false, selector: \"imng-data-entry-dialog[parentComponent]\", inputs: { minWidth: \"minWidth\", width: \"width\", height: \"height\", autoFocusedElement: \"autoFocusedElement\", parentComponent: \"parentComponent\", cancelButtonText: \"cancelButtonText\", submitButtonText: \"submitButtonText\" }, queries: [{ propertyName: \"dialogBtnsTemplate\", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog\n [width]=\"width\"\n [minWidth]=\"minWidth ?? width\"\n [height]=\"height\"\n (close)=\"close()\"\n [autoFocusedElement]=\"autoFocusedElement || ''\">\n <kendo-dialog-titlebar class=\"bg-primary\">{{\n dialogTitle\n }}</kendo-dialog-titlebar>\n <ng-content />\n <kendo-dialog-actions>\n <ng-container *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \" />\n </kendo-dialog-actions>\n </kendo-dialog>\n <ng-template #defaultDialogActionsTpl>\n <button\n name=\"imngCancelDataEntry\"\n kendoButton\n (click)=\"cancel()\"\n class=\"btn btn-secondary btn-sm\">\n {{ cancelButtonText }}\n </button>\n <button\n name=\"imngSubmitDataEntry\"\n [attr.form]=\"formId\"\n type=\"submit\"\n kendoButton\n (click)=\"submit()\"\n class=\"btn btn-primary btn-sm\">\n {{ submitButtonText }}\n </button>\n </ng-template>`, isInline: true, dependencies: [{ kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: i2.DialogComponent, selector: \"kendo-dialog\", inputs: [\"actions\", \"actionsLayout\", \"autoFocusedElement\", \"title\", \"width\", \"minWidth\", \"maxWidth\", \"height\", \"minHeight\", \"maxHeight\", \"animation\", \"themeColor\"], outputs: [\"action\", \"close\"], exportAs: [\"kendoDialog\"] }, { kind: \"component\", type: i2.DialogTitleBarComponent, selector: \"kendo-dialog-titlebar\", inputs: [\"id\", \"closeTitle\"], outputs: [\"close\"] }, { kind: \"component\", type: i2.DialogActionsComponent, selector: \"kendo-dialog-actions\", inputs: [\"actions\", \"layout\"], outputs: [\"action\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: DataEntryDialogComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'imng-data-entry-dialog[parentComponent]',\n template: `<kendo-dialog\n [width]=\"width\"\n [minWidth]=\"minWidth ?? width\"\n [height]=\"height\"\n (close)=\"close()\"\n [autoFocusedElement]=\"autoFocusedElement || ''\">\n <kendo-dialog-titlebar class=\"bg-primary\">{{\n dialogTitle\n }}</kendo-dialog-titlebar>\n <ng-content />\n <kendo-dialog-actions>\n <ng-container *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \" />\n </kendo-dialog-actions>\n </kendo-dialog>\n <ng-template #defaultDialogActionsTpl>\n <button\n name=\"imngCancelDataEntry\"\n kendoButton\n (click)=\"cancel()\"\n class=\"btn btn-secondary btn-sm\">\n {{ cancelButtonText }}\n </button>\n <button\n name=\"imngSubmitDataEntry\"\n [attr.form]=\"formId\"\n type=\"submit\"\n kendoButton\n (click)=\"submit()\"\n class=\"btn btn-primary btn-sm\">\n {{ submitButtonText }}\n </button>\n </ng-template>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n }]\n }], propDecorators: { minWidth: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], autoFocusedElement: [{\n type: Input\n }], parentComponent: [{\n type: Input\n }], cancelButtonText: [{\n type: Input\n }], submitButtonText: [{\n type: Input\n }], dialogBtnsTemplate: [{\n type: ContentChild,\n args: [DialogButtonsDirective, { static: true, read: TemplateRef }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUEwQ3BFLE1BQU0sT0FBTyx3QkFBd0I7SUF4Q3JDO1FBMENrQixVQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN0QixXQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQU92QixxQkFBZ0IsR0FBWSxRQUFRLENBQUM7UUFDckMscUJBQWdCLEdBQVksUUFBUSxDQUFDO1FBZTlDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0ErQjFCO0lBM0JRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxTQUFTLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQztJQUM3RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNNLE1BQU07UUFDWCxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUI7UUFDckIsU0FBUztRQUNULE9BQU87WUFDTCxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7U0FDeEUsQ0FBQztJQUNKLENBQUM7OEdBeERVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGtYQVlyQixzQkFBc0IsMkJBQXdCLFdBQVcsMkNBbEQzRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkFrQ0s7OzJGQUlOLHdCQUF3QjtrQkF4Q3BDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlDQUF5QztvQkFDbkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQWtDSztvQkFDZixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOzhCQUVpQixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFJVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBRVUsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQVdDLGtCQUFrQjtzQkFWeEIsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFRlbXBsYXRlUmVmLFxuICBDb250ZW50Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZURhdGFFbnRyeUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dCdXR0b25zRGlyZWN0aXZlIH0gZnJvbSAnLi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ltbmctZGF0YS1lbnRyeS1kaWFsb2dbcGFyZW50Q29tcG9uZW50XScsXG4gICAgdGVtcGxhdGU6IGA8a2VuZG8tZGlhbG9nXG4gICAgICBbd2lkdGhdPVwid2lkdGhcIlxuICAgICAgW21pbldpZHRoXT1cIm1pbldpZHRoID8/IHdpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICAgIFthdXRvRm9jdXNlZEVsZW1lbnRdPVwiYXV0b0ZvY3VzZWRFbGVtZW50IHx8ICcnXCI+XG4gICAgICA8a2VuZG8tZGlhbG9nLXRpdGxlYmFyIGNsYXNzPVwiYmctcHJpbWFyeVwiPnt7XG4gICAgICAgIGRpYWxvZ1RpdGxlXG4gICAgICB9fTwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDxrZW5kby1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgZGlhbG9nQnRuc1RlbXBsYXRlIHx8IGRlZmF1bHREaWFsb2dBY3Rpb25zVHBsO1xuICAgICAgICAgICAgY29udGV4dDogZGlhbG9nQWN0aW9uQnRuc0N0eFxuICAgICAgICAgIFwiIC8+XG4gICAgICA8L2tlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgIDwva2VuZG8tZGlhbG9nPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG5hbWU9XCJpbW5nQ2FuY2VsRGF0YUVudHJ5XCJcbiAgICAgICAga2VuZG9CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIj5cbiAgICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG5hbWU9XCJpbW5nU3VibWl0RGF0YUVudHJ5XCJcbiAgICAgICAgW2F0dHIuZm9ybV09XCJmb3JtSWRcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAga2VuZG9CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+XG4gICAgICAgIHt7IHN1Ym1pdEJ1dHRvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhRW50cnlEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgbWluV2lkdGg/OiBudW1iZXI7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgd2lkdGggPSA4MDA7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0ID0gNjAwOyAvL05PU09OQVJcbiAgLyoqXG4gICAqIGh0dHBzOi8vd3d3LnRlbGVyaWsuY29tL2tlbmRvLWFuZ3VsYXItdWkvY29tcG9uZW50cy9kaWFsb2dzL2RpYWxvZy9pbml0aWFsLWZvY3VzL1xuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGF1dG9Gb2N1c2VkRWxlbWVudD86IHN0cmluZztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgQElucHV0KCkgcHVibGljIHBhcmVudENvbXBvbmVudD86IEJhc2VEYXRhRW50cnlDb21wb25lbnQ8YW55PjsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nID0gJ0NhbmNlbCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXRCdXR0b25UZXh0Pzogc3RyaW5nID0gJ1N1Ym1pdCc7XG4gIEBDb250ZW50Q2hpbGQoRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIC8qKlxuICAgKiBFeGFtcGxlIFVzYWdlOlxuICAgKiA8aW1uZy1kYXRhLWVudHJ5LWRpYWxvZz5cbiAgICogLi4uLi4uXG4gICAqICA8bmctdGVtcGxhdGUgW2ltbmdEaWFsb2dCdG5zXSBsZXQtY29yZUJ1dHRvbnM+XG4gICAqICAgIDxidXR0b24gaWQ9XCJidG5DdXN0b20xXCIgY2xhc3M9XCJrLWJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNsb3NlPC9idXR0b24+XG4gICAqICA8L25nLXRlbXBsYXRlPlxuICAgKiA8L2ltbmctZGF0YS1lbnRyeS1kaWFsb2c+XG4gICAqL1xuICBwdWJsaWMgZGlhbG9nQnRuc1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIHB1YmxpYyBsb2FkaW5nJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBhZGRFZGl0Rm9ybT86IEZvcm1Hcm91cDtcbiAgcHVibGljIGZvcm1JZD86IHN0cmluZztcbiAgcHVibGljIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICBwdWJsaWMgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XG4gIHB1YmxpYyBjb21wb25lbnQ/OiBOb25OdWxsYWJsZTx1bmtub3duPjtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBhcmVudENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIGlucHV0ICdwYXJlbnRDb21wb25lbnQnIGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nVGl0bGUgPSB0aGlzLnBhcmVudENvbXBvbmVudC5kaWFsb2dUaXRsZTtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5wYXJlbnRDb21wb25lbnQubG9hZGluZyQ7XG4gICAgdGhpcy5hZGRFZGl0Rm9ybSA9IHRoaXMucGFyZW50Q29tcG9uZW50LmFkZEVkaXRGb3JtO1xuICAgIHRoaXMuc3VibWl0QnV0dG9uVGV4dCA/Pz0gdGhpcy5wYXJlbnRDb21wb25lbnQuc3VibWl0QnV0dG9uVGV4dCA/PyAnU3VibWl0JztcbiAgICB0aGlzLmNhbmNlbEJ1dHRvblRleHQgPz89IHRoaXMucGFyZW50Q29tcG9uZW50LmNhbmNlbEJ1dHRvblRleHQgPz8gJ0NhbmNlbCc7XG4gICAgdGhpcy5mb3JtSWQgPz89IHRoaXMucGFyZW50Q29tcG9uZW50LmZvcm1JZCA/PyAnaW1uZy1mb3JtJztcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudENvbXBvbmVudD8uY2xvc2VGb3JtKCk7XG4gIH1cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudENvbXBvbmVudD8ub25DYW5jZWwoKTtcbiAgfVxuICBwdWJsaWMgc3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5vblN1Ym1pdCgpO1xuICB9XG4gIGdldCBkaWFsb2dBY3Rpb25CdG5zQ3R4KCk6IG9iamVjdCB8IG51bGwge1xuICAgIC8vTk9TT05BUlxuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IHsgY2FuY2VsOiAoKSA9PiB0aGlzLmNhbmNlbCgpLCBzdWJtaXQ6ICgpID0+IHRoaXMuc3VibWl0KCkgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataEntryDialogComponent } from './data-entry-dialog.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\nimport * as i0 from \"@angular/core\";\nexport class ImngDataEntryDialogModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.6\", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, DialogModule],\n declarations: [DataEntryDialogComponent, DialogButtonsDirective],\n exports: [DataEntryDialogComponent, DialogButtonsDirective],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBTzlELE1BQU0sT0FBTyx5QkFBeUI7OEdBQXpCLHlCQUF5QjsrR0FBekIseUJBQXlCLGlCQUhyQix3QkFBd0IsRUFBRSxzQkFBc0IsYUFEckQsWUFBWSxFQUFFLFlBQVksYUFFMUIsd0JBQXdCLEVBQUUsc0JBQXNCOytHQUUvQyx5QkFBeUIsWUFKMUIsWUFBWSxFQUFFLFlBQVk7OzJGQUl6Qix5QkFBeUI7a0JBTHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDckMsWUFBWSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YUVudHJ5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRpYWxvZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0RhdGFFbnRyeURpYWxvZ0NvbXBvbmVudCwgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtEYXRhRW50cnlEaWFsb2dDb21wb25lbnQsIERpYWxvZ0J1dHRvbnNEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBJbW5nRGF0YUVudHJ5RGlhbG9nTW9kdWxlIHt9XG4iXX0=","export function updateStateCollectionItem(collection, item) {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1, item);\n return items;\n }\n return collection;\n}\nexport function removeStateCollectionItem(collection, item) {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1);\n return items;\n }\n return collection;\n}\nexport function addStateCollectionItem(collection, item) {\n const items = [...collection];\n items.unshift(item);\n return items;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9yZWR1Y2VyLWNvbGxlY3Rpb24tbG9naWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsVUFBb0IsRUFDcEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDZixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsVUFBb0IsRUFDcEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlVHlwZSB9IGZyb20gJ2ltbmctbnJzcngtY2xpZW50LXV0aWxzJztcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTdGF0ZUNvbGxlY3Rpb25JdGVtPEVudGl0eSBleHRlbmRzIHsgaWQ/OiBWYWx1ZVR5cGU7IH0+KFxuICBjb2xsZWN0aW9uOiBFbnRpdHlbXSxcbiAgaXRlbTogRW50aXR5XG4pOiBFbnRpdHlbXSB7XG4gIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoKHZhbCkgPT4gdmFsLmlkID09PSBpdGVtLmlkKTtcbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xuICAgIHJldHVybiBpdGVtcztcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0YXRlQ29sbGVjdGlvbkl0ZW08RW50aXR5IGV4dGVuZHMgeyBpZD86IFZhbHVlVHlwZTsgfT4oXG4gIGNvbGxlY3Rpb246IEVudGl0eVtdLFxuICBpdGVtOiBFbnRpdHlcbik6IEVudGl0eVtdIHtcbiAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleCgodmFsKSA9PiB2YWwuaWQgPT09IGl0ZW0uaWQpO1xuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IGl0ZW1zID0gWy4uLmNvbGxlY3Rpb25dO1xuICAgIGl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG4gIHJldHVybiBjb2xsZWN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RhdGVDb2xsZWN0aW9uSXRlbTxFbnRpdHkgZXh0ZW5kcyB7IGlkPzogVmFsdWVUeXBlOyB9PihcbiAgY29sbGVjdGlvbjogRW50aXR5W10sXG4gIGl0ZW06IEVudGl0eVxuKTogRW50aXR5W10ge1xuICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgaXRlbXMudW5zaGlmdChpdGVtKTtcbiAgcmV0dXJuIGl0ZW1zO1xufVxuIl19","import { take, tap, filter } from 'rxjs/operators';\nexport const formGroupPatcher = (addEditForm) => (source) => source.pipe(filter((t) => !!t), take(1), tap((t) => addEditForm.patchValue(t)));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1wYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9mb3JtLWdyb3VwLXBhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJbkQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQzNCLENBQ0UsV0FBc0IsRUFDdEIsRUFBRSxDQUNKLENBQUMsTUFBMkIsRUFBRSxFQUFFLENBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBVSxDQUFDLENBQUMsQ0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2UsIHRhcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZm9ybUdyb3VwUGF0Y2hlciA9XG4gIDxURW50aXR5IGV4dGVuZHMgeyBpZD86IElkVHlwZSB8IG51bGwgfCB1bmRlZmluZWQgfSB8IHVuZGVmaW5lZD4oXG4gICAgYWRkRWRpdEZvcm06IEZvcm1Hcm91cCxcbiAgKSA9PlxuICAoc291cmNlOiBPYnNlcnZhYmxlPFRFbnRpdHk+KSA9PlxuICAgIHNvdXJjZS5waXBlKFxuICAgICAgZmlsdGVyKCh0KSA9PiAhIXQpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHRhcCgodCkgPT4gYWRkRWRpdEZvcm0ucGF0Y2hWYWx1ZSh0IGFzIG5ldmVyKSksXG4gICAgKTtcbiJdfQ==","export class ModalStates {\n static { this.ADD = 'add'; }\n static { this.EDIT = 'edit'; }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9tb2RhbC1zdGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7YUFDQyxRQUFHLEdBQUcsS0FBSyxDQUFDO2FBQ1osU0FBSSxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBNb2RhbFN0YXRlcyB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUREID0gJ2FkZCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRURJVCA9ICdlZGl0Jztcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2ltbmcta2VuZG8tZGF0YS1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,9 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, OnDestroy, TemplateRef } from '@angular/core';
|
|
3
|
+
import { Observable, BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { FormGroup, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
5
|
+
import { Subscribable, Subscriptions } from 'imng-ngrx-utils';
|
|
6
|
+
import { EnumProperties } from 'openapi-ts-generator/enums';
|
|
7
|
+
import * as i3 from '@angular/common';
|
|
8
|
+
import * as i4 from '@progress/kendo-angular-dialog';
|
|
9
|
+
import { ValueType, IdType } from 'imng-nrsrx-client-utils';
|
|
10
|
+
|
|
11
|
+
interface IDataEntryFacade<Entity> extends IBaseDataEntryFacade {
|
|
12
|
+
currentEntity$: Observable<Entity | undefined>;
|
|
13
|
+
currentModalState$?: Observable<string | undefined>;
|
|
14
|
+
setCurrentEntity(entity: Entity, modalState?: string, parentEntity?: unknown): void;
|
|
15
|
+
saveNewEntity(entity: Entity): void;
|
|
16
|
+
updateExistingEntity(entity: Entity): void;
|
|
17
|
+
}
|
|
18
|
+
interface IBaseDataEntryFacade {
|
|
19
|
+
loading$: Observable<boolean>;
|
|
20
|
+
clearCurrentEntity(): void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The extending class has to implement the following properties on ngInit
|
|
25
|
+
* dialogTitle: string - This will be the text displayed at the top of the modal title bar
|
|
26
|
+
* props: enum - This is a helper property to make the html markup type safe
|
|
27
|
+
*
|
|
28
|
+
* Along with the requirements above, the extending class has to set values to the
|
|
29
|
+
* following properties on ngInit
|
|
30
|
+
* active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade
|
|
31
|
+
* addEditForm: FormGroup - This will be created by your component
|
|
32
|
+
*
|
|
33
|
+
* @class BaseDataEntryComponent>
|
|
34
|
+
*/
|
|
35
|
+
declare abstract class BaseDataEntryComponent<FACADE extends IBaseDataEntryFacade> implements OnInit, OnDestroy, Subscribable {
|
|
36
|
+
readonly facade: FACADE;
|
|
37
|
+
width: string | number;
|
|
38
|
+
height: string | number;
|
|
39
|
+
formId: string;
|
|
40
|
+
cancelButtonText: string;
|
|
41
|
+
submitButtonText: string;
|
|
42
|
+
readonly MinLengthError = "minlength";
|
|
43
|
+
readonly RequiredError = "required";
|
|
44
|
+
readonly EnumProperties: typeof EnumProperties;
|
|
45
|
+
allSubscriptions: Subscriptions;
|
|
46
|
+
abstract dialogTitle: string;
|
|
47
|
+
abstract props: unknown;
|
|
48
|
+
abstract addEditForm: FormGroup;
|
|
49
|
+
loading$: Observable<boolean>;
|
|
50
|
+
readonly submitted$: BehaviorSubject<boolean>;
|
|
51
|
+
constructor(facade: FACADE);
|
|
52
|
+
ngOnInit(): void;
|
|
53
|
+
ngOnDestroy(): void;
|
|
54
|
+
closeForm(): void;
|
|
55
|
+
onCancel(): void;
|
|
56
|
+
onSubmit(): boolean;
|
|
57
|
+
isDataInvalid(): boolean;
|
|
58
|
+
formControl(controlName: string, controls?: {
|
|
59
|
+
[key: string]: AbstractControl;
|
|
60
|
+
}): AbstractControl;
|
|
61
|
+
formControlErrors(control: string | AbstractControl, controls?: {
|
|
62
|
+
[key: string]: AbstractControl;
|
|
63
|
+
} | AbstractControl[]): ValidationErrors | null;
|
|
64
|
+
formMinLengthError(controlName: string): {
|
|
65
|
+
requiredLength: number;
|
|
66
|
+
actualLength: number;
|
|
67
|
+
} | null;
|
|
68
|
+
getFormErrors(controls?: {
|
|
69
|
+
[key: string]: AbstractControl;
|
|
70
|
+
} | AbstractControl[], parentControlName?: string): {
|
|
71
|
+
controlName: string;
|
|
72
|
+
error: ValidationErrors;
|
|
73
|
+
}[];
|
|
74
|
+
abstract initForm(): void;
|
|
75
|
+
abstract save(): void;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseDataEntryComponent<any>, never>;
|
|
77
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseDataEntryComponent<any>, "ng-component", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, false, never>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
declare class DataEntryDialogComponent implements OnInit {
|
|
81
|
+
minWidth?: number;
|
|
82
|
+
width: number;
|
|
83
|
+
height: number;
|
|
84
|
+
/**
|
|
85
|
+
* https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/initial-focus/
|
|
86
|
+
*/
|
|
87
|
+
autoFocusedElement?: string;
|
|
88
|
+
parentComponent?: BaseDataEntryComponent<any>;
|
|
89
|
+
cancelButtonText?: string;
|
|
90
|
+
submitButtonText?: string;
|
|
91
|
+
dialogBtnsTemplate?: TemplateRef<unknown>;
|
|
92
|
+
loading$?: Observable<boolean>;
|
|
93
|
+
addEditForm?: FormGroup;
|
|
94
|
+
formId?: string;
|
|
95
|
+
submitted: boolean;
|
|
96
|
+
dialogTitle?: string;
|
|
97
|
+
component?: NonNullable<unknown>;
|
|
98
|
+
ngOnInit(): void;
|
|
99
|
+
close(): void;
|
|
100
|
+
cancel(): void;
|
|
101
|
+
submit(): void;
|
|
102
|
+
get dialogActionBtnsCtx(): object | null;
|
|
103
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataEntryDialogComponent, never>;
|
|
104
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataEntryDialogComponent, "imng-data-entry-dialog[parentComponent]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "autoFocusedElement": { "alias": "autoFocusedElement"; "required": false; }; "parentComponent": { "alias": "parentComponent"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; "submitButtonText": { "alias": "submitButtonText"; "required": false; }; }, {}, ["dialogBtnsTemplate"], ["*"], false, never>;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
declare class DialogButtonsDirective {
|
|
108
|
+
tpl: TemplateRef<unknown>;
|
|
109
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogButtonsDirective, never>;
|
|
110
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DialogButtonsDirective, "[imngDialogBtns]", never, {}, {}, never, never, false, never>;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
declare class ImngDataEntryDialogModule {
|
|
114
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ImngDataEntryDialogModule, never>;
|
|
115
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ImngDataEntryDialogModule, [typeof DataEntryDialogComponent, typeof DialogButtonsDirective], [typeof i3.CommonModule, typeof i4.DialogModule], [typeof DataEntryDialogComponent, typeof DialogButtonsDirective]>;
|
|
116
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ImngDataEntryDialogModule>;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
interface IDataDeleteFacade<Entity> {
|
|
120
|
+
deleteExistingEntity(entity: Entity): void;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
declare function updateStateCollectionItem<Entity extends {
|
|
124
|
+
id?: ValueType;
|
|
125
|
+
}>(collection: Entity[], item: Entity): Entity[];
|
|
126
|
+
declare function removeStateCollectionItem<Entity extends {
|
|
127
|
+
id?: ValueType;
|
|
128
|
+
}>(collection: Entity[], item: Entity): Entity[];
|
|
129
|
+
declare function addStateCollectionItem<Entity extends {
|
|
130
|
+
id?: ValueType;
|
|
131
|
+
}>(collection: Entity[], item: Entity): Entity[];
|
|
132
|
+
|
|
133
|
+
declare const formGroupPatcher: <TEntity extends {
|
|
134
|
+
id?: IdType | null | undefined;
|
|
135
|
+
} | undefined>(addEditForm: FormGroup) => (source: Observable<TEntity>) => Observable<TEntity & {}>;
|
|
136
|
+
|
|
137
|
+
declare class ModalStates {
|
|
138
|
+
static readonly ADD = "add";
|
|
139
|
+
static readonly EDIT = "edit";
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { BaseDataEntryComponent, DataEntryDialogComponent, DialogButtonsDirective, ImngDataEntryDialogModule, ModalStates, addStateCollectionItem, formGroupPatcher, removeStateCollectionItem, updateStateCollectionItem };
|
|
143
|
+
export type { IBaseDataEntryFacade, IDataDeleteFacade, IDataEntryFacade };
|
package/package.json
CHANGED
package/testing/index.d.ts
CHANGED
|
@@ -1,7 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { IDataEntryFacade, IDataDeleteFacade, BaseDataEntryComponent } from 'imng-kendo-data-entry';
|
|
3
|
+
import { HttpClient } from '@angular/common/http';
|
|
4
|
+
import { ComponentFixture } from '@angular/core/testing';
|
|
5
|
+
import { FormGroup, FormControl } from '@angular/forms';
|
|
6
|
+
|
|
7
|
+
declare class DataEntryMockFacade implements IDataEntryFacade<unknown> {
|
|
8
|
+
loading$: Observable<boolean>;
|
|
9
|
+
currentEntity$: Observable<unknown>;
|
|
10
|
+
isEditActive$: Observable<boolean>;
|
|
11
|
+
isNewActive$: Observable<boolean>;
|
|
12
|
+
setCurrentEntity: jest.Mock<any, any, any>;
|
|
13
|
+
clearCurrentEntity: jest.Mock<any, any, any>;
|
|
14
|
+
saveNewEntity: jest.Mock<any, any, any>;
|
|
15
|
+
updateExistingEntity: jest.Mock<any, any, any>;
|
|
16
|
+
}
|
|
17
|
+
declare function createDataEntryMockFacade(mockFacade?: IDataEntryFacade<unknown> | any): IDataEntryFacade<unknown>;
|
|
18
|
+
|
|
19
|
+
declare function testAddSetAndClearCurrentEntity<TFacade extends TestableFacade>(facade: TFacade): Promise<void>;
|
|
20
|
+
declare function testEditSetAndClearCurrentEntity<TFacade extends TestableFacade>(facade: TFacade): Promise<void>;
|
|
21
|
+
interface TestableFacade {
|
|
22
|
+
currentEntity$: Observable<unknown>;
|
|
23
|
+
isEditActive$: Observable<boolean | null>;
|
|
24
|
+
isNewActive$: Observable<boolean | null>;
|
|
25
|
+
setCurrentEntity(entity: unknown, parentEntity?: unknown): void;
|
|
26
|
+
clearCurrentEntity(): void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare function testSaveCurrentEntity<TFacade extends {
|
|
30
|
+
saveNewEntity(entity: unknown): void;
|
|
31
|
+
}>(facade: TFacade, httpClient: HttpClient): Promise<void>;
|
|
32
|
+
declare function testUpdateCurrentEntity<TFacade extends {
|
|
33
|
+
updateExistingEntity(entity: unknown): void;
|
|
34
|
+
}>(facade: TFacade, httpClient: HttpClient): Promise<void>;
|
|
35
|
+
|
|
36
|
+
declare function testDeleteCurrentEntity<TFacade extends {
|
|
37
|
+
deleteExistingEntity(entity: unknown): void;
|
|
38
|
+
}>(facade: TFacade, httpClient: HttpClient): Promise<void>;
|
|
39
|
+
|
|
40
|
+
declare class DataDeleteMockFacade implements IDataDeleteFacade<unknown> {
|
|
41
|
+
deleteExistingEntity: jest.Mock<any, any, any>;
|
|
42
|
+
}
|
|
43
|
+
declare function createDataDeleteMockFacade<T = unknown>(mockFacade?: T): T & IDataDeleteFacade<unknown>;
|
|
44
|
+
|
|
45
|
+
declare function triggerSaveClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void;
|
|
46
|
+
declare function triggerCancelClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void;
|
|
47
|
+
|
|
48
|
+
declare class MockDataEntryComponent extends BaseDataEntryComponent<DataEntryMockFacade> {
|
|
49
|
+
dialogTitle: string;
|
|
50
|
+
addEditForm: FormGroup<{
|
|
51
|
+
id: FormControl<string | null>;
|
|
52
|
+
}>;
|
|
53
|
+
props: {};
|
|
54
|
+
initForm: jest.Mock<any, any, any>;
|
|
55
|
+
save: () => jest.Mock<any, any, any>;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { DataDeleteMockFacade, DataEntryMockFacade, MockDataEntryComponent, createDataDeleteMockFacade, createDataEntryMockFacade, testAddSetAndClearCurrentEntity, testDeleteCurrentEntity, testEditSetAndClearCurrentEntity, testSaveCurrentEntity, testUpdateCurrentEntity, triggerCancelClickEvent, triggerSaveClickEvent };
|
|
59
|
+
export type { TestableFacade };
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
-
import { Observable, BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { AbstractControl, ValidationErrors, FormGroup } from '@angular/forms';
|
|
4
|
-
import { IBaseDataEntryFacade } from './data-entry-facade';
|
|
5
|
-
import { Subscribable, Subscriptions } from 'imng-ngrx-utils';
|
|
6
|
-
import { EnumProperties } from 'openapi-ts-generator/enums';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* The extending class has to implement the following properties on ngInit
|
|
10
|
-
* dialogTitle: string - This will be the text displayed at the top of the modal title bar
|
|
11
|
-
* props: enum - This is a helper property to make the html markup type safe
|
|
12
|
-
*
|
|
13
|
-
* Along with the requirements above, the extending class has to set values to the
|
|
14
|
-
* following properties on ngInit
|
|
15
|
-
* active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade
|
|
16
|
-
* addEditForm: FormGroup - This will be created by your component
|
|
17
|
-
*
|
|
18
|
-
* @class BaseDataEntryComponent>
|
|
19
|
-
*/
|
|
20
|
-
export declare abstract class BaseDataEntryComponent<FACADE extends IBaseDataEntryFacade> implements OnInit, OnDestroy, Subscribable {
|
|
21
|
-
readonly facade: FACADE;
|
|
22
|
-
width: string | number;
|
|
23
|
-
height: string | number;
|
|
24
|
-
formId: string;
|
|
25
|
-
cancelButtonText: string;
|
|
26
|
-
submitButtonText: string;
|
|
27
|
-
readonly MinLengthError = "minlength";
|
|
28
|
-
readonly RequiredError = "required";
|
|
29
|
-
readonly EnumProperties: typeof EnumProperties;
|
|
30
|
-
allSubscriptions: Subscriptions;
|
|
31
|
-
abstract dialogTitle: string;
|
|
32
|
-
abstract props: unknown;
|
|
33
|
-
abstract addEditForm: FormGroup;
|
|
34
|
-
loading$: Observable<boolean>;
|
|
35
|
-
readonly submitted$: BehaviorSubject<boolean>;
|
|
36
|
-
constructor(facade: FACADE);
|
|
37
|
-
ngOnInit(): void;
|
|
38
|
-
ngOnDestroy(): void;
|
|
39
|
-
closeForm(): void;
|
|
40
|
-
onCancel(): void;
|
|
41
|
-
onSubmit(): boolean;
|
|
42
|
-
isDataInvalid(): boolean;
|
|
43
|
-
formControl(controlName: string, controls?: {
|
|
44
|
-
[key: string]: AbstractControl;
|
|
45
|
-
}): AbstractControl;
|
|
46
|
-
formControlErrors(control: string | AbstractControl, controls?: {
|
|
47
|
-
[key: string]: AbstractControl;
|
|
48
|
-
} | AbstractControl[]): ValidationErrors | null;
|
|
49
|
-
formMinLengthError(controlName: string): {
|
|
50
|
-
requiredLength: number;
|
|
51
|
-
actualLength: number;
|
|
52
|
-
} | null;
|
|
53
|
-
getFormErrors(controls?: {
|
|
54
|
-
[key: string]: AbstractControl;
|
|
55
|
-
} | AbstractControl[], parentControlName?: string): {
|
|
56
|
-
controlName: string;
|
|
57
|
-
error: ValidationErrors;
|
|
58
|
-
}[];
|
|
59
|
-
abstract initForm(): void;
|
|
60
|
-
abstract save(): void;
|
|
61
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BaseDataEntryComponent<any>, never>;
|
|
62
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseDataEntryComponent<any>, "ng-component", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, false, never>;
|
|
63
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { OnInit, TemplateRef } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { FormGroup } from '@angular/forms';
|
|
4
|
-
import { BaseDataEntryComponent } from './base-data-entry.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class DataEntryDialogComponent implements OnInit {
|
|
7
|
-
minWidth?: number;
|
|
8
|
-
width: number;
|
|
9
|
-
height: number;
|
|
10
|
-
/**
|
|
11
|
-
* https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/initial-focus/
|
|
12
|
-
*/
|
|
13
|
-
autoFocusedElement?: string;
|
|
14
|
-
parentComponent?: BaseDataEntryComponent<any>;
|
|
15
|
-
cancelButtonText?: string;
|
|
16
|
-
submitButtonText?: string;
|
|
17
|
-
dialogBtnsTemplate?: TemplateRef<unknown>;
|
|
18
|
-
loading$?: Observable<boolean>;
|
|
19
|
-
addEditForm?: FormGroup;
|
|
20
|
-
formId?: string;
|
|
21
|
-
submitted: boolean;
|
|
22
|
-
dialogTitle?: string;
|
|
23
|
-
component?: NonNullable<unknown>;
|
|
24
|
-
ngOnInit(): void;
|
|
25
|
-
close(): void;
|
|
26
|
-
cancel(): void;
|
|
27
|
-
submit(): void;
|
|
28
|
-
get dialogActionBtnsCtx(): object | null;
|
|
29
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DataEntryDialogComponent, never>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DataEntryDialogComponent, "imng-data-entry-dialog[parentComponent]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "autoFocusedElement": { "alias": "autoFocusedElement"; "required": false; }; "parentComponent": { "alias": "parentComponent"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; "submitButtonText": { "alias": "submitButtonText"; "required": false; }; }, {}, ["dialogBtnsTemplate"], ["*"], false, never>;
|
|
31
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
export interface IDataEntryFacade<Entity> extends IBaseDataEntryFacade {
|
|
3
|
-
currentEntity$: Observable<Entity | undefined>;
|
|
4
|
-
currentModalState$?: Observable<string | undefined>;
|
|
5
|
-
setCurrentEntity(entity: Entity, modalState?: string, parentEntity?: unknown): void;
|
|
6
|
-
saveNewEntity(entity: Entity): void;
|
|
7
|
-
updateExistingEntity(entity: Entity): void;
|
|
8
|
-
}
|
|
9
|
-
export interface IBaseDataEntryFacade {
|
|
10
|
-
loading$: Observable<boolean>;
|
|
11
|
-
clearCurrentEntity(): void;
|
|
12
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class DialogButtonsDirective {
|
|
4
|
-
tpl: TemplateRef<unknown>;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DialogButtonsDirective, never>;
|
|
6
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DialogButtonsDirective, "[imngDialogBtns]", never, {}, {}, never, never, false, never>;
|
|
7
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { IdType } from 'imng-nrsrx-client-utils';
|
|
4
|
-
export declare const formGroupPatcher: <TEntity extends {
|
|
5
|
-
id?: IdType | null | undefined;
|
|
6
|
-
} | undefined>(addEditForm: FormGroup) => (source: Observable<TEntity>) => Observable<TEntity & {}>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./data-entry-dialog.component";
|
|
3
|
-
import * as i2 from "./dialog-buttons.directive";
|
|
4
|
-
import * as i3 from "@angular/common";
|
|
5
|
-
import * as i4 from "@progress/kendo-angular-dialog";
|
|
6
|
-
export declare class ImngDataEntryDialogModule {
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ImngDataEntryDialogModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ImngDataEntryDialogModule, [typeof i1.DataEntryDialogComponent, typeof i2.DialogButtonsDirective], [typeof i3.CommonModule, typeof i4.DialogModule], [typeof i1.DataEntryDialogComponent, typeof i2.DialogButtonsDirective]>;
|
|
9
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ImngDataEntryDialogModule>;
|
|
10
|
-
}
|
package/lib/modal-states.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ValueType } from 'imng-nrsrx-client-utils';
|
|
2
|
-
export declare function updateStateCollectionItem<Entity extends {
|
|
3
|
-
id?: ValueType;
|
|
4
|
-
}>(collection: Entity[], item: Entity): Entity[];
|
|
5
|
-
export declare function removeStateCollectionItem<Entity extends {
|
|
6
|
-
id?: ValueType;
|
|
7
|
-
}>(collection: Entity[], item: Entity): Entity[];
|
|
8
|
-
export declare function addStateCollectionItem<Entity extends {
|
|
9
|
-
id?: ValueType;
|
|
10
|
-
}>(collection: Entity[], item: Entity): Entity[];
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { IDataDeleteFacade } from 'imng-kendo-data-entry';
|
|
2
|
-
export declare class DataDeleteMockFacade implements IDataDeleteFacade<unknown> {
|
|
3
|
-
deleteExistingEntity: jest.Mock<any, any, any>;
|
|
4
|
-
}
|
|
5
|
-
export declare function createDataDeleteMockFacade<T = unknown>(mockFacade?: T): T & IDataDeleteFacade<unknown>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
export declare function testSaveCurrentEntity<TFacade extends {
|
|
3
|
-
saveNewEntity(entity: unknown): void;
|
|
4
|
-
}>(facade: TFacade, httpClient: HttpClient): Promise<void>;
|
|
5
|
-
export declare function testUpdateCurrentEntity<TFacade extends {
|
|
6
|
-
updateExistingEntity(entity: unknown): void;
|
|
7
|
-
}>(facade: TFacade, httpClient: HttpClient): Promise<void>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
export declare function testAddSetAndClearCurrentEntity<TFacade extends TestableFacade>(facade: TFacade): Promise<void>;
|
|
3
|
-
export declare function testEditSetAndClearCurrentEntity<TFacade extends TestableFacade>(facade: TFacade): Promise<void>;
|
|
4
|
-
export interface TestableFacade {
|
|
5
|
-
currentEntity$: Observable<unknown>;
|
|
6
|
-
isEditActive$: Observable<boolean | null>;
|
|
7
|
-
isNewActive$: Observable<boolean | null>;
|
|
8
|
-
setCurrentEntity(entity: unknown, parentEntity?: unknown): void;
|
|
9
|
-
clearCurrentEntity(): void;
|
|
10
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { IDataEntryFacade } from 'imng-kendo-data-entry';
|
|
3
|
-
export declare class DataEntryMockFacade implements IDataEntryFacade<unknown> {
|
|
4
|
-
loading$: Observable<boolean>;
|
|
5
|
-
currentEntity$: Observable<unknown>;
|
|
6
|
-
isEditActive$: Observable<boolean>;
|
|
7
|
-
isNewActive$: Observable<boolean>;
|
|
8
|
-
setCurrentEntity: jest.Mock<any, any, any>;
|
|
9
|
-
clearCurrentEntity: jest.Mock<any, any, any>;
|
|
10
|
-
saveNewEntity: jest.Mock<any, any, any>;
|
|
11
|
-
updateExistingEntity: jest.Mock<any, any, any>;
|
|
12
|
-
}
|
|
13
|
-
export declare function createDataEntryMockFacade(mockFacade?: IDataEntryFacade<unknown> | any): IDataEntryFacade<unknown>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
2
|
-
import { BaseDataEntryComponent } from 'imng-kendo-data-entry';
|
|
3
|
-
import { DataEntryMockFacade } from './data-entry-mock.facade';
|
|
4
|
-
export declare class MockDataEntryComponent extends BaseDataEntryComponent<DataEntryMockFacade> {
|
|
5
|
-
dialogTitle: string;
|
|
6
|
-
addEditForm: FormGroup<{
|
|
7
|
-
id: FormControl<string | null>;
|
|
8
|
-
}>;
|
|
9
|
-
props: {};
|
|
10
|
-
initForm: jest.Mock<any, any, any>;
|
|
11
|
-
save: () => jest.Mock<any, any, any>;
|
|
12
|
-
}
|