imng-kendo-data-entry 8.173.1 → 8.175.1

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Component, Inject, Input, Directive, TemplateRef, ChangeDetectionStrategy, ContentChild, NgModule } from '@angular/core';
2
+ import { InjectionToken, Input, Inject, Component, Directive, TemplateRef, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { BehaviorSubject } from 'rxjs';
@@ -106,12 +106,15 @@ class BaseDataEntryComponent {
106
106
  }
107
107
  return errors;
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: BaseDataEntryComponent, selector: "ng-component", inputs: { width: "width", height: "height" }, ngImport: i0, template: '', isInline: true }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: BaseDataEntryComponent, isStandalone: false, selector: "ng-component", inputs: { width: "width", height: "height" }, ngImport: i0, template: '', isInline: true }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
113
113
  type: Component,
114
- args: [{ template: '' }]
114
+ args: [{
115
+ template: '',
116
+ standalone: false
117
+ }]
115
118
  }], ctorParameters: () => [{ type: undefined, decorators: [{
116
119
  type: Inject,
117
120
  args: [FACADE]
@@ -125,12 +128,15 @@ class DialogButtonsDirective {
125
128
  constructor(tpl) {
126
129
  this.tpl = tpl;
127
130
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
129
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: DialogButtonsDirective, selector: "[imngDialogBtns]", ngImport: i0 }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DialogButtonsDirective, isStandalone: false, selector: "[imngDialogBtns]", ngImport: i0 }); }
130
133
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DialogButtonsDirective, decorators: [{
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DialogButtonsDirective, decorators: [{
132
135
  type: Directive,
133
- args: [{ selector: '[imngDialogBtns]' }]
136
+ args: [{
137
+ selector: '[imngDialogBtns]',
138
+ standalone: false
139
+ }]
134
140
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
135
141
 
136
142
  class DataEntryDialogComponent {
@@ -167,8 +173,8 @@ class DataEntryDialogComponent {
167
173
  $implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
168
174
  };
169
175
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DataEntryDialogComponent, 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
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", 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
172
178
  [width]="width"
173
179
  [minWidth]="minWidth ?? width"
174
180
  [height]="height"
@@ -206,7 +212,7 @@ class DataEntryDialogComponent {
206
212
  </button>
207
213
  </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 }); }
208
214
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
210
216
  type: Component,
211
217
  args: [{
212
218
  selector: 'imng-data-entry-dialog[parentComponent]',
@@ -248,6 +254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
248
254
  </button>
249
255
  </ng-template>`,
250
256
  changeDetection: ChangeDetectionStrategy.OnPush,
257
+ standalone: false
251
258
  }]
252
259
  }], propDecorators: { minWidth: [{
253
260
  type: Input
@@ -269,11 +276,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
269
276
  }] } });
270
277
 
271
278
  class ImngDataEntryDialogModule {
272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
273
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }
274
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
280
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }
281
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }
275
282
  }
276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
277
284
  type: NgModule,
278
285
  args: [{
279
286
  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/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({ template: '' })\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 } from '@angular/core';\n\n@Directive({ selector: '[imngDialogBtns]' })\nexport class DialogButtonsDirective {\n constructor(public tpl: TemplateRef<unknown>) { }\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></ng-content>\n <kendo-dialog-actions>\n <ng-container\n *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \">\n </ng-container>\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})\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","/**\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.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/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 } from '@angular/core';\n\n@Directive({\n selector: '[imngDialogBtns]',\n standalone: false\n})\nexport class DialogButtonsDirective {\n constructor(public tpl: TemplateRef<unknown>) { }\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></ng-content>\n <kendo-dialog-actions>\n <ng-container\n *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \">\n </ng-container>\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "imng-kendo-data-entry",
3
3
  "description": "A library to make integrating Angular Kendo forms and NGRX a bit simpler.",
4
- "version": "8.173.1",
4
+ "version": "8.175.1",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">= 14",
7
7
  "@angular/core": ">= 14",
@@ -42,14 +42,10 @@
42
42
  },
43
43
  ".": {
44
44
  "types": "./index.d.ts",
45
- "esm2022": "./esm2022/imng-kendo-data-entry.mjs",
46
- "esm": "./esm2022/imng-kendo-data-entry.mjs",
47
45
  "default": "./fesm2022/imng-kendo-data-entry.mjs"
48
46
  },
49
47
  "./testing": {
50
48
  "types": "./testing/index.d.ts",
51
- "esm2022": "./esm2022/testing/imng-kendo-data-entry-testing.mjs",
52
- "esm": "./esm2022/testing/imng-kendo-data-entry-testing.mjs",
53
49
  "default": "./fesm2022/imng-kendo-data-entry-testing.mjs"
54
50
  }
55
51
  },
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2ltbmcta2VuZG8tZGF0YS1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
package/esm2022/index.mjs DELETED
@@ -1,9 +0,0 @@
1
- export * from './lib/imng-kendo-data-entry.module';
2
- export * from './lib/data-entry-dialog.component';
3
- export * from './lib/base-data-entry.component';
4
- export * from './lib/data-entry-facade';
5
- export * from './lib/data-delete-facade';
6
- export * from './lib/reducer-collection-logic';
7
- export * from './lib/form-group-patcher';
8
- export * from './lib/dialog-buttons.directive';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWVudHJ5LWZhY2FkZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWRlbGV0ZS1mYWNhZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZ3JvdXAtcGF0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUnO1xuIl19
@@ -1,117 +0,0 @@
1
- import { Component, Inject, InjectionToken, Input, } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { Subscriptions } from 'imng-ngrx-utils';
4
- import { EnumProperties } from 'openapi-ts-generator/enums';
5
- import * as i0 from "@angular/core";
6
- const FACADE = new InjectionToken('imng-data-entry-facade');
7
- /**
8
- * The extending class has to implement the following properties on ngInit
9
- * dialogTitle: string - This will be the text displayed at the top of the modal title bar
10
- * props: enum - This is a helper property to make the html markup type safe
11
- *
12
- * Along with the requirements above, the extending class has to set values to the
13
- * following properties on ngInit
14
- * active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade
15
- * addEditForm: FormGroup - This will be created by your component
16
- *
17
- * @class BaseDataEntryComponent>
18
- */
19
- export class BaseDataEntryComponent {
20
- constructor(facade) {
21
- this.facade = facade;
22
- this.width = 800; //NOSONAR
23
- this.height = 600; //NOSONAR
24
- this.formId = 'imng-form';
25
- this.cancelButtonText = 'Cancel';
26
- this.submitButtonText = 'Submit';
27
- this.MinLengthError = 'minlength';
28
- this.RequiredError = 'required';
29
- this.EnumProperties = EnumProperties;
30
- this.allSubscriptions = new Subscriptions();
31
- this.submitted$ = new BehaviorSubject(false);
32
- this.loading$ = this.facade.loading$;
33
- }
34
- ngOnInit() {
35
- this.initForm();
36
- }
37
- ngOnDestroy() {
38
- this.allSubscriptions.unsubscribeAll();
39
- }
40
- closeForm() {
41
- this.initForm();
42
- this.facade.clearCurrentEntity();
43
- this.submitted$.next(false);
44
- }
45
- onCancel() {
46
- this.closeForm();
47
- }
48
- onSubmit() {
49
- this.submitted$.next(true);
50
- this.addEditForm.markAllAsTouched();
51
- // stop here if form is invalid
52
- if (!this.addEditForm.valid) {
53
- console.error('form validation errors.'); //NOSONAR
54
- console.error(JSON.stringify(this.getFormErrors())); //NOSONAR
55
- return false;
56
- }
57
- this.save();
58
- this.closeForm();
59
- return true;
60
- }
61
- isDataInvalid() {
62
- return this.addEditForm.invalid;
63
- }
64
- // convenience getter for easy access to form fields
65
- formControl(controlName, controls = this.addEditForm.controls) {
66
- return controls[controlName];
67
- }
68
- formControlErrors(control, controls = this
69
- .addEditForm.controls) {
70
- const tempControl =
71
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
- typeof control === 'string' ? controls[control] : control;
73
- if (tempControl?.valid && !tempControl?.errors) {
74
- return null;
75
- }
76
- return tempControl?.errors;
77
- }
78
- formMinLengthError(controlName) {
79
- return this.formControlErrors(controlName)?.[this.MinLengthError];
80
- }
81
- getFormErrors(controls = this
82
- .addEditForm.controls, parentControlName) {
83
- const errors = [];
84
- for (const controlName of Object.keys(controls)) {
85
- const control = controls[controlName];
86
- const error = this.formControlErrors(control, controls);
87
- if (error) {
88
- errors.push({
89
- controlName: parentControlName
90
- ? `${parentControlName}.${controlName}`
91
- : controlName,
92
- error,
93
- });
94
- }
95
- if (control?.controls) {
96
- errors.push(...this.getFormErrors(control.controls, parentControlName
97
- ? `${parentControlName}.${controlName}`
98
- : controlName));
99
- }
100
- }
101
- return errors;
102
- }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: BaseDataEntryComponent, selector: "ng-component", inputs: { width: "width", height: "height" }, ngImport: i0, template: '', isInline: true }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
107
- type: Component,
108
- args: [{ template: '' }]
109
- }], ctorParameters: () => [{ type: undefined, decorators: [{
110
- type: Inject,
111
- args: [FACADE]
112
- }] }], propDecorators: { width: [{
113
- type: Input
114
- }], height: [{
115
- type: Input
116
- }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRbkQsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTVELE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUMvQix3QkFBd0IsQ0FDekIsQ0FBQztBQUVGOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxPQUFnQixzQkFBc0I7SUF1QjFDLFlBQTRDLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBbEIxQyxVQUFLLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFDdkMsV0FBTSxHQUFvQixHQUFHLENBQUMsQ0FBQyxTQUFTO1FBRWpELFdBQU0sR0FBRyxXQUFXLENBQUM7UUFDckIscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNuQixtQkFBYyxHQUFHLFdBQVcsQ0FBQztRQUM3QixrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQUMzQixtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUN6QyxxQkFBZ0IsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBSzlCLGVBQVUsR0FBNkIsSUFBSSxlQUFlLENBQ3hFLEtBQWdCLENBQ2pCLENBQUM7UUFHQSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxD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Q0FBQztZQUNMLENBQUM7WUFDRCxJQUFLLE9BQXFCLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQ1QsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUNsQixPQUFxQixDQUFDLFFBQVEsRUFDL0IsaUJBQWlCO29CQUNmLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLFdBQVcsRUFBRTtvQkFDdkMsQ0FBQyxDQUFDLFdBQVcsQ0FDaEIsQ0FDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQXRIbUIsc0JBQXNCLGtCQXVCdEIsTUFBTTtrR0F2Qk4sc0JBQXNCLGtHQURyQixFQUFFOzsyRkFDSCxzQkFBc0I7a0JBRDNDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzswQkF3QlosTUFBTTsyQkFBQyxNQUFNO3lDQWxCVixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgRm9ybUdyb3VwLFxuICBGb3JtQXJyYXksXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElCYXNlRGF0YUVudHJ5RmFjYWRlIH0gZnJvbSAnLi9kYXRhLWVudHJ5LWZhY2FkZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmFibGUsIFN1YnNjcmlwdGlvbnMgfSBmcm9tICdpbW5nLW5ncngtdXRpbHMnO1xuaW1wb3J0IHsgRW51bVByb3BlcnRpZXMgfSBmcm9tICdvcGVuYXBpLXRzLWdlbmVyYXRvci9lbnVtcyc7XG5cbmNvbnN0IEZBQ0FERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQmFzZURhdGFFbnRyeUZhY2FkZT4oXG4gICdpbW5nLWRhdGEtZW50cnktZmFjYWRlJyxcbik7XG5cbi8qKlxuICogVGhlIGV4dGVuZGluZyBjbGFzcyBoYXMgdG8gaW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBvbiBuZ0luaXRcbiAqIGRpYWxvZ1RpdGxlOiBzdHJpbmcgLSBUaGlzIHdpbGwgYmUgdGhlIHRleHQgZGlzcGxheWVkIGF0IHRoZSB0b3Agb2YgdGhlIG1vZGFsIHRpdGxlIGJhclxuICogcHJvcHM6IGVudW0gLSBUaGlzIGlzIGEgaGVscGVyIHByb3BlcnR5IHRvIG1ha2UgdGhlIGh0bWwgbWFya3VwIHR5cGUgc2FmZVxuICpcbiAqIEFsb25nIHdpdGggdGhlIHJlcXVpcmVtZW50cyBhYm92ZSwgdGhlIGV4dGVuZGluZyBjbGFzcyBoYXMgdG8gc2V0IHZhbHVlcyB0byB0aGVcbiAqIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG9uIG5nSW5pdFxuICogYWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuPiAtIFRoaXMgdHlwaWNhbGx5IHdvdWxkIGJlIGFzc2lnbmVkIHRvIHRoZSBpc05ld0FjdGl2ZSQgb3IgaXNFZGl0QWN0aXZlIG9uIHRoZSBmYWNhZGVcbiAqIGFkZEVkaXRGb3JtOiBGb3JtR3JvdXAgLSBUaGlzIHdpbGwgYmUgY3JlYXRlZCBieSB5b3VyIGNvbXBvbmVudFxuICpcbiAqIEBjbGFzcyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PlxuICovXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURhdGFFbnRyeUNvbXBvbmVudDxcbiAgICBGQUNBREUgZXh0ZW5kcyBJQmFzZURhdGFFbnRyeUZhY2FkZSxcbiAgPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBTdWJzY3JpYmFibGVcbntcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSA4MDA7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIgPSA2MDA7IC8vTk9TT05BUlxuXG4gIHB1YmxpYyBmb3JtSWQgPSAnaW1uZy1mb3JtJztcbiAgcHVibGljIGNhbmNlbEJ1dHRvblRleHQgPSAnQ2FuY2VsJztcbiAgcHVibGljIHN1Ym1pdEJ1dHRvblRleHQgPSAnU3VibWl0JztcbiAgcHVibGljIHJlYWRvbmx5IE1pbkxlbmd0aEVycm9yID0gJ21pbmxlbmd0aCc7XG4gIHB1YmxpYyByZWFkb25seSBSZXF1aXJlZEVycm9yID0gJ3JlcXVpcmVkJztcbiAgcHVibGljIHJlYWRvbmx5IEVudW1Qcm9wZXJ0aWVzID0gRW51bVByb3BlcnRpZXM7XG4gIHB1YmxpYyBhbGxTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbnMoKTtcbiAgcHVibGljIGFic3RyYWN0IGRpYWxvZ1RpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCBwcm9wczogdW5rbm93bjtcbiAgcHVibGljIGFic3RyYWN0IGFkZEVkaXRGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIHJlYWRvbmx5IHN1Ym1pdHRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgZmFsc2UgYXMgYm9vbGVhbixcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEZBQ0FERSkgcHVibGljIHJlYWRvbmx5IGZhY2FkZTogRkFDQURFKSB7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuZmFjYWRlLmxvYWRpbmckO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmVBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuZmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSgpO1xuICAgIHRoaXMuc3VibWl0dGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIG9uU3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuc3VibWl0dGVkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuYWRkRWRpdEZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIC8vIHN0b3AgaGVyZSBpZiBmb3JtIGlzIGludmFsaWRcbiAgICBpZiAoIXRoaXMuYWRkRWRpdEZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2Zvcm0gdmFsaWRhdGlvbiBlcnJvcnMuJyk7IC8vTk9TT05BUlxuICAgICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeSh0aGlzLmdldEZvcm1FcnJvcnMoKSkpOyAvL05PU09OQVJcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5zYXZlKCk7XG4gICAgdGhpcy5jbG9zZUZvcm0oKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0RhdGFJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFkZEVkaXRGb3JtLmludmFsaWQ7XG4gIH1cblxuICAvLyBjb252ZW5pZW5jZSBnZXR0ZXIgZm9yIGVhc3kgYWNjZXNzIHRvIGZvcm0gZmllbGRzXG4gIHB1YmxpYyBmb3JtQ29udHJvbChcbiAgICBjb250cm9sTmFtZTogc3RyaW5nLFxuICAgIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9ID0gdGhpcy5hZGRFZGl0Rm9ybS5jb250cm9scyxcbiAgKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gY29udHJvbHNbY29udHJvbE5hbWVdO1xuICB9XG5cbiAgcHVibGljIGZvcm1Db250cm9sRXJyb3JzKFxuICAgIGNvbnRyb2w6IHN0cmluZyB8IEFic3RyYWN0Q29udHJvbCxcbiAgICBjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSB8IEFic3RyYWN0Q29udHJvbFtdID0gdGhpc1xuICAgICAgLmFkZEVkaXRGb3JtLmNvbnRyb2xzLFxuICApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgdGVtcENvbnRyb2wgPVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIHR5cGVvZiBjb250cm9sID09PSAnc3RyaW5nJyA/IChjb250cm9scyBhcyBhbnkpW2NvbnRyb2xdIDogY29udHJvbDtcbiAgICBpZiAodGVtcENvbnRyb2w/LnZhbGlkICYmICF0ZW1wQ29udHJvbD8uZXJyb3JzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBDb250cm9sPy5lcnJvcnM7XG4gIH1cbiAgcHVibGljIGZvcm1NaW5MZW5ndGhFcnJvcihcbiAgICBjb250cm9sTmFtZTogc3RyaW5nLFxuICApOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH0gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbEVycm9ycyhjb250cm9sTmFtZSk/Llt0aGlzLk1pbkxlbmd0aEVycm9yXTtcbiAgfVxuICBwdWJsaWMgZ2V0Rm9ybUVycm9ycyhcbiAgICBjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSB8IEFic3RyYWN0Q29udHJvbFtdID0gdGhpc1xuICAgICAgLmFkZEVkaXRGb3JtLmNvbnRyb2xzLFxuICAgIHBhcmVudENvbnRyb2xOYW1lPzogc3RyaW5nLFxuICApOiB7IGNvbnRyb2xOYW1lOiBzdHJpbmc7IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIH1bXSB7XG4gICAgY29uc3QgZXJyb3JzOiB7IGNvbnRyb2xOYW1lOiBzdHJpbmc7IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIH1bXSA9IFtdO1xuICAgIGZvciAoY29uc3QgY29udHJvbE5hbWUgb2YgT2JqZWN0LmtleXMoY29udHJvbHMpKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gKGNvbnRyb2xzIGFzIG5ldmVyKVtjb250cm9sTmFtZV07XG4gICAgICBjb25zdCBlcnJvciA9IHRoaXMuZm9ybUNvbnRyb2xFcnJvcnMoY29udHJvbCwgY29udHJvbHMpO1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBjb250cm9sTmFtZTogcGFyZW50Q29udHJvbE5hbWVcbiAgICAgICAgICAgID8gYCR7cGFyZW50Q29udHJvbE5hbWV9LiR7Y29udHJvbE5hbWV9YFxuICAgICAgICAgICAgOiBjb250cm9sTmFtZSxcbiAgICAgICAgICBlcnJvcixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoKGNvbnRyb2wgYXMgRm9ybUFycmF5KT8uY29udHJvbHMpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgLi4udGhpcy5nZXRGb3JtRXJyb3JzKFxuICAgICAgICAgICAgKGNvbnRyb2wgYXMgRm9ybUFycmF5KS5jb250cm9scyxcbiAgICAgICAgICAgIHBhcmVudENvbnRyb2xOYW1lXG4gICAgICAgICAgICAgID8gYCR7cGFyZW50Q29udHJvbE5hbWV9LiR7Y29udHJvbE5hbWV9YFxuICAgICAgICAgICAgICA6IGNvbnRyb2xOYW1lLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgaW5pdEZvcm0oKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IHNhdmUoKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWRlbGV0ZS1mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSURhdGFEZWxldGVGYWNhZGU8RW50aXR5PiB7XG4gIGRlbGV0ZUV4aXN0aW5nRW50aXR5KGVudGl0eTogRW50aXR5KTogdm9pZDtcbn1cbiJdfQ==
@@ -1,141 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy, TemplateRef, ContentChild, } from '@angular/core';
2
- import { BaseDataEntryComponent } from './base-data-entry.component';
3
- import { DialogButtonsDirective } from './dialog-buttons.directive';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@progress/kendo-angular-dialog";
7
- export class DataEntryDialogComponent {
8
- constructor() {
9
- this.width = 800; //NOSONAR
10
- this.height = 600; //NOSONAR
11
- this.cancelButtonText = 'Cancel';
12
- this.submitButtonText = 'Submit';
13
- this.submitted = false;
14
- }
15
- ngOnInit() {
16
- if (!this.parentComponent) {
17
- throw new TypeError(`The input 'parentComponent' is required`);
18
- }
19
- this.dialogTitle = this.parentComponent.dialogTitle;
20
- this.loading$ = this.parentComponent.loading$;
21
- this.addEditForm = this.parentComponent.addEditForm;
22
- this.submitButtonText ??= this.parentComponent.submitButtonText ?? 'Submit';
23
- this.cancelButtonText ??= this.parentComponent.cancelButtonText ?? 'Cancel';
24
- this.formId ??= this.parentComponent.formId ?? 'imng-form';
25
- }
26
- close() {
27
- this.parentComponent?.closeForm();
28
- }
29
- cancel() {
30
- this.parentComponent?.onCancel();
31
- }
32
- submit() {
33
- this.parentComponent?.onSubmit();
34
- }
35
- get dialogActionBtnsCtx() {
36
- //NOSONAR
37
- return {
38
- $implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
39
- };
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DataEntryDialogComponent, 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
43
- [width]="width"
44
- [minWidth]="minWidth ?? width"
45
- [height]="height"
46
- (close)="close()"
47
- [autoFocusedElement]="autoFocusedElement || ''">
48
- <kendo-dialog-titlebar class="bg-primary">{{
49
- dialogTitle
50
- }}</kendo-dialog-titlebar>
51
- <ng-content></ng-content>
52
- <kendo-dialog-actions>
53
- <ng-container
54
- *ngTemplateOutlet="
55
- dialogBtnsTemplate || defaultDialogActionsTpl;
56
- context: dialogActionBtnsCtx
57
- ">
58
- </ng-container>
59
- </kendo-dialog-actions>
60
- </kendo-dialog>
61
- <ng-template #defaultDialogActionsTpl>
62
- <button
63
- name="imngCancelDataEntry"
64
- kendoButton
65
- (click)="cancel()"
66
- class="btn btn-secondary btn-sm">
67
- {{ cancelButtonText }}
68
- </button>
69
- <button
70
- name="imngSubmitDataEntry"
71
- [attr.form]="formId"
72
- type="submit"
73
- kendoButton
74
- (click)="submit()"
75
- class="btn btn-primary btn-sm">
76
- {{ submitButtonText }}
77
- </button>
78
- </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 }); }
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
81
- type: Component,
82
- args: [{
83
- selector: 'imng-data-entry-dialog[parentComponent]',
84
- template: `<kendo-dialog
85
- [width]="width"
86
- [minWidth]="minWidth ?? width"
87
- [height]="height"
88
- (close)="close()"
89
- [autoFocusedElement]="autoFocusedElement || ''">
90
- <kendo-dialog-titlebar class="bg-primary">{{
91
- dialogTitle
92
- }}</kendo-dialog-titlebar>
93
- <ng-content></ng-content>
94
- <kendo-dialog-actions>
95
- <ng-container
96
- *ngTemplateOutlet="
97
- dialogBtnsTemplate || defaultDialogActionsTpl;
98
- context: dialogActionBtnsCtx
99
- ">
100
- </ng-container>
101
- </kendo-dialog-actions>
102
- </kendo-dialog>
103
- <ng-template #defaultDialogActionsTpl>
104
- <button
105
- name="imngCancelDataEntry"
106
- kendoButton
107
- (click)="cancel()"
108
- class="btn btn-secondary btn-sm">
109
- {{ cancelButtonText }}
110
- </button>
111
- <button
112
- name="imngSubmitDataEntry"
113
- [attr.form]="formId"
114
- type="submit"
115
- kendoButton
116
- (click)="submit()"
117
- class="btn btn-primary btn-sm">
118
- {{ submitButtonText }}
119
- </button>
120
- </ng-template>`,
121
- changeDetection: ChangeDetectionStrategy.OnPush,
122
- }]
123
- }], propDecorators: { minWidth: [{
124
- type: Input
125
- }], width: [{
126
- type: Input
127
- }], height: [{
128
- type: Input
129
- }], autoFocusedElement: [{
130
- type: Input
131
- }], parentComponent: [{
132
- type: Input
133
- }], cancelButtonText: [{
134
- type: Input
135
- }], submitButtonText: [{
136
- type: Input
137
- }], dialogBtnsTemplate: [{
138
- type: ContentChild,
139
- args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
140
- }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUEyQ3BFLE1BQU0sT0FBTyx3QkFBd0I7SUF6Q3JDO1FBMkNrQixVQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN0QixXQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQU92QixxQkFBZ0IsR0FBWSxRQUFRLENBQUM7UUFDckMscUJBQWdCLEdBQVksUUFBUSxDQUFDO1FBZTlDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0ErQjFCO0lBM0JRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxTQUFTLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQztJQUM3RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNNLE1BQU07UUFDWCxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUI7UUFDckIsU0FBUztRQUNULE9BQU87WUFDTCxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7U0FDeEUsQ0FBQztJQUNKLENBQUM7OEdBeERVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDZWQVlyQixzQkFBc0IsMkJBQXdCLFdBQVcsMkNBbkQ3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQW9DTzs7MkZBR04sd0JBQXdCO2tCQXpDcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUNBQXlDO29CQUNuRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkFvQ087b0JBQ2pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFFaUIsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBSVUsa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUVVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFXQyxrQkFBa0I7c0JBVnhCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VEYXRhRW50cnlDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZGF0YS1lbnRyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1uZy1kYXRhLWVudHJ5LWRpYWxvZ1twYXJlbnRDb21wb25lbnRdJyxcbiAgdGVtcGxhdGU6IGA8a2VuZG8tZGlhbG9nXG4gICAgICBbd2lkdGhdPVwid2lkdGhcIlxuICAgICAgW21pbldpZHRoXT1cIm1pbldpZHRoID8/IHdpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICAgIFthdXRvRm9jdXNlZEVsZW1lbnRdPVwiYXV0b0ZvY3VzZWRFbGVtZW50IHx8ICcnXCI+XG4gICAgICA8a2VuZG8tZGlhbG9nLXRpdGxlYmFyIGNsYXNzPVwiYmctcHJpbWFyeVwiPnt7XG4gICAgICAgIGRpYWxvZ1RpdGxlXG4gICAgICB9fTwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGtlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGRpYWxvZ0J0bnNUZW1wbGF0ZSB8fCBkZWZhdWx0RGlhbG9nQWN0aW9uc1RwbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IGRpYWxvZ0FjdGlvbkJ0bnNDdHhcbiAgICAgICAgICBcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2tlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgIDwva2VuZG8tZGlhbG9nPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG5hbWU9XCJpbW5nQ2FuY2VsRGF0YUVudHJ5XCJcbiAgICAgICAga2VuZG9CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIj5cbiAgICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG5hbWU9XCJpbW5nU3VibWl0RGF0YUVudHJ5XCJcbiAgICAgICAgW2F0dHIuZm9ybV09XCJmb3JtSWRcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAga2VuZG9CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+XG4gICAgICAgIHt7IHN1Ym1pdEJ1dHRvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFFbnRyeURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5XaWR0aD86IG51bWJlcjsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aCA9IDgwMDsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQgPSA2MDA7IC8vTk9TT05BUlxuICAvKipcbiAgICogaHR0cHM6Ly93d3cudGVsZXJpay5jb20va2VuZG8tYW5ndWxhci11aS9jb21wb25lbnRzL2RpYWxvZ3MvZGlhbG9nL2luaXRpYWwtZm9jdXMvXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXV0b0ZvY3VzZWRFbGVtZW50Pzogc3RyaW5nO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBASW5wdXQoKSBwdWJsaWMgcGFyZW50Q29tcG9uZW50PzogQmFzZURhdGFFbnRyeUNvbXBvbmVudDxhbnk+OyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmcgPSAnQ2FuY2VsJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdEJ1dHRvblRleHQ/OiBzdHJpbmcgPSAnU3VibWl0JztcbiAgQENvbnRlbnRDaGlsZChEaWFsb2dCdXR0b25zRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgLyoqXG4gICAqIEV4YW1wbGUgVXNhZ2U6XG4gICAqIDxpbW5nLWRhdGEtZW50cnktZGlhbG9nPlxuICAgKiAuLi4uLi5cbiAgICogIDxuZy10ZW1wbGF0ZSBbaW1uZ0RpYWxvZ0J0bnNdIGxldC1jb3JlQnV0dG9ucz5cbiAgICogICAgPGJ1dHRvbiBpZD1cImJ0bkN1c3RvbTFcIiBjbGFzcz1cImstYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2xvc2U8L2J1dHRvbj5cbiAgICogIDwvbmctdGVtcGxhdGU+XG4gICAqIDwvaW1uZy1kYXRhLWVudHJ5LWRpYWxvZz5cbiAgICovXG4gIHB1YmxpYyBkaWFsb2dCdG5zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgcHVibGljIGxvYWRpbmckPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGFkZEVkaXRGb3JtPzogRm9ybUdyb3VwO1xuICBwdWJsaWMgZm9ybUlkPzogc3RyaW5nO1xuICBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIHB1YmxpYyBkaWFsb2dUaXRsZT86IHN0cmluZztcbiAgcHVibGljIGNvbXBvbmVudD86IE5vbk51bGxhYmxlPHVua25vd24+O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFyZW50Q29tcG9uZW50KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBUaGUgaW5wdXQgJ3BhcmVudENvbXBvbmVudCcgaXMgcmVxdWlyZWRgKTtcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dUaXRsZSA9IHRoaXMucGFyZW50Q29tcG9uZW50LmRpYWxvZ1RpdGxlO1xuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLnBhcmVudENvbXBvbmVudC5sb2FkaW5nJDtcbiAgICB0aGlzLmFkZEVkaXRGb3JtID0gdGhpcy5wYXJlbnRDb21wb25lbnQuYWRkRWRpdEZvcm07XG4gICAgdGhpcy5zdWJtaXRCdXR0b25UZXh0ID8/PSB0aGlzLnBhcmVudENvbXBvbmVudC5zdWJtaXRCdXR0b25UZXh0ID8/ICdTdWJtaXQnO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA/Pz0gdGhpcy5wYXJlbnRDb21wb25lbnQuY2FuY2VsQnV0dG9uVGV4dCA/PyAnQ2FuY2VsJztcbiAgICB0aGlzLmZvcm1JZCA/Pz0gdGhpcy5wYXJlbnRDb21wb25lbnQuZm9ybUlkID8/ICdpbW5nLWZvcm0nO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5jbG9zZUZvcm0oKTtcbiAgfVxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5vbkNhbmNlbCgpO1xuICB9XG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRDb21wb25lbnQ/Lm9uU3VibWl0KCk7XG4gIH1cbiAgZ2V0IGRpYWxvZ0FjdGlvbkJ0bnNDdHgoKTogb2JqZWN0IHwgbnVsbCB7XG4gICAgLy9OT1NPTkFSXG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogeyBjYW5jZWw6ICgpID0+IHRoaXMuY2FuY2VsKCksIHN1Ym1pdDogKCkgPT4gdGhpcy5zdWJtaXQoKSB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS9zcmMvbGliL2RhdGEtZW50cnktZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFFbnRyeUZhY2FkZTxFbnRpdHk+IGV4dGVuZHMgSUJhc2VEYXRhRW50cnlGYWNhZGUge1xuICBjdXJyZW50RW50aXR5JDogT2JzZXJ2YWJsZTxFbnRpdHkgfCB1bmRlZmluZWQ+O1xuICBzZXRDdXJyZW50RW50aXR5KGVudGl0eTogRW50aXR5LCBwYXJlbnRFbnRpdHk/OiB1bmtub3duKTogdm9pZDtcbiAgc2F2ZU5ld0VudGl0eShlbnRpdHk6IEVudGl0eSk6IHZvaWQ7XG4gIHVwZGF0ZUV4aXN0aW5nRW50aXR5KGVudGl0eTogRW50aXR5KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZURhdGFFbnRyeUZhY2FkZSB7XG4gIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0VkaXRBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc05ld0FjdGl2ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGNsZWFyQ3VycmVudEVudGl0eSgpOiB2b2lkO1xufVxuIl19
@@ -1,14 +0,0 @@
1
- import { Directive, TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DialogButtonsDirective {
4
- constructor(tpl) {
5
- this.tpl = tpl;
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: DialogButtonsDirective, selector: "[imngDialogBtns]", ngImport: i0 }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DialogButtonsDirective, decorators: [{
11
- type: Directive,
12
- args: [{ selector: '[imngDialogBtns]' }]
13
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBbUIsR0FBeUI7UUFBekIsUUFBRyxHQUFILEdBQUcsQ0FBc0I7SUFBSSxDQUFDOzhHQUR0QyxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ltbmdEaWFsb2dCdG5zXScgfSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dCdXR0b25zRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRwbDogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHsgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- import { take, tap, filter } from 'rxjs/operators';
2
- export const formGroupPatcher = (addEditForm) => (source) => source.pipe(filter((t) => !!t), take(1), tap((t) => addEditForm.patchValue(t)));
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1wYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9mb3JtLWdyb3VwLXBhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJbkQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQzNCLENBQ0UsV0FBc0IsRUFDdEIsRUFBRSxDQUNKLENBQUMsTUFBMkIsRUFBRSxFQUFFLENBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBVSxDQUFDLENBQUMsQ0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2UsIHRhcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZm9ybUdyb3VwUGF0Y2hlciA9XG4gIDxURW50aXR5IGV4dGVuZHMgeyBpZD86IElkVHlwZSB8IG51bGwgfCB1bmRlZmluZWQgfSB8IHVuZGVmaW5lZD4oXG4gICAgYWRkRWRpdEZvcm06IEZvcm1Hcm91cCxcbiAgKSA9PlxuICAoc291cmNlOiBPYnNlcnZhYmxlPFRFbnRpdHk+KSA9PlxuICAgIHNvdXJjZS5waXBlKFxuICAgICAgZmlsdGVyKCh0KSA9PiAhIXQpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHRhcCgodCkgPT4gYWRkRWRpdEZvcm0ucGF0Y2hWYWx1ZSh0IGFzIG5ldmVyKSksXG4gICAgKTtcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { DataEntryDialogComponent } from './data-entry-dialog.component';
4
- import { DialogButtonsDirective } from './dialog-buttons.directive';
5
- import { DialogModule } from '@progress/kendo-angular-dialog';
6
- import * as i0 from "@angular/core";
7
- export class ImngDataEntryDialogModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [CommonModule, DialogModule],
16
- declarations: [DataEntryDialogComponent, DialogButtonsDirective],
17
- exports: [DataEntryDialogComponent, DialogButtonsDirective],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBTzlELE1BQU0sT0FBTyx5QkFBeUI7OEdBQXpCLHlCQUF5QjsrR0FBekIseUJBQXlCLGlCQUhyQix3QkFBd0IsRUFBRSxzQkFBc0IsYUFEckQsWUFBWSxFQUFFLFlBQVksYUFFMUIsd0JBQXdCLEVBQUUsc0JBQXNCOytHQUUvQyx5QkFBeUIsWUFKMUIsWUFBWSxFQUFFLFlBQVk7OzJGQUl6Qix5QkFBeUI7a0JBTHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDckMsWUFBWSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YUVudHJ5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRpYWxvZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0RhdGFFbnRyeURpYWxvZ0NvbXBvbmVudCwgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtEYXRhRW50cnlEaWFsb2dDb21wb25lbnQsIERpYWxvZ0J1dHRvbnNEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBJbW5nRGF0YUVudHJ5RGlhbG9nTW9kdWxlIHt9XG4iXX0=
@@ -1,24 +0,0 @@
1
- export function updateStateCollectionItem(collection, item) {
2
- const index = collection.findIndex((val) => val.id === item.id);
3
- if (index > -1) {
4
- const items = [...collection];
5
- items.splice(index, 1, item);
6
- return items;
7
- }
8
- return collection;
9
- }
10
- export function removeStateCollectionItem(collection, item) {
11
- const index = collection.findIndex((val) => val.id === item.id);
12
- if (index > -1) {
13
- const items = [...collection];
14
- items.splice(index, 1);
15
- return items;
16
- }
17
- return collection;
18
- }
19
- export function addStateCollectionItem(collection, item) {
20
- const items = [...collection];
21
- items.unshift(item);
22
- return items;
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9yZWR1Y2VyLWNvbGxlY3Rpb24tbG9naWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsVUFBb0IsRUFDcEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDZixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsVUFBb0IsRUFDcEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlVHlwZSB9IGZyb20gJ2ltbmctbnJzcngtY2xpZW50LXV0aWxzJztcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTdGF0ZUNvbGxlY3Rpb25JdGVtPEVudGl0eSBleHRlbmRzIHsgaWQ/OiBWYWx1ZVR5cGU7IH0+KFxuICBjb2xsZWN0aW9uOiBFbnRpdHlbXSxcbiAgaXRlbTogRW50aXR5XG4pOiBFbnRpdHlbXSB7XG4gIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoKHZhbCkgPT4gdmFsLmlkID09PSBpdGVtLmlkKTtcbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xuICAgIHJldHVybiBpdGVtcztcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0YXRlQ29sbGVjdGlvbkl0ZW08RW50aXR5IGV4dGVuZHMgeyBpZD86IFZhbHVlVHlwZTsgfT4oXG4gIGNvbGxlY3Rpb246IEVudGl0eVtdLFxuICBpdGVtOiBFbnRpdHlcbik6IEVudGl0eVtdIHtcbiAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleCgodmFsKSA9PiB2YWwuaWQgPT09IGl0ZW0uaWQpO1xuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IGl0ZW1zID0gWy4uLmNvbGxlY3Rpb25dO1xuICAgIGl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG4gIHJldHVybiBjb2xsZWN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RhdGVDb2xsZWN0aW9uSXRlbTxFbnRpdHkgZXh0ZW5kcyB7IGlkPzogVmFsdWVUeXBlOyB9PihcbiAgY29sbGVjdGlvbjogRW50aXR5W10sXG4gIGl0ZW06IEVudGl0eVxuKTogRW50aXR5W10ge1xuICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgaXRlbXMudW5zaGlmdChpdGVtKTtcbiAgcmV0dXJuIGl0ZW1zO1xufVxuIl19
@@ -1,13 +0,0 @@
1
- import { of } from 'rxjs';
2
- export async function testDeleteCurrentEntity(facade, httpClient) {
3
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- const entity = { id: '💃', name: '🧓👴👵' };
5
- httpClient.post = jest.fn();
6
- httpClient.put = jest.fn();
7
- httpClient.delete = jest.fn(() => of(entity));
8
- facade.deleteExistingEntity(entity);
9
- expect(httpClient.put).toHaveBeenCalledTimes(0);
10
- expect(httpClient.post).toHaveBeenCalledTimes(0);
11
- expect(httpClient.delete).toHaveBeenCalledTimes(1);
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtZmFjYWRlLWh0dHAtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWRlbGV0ZS1mYWNhZGUtaHR0cC10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBRTNDLE1BQWUsRUFBRSxVQUFzQjtJQUN2Qyw4REFBOEQ7SUFDOUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUVqRCxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzQixVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3REZWxldGVDdXJyZW50RW50aXR5PFxuICBURmFjYWRlIGV4dGVuZHMgeyBkZWxldGVFeGlzdGluZ0VudGl0eShlbnRpdHk6IHVua25vd24pOiB2b2lkIH0sXG4+KGZhY2FkZTogVEZhY2FkZSwgaHR0cENsaWVudDogSHR0cENsaWVudCk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBlbnRpdHk6IGFueSA9IHsgaWQ6ICfwn5KDJywgbmFtZTogJ/Cfp5Pwn5G08J+RtScgfTtcblxuICBodHRwQ2xpZW50LnBvc3QgPSBqZXN0LmZuKCk7XG4gIGh0dHBDbGllbnQucHV0ID0gamVzdC5mbigpO1xuICBodHRwQ2xpZW50LmRlbGV0ZSA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG5cbiAgZmFjYWRlLmRlbGV0ZUV4aXN0aW5nRW50aXR5KGVudGl0eSk7XG4gIGV4cGVjdChodHRwQ2xpZW50LnB1dCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDApO1xuICBleHBlY3QoaHR0cENsaWVudC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG4gIGV4cGVjdChodHRwQ2xpZW50LmRlbGV0ZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xufVxuIl19
@@ -1,15 +0,0 @@
1
- export class DataDeleteMockFacade {
2
- constructor() {
3
- this.deleteExistingEntity = jest.fn();
4
- }
5
- }
6
- export function createDataDeleteMockFacade(mockFacade) {
7
- if (!mockFacade) {
8
- return new DataDeleteMockFacade();
9
- }
10
- mockFacade.deleteExistingEntity =
11
- mockFacade
12
- .deleteExistingEntity || jest.fn();
13
- return mockFacade;
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtbW9jay5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWRlbGV0ZS1tb2NrLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sb0JBQW9CO0lBQWpDO1FBQ0UseUJBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsVUFBYztJQUVkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksb0JBQW9CLEVBQW9DLENBQUM7SUFDdEUsQ0FBQztJQUVDLFVBQ0QsQ0FBQyxvQkFBb0I7UUFDbkIsVUFBOEQ7YUFDNUQsb0JBQW9CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZDLE9BQU8sVUFBNEMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBJRGF0YURlbGV0ZUZhY2FkZSB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRGVsZXRlTW9ja0ZhY2FkZSBpbXBsZW1lbnRzIElEYXRhRGVsZXRlRmFjYWRlPHVua25vd24+IHtcbiAgZGVsZXRlRXhpc3RpbmdFbnRpdHkgPSBqZXN0LmZuKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEYXRhRGVsZXRlTW9ja0ZhY2FkZTxUID0gdW5rbm93bj4oXG4gIG1vY2tGYWNhZGU/OiBULFxuKTogVCAmIElEYXRhRGVsZXRlRmFjYWRlPHVua25vd24+IHtcbiAgaWYgKCFtb2NrRmFjYWRlKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhRGVsZXRlTW9ja0ZhY2FkZSgpIGFzIFQgJiBJRGF0YURlbGV0ZUZhY2FkZTx1bmtub3duPjtcbiAgfVxuICAoXG4gICAgbW9ja0ZhY2FkZSBhcyB1bmtub3duIGFzIHsgZGVsZXRlRXhpc3RpbmdFbnRpdHk6ICgpID0+IHZvaWQgfVxuICApLmRlbGV0ZUV4aXN0aW5nRW50aXR5ID1cbiAgICAobW9ja0ZhY2FkZSBhcyB1bmtub3duIGFzIHsgZGVsZXRlRXhpc3RpbmdFbnRpdHk6ICgpID0+IHZvaWQgfSlcbiAgICAgIC5kZWxldGVFeGlzdGluZ0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIHJldHVybiBtb2NrRmFjYWRlIGFzIFQgJiBJRGF0YURlbGV0ZUZhY2FkZTx1bmtub3duPjtcbn1cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { of } from 'rxjs';
2
- export async function testSaveCurrentEntity(facade, httpClient) {
3
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- const entity = { name: '🆕' };
5
- httpClient.post = jest.fn(() => of(entity));
6
- httpClient.put = jest.fn(() => of(entity));
7
- httpClient.delete = jest.fn(() => of(entity));
8
- facade.saveNewEntity(entity);
9
- expect(httpClient.post).toHaveBeenCalledTimes(1);
10
- expect(httpClient.put).toHaveBeenCalledTimes(0);
11
- expect(httpClient.delete).toHaveBeenCalledTimes(0);
12
- }
13
- export async function testUpdateCurrentEntity(facade, httpClient) {
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- const entity = { id: '💃', name: '🧓👴👵' };
16
- httpClient.post = jest.fn(() => of(entity));
17
- httpClient.put = jest.fn(() => of(entity));
18
- httpClient.delete = jest.fn(() => of(entity));
19
- facade.updateExistingEntity(entity);
20
- expect(httpClient.put).toHaveBeenCalledTimes(1);
21
- expect(httpClient.post).toHaveBeenCalledTimes(0);
22
- expect(httpClient.delete).toHaveBeenCalledTimes(0);
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUtaHR0cC10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktZmFjYWRlLWh0dHAtdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUV6QyxNQUFlLEVBQUUsVUFBc0I7SUFDdkMsOERBQThEO0lBQzlELE1BQU0sTUFBTSxHQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ25DLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0MsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBRTNDLE1BQWUsRUFBRSxVQUFzQjtJQUN2Qyw4REFBOEQ7SUFDOUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUVqRCxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFNhdmVDdXJyZW50RW50aXR5PFxuICBURmFjYWRlIGV4dGVuZHMgeyBzYXZlTmV3RW50aXR5KGVudGl0eTogdW5rbm93bik6IHZvaWQgfSxcbj4oZmFjYWRlOiBURmFjYWRlLCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGNvbnN0IGVudGl0eTogYW55ID0geyBuYW1lOiAn8J+GlScgfTtcbiAgaHR0cENsaWVudC5wb3N0ID0gamVzdC5mbigoKSA9PiBvZihlbnRpdHkpKTtcbiAgaHR0cENsaWVudC5wdXQgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuICBodHRwQ2xpZW50LmRlbGV0ZSA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG5cbiAgZmFjYWRlLnNhdmVOZXdFbnRpdHkoZW50aXR5KTtcbiAgZXhwZWN0KGh0dHBDbGllbnQucG9zdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICBleHBlY3QoaHR0cENsaWVudC5wdXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygwKTtcbiAgZXhwZWN0KGh0dHBDbGllbnQuZGVsZXRlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0VXBkYXRlQ3VycmVudEVudGl0eTxcbiAgVEZhY2FkZSBleHRlbmRzIHsgdXBkYXRlRXhpc3RpbmdFbnRpdHkoZW50aXR5OiB1bmtub3duKTogdm9pZCB9LFxuPihmYWNhZGU6IFRGYWNhZGUsIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgZW50aXR5OiBhbnkgPSB7IGlkOiAn8J+SgycsIG5hbWU6ICfwn6eT8J+RtPCfkbUnIH07XG5cbiAgaHR0cENsaWVudC5wb3N0ID0gamVzdC5mbigoKSA9PiBvZihlbnRpdHkpKTtcbiAgaHR0cENsaWVudC5wdXQgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuICBodHRwQ2xpZW50LmRlbGV0ZSA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG5cbiAgZmFjYWRlLnVwZGF0ZUV4aXN0aW5nRW50aXR5KGVudGl0eSk7XG4gIGV4cGVjdChodHRwQ2xpZW50LnB1dCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICBleHBlY3QoaHR0cENsaWVudC5wb3N0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG4gIGV4cGVjdChodHRwQ2xpZW50LmRlbGV0ZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDApO1xufVxuIl19
@@ -1,43 +0,0 @@
1
- import { readFirst } from 'imng-ngrx-utils/testing';
2
- export async function testAddSetAndClearCurrentEntity(facade) {
3
- const entity = { name: '🆕' };
4
- await validateInitialState(facade);
5
- facade.setCurrentEntity(entity, { name: 'parentEntity' });
6
- let status = await getEntityStatus(facade);
7
- expect(status.currentEntity).toStrictEqual(entity);
8
- expect(status.isEditActive).toBeFalsy();
9
- expect(status.isNewActive).toBeTruthy();
10
- facade.clearCurrentEntity();
11
- status = await getEntityStatus(facade);
12
- expect(status.currentEntity).toBeFalsy();
13
- expect(status.isEditActive).toBeFalsy();
14
- expect(status.isNewActive).toBeFalsy();
15
- }
16
- export async function testEditSetAndClearCurrentEntity(facade) {
17
- const entity = { id: '💃', name: '🧓👴👵' };
18
- await validateInitialState(facade);
19
- facade.setCurrentEntity(entity, { name: 'parentEntity' });
20
- let status = await getEntityStatus(facade);
21
- expect(status.currentEntity).toStrictEqual(entity);
22
- expect(status.isEditActive).toBeTruthy();
23
- expect(status.isNewActive).toBeFalsy();
24
- facade.clearCurrentEntity();
25
- status = await getEntityStatus(facade);
26
- expect(status.currentEntity).toBeFalsy();
27
- expect(status.isEditActive).toBeFalsy();
28
- expect(status.isNewActive).toBeFalsy();
29
- }
30
- async function validateInitialState(facade) {
31
- const status = await getEntityStatus(facade);
32
- expect(status.currentEntity).toBeFalsy();
33
- expect(status.isEditActive).toBeFalsy();
34
- expect(status.isNewActive).toBeFalsy();
35
- }
36
- async function getEntityStatus(facade) {
37
- return {
38
- currentEntity: await readFirst(facade.currentEntity$),
39
- isEditActive: await readFirst(facade.isEditActive$),
40
- isNewActive: await readFirst(facade.isNewActive$),
41
- };
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWVudHJ5LWZhY2FkZS10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHcEQsTUFBTSxDQUFDLEtBQUssVUFBVSwrQkFBK0IsQ0FFbkQsTUFBZTtJQUNmLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzlCLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzFELElBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUV4QyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBRXBELE1BQWU7SUFDZixNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzVDLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzFELElBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUV2QyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUNELEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxNQUFzQjtJQUN4RCxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQsS0FBSyxVQUFVLGVBQWUsQ0FDNUIsTUFBZTtJQU1mLE9BQU87UUFDTCxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUNyRCxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaXJzdCB9IGZyb20gJ2ltbmctbmdyeC11dGlscy90ZXN0aW5nJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RBZGRTZXRBbmRDbGVhckN1cnJlbnRFbnRpdHk8XG4gIFRGYWNhZGUgZXh0ZW5kcyBUZXN0YWJsZUZhY2FkZVxuPihmYWNhZGU6IFRGYWNhZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW50aXR5ID0geyBuYW1lOiAn8J+GlScgfTtcbiAgYXdhaXQgdmFsaWRhdGVJbml0aWFsU3RhdGUoZmFjYWRlKTtcblxuICBmYWNhZGUuc2V0Q3VycmVudEVudGl0eShlbnRpdHksIHsgbmFtZTogJ3BhcmVudEVudGl0eScgfSk7XG4gIGxldCBzdGF0dXMgPSBhd2FpdCBnZXRFbnRpdHlTdGF0dXMoZmFjYWRlKTtcbiAgZXhwZWN0KHN0YXR1cy5jdXJyZW50RW50aXR5KS50b1N0cmljdEVxdWFsKGVudGl0eSk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZVRydXRoeSgpO1xuXG4gIGZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkoKTtcbiAgc3RhdHVzID0gYXdhaXQgZ2V0RW50aXR5U3RhdHVzKGZhY2FkZSk7XG4gIGV4cGVjdChzdGF0dXMuY3VycmVudEVudGl0eSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZUZhbHN5KCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0RWRpdFNldEFuZENsZWFyQ3VycmVudEVudGl0eTxcbiAgVEZhY2FkZSBleHRlbmRzIFRlc3RhYmxlRmFjYWRlXG4+KGZhY2FkZTogVEZhY2FkZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBlbnRpdHkgPSB7IGlkOiAn8J+SgycsIG5hbWU6ICfwn6eT8J+RtPCfkbUnIH07XG4gIGF3YWl0IHZhbGlkYXRlSW5pdGlhbFN0YXRlKGZhY2FkZSk7XG5cbiAgZmFjYWRlLnNldEN1cnJlbnRFbnRpdHkoZW50aXR5LCB7IG5hbWU6ICdwYXJlbnRFbnRpdHknIH0pO1xuICBsZXQgc3RhdHVzID0gYXdhaXQgZ2V0RW50aXR5U3RhdHVzKGZhY2FkZSk7XG4gIGV4cGVjdChzdGF0dXMuY3VycmVudEVudGl0eSkudG9TdHJpY3RFcXVhbChlbnRpdHkpO1xuICBleHBlY3Qoc3RhdHVzLmlzRWRpdEFjdGl2ZSkudG9CZVRydXRoeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzTmV3QWN0aXZlKS50b0JlRmFsc3koKTtcblxuICBmYWNhZGUuY2xlYXJDdXJyZW50RW50aXR5KCk7XG4gIHN0YXR1cyA9IGF3YWl0IGdldEVudGl0eVN0YXR1cyhmYWNhZGUpO1xuICBleHBlY3Qoc3RhdHVzLmN1cnJlbnRFbnRpdHkpLnRvQmVGYWxzeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzRWRpdEFjdGl2ZSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNOZXdBY3RpdmUpLnRvQmVGYWxzeSgpO1xufVxuYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVJbml0aWFsU3RhdGUoZmFjYWRlOiBUZXN0YWJsZUZhY2FkZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzdGF0dXMgPSBhd2FpdCBnZXRFbnRpdHlTdGF0dXMoZmFjYWRlKTtcbiAgZXhwZWN0KHN0YXR1cy5jdXJyZW50RW50aXR5KS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc0VkaXRBY3RpdmUpLnRvQmVGYWxzeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzTmV3QWN0aXZlKS50b0JlRmFsc3koKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RW50aXR5U3RhdHVzPFRGYWNhZGUgZXh0ZW5kcyBUZXN0YWJsZUZhY2FkZT4oXG4gIGZhY2FkZTogVEZhY2FkZVxuKTogUHJvbWlzZTx7XG4gIGN1cnJlbnRFbnRpdHk6IHVua25vd247XG4gIGlzRWRpdEFjdGl2ZTogdW5rbm93bjtcbiAgaXNOZXdBY3RpdmU6IHVua25vd247XG59PiB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudEVudGl0eTogYXdhaXQgcmVhZEZpcnN0KGZhY2FkZS5jdXJyZW50RW50aXR5JCksXG4gICAgaXNFZGl0QWN0aXZlOiBhd2FpdCByZWFkRmlyc3QoZmFjYWRlLmlzRWRpdEFjdGl2ZSQpLFxuICAgIGlzTmV3QWN0aXZlOiBhd2FpdCByZWFkRmlyc3QoZmFjYWRlLmlzTmV3QWN0aXZlJCksXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdGFibGVGYWNhZGUge1xuICBjdXJyZW50RW50aXR5JDogT2JzZXJ2YWJsZTx1bmtub3duPjtcbiAgaXNFZGl0QWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gIGlzTmV3QWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gIHNldEN1cnJlbnRFbnRpdHkoZW50aXR5OiB1bmtub3duLCBwYXJlbnRFbnRpdHk/OiB1bmtub3duKTogdm9pZDtcbiAgY2xlYXJDdXJyZW50RW50aXR5KCk6IHZvaWQ7XG59XG4iXX0=
@@ -1,34 +0,0 @@
1
- import { of } from 'rxjs';
2
- export class DataEntryMockFacade {
3
- constructor() {
4
- this.loading$ = of(false);
5
- this.currentEntity$ = of(null);
6
- this.isEditActive$ = of(false);
7
- this.isNewActive$ = of(false);
8
- this.setCurrentEntity = jest.fn();
9
- this.clearCurrentEntity = jest.fn();
10
- this.saveNewEntity = jest.fn();
11
- this.updateExistingEntity = jest.fn();
12
- }
13
- }
14
- export function createDataEntryMockFacade(
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- mockFacade) {
17
- const localFacade = new DataEntryMockFacade();
18
- if (!mockFacade) {
19
- return localFacade;
20
- }
21
- mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;
22
- mockFacade.currentEntity$ =
23
- mockFacade.currentEntity$ || localFacade.currentEntity$;
24
- mockFacade.isEditActive$ =
25
- mockFacade.isEditActive$ || localFacade.isEditActive$;
26
- mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;
27
- mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();
28
- mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();
29
- mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();
30
- mockFacade.updateExistingEntity =
31
- mockFacade.updateExistingEntity || jest.fn();
32
- return mockFacade;
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1tb2NrLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktbW9jay5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0QyxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ1MsYUFBUSxHQUF3QixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBd0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxpQkFBWSxHQUF3QixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMvQixrQkFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDMUMsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtBQUN2Qyw4REFBOEQ7QUFDOUQsVUFBNEM7SUFFNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBQzlDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDbEUsVUFBVSxDQUFDLGNBQWM7UUFDdkIsVUFBVSxDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDO0lBQzFELFVBQVUsQ0FBQyxhQUFhO1FBQ3RCLFVBQVUsQ0FBQyxhQUFhLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4RCxVQUFVLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQztJQUM5RSxVQUFVLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxVQUFVLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzRSxVQUFVLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLFVBQVUsQ0FBQyxvQkFBb0I7UUFDN0IsVUFBVSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMvQyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgSURhdGFFbnRyeUZhY2FkZSB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRW50cnlNb2NrRmFjYWRlIGltcGxlbWVudHMgSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgcHVibGljIGN1cnJlbnRFbnRpdHkkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gb2YobnVsbCk7XG4gIHB1YmxpYyBpc0VkaXRBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgaXNOZXdBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgc2V0Q3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIGNsZWFyQ3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIHNhdmVOZXdFbnRpdHkgPSBqZXN0LmZuKCk7XG4gIHB1YmxpYyB1cGRhdGVFeGlzdGluZ0VudGl0eSA9IGplc3QuZm4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFFbnRyeU1vY2tGYWNhZGUoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIG1vY2tGYWNhZGU/OiBJRGF0YUVudHJ5RmFjYWRlPHVua25vd24+IHwgYW55LFxuKTogSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIGNvbnN0IGxvY2FsRmFjYWRlID0gbmV3IERhdGFFbnRyeU1vY2tGYWNhZGUoKTtcbiAgaWYgKCFtb2NrRmFjYWRlKSB7XG4gICAgcmV0dXJuIGxvY2FsRmFjYWRlO1xuICB9XG4gIG1vY2tGYWNhZGUubG9hZGluZyQgPSBtb2NrRmFjYWRlLmxvYWRpbmckIHx8IGxvY2FsRmFjYWRlLmxvYWRpbmckO1xuICBtb2NrRmFjYWRlLmN1cnJlbnRFbnRpdHkkID1cbiAgICBtb2NrRmFjYWRlLmN1cnJlbnRFbnRpdHkkIHx8IGxvY2FsRmFjYWRlLmN1cnJlbnRFbnRpdHkkO1xuICBtb2NrRmFjYWRlLmlzRWRpdEFjdGl2ZSQgPVxuICAgIG1vY2tGYWNhZGUuaXNFZGl0QWN0aXZlJCB8fCBsb2NhbEZhY2FkZS5pc0VkaXRBY3RpdmUkO1xuICBtb2NrRmFjYWRlLmlzTmV3QWN0aXZlJCA9IG1vY2tGYWNhZGUuaXNOZXdBY3RpdmUkIHx8IGxvY2FsRmFjYWRlLmlzTmV3QWN0aXZlJDtcbiAgbW9ja0ZhY2FkZS5zZXRDdXJyZW50RW50aXR5ID0gbW9ja0ZhY2FkZS5zZXRDdXJyZW50RW50aXR5IHx8IGplc3QuZm4oKTtcbiAgbW9ja0ZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkgPSBtb2NrRmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSB8fCBqZXN0LmZuKCk7XG4gIG1vY2tGYWNhZGUuc2F2ZU5ld0VudGl0eSA9IG1vY2tGYWNhZGUuc2F2ZU5ld0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIG1vY2tGYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkgPVxuICAgIG1vY2tGYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkgfHwgamVzdC5mbigpO1xuICByZXR1cm4gbW9ja0ZhY2FkZTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5LXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9pbW5nLWtlbmRvLWRhdGEtZW50cnktdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './data-entry-mock.facade';
2
- export * from './data-entry-facade-tests';
3
- export * from './data-entry-facade-http-tests';
4
- export * from './data-delete-facade-http-tests';
5
- export * from './data-delete-mock.facade';
6
- export * from './test-trigger-event-helpers';
7
- export * from './mock-data-entry-dialog.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhLWVudHJ5LW1vY2suZmFjYWRlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1lbnRyeS1mYWNhZGUtdGVzdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWVudHJ5LWZhY2FkZS1odHRwLXRlc3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1kZWxldGUtZmFjYWRlLWh0dHAtdGVzdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWRlbGV0ZS1tb2NrLmZhY2FkZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3QtdHJpZ2dlci1ldmVudC1oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9jay1kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQnO1xuIl19
@@ -1,16 +0,0 @@
1
- import { FormControl, FormGroup } from '@angular/forms';
2
- // eslint-disable-next-line @nx/enforce-module-boundaries
3
- import { BaseDataEntryComponent } from 'imng-kendo-data-entry';
4
- export class MockDataEntryComponent extends BaseDataEntryComponent {
5
- constructor() {
6
- super(...arguments);
7
- this.dialogTitle = 'MockDataEntryComponent';
8
- this.addEditForm = new FormGroup({
9
- id: new FormControl(''),
10
- });
11
- this.props = {};
12
- this.initForm = jest.fn();
13
- this.save = () => jest.fn();
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9tb2NrLWRhdGEtZW50cnktZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQTJDO0lBQXZGOztRQUNTLGdCQUFXLEdBQUcsd0JBQXdCLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMxQyxFQUFFLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNJLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgQmFzZURhdGFFbnRyeUNvbXBvbmVudCB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5pbXBvcnQgeyBEYXRhRW50cnlNb2NrRmFjYWRlIH0gZnJvbSAnLi9kYXRhLWVudHJ5LW1vY2suZmFjYWRlJztcblxuZXhwb3J0IGNsYXNzIE1vY2tEYXRhRW50cnlDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PERhdGFFbnRyeU1vY2tGYWNhZGU+IHtcbiAgcHVibGljIGRpYWxvZ1RpdGxlID0gJ01vY2tEYXRhRW50cnlDb21wb25lbnQnO1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkRWRpdEZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBpZDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLFxuICB9KTtcbiAgcHVibGljIHByb3BzID0ge307XG4gIHB1YmxpYyBpbml0Rm9ybSA9IGplc3QuZm4oKTtcbiAgcHVibGljIHNhdmUgPSAoKSA9PiBqZXN0LmZuKCk7XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- import { By } from '@angular/platform-browser';
2
- export function triggerSaveClickEvent(fixture) {
3
- const typeAhead = fixture.debugElement.query(By.css('#btnSave'));
4
- typeAhead.triggerEventHandler('click', {});
5
- }
6
- export function triggerCancelClickEvent(fixture) {
7
- const typeAhead = fixture.debugElement.query(By.css('#btnCancel'));
8
- typeAhead.triggerEventHandler('click', {});
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC10cmlnZ2VyLWV2ZW50LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy90ZXN0LXRyaWdnZXItZXZlbnQtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0MsTUFBTSxVQUFVLHFCQUFxQixDQUFhLE9BQXFDO0lBQ3JGLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFDRCxNQUFNLFVBQVUsdUJBQXVCLENBQWEsT0FBcUM7SUFDdkYsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ25FLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyaWdnZXJTYXZlQ2xpY2tFdmVudDxUQ29tcG9uZW50PihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPFRDb21wb25lbnQ+KTogdm9pZCB7XG4gIGNvbnN0IHR5cGVBaGVhZCA9IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcygnI2J0blNhdmUnKSk7XG4gIHR5cGVBaGVhZC50cmlnZ2VyRXZlbnRIYW5kbGVyKCdjbGljaycsIHt9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyQ2FuY2VsQ2xpY2tFdmVudDxUQ29tcG9uZW50PihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPFRDb21wb25lbnQ+KTogdm9pZCB7XG4gIGNvbnN0IHR5cGVBaGVhZCA9IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcygnI2J0bkNhbmNlbCcpKTtcbiAgdHlwZUFoZWFkLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xufVxuIl19