@rosoftlab/ionic 1.0.0-alpha-4 → 1.0.0-alpha-6

Sign up to get free protection for your applications and to get access to all the features.
@@ -53,13 +53,13 @@ export class RslIonicSmButtonsComponent extends FieldType {
53
53
  getCurrentState() {
54
54
  return this.translate.instant('General.State.CurrentState', { field: this.currentState.name });
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicSmButtonsComponent, deps: [{ token: i1.SmActionService }, { token: i1.StateService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: RslIonicSmButtonsComponent, isStandalone: true, selector: "app-ionic-sm-buttons", usesInheritance: true, ngImport: i0, template: "<!-- <ion-input [type]=\"props.type || 'text'\" [formControl]=\"formControl\" [ionFormlyAttributes]=\"field\"></ion-input> -->\n\n<!-- <p>Sync</p>\n<ion-list>\n <ion-button *ngFor=\"let action of smActions\" color=\"{{getColor(action)}}\" (click)=\"executeAction(action)\">\n {{action.buttonTranslationKey |translate}}\n </ion-button>\n</ion-list> -->\n<ion-label *ngIf=\"currentState\">{{ getCurrentState() }}</ion-label>\n<ion-list>\n <ion-button *ngFor=\"let action of smActions$ | async \" color=\"{{getColor(action)}}\" (click)=\"executeAction(action)\">\n {{action.buttonTranslationKey |translate}}\n <!-- - {{action.actionID}} -->\n </ion-button>\n</ion-list>", styles: [""], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslIonicSmButtonsComponent, deps: [{ token: i1.SmActionService }, { token: i1.StateService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: RslIonicSmButtonsComponent, isStandalone: true, selector: "app-ionic-sm-buttons", usesInheritance: true, ngImport: i0, template: "<!-- <ion-input [type]=\"props.type || 'text'\" [formControl]=\"formControl\" [ionFormlyAttributes]=\"field\"></ion-input> -->\n\n<!-- <p>Sync</p>\n<ion-list>\n <ion-button *ngFor=\"let action of smActions\" color=\"{{getColor(action)}}\" (click)=\"executeAction(action)\">\n {{action.buttonTranslationKey |translate}}\n </ion-button>\n</ion-list> -->\n<ion-label *ngIf=\"currentState\">{{ getCurrentState() }}</ion-label>\n<ion-list>\n <ion-button *ngFor=\"let action of smActions$ | async \" color=\"{{getColor(action)}}\" (click)=\"executeAction(action)\">\n {{action.buttonTranslationKey |translate}}\n <!-- - {{action.actionID}} -->\n </ion-button>\n</ion-list>", styles: [""], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicSmButtonsComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslIonicSmButtonsComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{ standalone: true, selector: 'app-ionic-sm-buttons', imports: [
62
62
  WrappersModule
63
63
  ], template: "<!-- <ion-input [type]=\"props.type || 'text'\" [formControl]=\"formControl\" [ionFormlyAttributes]=\"field\"></ion-input> -->\n\n<!-- <p>Sync</p>\n<ion-list>\n <ion-button *ngFor=\"let action of smActions\" color=\"{{getColor(action)}}\" (click)=\"executeAction(action)\">\n {{action.buttonTranslationKey |translate}}\n </ion-button>\n</ion-list> -->\n<ion-label *ngIf=\"currentState\">{{ getCurrentState() }}</ion-label>\n<ion-list>\n <ion-button *ngFor=\"let action of smActions$ | async \" color=\"{{getColor(action)}}\" (click)=\"executeAction(action)\">\n {{action.buttonTranslationKey |translate}}\n <!-- - {{action.actionID}} -->\n </ion-button>\n</ion-list>" }]
64
64
  }], ctorParameters: function () { return [{ type: i1.SmActionService }, { type: i1.StateService }, { type: i2.TranslateService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtc20tYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9jb21wb25lbnRzL3JzbC1pb25pYy1zbS1idXR0b25zL2lvbmljLXNtLWJ1dHRvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvY29tcG9uZW50cy9yc2wtaW9uaWMtc20tYnV0dG9ucy9pb25pYy1zbS1idXR0b25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQXdELE1BQU0sa0JBQWtCLENBQUM7QUFFbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGVBQWUsRUFBUyxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7OztBQWVoRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsU0FBc0M7SUFNcEYsWUFDUyxlQUFnQyxFQUMvQixZQUEwQixFQUMzQixTQUEyQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQTtRQUhBLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUVwQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFXLENBQUE7UUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pGLDBCQUEwQjtJQUM1QixDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQWdCO1FBQzVCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzthQUNwRixTQUFTLENBQ1IsUUFBUSxDQUFDLEVBQUU7WUFDVCx3QkFBd0I7WUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQTtZQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUUvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3pCLDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2pGLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FDRixDQUFBO1FBQ0gsdUJBQXVCO0lBQ3pCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxPQUFZO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDdEMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FDbkMsQ0FBQTtJQUNILENBQUM7SUFDRCxRQUFRLENBQUMsTUFBZ0I7UUFDdkIsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDOzhHQXREVSwwQkFBMEI7a0dBQTFCLDBCQUEwQix1R0NyQnZDLDBxQkFjVyx5RERJUCxjQUFjOzsyRkFHTCwwQkFBMEI7a0JBVHRDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLHNCQUFzQixXQUd2Qjt3QkFDUCxjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRJbnB1dCB9IGZyb20gJ0BuZ3gtZm9ybWx5L2lvbmljL2lucHV0JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNtQWN0aW9uLCBTbUFjdGlvblNlcnZpY2UsIFN0YXRlLCBTdGF0ZVNlcnZpY2UgfSBmcm9tICdAcm9zb2Z0bGFiL3N0YXRlbWFjaGluZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXcmFwcGVyc01vZHVsZSB9IGZyb20gJy4uLy4uL3dyYXBwZXJzL3dyYXBwZXJzLm1vZHVsZSc7XG5pbnRlcmZhY2UgSW5wdXRQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMgeyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5SW5wdXRGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPElucHV0UHJvcHM+IHtcbiAgdHlwZTogJ2lucHV0JyB8IFR5cGU8Rm9ybWx5RmllbGRJbnB1dD47XG59XG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdhcHAtaW9uaWMtc20tYnV0dG9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pb25pYy1zbS1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW9uaWMtc20tYnV0dG9ucy5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBXcmFwcGVyc01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJzbElvbmljU21CdXR0b25zQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxJbnB1dFByb3BzPj4gaW1wbGVtZW50cyBPbkluaXQge1xuICBzbUFjdGlvbnMkOiBPYnNlcnZhYmxlPFNtQWN0aW9uW10+XG4gIGN1cnJlbnRTdGF0ZTogU3RhdGU7XG5cbiAgb2JqZWN0VHlwZTogc3RyaW5nO1xuICBvYmplY3RJZDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc21BY3Rpb25TZXJ2aWNlOiBTbUFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0ZVNlcnZpY2U6IFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKVxuICB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub2JqZWN0VHlwZSA9IHRoaXMucHJvcHMuYXR0cmlidXRlc1snb2JqZWN0VHlwZSddIGFzIHN0cmluZ1xuICAgIHRoaXMub2JqZWN0SWQgPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbC5pZFxuICAgIHRoaXMubG9hZEN1cnJlbnRTdGF0ZSh0aGlzLmZpZWxkLm1vZGVsLmN1cnJlbnRTdGF0ZUlkKTtcbiAgICB0aGlzLnNtQWN0aW9ucyQgPSB0aGlzLnNtQWN0aW9uU2VydmljZS5nZXRBY3Rpb25zKHRoaXMub2JqZWN0SWQsIHRoaXMub2JqZWN0VHlwZSlcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmZpZWxkKVxuICB9XG4gIGV4ZWN1dGVBY3Rpb24oYWN0aW9uOiBTbUFjdGlvbikge1xuICAgIC8vIHRoaXMuY3VycmVudFN0YXRlID0gbnVsbFxuICAgIC8vIHRoaXMuc21BY3Rpb25zJCA9IG51bGxcbiAgICAvLyBjb25zb2xlLmxvZyhhY3Rpb24uYWN0aW9uSUQpXG4gICAgdGhpcy5zbUFjdGlvblNlcnZpY2UuZXhlY3V0ZUFjdGlvbih0aGlzLm9iamVjdElkLCB0aGlzLm9iamVjdFR5cGUsIGFjdGlvbi5hY3Rpb25JRCwgXCJcIilcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSlcbiAgICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wc1snb25TdGF0ZUNhaG5nZWQnXSlcbiAgICAgICAgICAgIHRoaXMuZmllbGQucHJvcHNbJ29uU3RhdGVDYWhuZ2VkJ10oeyBtb2RlbDogdGhpcy5maWVsZC5wYXJlbnQubW9kZWwsIHJlc3BvbnNlIH0pO1xuICAgICAgICAgIHRoaXMubW9kZWxbJ2N1cnJlbnRTdGF0ZUlkJ10gPSByZXNwb25zZS5jdXJyZW50U3RhdGVJZFxuICAgICAgICAgIHRoaXMuc21BY3Rpb25TZXJ2aWNlLmdldEFjdGlvbnModGhpcy5vYmplY3RJZCwgdGhpcy5vYmplY3RUeXBlKVxuXG4gICAgICAgICAgdGhpcy5vcHRpb25zLnJlc2V0TW9kZWwoKVxuICAgICAgICAgIC8vIHRoaXMuZmllbGQuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpICAgICAgICAgXG4gICAgICAgICAgdGhpcy5zbUFjdGlvbnMkID0gdGhpcy5zbUFjdGlvblNlcnZpY2UuZ2V0QWN0aW9ucyh0aGlzLm9iamVjdElkLCB0aGlzLm9iamVjdFR5cGUpXG4gICAgICAgICAgLy8gLy90aGlzLnNtQWN0aW9ucyA9IFtdXG4gICAgICAgICAgdGhpcy5sb2FkQ3VycmVudFN0YXRlKHJlc3BvbnNlLmN1cnJlbnRTdGF0ZUlkKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIC8vIGNvbnNvbGUubG9nKGFjdGlvbik7XG4gIH1cbiAgbG9hZEN1cnJlbnRTdGF0ZShzdGF0ZUlkOiBhbnkpIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5nZXQoc3RhdGVJZCkuc3Vic2NyaWJlKFxuICAgICAgc3RhdGUgPT4gdGhpcy5jdXJyZW50U3RhdGUgPSBzdGF0ZVxuICAgIClcbiAgfVxuICBnZXRDb2xvcihhY3Rpb246IFNtQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5wcm9wcykge1xuICAgICAgcmV0dXJuIGFjdGlvbi5wcm9wc1tcIkNvbG9yXCJdID8gYWN0aW9uLnByb3BzW1wiQ29sb3JcIl0gOiBcInByaW1hcnlcIjtcbiAgICB9XG4gICAgcmV0dXJuIFwicHJpbWFyeVwiXG4gIH1cbiAgZ2V0Q3VycmVudFN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLlN0YXRlLkN1cnJlbnRTdGF0ZScsIHsgZmllbGQ6IHRoaXMuY3VycmVudFN0YXRlLm5hbWUgfSk7XG4gIH1cbn1cbiIsIjwhLS0gPGlvbi1pbnB1dCBbdHlwZV09XCJwcm9wcy50eXBlIHx8ICd0ZXh0J1wiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtpb25Gb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCI+PC9pb24taW5wdXQ+IC0tPlxuXG48IS0tIDxwPlN5bmM8L3A+XG48aW9uLWxpc3Q+XG4gIDxpb24tYnV0dG9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygc21BY3Rpb25zXCIgY29sb3I9XCJ7e2dldENvbG9yKGFjdGlvbil9fVwiIChjbGljayk9XCJleGVjdXRlQWN0aW9uKGFjdGlvbilcIj5cbiAgICB7e2FjdGlvbi5idXR0b25UcmFuc2xhdGlvbktleSB8dHJhbnNsYXRlfX1cbiAgPC9pb24tYnV0dG9uPlxuPC9pb24tbGlzdD4gLS0+XG48aW9uLWxhYmVsICpuZ0lmPVwiY3VycmVudFN0YXRlXCI+e3sgZ2V0Q3VycmVudFN0YXRlKCkgfX08L2lvbi1sYWJlbD5cbjxpb24tbGlzdD5cbiAgPGlvbi1idXR0b24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzbUFjdGlvbnMkIHwgYXN5bmMgXCIgY29sb3I9XCJ7e2dldENvbG9yKGFjdGlvbil9fVwiIChjbGljayk9XCJleGVjdXRlQWN0aW9uKGFjdGlvbilcIj5cbiAgICB7e2FjdGlvbi5idXR0b25UcmFuc2xhdGlvbktleSB8dHJhbnNsYXRlfX1cbiAgICAgPCEtLSAtIHt7YWN0aW9uLmFjdGlvbklEfX0gLS0+XG4gIDwvaW9uLWJ1dHRvbj5cbjwvaW9uLWxpc3Q+Il19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtc20tYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9jb21wb25lbnRzL3JzbC1pb25pYy1zbS1idXR0b25zL2lvbmljLXNtLWJ1dHRvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvY29tcG9uZW50cy9yc2wtaW9uaWMtc20tYnV0dG9ucy9pb25pYy1zbS1idXR0b25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQXdELE1BQU0sa0JBQWtCLENBQUM7QUFFbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGVBQWUsRUFBUyxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7OztBQWVoRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsU0FBc0M7SUFNcEYsWUFDUyxlQUFnQyxFQUMvQixZQUEwQixFQUMzQixTQUEyQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQTtRQUhBLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUVwQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFXLENBQUE7UUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pGLDBCQUEwQjtJQUM1QixDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQWdCO1FBQzVCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzthQUNwRixTQUFTLENBQ1IsUUFBUSxDQUFDLEVBQUU7WUFDVCx3QkFBd0I7WUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQTtZQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUUvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3pCLDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2pGLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FDRixDQUFBO1FBQ0gsdUJBQXVCO0lBQ3pCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxPQUFZO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDdEMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FDbkMsQ0FBQTtJQUNILENBQUM7SUFDRCxRQUFRLENBQUMsTUFBZ0I7UUFDdkIsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDOytHQXREVSwwQkFBMEI7bUdBQTFCLDBCQUEwQix1R0NyQnZDLDBxQkFjVyx5RERJUCxjQUFjOzs0RkFHTCwwQkFBMEI7a0JBVHRDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLHNCQUFzQixXQUd2Qjt3QkFDUCxjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRJbnB1dCB9IGZyb20gJ0BuZ3gtZm9ybWx5L2lvbmljL2lucHV0JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNtQWN0aW9uLCBTbUFjdGlvblNlcnZpY2UsIFN0YXRlLCBTdGF0ZVNlcnZpY2UgfSBmcm9tICdAcm9zb2Z0bGFiL3N0YXRlbWFjaGluZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXcmFwcGVyc01vZHVsZSB9IGZyb20gJy4uLy4uL3dyYXBwZXJzL3dyYXBwZXJzLm1vZHVsZSc7XG5pbnRlcmZhY2UgSW5wdXRQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMgeyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5SW5wdXRGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPElucHV0UHJvcHM+IHtcbiAgdHlwZTogJ2lucHV0JyB8IFR5cGU8Rm9ybWx5RmllbGRJbnB1dD47XG59XG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdhcHAtaW9uaWMtc20tYnV0dG9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pb25pYy1zbS1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW9uaWMtc20tYnV0dG9ucy5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBXcmFwcGVyc01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJzbElvbmljU21CdXR0b25zQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxJbnB1dFByb3BzPj4gaW1wbGVtZW50cyBPbkluaXQge1xuICBzbUFjdGlvbnMkOiBPYnNlcnZhYmxlPFNtQWN0aW9uW10+XG4gIGN1cnJlbnRTdGF0ZTogU3RhdGU7XG5cbiAgb2JqZWN0VHlwZTogc3RyaW5nO1xuICBvYmplY3RJZDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc21BY3Rpb25TZXJ2aWNlOiBTbUFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0ZVNlcnZpY2U6IFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKVxuICB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub2JqZWN0VHlwZSA9IHRoaXMucHJvcHMuYXR0cmlidXRlc1snb2JqZWN0VHlwZSddIGFzIHN0cmluZ1xuICAgIHRoaXMub2JqZWN0SWQgPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbC5pZFxuICAgIHRoaXMubG9hZEN1cnJlbnRTdGF0ZSh0aGlzLmZpZWxkLm1vZGVsLmN1cnJlbnRTdGF0ZUlkKTtcbiAgICB0aGlzLnNtQWN0aW9ucyQgPSB0aGlzLnNtQWN0aW9uU2VydmljZS5nZXRBY3Rpb25zKHRoaXMub2JqZWN0SWQsIHRoaXMub2JqZWN0VHlwZSlcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmZpZWxkKVxuICB9XG4gIGV4ZWN1dGVBY3Rpb24oYWN0aW9uOiBTbUFjdGlvbikge1xuICAgIC8vIHRoaXMuY3VycmVudFN0YXRlID0gbnVsbFxuICAgIC8vIHRoaXMuc21BY3Rpb25zJCA9IG51bGxcbiAgICAvLyBjb25zb2xlLmxvZyhhY3Rpb24uYWN0aW9uSUQpXG4gICAgdGhpcy5zbUFjdGlvblNlcnZpY2UuZXhlY3V0ZUFjdGlvbih0aGlzLm9iamVjdElkLCB0aGlzLm9iamVjdFR5cGUsIGFjdGlvbi5hY3Rpb25JRCwgXCJcIilcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSlcbiAgICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wc1snb25TdGF0ZUNhaG5nZWQnXSlcbiAgICAgICAgICAgIHRoaXMuZmllbGQucHJvcHNbJ29uU3RhdGVDYWhuZ2VkJ10oeyBtb2RlbDogdGhpcy5maWVsZC5wYXJlbnQubW9kZWwsIHJlc3BvbnNlIH0pO1xuICAgICAgICAgIHRoaXMubW9kZWxbJ2N1cnJlbnRTdGF0ZUlkJ10gPSByZXNwb25zZS5jdXJyZW50U3RhdGVJZFxuICAgICAgICAgIHRoaXMuc21BY3Rpb25TZXJ2aWNlLmdldEFjdGlvbnModGhpcy5vYmplY3RJZCwgdGhpcy5vYmplY3RUeXBlKVxuXG4gICAgICAgICAgdGhpcy5vcHRpb25zLnJlc2V0TW9kZWwoKVxuICAgICAgICAgIC8vIHRoaXMuZmllbGQuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpICAgICAgICAgXG4gICAgICAgICAgdGhpcy5zbUFjdGlvbnMkID0gdGhpcy5zbUFjdGlvblNlcnZpY2UuZ2V0QWN0aW9ucyh0aGlzLm9iamVjdElkLCB0aGlzLm9iamVjdFR5cGUpXG4gICAgICAgICAgLy8gLy90aGlzLnNtQWN0aW9ucyA9IFtdXG4gICAgICAgICAgdGhpcy5sb2FkQ3VycmVudFN0YXRlKHJlc3BvbnNlLmN1cnJlbnRTdGF0ZUlkKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIC8vIGNvbnNvbGUubG9nKGFjdGlvbik7XG4gIH1cbiAgbG9hZEN1cnJlbnRTdGF0ZShzdGF0ZUlkOiBhbnkpIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5nZXQoc3RhdGVJZCkuc3Vic2NyaWJlKFxuICAgICAgc3RhdGUgPT4gdGhpcy5jdXJyZW50U3RhdGUgPSBzdGF0ZVxuICAgIClcbiAgfVxuICBnZXRDb2xvcihhY3Rpb246IFNtQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5wcm9wcykge1xuICAgICAgcmV0dXJuIGFjdGlvbi5wcm9wc1tcIkNvbG9yXCJdID8gYWN0aW9uLnByb3BzW1wiQ29sb3JcIl0gOiBcInByaW1hcnlcIjtcbiAgICB9XG4gICAgcmV0dXJuIFwicHJpbWFyeVwiXG4gIH1cbiAgZ2V0Q3VycmVudFN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLlN0YXRlLkN1cnJlbnRTdGF0ZScsIHsgZmllbGQ6IHRoaXMuY3VycmVudFN0YXRlLm5hbWUgfSk7XG4gIH1cbn1cbiIsIjwhLS0gPGlvbi1pbnB1dCBbdHlwZV09XCJwcm9wcy50eXBlIHx8ICd0ZXh0J1wiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtpb25Gb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCI+PC9pb24taW5wdXQ+IC0tPlxuXG48IS0tIDxwPlN5bmM8L3A+XG48aW9uLWxpc3Q+XG4gIDxpb24tYnV0dG9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygc21BY3Rpb25zXCIgY29sb3I9XCJ7e2dldENvbG9yKGFjdGlvbil9fVwiIChjbGljayk9XCJleGVjdXRlQWN0aW9uKGFjdGlvbilcIj5cbiAgICB7e2FjdGlvbi5idXR0b25UcmFuc2xhdGlvbktleSB8dHJhbnNsYXRlfX1cbiAgPC9pb24tYnV0dG9uPlxuPC9pb24tbGlzdD4gLS0+XG48aW9uLWxhYmVsICpuZ0lmPVwiY3VycmVudFN0YXRlXCI+e3sgZ2V0Q3VycmVudFN0YXRlKCkgfX08L2lvbi1sYWJlbD5cbjxpb24tbGlzdD5cbiAgPGlvbi1idXR0b24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzbUFjdGlvbnMkIHwgYXN5bmMgXCIgY29sb3I9XCJ7e2dldENvbG9yKGFjdGlvbil9fVwiIChjbGljayk9XCJleGVjdXRlQWN0aW9uKGFjdGlvbilcIj5cbiAgICB7e2FjdGlvbi5idXR0b25UcmFuc2xhdGlvbktleSB8dHJhbnNsYXRlfX1cbiAgICAgPCEtLSAtIHt7YWN0aW9uLmFjdGlvbklEfX0gLS0+XG4gIDwvaW9uLWJ1dHRvbj5cbjwvaW9uLWxpc3Q+Il19
@@ -39,13 +39,13 @@ export class IonicDialogService {
39
39
  });
40
40
  await alert.present();
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: IonicDialogService, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: IonicDialogService, providedIn: 'root' }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: IonicDialogService, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: IonicDialogService, providedIn: 'root' }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: IonicDialogService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: IonicDialogService, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{
48
48
  providedIn: 'root'
49
49
  }]
50
50
  }], ctorParameters: function () { return [{ type: i1.AlertController }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9pb25pYy1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS2pELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUksQ0FBQztJQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCLEVBQUUsS0FBYyxFQUM1QyxvQkFBNEIsUUFBUSxFQUNwQyxtQkFBMkIsUUFBUTtRQUNuQyxJQUFJLE1BQU0sQ0FBQTtRQUNWLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBQ3BCLE9BQU8sS0FBSyxDQUFBO29CQUNkLENBQUM7aUJBQ0YsRUFBRTtvQkFDRCxJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3BCLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7aUJBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBRWYsQ0FBQztJQUNELEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxLQUFjO1FBQ3BELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFeEIsQ0FBQzs4R0F6Q1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW9uaWNEaWFsb2dTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyKSB7IH1cbiAgYXN5bmMgY29uZmlybShtZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZyxcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0RlbGV0ZScsXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gJ0NhbmNlbCcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2hvaWNlXG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiB0aXRsZSxcbiAgICAgIHN1YkhlYWRlcjogbWVzc2FnZSxcbiAgICAgIGJ1dHRvbnM6IFt7XG4gICAgICAgIHRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBhbGVydC5kaXNtaXNzKGZhbHNlKVxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9LCB7XG4gICAgICAgIHRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgYWxlcnQuZGlzbWlzcyh0cnVlKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9KTtcblxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgICBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjaG9pY2UgPSBkYXRhXG4gICAgfSlcbiAgICByZXR1cm4gY2hvaWNlXG5cbiAgfVxuICBhc3luYyBzaG93U2F2ZU1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRpdGxlLFxuICAgICAgc3ViSGVhZGVyOiBtZXNzYWdlLFxuICAgICAgYnV0dG9uczogWydPSyddXG4gICAgfSk7XG5cbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XG5cbiAgfVxuXG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9pb25pYy1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS2pELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUksQ0FBQztJQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCLEVBQUUsS0FBYyxFQUM1QyxvQkFBNEIsUUFBUSxFQUNwQyxtQkFBMkIsUUFBUTtRQUNuQyxJQUFJLE1BQU0sQ0FBQTtRQUNWLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBQ3BCLE9BQU8sS0FBSyxDQUFBO29CQUNkLENBQUM7aUJBQ0YsRUFBRTtvQkFDRCxJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3BCLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7aUJBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBRWYsQ0FBQztJQUNELEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxLQUFjO1FBQ3BELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFeEIsQ0FBQzsrR0F6Q1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW9uaWNEaWFsb2dTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyKSB7IH1cbiAgYXN5bmMgY29uZmlybShtZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZyxcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0RlbGV0ZScsXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gJ0NhbmNlbCcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2hvaWNlXG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiB0aXRsZSxcbiAgICAgIHN1YkhlYWRlcjogbWVzc2FnZSxcbiAgICAgIGJ1dHRvbnM6IFt7XG4gICAgICAgIHRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBhbGVydC5kaXNtaXNzKGZhbHNlKVxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9LCB7XG4gICAgICAgIHRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgYWxlcnQuZGlzbWlzcyh0cnVlKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9KTtcblxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgICBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjaG9pY2UgPSBkYXRhXG4gICAgfSlcbiAgICByZXR1cm4gY2hvaWNlXG5cbiAgfVxuICBhc3luYyBzaG93U2F2ZU1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRpdGxlLFxuICAgICAgc3ViSGVhZGVyOiBtZXNzYWdlLFxuICAgICAgYnV0dG9uczogWydPSyddXG4gICAgfSk7XG5cbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XG5cbiAgfVxuXG59XG4iXX0=
@@ -9,6 +9,7 @@ import { NgxDatatableModule } from '@swimlane/ngx-datatable';
9
9
  import { RslIonicSmButtonsComponent } from './components/rsl-ionic-sm-buttons/ionic-sm-buttons.component';
10
10
  import { IonicDialogService } from './ionic-dialog.service';
11
11
  import { registerTranslateExtension } from './translate.extension';
12
+ import { RepeatDatatableComponent } from './types/repeat-datatable/repeat-datatable.component';
12
13
  import { RepeatTypeComponent } from './types/repeat/repeat-section.type';
13
14
  import { fieldMatchValidator } from './validators/must-match';
14
15
  import { AccordionWrapperComponent } from './wrappers/accordion-wrapper.component';
@@ -23,8 +24,8 @@ const COMMON_MODULES = [
23
24
  NgxDatatableModule
24
25
  ];
25
26
  export class RslIonicModuleModule {
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
27
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, imports: [CommonModule,
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslIonicModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: RslIonicModuleModule, imports: [CommonModule,
28
29
  IonicModule,
29
30
  ReactiveFormsModule,
30
31
  FormlyIonicModule,
@@ -34,13 +35,14 @@ export class RslIonicModuleModule {
34
35
  FormlyIonicModule,
35
36
  NgxDatatableModule, FormlyModule,
36
37
  TranslateModule] }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, providers: [
38
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslIonicModuleModule, providers: [
38
39
  IonicDialogService,
39
40
  { provide: FORMLY_CONFIG, multi: true, useFactory: registerTranslateExtension, deps: [TranslateService] },
40
41
  ], imports: [COMMON_MODULES, TranslateModule,
41
42
  FormlyModule.forRoot({
42
43
  types: [
43
44
  { name: 'repeat', component: RepeatTypeComponent },
45
+ { name: 'repeat-data-table', component: RepeatDatatableComponent },
44
46
  { name: 'sm-buttons', component: RslIonicSmButtonsComponent }
45
47
  ],
46
48
  validators: [{ name: 'fieldMatch', validation: fieldMatchValidator }],
@@ -58,7 +60,7 @@ export class RslIonicModuleModule {
58
60
  NgxDatatableModule, FormlyModule,
59
61
  TranslateModule] }); }
60
62
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RslIonicModuleModule, decorators: [{
62
64
  type: NgModule,
63
65
  args: [{
64
66
  imports: [
@@ -67,6 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
67
69
  FormlyModule.forRoot({
68
70
  types: [
69
71
  { name: 'repeat', component: RepeatTypeComponent },
72
+ { name: 'repeat-data-table', component: RepeatDatatableComponent },
70
73
  { name: 'sm-buttons', component: RslIonicSmButtonsComponent }
71
74
  ],
72
75
  validators: [{ name: 'fieldMatch', validation: fieldMatchValidator }],
@@ -90,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
90
93
  ],
91
94
  }]
92
95
  }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNsLWlvbmljLW1vZHVsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9yc2wtaW9uaWMtbW9kdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUMzRSxNQUFNLGNBQWMsR0FBRztJQUNyQixZQUFZO0lBQ1osV0FBVztJQUNYLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsa0JBQWtCO0NBQ25CLENBQUM7QUE4QkYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsWUFuQy9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixrQkFBa0IsRUFNaEIsZUFBZSw4QkFWakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGtCQUFrQixFQTJCaEIsWUFBWTtZQUNaLGVBQWU7K0dBR04sb0JBQW9CLGFBVnBCO1lBQ1Qsa0JBQWtCO1lBQ2xCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1NBQzFHLFlBbkJJLGNBQWMsRUFDakIsZUFBZTtZQUNmLFlBQVksQ0FBQyxPQUFPLENBQUM7Z0JBQ25CLEtBQUssRUFBRTtvQkFDTCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFO29CQUNsRCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFO2lCQUM5RDtnQkFDRCxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3JFLFFBQVEsRUFBRTtvQkFDUixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO29CQUNuRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUFFO2lCQUFDO2dCQUM5RCxrQkFBa0IsRUFBRTtvQkFDbEIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRTtpQkFDeEQ7YUFDRixDQUFDLEVBdkJKLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixrQkFBa0IsRUEyQmhCLFlBQVk7WUFDWixlQUFlOzsyRkFHTixvQkFBb0I7a0JBNUJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxHQUFHLGNBQWM7d0JBQ2pCLGVBQWU7d0JBQ2YsWUFBWSxDQUFDLE9BQU8sQ0FBQzs0QkFDbkIsS0FBSyxFQUFFO2dDQUNMLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7Z0NBQ2xELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUU7NkJBQzlEOzRCQUNELFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQzs0QkFDckUsUUFBUSxFQUFFO2dDQUNSLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0NBQ25ELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUseUJBQXlCLEVBQUU7NkJBQUM7NEJBQzlELGtCQUFrQixFQUFFO2dDQUNsQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFOzZCQUN4RDt5QkFDRixDQUFDO3FCQUNIO29CQUNELFNBQVMsRUFBRTt3QkFDVCxrQkFBa0I7d0JBQ2xCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO3FCQUMxRztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxjQUFjO3dCQUNqQixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBGT1JNTFlfQ09ORklHLCBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seUlvbmljTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvaW9uaWMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVNb2R1bGUgfSBmcm9tICdAc3dpbWxhbmUvbmd4LWRhdGF0YWJsZSc7XG5pbXBvcnQgeyBSc2xJb25pY1NtQnV0dG9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yc2wtaW9uaWMtc20tYnV0dG9ucy9pb25pYy1zbS1idXR0b25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJb25pY0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2lvbmljLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IHJlZ2lzdGVyVHJhbnNsYXRlRXh0ZW5zaW9uIH0gZnJvbSAnLi90cmFuc2xhdGUuZXh0ZW5zaW9uJztcbmltcG9ydCB7IFJlcGVhdFR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGVzL3JlcGVhdC9yZXBlYXQtc2VjdGlvbi50eXBlJztcbmltcG9ydCB7IGZpZWxkTWF0Y2hWYWxpZGF0b3IgfSBmcm9tICcuL3ZhbGlkYXRvcnMvbXVzdC1tYXRjaCc7XG5pbXBvcnQgeyBBY2NvcmRpb25XcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi93cmFwcGVycy9hY2NvcmRpb24td3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi93cmFwcGVycy9wYW5lbC13cmFwcGVyLmNvbXBvbmVudCc7XG5jb25zdCBDT01NT05fTU9EVUxFUyA9IFtcbiAgQ29tbW9uTW9kdWxlLFxuICBJb25pY01vZHVsZSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgRm9ybWx5SW9uaWNNb2R1bGUsXG4gIE5neERhdGF0YWJsZU1vZHVsZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC4uLkNPTU1PTl9NT0RVTEVTLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUuZm9yUm9vdCh7XG4gICAgICB0eXBlczogW1xuICAgICAgICB7IG5hbWU6ICdyZXBlYXQnLCBjb21wb25lbnQ6IFJlcGVhdFR5cGVDb21wb25lbnQgfSxcbiAgICAgICAgeyBuYW1lOiAnc20tYnV0dG9ucycsIGNvbXBvbmVudDogUnNsSW9uaWNTbUJ1dHRvbnNDb21wb25lbnQgfVxuICAgICAgXSxcbiAgICAgIHZhbGlkYXRvcnM6IFt7IG5hbWU6ICdmaWVsZE1hdGNoJywgdmFsaWRhdGlvbjogZmllbGRNYXRjaFZhbGlkYXRvciB9XSxcbiAgICAgIHdyYXBwZXJzOiBbXG4gICAgICAgIHsgbmFtZTogJ3BhbmVsJywgY29tcG9uZW50OiBQYW5lbFdyYXBwZXJDb21wb25lbnQgfSxcbiAgICAgICAgeyBuYW1lOiAnYWNjb3JkaW9uJywgY29tcG9uZW50OiBBY2NvcmRpb25XcmFwcGVyQ29tcG9uZW50IH1dLFxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiBbXG4gICAgICAgIHsgbmFtZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnIH0sXG4gICAgICBdLFxuICAgIH0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBJb25pY0RpYWxvZ1NlcnZpY2UsXG4gICAgeyBwcm92aWRlOiBGT1JNTFlfQ09ORklHLCBtdWx0aTogdHJ1ZSwgdXNlRmFjdG9yeTogcmVnaXN0ZXJUcmFuc2xhdGVFeHRlbnNpb24sIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSB9LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4uQ09NTU9OX01PRFVMRVMsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSc2xJb25pY01vZHVsZU1vZHVsZSB7IH1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNsLWlvbmljLW1vZHVsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9yc2wtaW9uaWMtbW9kdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9D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O3dCQUNQLEdBQUcsY0FBYzt3QkFDakIsWUFBWTt3QkFDWixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgRk9STUxZX0NPTkZJRywgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlJb25pY01vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2lvbmljJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTW9kdWxlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xuaW1wb3J0IHsgUnNsSW9uaWNTbUJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnNsLWlvbmljLXNtLWJ1dHRvbnMvaW9uaWMtc20tYnV0dG9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW9uaWNEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9pb25pYy1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyByZWdpc3RlclRyYW5zbGF0ZUV4dGVuc2lvbiB9IGZyb20gJy4vdHJhbnNsYXRlLmV4dGVuc2lvbic7XG5pbXBvcnQgeyBSZXBlYXREYXRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGVzL3JlcGVhdC1kYXRhdGFibGUvcmVwZWF0LWRhdGF0YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwZWF0VHlwZUNvbXBvbmVudCB9IGZyb20gJy4vdHlwZXMvcmVwZWF0L3JlcGVhdC1zZWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgZmllbGRNYXRjaFZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9ycy9tdXN0LW1hdGNoJztcbmltcG9ydCB7IEFjY29yZGlvbldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3dyYXBwZXJzL2FjY29yZGlvbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYW5lbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3dyYXBwZXJzL3BhbmVsLXdyYXBwZXIuY29tcG9uZW50JztcbmNvbnN0IENPTU1PTl9NT0RVTEVTID0gW1xuICBDb21tb25Nb2R1bGUsXG4gIElvbmljTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBGb3JtbHlJb25pY01vZHVsZSxcbiAgTmd4RGF0YXRhYmxlTW9kdWxlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLi4uQ09NTU9OX01PRFVMRVMsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JSb290KHtcbiAgICAgIHR5cGVzOiBbXG4gICAgICAgIHsgbmFtZTogJ3JlcGVhdCcsIGNvbXBvbmVudDogUmVwZWF0VHlwZUNvbXBvbmVudCB9LFxuICAgICAgICB7IG5hbWU6ICdyZXBlYXQtZGF0YS10YWJsZScsIGNvbXBvbmVudDogUmVwZWF0RGF0YXRhYmxlQ29tcG9uZW50IH0sXG4gICAgICAgIHsgbmFtZTogJ3NtLWJ1dHRvbnMnLCBjb21wb25lbnQ6IFJzbElvbmljU21CdXR0b25zQ29tcG9uZW50IH1cbiAgICAgIF0sXG4gICAgICB2YWxpZGF0b3JzOiBbeyBuYW1lOiAnZmllbGRNYXRjaCcsIHZhbGlkYXRpb246IGZpZWxkTWF0Y2hWYWxpZGF0b3IgfV0sXG4gICAgICB3cmFwcGVyczogW1xuICAgICAgICB7IG5hbWU6ICdwYW5lbCcsIGNvbXBvbmVudDogUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0sXG4gICAgICAgIHsgbmFtZTogJ2FjY29yZGlvbicsIGNvbXBvbmVudDogQWNjb3JkaW9uV3JhcHBlckNvbXBvbmVudCB9XSxcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlczogW1xuICAgICAgICB7IG5hbWU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJyB9LFxuICAgICAgXSxcbiAgICB9KSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgSW9uaWNEaWFsb2dTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogRk9STUxZX0NPTkZJRywgbXVsdGk6IHRydWUsIHVzZUZhY3Rvcnk6IHJlZ2lzdGVyVHJhbnNsYXRlRXh0ZW5zaW9uLCBkZXBzOiBbVHJhbnNsYXRlU2VydmljZV0gfSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC4uLkNPTU1PTl9NT0RVTEVTLFxuICAgIEZvcm1seU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUnNsSW9uaWNNb2R1bGVNb2R1bGUgeyB9XG4iXX0=
@@ -120,10 +120,10 @@ export class RepeatTypeComponent extends FieldArrayType {
120
120
  const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
121
121
  this.fileSaverService.save(blob, this.exportDataProp.fileName);
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RepeatTypeComponent, deps: [{ token: i1.IonicDialogService }, { token: i2.TranslateService }, { token: i3.FileSaverService }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: RepeatTypeComponent, isStandalone: true, selector: "formly-repeat-section", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ion-header [translucent]=\"true\">\r\n <ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\r\n </ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\r\n</ion-header>\r\n\r\n<ng-template #header>\r\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\r\n\r\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\r\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\r\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\r\n </ion-button>\r\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\r\n\r\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\r\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n\r\n<ion-list lines=\"full\">\r\n <ion-item *ngFor=\"let field of field.fieldGroup; let i = index\" class=\"row align-items-baseline\">\r\n <formly-field class=\"formly-ion-list-item\" [field]=\"field\"></formly-field>\r\n <ion-button [disabled]=\"props.disabled\" color=\"danger\" slot=\"end\" (click)='remove(i)'>\r\n <ion-icon slot=\"icon-only\" name=\"trash\"></ion-icon>\r\n </ion-button>\r\n </ion-item>\r\n</ion-list>\r\n\r\n\r\n<ng-template #search>\r\n <ion-toolbar *ngIf=\"showSerach\">\r\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\r\n </ion-toolbar>\r\n</ng-template>", styles: [".formly-ion-list-item{display:inline;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i5.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i5.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i5.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i6.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RepeatTypeComponent, deps: [{ token: i1.IonicDialogService }, { token: i2.TranslateService }, { token: i3.FileSaverService }], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: RepeatTypeComponent, isStandalone: true, selector: "formly-repeat-section", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ion-header [translucent]=\"true\">\r\n <ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\r\n </ion-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\r\n</ion-header>\r\n\r\n<ng-template #header>\r\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\r\n\r\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\r\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\r\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\r\n </ion-button>\r\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\r\n\r\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\r\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\r\n </ion-button>\r\n</ng-template>\r\n\r\n\r\n<ion-list lines=\"full\">\r\n <ion-item *ngFor=\"let field of field.fieldGroup; let i = index\" class=\"row align-items-baseline\">\r\n <formly-field class=\"formly-ion-list-item\" [field]=\"field\"></formly-field>\r\n <ion-button [disabled]=\"props.disabled\" color=\"danger\" slot=\"end\" (click)='remove(i)'>\r\n <ion-icon slot=\"icon-only\" name=\"trash\"></ion-icon>\r\n </ion-button>\r\n </ion-item>\r\n</ion-list>\r\n\r\n\r\n<ng-template #search>\r\n <ion-toolbar *ngIf=\"showSerach\">\r\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\r\n </ion-toolbar>\r\n</ng-template>", styles: [".formly-ion-list-item{display:inline;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i5.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i5.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i5.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i6.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
125
125
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RepeatTypeComponent, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RepeatTypeComponent, decorators: [{
127
127
  type: Component,
128
128
  args: [{ standalone: true, selector: 'formly-repeat-section', imports: [
129
129
  WrappersModule
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
132
132
  type: ViewChild,
133
133
  args: ['fileInput']
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LXNlY3Rpb24udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL3R5cGVzL3JlcGVhdC9yZXBlYXQtc2VjdGlvbi50eXBlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0L3JlcGVhdC1zZWN0aW9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7O0FBeUJoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQWVyRCxZQUNTLGFBQWlDLEVBQ2pDLFNBQTJCLEVBQzFCLGdCQUFrQztRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUhELGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBYjVDLFNBQUksR0FBd0IsSUFBSSxDQUFDO1FBQ2pDLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFDMUIsZUFB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U0FBUztpQ0FFSSxJQUFJLFlBQ04sdUJBQXVCLFdBR3hCO3dCQUNQLGNBQWM7cUJBQ2Y7dUtBTXVCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmllbGRBcnJheVR5cGUsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VmFsdWVGcm9tSnNvbkRhdGEsIHJlYWRGaWxlQXN5bmMgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlU2F2ZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWZpbGVzYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcbmltcG9ydCB7IElvbmljRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL2lvbmljLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV3JhcHBlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi93cmFwcGVycy93cmFwcGVycy5tb2R1bGUnO1xyXG5cclxuaW50ZXJmYWNlIFNlYXJjaFByb3Age1xyXG4gIHNob3dTZXJhY2g6IGJvb2xlYW5cclxuICBzZWFyY2hQcm9wOiBzdHJpbmdcclxufVxyXG5pbnRlcmZhY2UgRXhwb3J0RGF0YVByb3Age1xyXG4gIHByb3BlcnRpZXNUb0V4cG9ydDogc3RyaW5nW11cclxuICBzaGVldE5hbWU6IHN0cmluZztcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBJbXBvcnREYXRhUHJvcCB7XHJcbiAga2V5UHJvcDogc3RyaW5nXHJcbiAgcHJvcGVydGllc1RvSW1wb3J0OiBzdHJpbmdbXVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ2Zvcm1seS1yZXBlYXQtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdC1zZWN0aW9uLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdC1zZWN0aW9uLnNjc3MnXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBXcmFwcGVyc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdFR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEFycmF5VHlwZSB7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgZGF0YTogRm9ybWx5RmllbGRDb25maWdbXSA9IG51bGw7XHJcbiAgc2VyYWNoOiBTZWFyY2hQcm9wID0gbnVsbDtcclxuICBzaG93U2VyYWNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGVsZXRlTWVzc2FnZTogc3RyaW5nXHJcbiAgZGVsZXRlQnV0dG9uOiBzdHJpbmdcclxuICBjYW5jZWxCdXR0b246IHN0cmluZ1xyXG4gIGZpbHRlclZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIHR5cGVLZXk6IHN0cmluZztcclxuICBpbXBvcnREYXRhUHJvcDogSW1wb3J0RGF0YVByb3AgPSBudWxsO1xyXG4gIGV4cG9ydERhdGFQcm9wOiBFeHBvcnREYXRhUHJvcCA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogSW9uaWNEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsZVNhdmVyU2VydmljZTogRmlsZVNhdmVyU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZGVsZXRlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJHZW5lcmFsLkRlbGV0ZS5RdWVzdGlvblwiKVxyXG4gICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuQnV0dG9uXCIpXHJcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJHZW5lcmFsLkNhbmNlbC5CdXR0b25cIilcclxuXHJcbiAgfVxyXG4gIG92ZXJyaWRlIHJlbW92ZShpOiBudW1iZXIsIHsgbWFya0FzRGlydHkgfSA9IHsgbWFya0FzRGlydHk6IHRydWUgfSkge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy5kZWxldGVNZXNzYWdlLCBudWxsLCB0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5jYW5jZWxCdXR0b24pLnRoZW4oXHJcbiAgICAgICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlLmRhdGEpIHtcclxuICAgICAgICAgIHZhciBvbkRlbGV0ZSA9IHRoaXMuZmllbGQucHJvcHNbJ29uRGVsZXRlJ107XHJcbiAgICAgICAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgICAgICAgb25EZWxldGUodGhpcy5maWVsZC5maWVsZEdyb3VwW2ldLm1vZGVsKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHlwZUtleSA9IHRoaXMuZmllbGQua2V5IGFzIHN0cmluZ1xyXG4gICAgdGhpcy5zZXJhY2ggPSB0aGlzLnByb3BzWydzZWFyY2gnXVxyXG4gICAgdGhpcy5leHBvcnREYXRhUHJvcCA9IHRoaXMucHJvcHNbJ2V4cG9ydCddIHx8IG51bGxcclxuICAgIHRoaXMuaW1wb3J0RGF0YVByb3AgPSB0aGlzLnByb3BzWydpbXBvcnQnXSB8fCBudWxsXHJcbiAgICBpZiAodGhpcy5zZXJhY2gpIHtcclxuICAgICAgdGhpcy5zaG93U2VyYWNoID0gdGhpcy5zZXJhY2guc2hvd1NlcmFjaFxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcG9zdFBvcHVsYXRlKGZpZWxkOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcclxuICAgICAgdGhpcy5kYXRhID0gZmllbGQuZmllbGRHcm91cFxyXG4gICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zaG93U2VyYWNoKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgIT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZpZWxkLmZpZWxkR3JvdXBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIGFzeW5jIGhhbmRsZUltcG9ydEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuXHJcbiAgICBpZiAoZmlsZSkge1xyXG4gICAgICB0cnkge1xyXG5cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGVBc3luYyhmaWxlKTtcclxuICAgICAgICAvLyBIYW5kbGUgdGhlIGZpbGUgY29udGVudHMgaGVyZSAoZS5nLiwgZGlzcGxheSBvciBwcm9jZXNzIHRoZSBkYXRhKVxyXG4gICAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGZpbGVDb250ZW50cykvLywgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgZXhjZWxEYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHdzKS8vLCB7IGhlYWRlcjogMSB9KTtcclxuICAgICAgICBleGNlbERhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgIGNvbnN0IGpzb25YID0gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgdGhpcy5pbXBvcnREYXRhUHJvcC5rZXlQcm9wKVxyXG4gICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5maW5kSW5kZXgoZiA9PiBmW3RoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcF0gPT09IGpzb25YKVxyXG4gICAgICAgICAgaWYgKGlkeCA+PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nZGF0YSA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV1baWR4XVxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5pbXBvcnREYXRhUHJvcC5wcm9wZXJ0aWVzVG9JbXBvcnQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBqc29uVmFsID0gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgcHJvcClcclxuICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdkYXRhW3Byb3BdICE9PSBqc29uVmFsKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZmllbGRDb250cm9sID0gdGhpcy5maWVsZC5maWVsZEdyb3VwW2lkeF0uZm9ybUNvbnRyb2wgYXMgRm9ybUdyb3VwXHJcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuY29udHJvbHNbcHJvcF0uc2V0VmFsdWUoanNvblZhbClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN1cGVyLmFkZChudWxsLCBlbGVtZW50KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZWFkaW5nIHRoZSBmaWxlOicsIGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuXHJcbiAgICAvLyBGaWx0ZXIgdGhlIGRhdGEgdG8gaW5jbHVkZSBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllc1xyXG4gICAgY29uc3QgZmlsdGVyZWREYXRhID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbTogYW55ID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmV4cG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0V4cG9ydCkge1xyXG4gICAgICAgIGZpbHRlcmVkSXRlbVtwcm9wXSA9IGl0ZW1bcHJvcF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpbHRlcmVkSXRlbTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChmaWx0ZXJlZERhdGEpO1xyXG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgdGhpcy5leHBvcnREYXRhUHJvcC5zaGVldE5hbWUpO1xyXG5cclxuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdiLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcblxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KTtcclxuICAgIHRoaXMuZmlsZVNhdmVyU2VydmljZS5zYXZlKGJsb2IsIHRoaXMuZXhwb3J0RGF0YVByb3AuZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoanNvbkRhdGE6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gIC8vICAgLy8gQ29udmVydCB0aGUga2V5IGFuZCBhbGwgSlNPTiBrZXlzIHRvIGxvd2VyY2FzZVxyXG4gIC8vICAgY29uc3QgbG93ZXJjYXNlS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XHJcbiAgLy8gICBjb25zdCBsb3dlcmNhc2VLZXlzID0gT2JqZWN0LmtleXMoanNvbkRhdGEpLm1hcChrID0+IGsudG9Mb3dlckNhc2UoKSk7XHJcblxyXG4gIC8vICAgLy8gRmluZCB0aGUgbG93ZXJjYXNlIGtleSBpbiB0aGUgbG93ZXJjYXNlIGtleXMgYXJyYXlcclxuICAvLyAgIGNvbnN0IGluZGV4ID0gbG93ZXJjYXNlS2V5cy5pbmRleE9mKGxvd2VyY2FzZUtleSk7XHJcblxyXG4gIC8vICAgLy8gSWYgZm91bmQsIHVzZSB0aGUgb3JpZ2luYWwgKHByb3BlciBjYXNlKSBrZXkgdG8gYWNjZXNzIHRoZSB2YWx1ZVxyXG4gIC8vICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gIC8vICAgICBjb25zdCBvcmlnaW5hbEtleSA9IE9iamVjdC5rZXlzKGpzb25EYXRhKVtpbmRleF07XHJcbiAgLy8gICAgIHJldHVybiBqc29uRGF0YVtvcmlnaW5hbEtleV07XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgLy8gS2V5IG5vdCBmb3VuZFxyXG4gIC8vICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAvLyB9XHJcbiAgLy8gcHJpdmF0ZSByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPGFueT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gIC8vICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAvLyAgICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5vbmVycm9yID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAvLyAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxufSIsIjxpb24taGVhZGVyIFt0cmFuc2x1Y2VudF09XCJ0cnVlXCI+XHJcbiAgPGlvbi10b29sYmFyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2lvbi10b29sYmFyPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoXCI+PC9uZy1jb250YWluZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gIDxpb24tdGl0bGUgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+e3twcm9wcy5sYWJlbH19PC9pb24tdGl0bGU+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiZXhwb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJleHBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC1kb3dubG9hZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICA8L2lvbi1idXR0b24+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiaW1wb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJpbXBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC11cGxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG4gIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgYWNjZXB0PVwiLnhsc3gsLnhscywuY3N2XCIgKGNoYW5nZSk9XCJoYW5kbGVJbXBvcnRGaWxlKCRldmVudClcIj5cclxuXHJcbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJhZGQoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiPlxyXG4gICAgPGlvbi1pY29uIHNpemU9XCJsYXJnZVwiIG5hbWU9XCJhZGRcIj48L2lvbi1pY29uPlxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48aW9uLWxpc3QgbGluZXM9XCJmdWxsXCI+XHJcbiAgPGlvbi1pdGVtICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtYmFzZWxpbmVcIj5cclxuICAgIDxmb3JtbHktZmllbGQgY2xhc3M9XCJmb3JtbHktaW9uLWxpc3QtaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LWZpZWxkPlxyXG4gICAgPGlvbi1idXR0b24gW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgY29sb3I9XCJkYW5nZXJcIiBzbG90PVwiZW5kXCIgKGNsaWNrKT0ncmVtb3ZlKGkpJz5cclxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2hcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYnV0dG9uPlxyXG4gIDwvaW9uLWl0ZW0+XHJcbjwvaW9uLWxpc3Q+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWFyY2g+XHJcbiAgPGlvbi10b29sYmFyICpuZ0lmPVwic2hvd1NlcmFjaFwiPlxyXG4gICAgPGlvbi1zZWFyY2hiYXIgW2RlYm91bmNlXT1cIjEwMDBcIiAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+PC9pb24tc2VhcmNoYmFyPlxyXG4gIDwvaW9uLXRvb2xiYXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LXNlY3Rpb24udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL3R5cGVzL3JlcGVhdC9yZXBlYXQtc2VjdGlvbi50eXBlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0L3JlcGVhdC1zZWN0aW9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7O0FBeUJoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQWVyRCxZQUNTLGFBQWlDLEVBQ2pDLFNBQTJCLEVBQzFCLGdCQUFrQztRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUhELGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBYjVDLFNBQUksR0FBd0IsSUFBSSxDQUFDO1FBQ2pDLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFDMUIsZUFB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U0FBUztpQ0FFSSxJQUFJLFlBQ04sdUJBQXVCLFdBR3hCO3dCQUNQLGNBQWM7cUJBQ2Y7dUtBTXVCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmllbGRBcnJheVR5cGUsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VmFsdWVGcm9tSnNvbkRhdGEsIHJlYWRGaWxlQXN5bmMgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlU2F2ZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWZpbGVzYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcbmltcG9ydCB7IElvbmljRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL2lvbmljLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV3JhcHBlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi93cmFwcGVycy93cmFwcGVycy5tb2R1bGUnO1xyXG5cclxuaW50ZXJmYWNlIFNlYXJjaFByb3Age1xyXG4gIHNob3dTZXJhY2g6IGJvb2xlYW5cclxuICBzZWFyY2hQcm9wOiBzdHJpbmdcclxufVxyXG5pbnRlcmZhY2UgRXhwb3J0RGF0YVByb3Age1xyXG4gIHByb3BlcnRpZXNUb0V4cG9ydDogc3RyaW5nW11cclxuICBzaGVldE5hbWU6IHN0cmluZztcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBJbXBvcnREYXRhUHJvcCB7XHJcbiAga2V5UHJvcDogc3RyaW5nXHJcbiAgcHJvcGVydGllc1RvSW1wb3J0OiBzdHJpbmdbXVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ2Zvcm1seS1yZXBlYXQtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdC1zZWN0aW9uLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdC1zZWN0aW9uLnNjc3MnXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBXcmFwcGVyc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdFR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEFycmF5VHlwZSB7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgZGF0YTogRm9ybWx5RmllbGRDb25maWdbXSA9IG51bGw7XHJcbiAgc2VyYWNoOiBTZWFyY2hQcm9wID0gbnVsbDtcclxuICBzaG93U2VyYWNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGVsZXRlTWVzc2FnZTogc3RyaW5nXHJcbiAgZGVsZXRlQnV0dG9uOiBzdHJpbmdcclxuICBjYW5jZWxCdXR0b246IHN0cmluZ1xyXG4gIGZpbHRlclZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIHR5cGVLZXk6IHN0cmluZztcclxuICBpbXBvcnREYXRhUHJvcDogSW1wb3J0RGF0YVByb3AgPSBudWxsO1xyXG4gIGV4cG9ydERhdGFQcm9wOiBFeHBvcnREYXRhUHJvcCA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogSW9uaWNEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsZVNhdmVyU2VydmljZTogRmlsZVNhdmVyU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZGVsZXRlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJHZW5lcmFsLkRlbGV0ZS5RdWVzdGlvblwiKVxyXG4gICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuQnV0dG9uXCIpXHJcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJHZW5lcmFsLkNhbmNlbC5CdXR0b25cIilcclxuXHJcbiAgfVxyXG4gIG92ZXJyaWRlIHJlbW92ZShpOiBudW1iZXIsIHsgbWFya0FzRGlydHkgfSA9IHsgbWFya0FzRGlydHk6IHRydWUgfSkge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy5kZWxldGVNZXNzYWdlLCBudWxsLCB0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5jYW5jZWxCdXR0b24pLnRoZW4oXHJcbiAgICAgICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlLmRhdGEpIHtcclxuICAgICAgICAgIHZhciBvbkRlbGV0ZSA9IHRoaXMuZmllbGQucHJvcHNbJ29uRGVsZXRlJ107XHJcbiAgICAgICAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgICAgICAgb25EZWxldGUodGhpcy5maWVsZC5maWVsZEdyb3VwW2ldLm1vZGVsKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3VwZXIucmVtb3ZlKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHlwZUtleSA9IHRoaXMuZmllbGQua2V5IGFzIHN0cmluZ1xyXG4gICAgdGhpcy5zZXJhY2ggPSB0aGlzLnByb3BzWydzZWFyY2gnXVxyXG4gICAgdGhpcy5leHBvcnREYXRhUHJvcCA9IHRoaXMucHJvcHNbJ2V4cG9ydCddIHx8IG51bGxcclxuICAgIHRoaXMuaW1wb3J0RGF0YVByb3AgPSB0aGlzLnByb3BzWydpbXBvcnQnXSB8fCBudWxsXHJcbiAgICBpZiAodGhpcy5zZXJhY2gpIHtcclxuICAgICAgdGhpcy5zaG93U2VyYWNoID0gdGhpcy5zZXJhY2guc2hvd1NlcmFjaFxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcG9zdFBvcHVsYXRlKGZpZWxkOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcclxuICAgICAgdGhpcy5kYXRhID0gZmllbGQuZmllbGRHcm91cFxyXG4gICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zaG93U2VyYWNoKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgIT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZpZWxkLmZpZWxkR3JvdXBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIGFzeW5jIGhhbmRsZUltcG9ydEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuXHJcbiAgICBpZiAoZmlsZSkge1xyXG4gICAgICB0cnkge1xyXG5cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZUNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGVBc3luYyhmaWxlKTtcclxuICAgICAgICAvLyBIYW5kbGUgdGhlIGZpbGUgY29udGVudHMgaGVyZSAoZS5nLiwgZGlzcGxheSBvciBwcm9jZXNzIHRoZSBkYXRhKVxyXG4gICAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGZpbGVDb250ZW50cykvLywgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgZXhjZWxEYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHdzKS8vLCB7IGhlYWRlcjogMSB9KTtcclxuICAgICAgICBleGNlbERhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgIGNvbnN0IGpzb25YID0gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgdGhpcy5pbXBvcnREYXRhUHJvcC5rZXlQcm9wKVxyXG4gICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5maW5kSW5kZXgoZiA9PiBmW3RoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcF0gPT09IGpzb25YKVxyXG4gICAgICAgICAgaWYgKGlkeCA+PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nZGF0YSA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV1baWR4XVxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5pbXBvcnREYXRhUHJvcC5wcm9wZXJ0aWVzVG9JbXBvcnQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBqc29uVmFsID0gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoZWxlbWVudCwgcHJvcClcclxuICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdkYXRhW3Byb3BdICE9PSBqc29uVmFsKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZmllbGRDb250cm9sID0gdGhpcy5maWVsZC5maWVsZEdyb3VwW2lkeF0uZm9ybUNvbnRyb2wgYXMgRm9ybUdyb3VwXHJcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuY29udHJvbHNbcHJvcF0uc2V0VmFsdWUoanNvblZhbClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN1cGVyLmFkZChudWxsLCBlbGVtZW50KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciByZWFkaW5nIHRoZSBmaWxlOicsIGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuXHJcbiAgICAvLyBGaWx0ZXIgdGhlIGRhdGEgdG8gaW5jbHVkZSBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllc1xyXG4gICAgY29uc3QgZmlsdGVyZWREYXRhID0gdGhpcy5maWVsZC5wYXJlbnQubW9kZWxbdGhpcy50eXBlS2V5XS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkSXRlbTogYW55ID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmV4cG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0V4cG9ydCkge1xyXG4gICAgICAgIGZpbHRlcmVkSXRlbVtwcm9wXSA9IGl0ZW1bcHJvcF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpbHRlcmVkSXRlbTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChmaWx0ZXJlZERhdGEpO1xyXG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgdGhpcy5leHBvcnREYXRhUHJvcC5zaGVldE5hbWUpO1xyXG5cclxuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdiLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcblxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KTtcclxuICAgIHRoaXMuZmlsZVNhdmVyU2VydmljZS5zYXZlKGJsb2IsIHRoaXMuZXhwb3J0RGF0YVByb3AuZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0VmFsdWVGcm9tSnNvbkRhdGEoanNvbkRhdGE6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gIC8vICAgLy8gQ29udmVydCB0aGUga2V5IGFuZCBhbGwgSlNPTiBrZXlzIHRvIGxvd2VyY2FzZVxyXG4gIC8vICAgY29uc3QgbG93ZXJjYXNlS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XHJcbiAgLy8gICBjb25zdCBsb3dlcmNhc2VLZXlzID0gT2JqZWN0LmtleXMoanNvbkRhdGEpLm1hcChrID0+IGsudG9Mb3dlckNhc2UoKSk7XHJcblxyXG4gIC8vICAgLy8gRmluZCB0aGUgbG93ZXJjYXNlIGtleSBpbiB0aGUgbG93ZXJjYXNlIGtleXMgYXJyYXlcclxuICAvLyAgIGNvbnN0IGluZGV4ID0gbG93ZXJjYXNlS2V5cy5pbmRleE9mKGxvd2VyY2FzZUtleSk7XHJcblxyXG4gIC8vICAgLy8gSWYgZm91bmQsIHVzZSB0aGUgb3JpZ2luYWwgKHByb3BlciBjYXNlKSBrZXkgdG8gYWNjZXNzIHRoZSB2YWx1ZVxyXG4gIC8vICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gIC8vICAgICBjb25zdCBvcmlnaW5hbEtleSA9IE9iamVjdC5rZXlzKGpzb25EYXRhKVtpbmRleF07XHJcbiAgLy8gICAgIHJldHVybiBqc29uRGF0YVtvcmlnaW5hbEtleV07XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgLy8gS2V5IG5vdCBmb3VuZFxyXG4gIC8vICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAvLyB9XHJcbiAgLy8gcHJpdmF0ZSByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPGFueT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gIC8vICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAvLyAgICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5vbmVycm9yID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAvLyAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxufSIsIjxpb24taGVhZGVyIFt0cmFuc2x1Y2VudF09XCJ0cnVlXCI+XHJcbiAgPGlvbi10b29sYmFyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2lvbi10b29sYmFyPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoXCI+PC9uZy1jb250YWluZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gIDxpb24tdGl0bGUgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+e3twcm9wcy5sYWJlbH19PC9pb24tdGl0bGU+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiZXhwb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJleHBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC1kb3dubG9hZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICA8L2lvbi1idXR0b24+XHJcblxyXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiaW1wb3J0RGF0YSgpXCIgZmlsbD1cImNsZWFyXCIgW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgKm5nSWY9XCJpbXBvcnREYXRhUHJvcFwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC11cGxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgPC9pb24tYnV0dG9uPlxyXG4gIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgYWNjZXB0PVwiLnhsc3gsLnhscywuY3N2XCIgKGNoYW5nZSk9XCJoYW5kbGVJbXBvcnRGaWxlKCRldmVudClcIj5cclxuXHJcbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJhZGQoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiPlxyXG4gICAgPGlvbi1pY29uIHNpemU9XCJsYXJnZVwiIG5hbWU9XCJhZGRcIj48L2lvbi1pY29uPlxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48aW9uLWxpc3QgbGluZXM9XCJmdWxsXCI+XHJcbiAgPGlvbi1pdGVtICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtYmFzZWxpbmVcIj5cclxuICAgIDxmb3JtbHktZmllbGQgY2xhc3M9XCJmb3JtbHktaW9uLWxpc3QtaXRlbVwiIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LWZpZWxkPlxyXG4gICAgPGlvbi1idXR0b24gW2Rpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCIgY29sb3I9XCJkYW5nZXJcIiBzbG90PVwiZW5kXCIgKGNsaWNrKT0ncmVtb3ZlKGkpJz5cclxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2hcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYnV0dG9uPlxyXG4gIDwvaW9uLWl0ZW0+XHJcbjwvaW9uLWxpc3Q+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNzZWFyY2g+XHJcbiAgPGlvbi10b29sYmFyICpuZ0lmPVwic2hvd1NlcmFjaFwiPlxyXG4gICAgPGlvbi1zZWFyY2hiYXIgW2RlYm91bmNlXT1cIjEwMDBcIiAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+PC9pb24tc2VhcmNoYmFyPlxyXG4gIDwvaW9uLXRvb2xiYXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -0,0 +1,190 @@
1
+ import { Component, ElementRef, TemplateRef, ViewChild } from '@angular/core';
2
+ import { FieldArrayType } from '@ngx-formly/core';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { ColumnMode, SelectionType } from '@swimlane/ngx-datatable';
5
+ import { FileSaverService } from 'ngx-filesaver';
6
+ import * as XLSX from 'xlsx';
7
+ import { IonicDialogService } from '../../ionic-dialog.service';
8
+ import { WrappersModule } from '../../wrappers/wrappers.module';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../ionic-dialog.service";
11
+ import * as i2 from "@ngx-translate/core";
12
+ import * as i3 from "ngx-filesaver";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "@ionic/angular";
15
+ import * as i6 from "@swimlane/ngx-datatable";
16
+ import * as i7 from "@ngx-formly/core";
17
+ export class RepeatDatatableComponent extends FieldArrayType {
18
+ constructor(dialogService, translate, fileSaverService) {
19
+ super();
20
+ this.dialogService = dialogService;
21
+ this.translate = translate;
22
+ this.fileSaverService = fileSaverService;
23
+ this.data = null;
24
+ this.serach = null;
25
+ this.showSerach = false;
26
+ this.filterValue = null;
27
+ this.importDataProp = null;
28
+ this.exportDataProp = null;
29
+ this.ColumnMode = ColumnMode;
30
+ this.SelectionType = SelectionType;
31
+ this.deleteMessage = this.translate.instant("General.Delete.Question");
32
+ this.deleteButton = this.translate.instant("General.Delete.Button");
33
+ this.cancelButton = this.translate.instant("General.Cancel.Button");
34
+ }
35
+ add(i, initialModel) {
36
+ initialModel = {};
37
+ this.props['columns'].forEach(column => initialModel[column.prop] = null);
38
+ super.add(i, initialModel);
39
+ }
40
+ remove(i, { markAsDirty } = { markAsDirty: true }) {
41
+ this.dialogService.confirm(this.deleteMessage, null, this.deleteButton, this.cancelButton).then((value) => {
42
+ if (value.data) {
43
+ var onDelete = this.field.props['onDelete'];
44
+ if (onDelete) {
45
+ onDelete(this.field.fieldGroup[i].model).subscribe(() => {
46
+ super.remove(i);
47
+ });
48
+ }
49
+ super.remove(i);
50
+ }
51
+ });
52
+ }
53
+ ngOnInit() {
54
+ this.props['columns'].forEach(column => column.cellTemplate = this.defaultColumn);
55
+ this.props['columns'].push({
56
+ cellTemplate: this.actionsTmpl,
57
+ name: '',
58
+ cellClass: 'actions-cell',
59
+ draggable: false,
60
+ sortable: false,
61
+ visible: true,
62
+ width: 75,
63
+ maxWidth: 75,
64
+ minWidth: 75
65
+ });
66
+ this.typeKey = this.field.key;
67
+ this.serach = this.props['search'];
68
+ this.exportDataProp = this.props['export'] || null;
69
+ this.importDataProp = this.props['import'] || null;
70
+ if (this.serach) {
71
+ this.showSerach = this.serach.showSerach;
72
+ }
73
+ }
74
+ getField(field, column, rowIndex) {
75
+ return field.fieldGroup[rowIndex].fieldGroup.find(f => f.key === column.prop);
76
+ }
77
+ postPopulate(field) {
78
+ if (this.showSerach) {
79
+ this.data = field.fieldGroup;
80
+ if (this.filterValue) {
81
+ this.field.fieldGroup = this.data.filter(f => f.formControl.value[this.serach.searchProp].toLowerCase().includes(this.filterValue));
82
+ }
83
+ }
84
+ }
85
+ handleChange(event) {
86
+ if (this.showSerach) {
87
+ if (this.data == null && this.field.fieldGroup !== null) {
88
+ this.data = this.field.fieldGroup;
89
+ }
90
+ this.filterValue = event.target.value.toLowerCase();
91
+ this.field.fieldGroup = this.data.filter(f => f.formControl.value[this.serach.searchProp].toLowerCase().includes(this.filterValue));
92
+ }
93
+ }
94
+ importData() {
95
+ this.fileInput.nativeElement.click();
96
+ }
97
+ async handleImportFile(event) {
98
+ const file = event.target.files[0];
99
+ if (file) {
100
+ try {
101
+ const fileContents = await this.readFileAsync(file);
102
+ // Handle the file contents here (e.g., display or process the data)
103
+ const wb = XLSX.read(fileContents); //, { type: 'binary' });
104
+ const wsname = wb.SheetNames[0];
105
+ const ws = wb.Sheets[wsname];
106
+ const excelData = XLSX.utils.sheet_to_json(ws); //, { header: 1 });
107
+ excelData.forEach(element => {
108
+ const jsonX = this.getValueFromJsonData(element, this.importDataProp.keyProp);
109
+ const idx = this.field.parent.model[this.typeKey].findIndex(f => f[this.importDataProp.keyProp] === jsonX);
110
+ if (idx >= 0) {
111
+ const existingdata = this.field.parent.model[this.typeKey][idx];
112
+ for (const prop of this.importDataProp.propertiesToImport) {
113
+ const jsonVal = this.getValueFromJsonData(element, prop);
114
+ if (existingdata[prop] !== jsonVal) {
115
+ var fieldControl = this.field.fieldGroup[idx].formControl;
116
+ fieldControl.controls[prop].setValue(jsonVal);
117
+ }
118
+ }
119
+ }
120
+ else {
121
+ super.add(null, element);
122
+ }
123
+ });
124
+ }
125
+ catch (error) {
126
+ console.error('Error reading the file:', error);
127
+ }
128
+ }
129
+ }
130
+ exportData() {
131
+ // Filter the data to include only the specified properties
132
+ const filteredData = this.field.parent.model[this.typeKey].map(item => {
133
+ const filteredItem = {};
134
+ for (const prop of this.exportDataProp.propertiesToExport) {
135
+ filteredItem[prop] = item[prop];
136
+ }
137
+ return filteredItem;
138
+ });
139
+ const ws = XLSX.utils.json_to_sheet(filteredData);
140
+ const wb = XLSX.utils.book_new();
141
+ XLSX.utils.book_append_sheet(wb, ws, this.exportDataProp.sheetName);
142
+ const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
143
+ const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
144
+ this.fileSaverService.save(blob, this.exportDataProp.fileName);
145
+ }
146
+ getValueFromJsonData(jsonData, key) {
147
+ // Convert the key and all JSON keys to lowercase
148
+ const lowercaseKey = key.toLowerCase();
149
+ const lowercaseKeys = Object.keys(jsonData).map(k => k.toLowerCase());
150
+ // Find the lowercase key in the lowercase keys array
151
+ const index = lowercaseKeys.indexOf(lowercaseKey);
152
+ // If found, use the original (proper case) key to access the value
153
+ if (index !== -1) {
154
+ const originalKey = Object.keys(jsonData)[index];
155
+ return jsonData[originalKey];
156
+ }
157
+ // Key not found
158
+ return undefined;
159
+ }
160
+ readFileAsync(file) {
161
+ return new Promise((resolve, reject) => {
162
+ const reader = new FileReader();
163
+ reader.onload = (event) => {
164
+ resolve(event.target.result);
165
+ };
166
+ reader.onerror = (event) => {
167
+ reject(event.target.error);
168
+ };
169
+ reader.readAsArrayBuffer(file);
170
+ });
171
+ }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RepeatDatatableComponent, deps: [{ token: i1.IonicDialogService }, { token: i2.TranslateService }, { token: i3.FileSaverService }], target: i0.ɵɵFactoryTarget.Component }); }
173
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: RepeatDatatableComponent, isStandalone: true, selector: "app-repeat-datatable", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "defaultColumn", first: true, predicate: ["defaultColumn"], descendants: true, static: true }, { propertyName: "actionsTmpl", first: true, predicate: ["actionsTmpl"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ion-header [translucent]=\"true\">\n <ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\n </ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\n</ion-header>\n\n<ng-template #header>\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\n\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\n </ion-button>\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\n\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\n </ion-button>\n</ng-template>\n\n<ngx-datatable #table class=\"material fullscreen rls-server-scrolling\" [rows]=\"model\" [columns]=\"props['columns']\" [columnMode]=\"props['columnMode']\"\n [rowHeight]=\"props['rowHeight']\" [headerHeight]=\"props['headerHeight']\" [footerHeight]=\"props['footerHeight']\" [limit]=\"props['limit']\"\n [scrollbarH]=\"props['scrollbarH']\" [reorderable]=\"props['reorderable']\" [externalSorting]=\"true\">\n <ng-template #defaultColumn ngx-datatable-cell-template let-rowIndex=\"rowIndex\" let-value=\"value\" let-row=\"row\"\n let-column=\"column\">\n <formly-field class=\"formly-ion-list-item\" [field]=\"getField(field, column, rowIndex)\"></formly-field>\n </ng-template>\n</ngx-datatable>\n\n<ng-template #actionsTmpl let-row=\"row\" let-value=\"value\" let-rowIndex=\"rowIndex\">\n <ion-button style=\"height: 100%;\" fill=\"clear\"[disabled]=\"props.disabled\" (click)='remove(rowIndex)'>\n <ion-icon color=\"danger\" slot=\"icon-only\" name=\"trash\" (click)='remove(rowIndex)'></ion-icon>\n </ion-button>\n</ng-template>\n\n<ng-template #search>\n <ion-toolbar *ngIf=\"showSerach\">\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ng-template>", styles: [".rls-server-scrolling{height:calc(100vh - 110px);position:relative!important}::ng-deep .datatable-body-cell{padding:0!important}::ng-deep .datatable-body-cell-label{height:100%!important}::ng-deep .progress-linear{position:fixed!important;bottom:0}::ng-deep .actions-cell{padding:5px 0 0 .9rem!important}::ng-deep .align-right{text-align:right!important}\n"], dependencies: [{ kind: "ngmodule", type: WrappersModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i5.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i7.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
174
+ }
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RepeatDatatableComponent, decorators: [{
176
+ type: Component,
177
+ args: [{ standalone: true, selector: 'app-repeat-datatable', imports: [
178
+ WrappersModule
179
+ ], template: "<ion-header [translucent]=\"true\">\n <ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\n </ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\n</ion-header>\n\n<ng-template #header>\n <ion-title class=\"ion-text-left\">{{props.label}}</ion-title>\n\n <ion-button slot=\"end\" (click)=\"exportData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"exportDataProp\">\n <ion-icon name=\"cloud-download-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" (click)=\"importData()\" fill=\"clear\" [disabled]=\"props.disabled\" *ngIf=\"importDataProp\">\n <ion-icon name=\"cloud-upload-outline\"></ion-icon>\n </ion-button>\n <input #fileInput type=\"file\" style=\"display: none\" accept=\".xlsx,.xls,.csv\" (change)=\"handleImportFile($event)\">\n\n <ion-button slot=\"end\" (click)=\"add()\" fill=\"clear\" [disabled]=\"props.disabled\">\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\n </ion-button>\n</ng-template>\n\n<ngx-datatable #table class=\"material fullscreen rls-server-scrolling\" [rows]=\"model\" [columns]=\"props['columns']\" [columnMode]=\"props['columnMode']\"\n [rowHeight]=\"props['rowHeight']\" [headerHeight]=\"props['headerHeight']\" [footerHeight]=\"props['footerHeight']\" [limit]=\"props['limit']\"\n [scrollbarH]=\"props['scrollbarH']\" [reorderable]=\"props['reorderable']\" [externalSorting]=\"true\">\n <ng-template #defaultColumn ngx-datatable-cell-template let-rowIndex=\"rowIndex\" let-value=\"value\" let-row=\"row\"\n let-column=\"column\">\n <formly-field class=\"formly-ion-list-item\" [field]=\"getField(field, column, rowIndex)\"></formly-field>\n </ng-template>\n</ngx-datatable>\n\n<ng-template #actionsTmpl let-row=\"row\" let-value=\"value\" let-rowIndex=\"rowIndex\">\n <ion-button style=\"height: 100%;\" fill=\"clear\"[disabled]=\"props.disabled\" (click)='remove(rowIndex)'>\n <ion-icon color=\"danger\" slot=\"icon-only\" name=\"trash\" (click)='remove(rowIndex)'></ion-icon>\n </ion-button>\n</ng-template>\n\n<ng-template #search>\n <ion-toolbar *ngIf=\"showSerach\">\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ng-template>", styles: [".rls-server-scrolling{height:calc(100vh - 110px);position:relative!important}::ng-deep .datatable-body-cell{padding:0!important}::ng-deep .datatable-body-cell-label{height:100%!important}::ng-deep .progress-linear{position:fixed!important;bottom:0}::ng-deep .actions-cell{padding:5px 0 0 .9rem!important}::ng-deep .align-right{text-align:right!important}\n"] }]
180
+ }], ctorParameters: function () { return [{ type: i1.IonicDialogService }, { type: i2.TranslateService }, { type: i3.FileSaverService }]; }, propDecorators: { fileInput: [{
181
+ type: ViewChild,
182
+ args: ['fileInput']
183
+ }], defaultColumn: [{
184
+ type: ViewChild,
185
+ args: ['defaultColumn', { static: true }]
186
+ }], actionsTmpl: [{
187
+ type: ViewChild,
188
+ args: ['actionsTmpl', { static: true }]
189
+ }] } });
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LWRhdGF0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi90eXBlcy9yZXBlYXQtZGF0YXRhYmxlL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvdHlwZXMvcmVwZWF0LWRhdGF0YWJsZS9yZXBlYXQtZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGNBQWMsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBZSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQXVCaEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7SUFxQjFELFlBQ1MsYUFBaUMsRUFDakMsU0FBMkIsRUFDMUIsZ0JBQWtDO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBSEQsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQjVD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dEVBMkNjLDZaRGZWLGNBQWM7OzRGQUdMLHdCQUF3QjtrQkFUcEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sc0JBQXNCLFdBR3ZCO3dCQUNQLGNBQWM7cUJBQ2Y7dUtBTXVCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDK0IsYUFBYTtzQkFBakUsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNBLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZEFycmF5VHlwZSwgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbHVtbk1vZGUsIFNlbGVjdGlvblR5cGUsIFRhYmxlQ29sdW1uIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xuaW1wb3J0IHsgRmlsZVNhdmVyU2VydmljZSB9IGZyb20gJ25neC1maWxlc2F2ZXInO1xuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcbmltcG9ydCB7IElvbmljRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL2lvbmljLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFdyYXBwZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vd3JhcHBlcnMvd3JhcHBlcnMubW9kdWxlJztcbmludGVyZmFjZSBTZWFyY2hQcm9wIHtcbiAgc2hvd1NlcmFjaDogYm9vbGVhblxuICBzZWFyY2hQcm9wOiBzdHJpbmdcbn1cbmludGVyZmFjZSBFeHBvcnREYXRhUHJvcCB7XG4gIHByb3BlcnRpZXNUb0V4cG9ydDogc3RyaW5nW11cbiAgc2hlZXROYW1lOiBzdHJpbmc7XG4gIGZpbGVOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgSW1wb3J0RGF0YVByb3Age1xuICBrZXlQcm9wOiBzdHJpbmdcbiAgcHJvcGVydGllc1RvSW1wb3J0OiBzdHJpbmdbXVxufVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYXBwLXJlcGVhdC1kYXRhdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwZWF0LWRhdGF0YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlcGVhdC1kYXRhdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIFdyYXBwZXJzTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVwZWF0RGF0YXRhYmxlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRBcnJheVR5cGUgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICpcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZGVmYXVsdENvbHVtbicsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBkZWZhdWx0Q29sdW1uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdhY3Rpb25zVG1wbCcsIHsgc3RhdGljOiB0cnVlIH0pIGFjdGlvbnNUbXBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGRhdGE6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBudWxsO1xuICBzZXJhY2g6IFNlYXJjaFByb3AgPSBudWxsO1xuICBzaG93U2VyYWNoOiBib29sZWFuID0gZmFsc2U7XG4gIGRlbGV0ZU1lc3NhZ2U6IHN0cmluZ1xuICBkZWxldGVCdXR0b246IHN0cmluZ1xuICBjYW5jZWxCdXR0b246IHN0cmluZ1xuICBmaWx0ZXJWYWx1ZTogc3RyaW5nID0gbnVsbDtcbiAgdHlwZUtleTogc3RyaW5nO1xuICBpbXBvcnREYXRhUHJvcDogSW1wb3J0RGF0YVByb3AgPSBudWxsO1xuICBleHBvcnREYXRhUHJvcDogRXhwb3J0RGF0YVByb3AgPSBudWxsO1xuXG4gIENvbHVtbk1vZGUgPSBDb2x1bW5Nb2RlO1xuICBTZWxlY3Rpb25UeXBlID0gU2VsZWN0aW9uVHlwZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IElvbmljRGlhbG9nU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlsZVNhdmVyU2VydmljZTogRmlsZVNhdmVyU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kZWxldGVNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcIkdlbmVyYWwuRGVsZXRlLlF1ZXN0aW9uXCIpXG4gICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5EZWxldGUuQnV0dG9uXCIpXG4gICAgdGhpcy5jYW5jZWxCdXR0b24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiR2VuZXJhbC5DYW5jZWwuQnV0dG9uXCIpXG5cbiAgfVxuICBvdmVycmlkZSBhZGQoaT86IG51bWJlciwgaW5pdGlhbE1vZGVsPzogYW55KSB7XG4gICAgaW5pdGlhbE1vZGVsID0ge31cbiAgICB0aGlzLnByb3BzWydjb2x1bW5zJ10uZm9yRWFjaChjb2x1bW4gPT4gaW5pdGlhbE1vZGVsW2NvbHVtbi5wcm9wXSA9IG51bGwpXG4gICAgc3VwZXIuYWRkKGksIGluaXRpYWxNb2RlbCk7XG4gIH1cbiAgb3ZlcnJpZGUgcmVtb3ZlKGk6IG51bWJlciwgeyBtYXJrQXNEaXJ0eSB9ID0geyBtYXJrQXNEaXJ0eTogdHJ1ZSB9KSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy5kZWxldGVNZXNzYWdlLCBudWxsLCB0aGlzLmRlbGV0ZUJ1dHRvbiwgdGhpcy5jYW5jZWxCdXR0b24pLnRoZW4oXG4gICAgICAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuZGF0YSkge1xuICAgICAgICAgIHZhciBvbkRlbGV0ZSA9IHRoaXMuZmllbGQucHJvcHNbJ29uRGVsZXRlJ107XG4gICAgICAgICAgaWYgKG9uRGVsZXRlKSB7XG4gICAgICAgICAgICBvbkRlbGV0ZSh0aGlzLmZpZWxkLmZpZWxkR3JvdXBbaV0ubW9kZWwpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1cGVyLnJlbW92ZShpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICBzdXBlci5yZW1vdmUoaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9wc1snY29sdW1ucyddLmZvckVhY2goY29sdW1uID0+IGNvbHVtbi5jZWxsVGVtcGxhdGUgPSB0aGlzLmRlZmF1bHRDb2x1bW4pO1xuICAgIHRoaXMucHJvcHNbJ2NvbHVtbnMnXS5wdXNoKHtcbiAgICAgIGNlbGxUZW1wbGF0ZTogdGhpcy5hY3Rpb25zVG1wbCxcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgY2VsbENsYXNzOiAnYWN0aW9ucy1jZWxsJyxcbiAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgd2lkdGg6IDc1LFxuICAgICAgbWF4V2lkdGg6IDc1LFxuICAgICAgbWluV2lkdGg6IDc1XG4gICAgfSlcbiAgICB0aGlzLnR5cGVLZXkgPSB0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmdcbiAgICB0aGlzLnNlcmFjaCA9IHRoaXMucHJvcHNbJ3NlYXJjaCddXG4gICAgdGhpcy5leHBvcnREYXRhUHJvcCA9IHRoaXMucHJvcHNbJ2V4cG9ydCddIHx8IG51bGxcbiAgICB0aGlzLmltcG9ydERhdGFQcm9wID0gdGhpcy5wcm9wc1snaW1wb3J0J10gfHwgbnVsbFxuICAgIGlmICh0aGlzLnNlcmFjaCkge1xuICAgICAgdGhpcy5zaG93U2VyYWNoID0gdGhpcy5zZXJhY2guc2hvd1NlcmFjaFxuICAgIH1cblxuICB9XG4gIGdldEZpZWxkKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93SW5kZXg6IG51bWJlcik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICByZXR1cm4gZmllbGQuZmllbGRHcm91cFtyb3dJbmRleF0uZmllbGRHcm91cC5maW5kKGYgPT4gZi5rZXkgPT09IGNvbHVtbi5wcm9wKTtcbiAgfVxuICBwb3N0UG9wdWxhdGUoZmllbGQ6IGFueSkge1xuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcbiAgICAgIHRoaXMuZGF0YSA9IGZpZWxkLmZpZWxkR3JvdXBcbiAgICAgIGlmICh0aGlzLmZpbHRlclZhbHVlKSB7XG4gICAgICAgIHRoaXMuZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZGF0YS5maWx0ZXIoZiA9PiBmLmZvcm1Db250cm9sLnZhbHVlW3RoaXMuc2VyYWNoLnNlYXJjaFByb3BdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJWYWx1ZSkpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGhhbmRsZUNoYW5nZShldmVudCkge1xuICAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcbiAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5maWVsZC5maWVsZEdyb3VwXG4gICAgICB9XG4gICAgICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLmZpZWxkLmZpZWxkR3JvdXAgPSB0aGlzLmRhdGEuZmlsdGVyKGYgPT4gZi5mb3JtQ29udHJvbC52YWx1ZVt0aGlzLnNlcmFjaC5zZWFyY2hQcm9wXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuZmlsdGVyVmFsdWUpKVxuICAgIH1cbiAgfVxuICBpbXBvcnREYXRhKCkge1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuICBhc3luYyBoYW5kbGVJbXBvcnRGaWxlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHRyeSB7XG5cblxuICAgICAgICBjb25zdCBmaWxlQ29udGVudHMgPSBhd2FpdCB0aGlzLnJlYWRGaWxlQXN5bmMoZmlsZSk7XG4gICAgICAgIC8vIEhhbmRsZSB0aGUgZmlsZSBjb250ZW50cyBoZXJlIChlLmcuLCBkaXNwbGF5IG9yIHByb2Nlc3MgdGhlIGRhdGEpXG4gICAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGZpbGVDb250ZW50cykvLywgeyB0eXBlOiAnYmluYXJ5JyB9KTtcbiAgICAgICAgY29uc3Qgd3NuYW1lOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzBdO1xuICAgICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcbiAgICAgICAgY29uc3QgZXhjZWxEYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHdzKS8vLCB7IGhlYWRlcjogMSB9KTtcbiAgICAgICAgZXhjZWxEYXRhLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgY29uc3QganNvblggPSB0aGlzLmdldFZhbHVlRnJvbUpzb25EYXRhKGVsZW1lbnQsIHRoaXMuaW1wb3J0RGF0YVByb3Aua2V5UHJvcClcbiAgICAgICAgICBjb25zdCBpZHggPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbFt0aGlzLnR5cGVLZXldLmZpbmRJbmRleChmID0+IGZbdGhpcy5pbXBvcnREYXRhUHJvcC5rZXlQcm9wXSA9PT0ganNvblgpXG4gICAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ2RhdGEgPSB0aGlzLmZpZWxkLnBhcmVudC5tb2RlbFt0aGlzLnR5cGVLZXldW2lkeF1cbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmltcG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0ltcG9ydCkge1xuICAgICAgICAgICAgICBjb25zdCBqc29uVmFsID0gdGhpcy5nZXRWYWx1ZUZyb21Kc29uRGF0YShlbGVtZW50LCBwcm9wKVxuICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdkYXRhW3Byb3BdICE9PSBqc29uVmFsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGZpZWxkQ29udHJvbCA9IHRoaXMuZmllbGQuZmllbGRHcm91cFtpZHhdLmZvcm1Db250cm9sIGFzIEZvcm1Hcm91cFxuICAgICAgICAgICAgICAgIGZpZWxkQ29udHJvbC5jb250cm9sc1twcm9wXS5zZXRWYWx1ZShqc29uVmFsKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmFkZChudWxsLCBlbGVtZW50KVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlYWRpbmcgdGhlIGZpbGU6JywgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydERhdGEoKSB7XG5cbiAgICAvLyBGaWx0ZXIgdGhlIGRhdGEgdG8gaW5jbHVkZSBvbmx5IHRoZSBzcGVjaWZpZWQgcHJvcGVydGllc1xuICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IHRoaXMuZmllbGQucGFyZW50Lm1vZGVsW3RoaXMudHlwZUtleV0ubWFwKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRJdGVtOiBhbnkgPSB7fTtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLmV4cG9ydERhdGFQcm9wLnByb3BlcnRpZXNUb0V4cG9ydCkge1xuICAgICAgICBmaWx0ZXJlZEl0ZW1bcHJvcF0gPSBpdGVtW3Byb3BdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkSXRlbTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChmaWx0ZXJlZERhdGEpO1xuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xuICAgIFhMU1gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCB0aGlzLmV4cG9ydERhdGFQcm9wLnNoZWV0TmFtZSk7XG5cbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3YiwgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyB9KTtcbiAgICB0aGlzLmZpbGVTYXZlclNlcnZpY2Uuc2F2ZShibG9iLCB0aGlzLmV4cG9ydERhdGFQcm9wLmZpbGVOYW1lKTtcbiAgfVxuXG4gIGdldFZhbHVlRnJvbUpzb25EYXRhKGpzb25EYXRhOiBhbnksIGtleTogc3RyaW5nKTogYW55IHtcbiAgICAvLyBDb252ZXJ0IHRoZSBrZXkgYW5kIGFsbCBKU09OIGtleXMgdG8gbG93ZXJjYXNlXG4gICAgY29uc3QgbG93ZXJjYXNlS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbG93ZXJjYXNlS2V5cyA9IE9iamVjdC5rZXlzKGpzb25EYXRhKS5tYXAoayA9PiBrLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgLy8gRmluZCB0aGUgbG93ZXJjYXNlIGtleSBpbiB0aGUgbG93ZXJjYXNlIGtleXMgYXJyYXlcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyY2FzZUtleXMuaW5kZXhPZihsb3dlcmNhc2VLZXkpO1xuXG4gICAgLy8gSWYgZm91bmQsIHVzZSB0aGUgb3JpZ2luYWwgKHByb3BlciBjYXNlKSBrZXkgdG8gYWNjZXNzIHRoZSB2YWx1ZVxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsS2V5ID0gT2JqZWN0LmtleXMoanNvbkRhdGEpW2luZGV4XTtcbiAgICAgIHJldHVybiBqc29uRGF0YVtvcmlnaW5hbEtleV07XG4gICAgfVxuXG4gICAgLy8gS2V5IG5vdCBmb3VuZFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJpdmF0ZSByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQpO1xuICAgICAgfTtcblxuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcbiAgICAgIH07XG5cbiAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcbiAgICB9KTtcbiAgfVxufSIsIjxpb24taGVhZGVyIFt0cmFuc2x1Y2VudF09XCJ0cnVlXCI+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICA8L2lvbi10b29sYmFyPlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaFwiPjwvbmctY29udGFpbmVyPlxuPC9pb24taGVhZGVyPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgPGlvbi10aXRsZSBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIj57e3Byb3BzLmxhYmVsfX08L2lvbi10aXRsZT5cblxuICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cImV4cG9ydERhdGEoKVwiIGZpbGw9XCJjbGVhclwiIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiICpuZ0lmPVwiZXhwb3J0RGF0YVByb3BcIj5cbiAgICA8aW9uLWljb24gbmFtZT1cImNsb3VkLWRvd25sb2FkLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJpbXBvcnREYXRhKClcIiBmaWxsPVwiY2xlYXJcIiBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIiAqbmdJZj1cImltcG9ydERhdGFQcm9wXCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG91ZC11cGxvYWQtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gIDwvaW9uLWJ1dHRvbj5cbiAgPGlucHV0ICNmaWxlSW5wdXQgdHlwZT1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBhY2NlcHQ9XCIueGxzeCwueGxzLC5jc3ZcIiAoY2hhbmdlKT1cImhhbmRsZUltcG9ydEZpbGUoJGV2ZW50KVwiPlxuXG4gIDxpb24tYnV0dG9uIHNsb3Q9XCJlbmRcIiAoY2xpY2spPVwiYWRkKClcIiBmaWxsPVwiY2xlYXJcIiBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIj5cbiAgICA8aW9uLWljb24gc2l6ZT1cImxhcmdlXCIgbmFtZT1cImFkZFwiPjwvaW9uLWljb24+XG4gIDwvaW9uLWJ1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZ3gtZGF0YXRhYmxlICN0YWJsZSBjbGFzcz1cIm1hdGVyaWFsIGZ1bGxzY3JlZW4gcmxzLXNlcnZlci1zY3JvbGxpbmdcIiBbcm93c109XCJtb2RlbFwiIFtjb2x1bW5zXT1cInByb3BzWydjb2x1bW5zJ11cIiBbY29sdW1uTW9kZV09XCJwcm9wc1snY29sdW1uTW9kZSddXCJcbiAgW3Jvd0hlaWdodF09XCJwcm9wc1sncm93SGVpZ2h0J11cIiBbaGVhZGVySGVpZ2h0XT1cInByb3BzWydoZWFkZXJIZWlnaHQnXVwiIFtmb290ZXJIZWlnaHRdPVwicHJvcHNbJ2Zvb3RlckhlaWdodCddXCIgW2xpbWl0XT1cInByb3BzWydsaW1pdCddXCJcbiAgW3Njcm9sbGJhckhdPVwicHJvcHNbJ3Njcm9sbGJhckgnXVwiIFtyZW9yZGVyYWJsZV09XCJwcm9wc1sncmVvcmRlcmFibGUnXVwiIFtleHRlcm5hbFNvcnRpbmddPVwidHJ1ZVwiPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb2x1bW4gbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCIgbGV0LXZhbHVlPVwidmFsdWVcIiBsZXQtcm93PVwicm93XCJcbiAgICBsZXQtY29sdW1uPVwiY29sdW1uXCI+XG4gICAgPGZvcm1seS1maWVsZCAgIGNsYXNzPVwiZm9ybWx5LWlvbi1saXN0LWl0ZW1cIiAgW2ZpZWxkXT1cImdldEZpZWxkKGZpZWxkLCBjb2x1bW4sIHJvd0luZGV4KVwiPjwvZm9ybWx5LWZpZWxkPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZ3gtZGF0YXRhYmxlPlxuXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUbXBsIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiICBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICA8aW9uLWJ1dHRvbiBzdHlsZT1cImhlaWdodDogMTAwJTtcIiBmaWxsPVwiY2xlYXJcIltkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiIChjbGljayk9J3JlbW92ZShyb3dJbmRleCknPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2hcIiAoY2xpY2spPSdyZW1vdmUocm93SW5kZXgpJz48L2lvbi1pY29uPlxuICA8L2lvbi1idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaD5cbiAgPGlvbi10b29sYmFyICpuZ0lmPVwic2hvd1NlcmFjaFwiPlxuICAgIDxpb24tc2VhcmNoYmFyIFtkZWJvdW5jZV09XCIxMDAwXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPjwvaW9uLXNlYXJjaGJhcj5cbiAgPC9pb24tdG9vbGJhcj5cbjwvbmctdGVtcGxhdGU+Il19