onshore-forms 1.0.11 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,22 +34,24 @@ import { DialogModule } from 'primeng/dialog';
34
34
  import { ImageCropperComponent } from 'ngx-image-cropper';
35
35
  import * as i5$2 from 'ngx-webcam';
36
36
  import { WebcamModule } from 'ngx-webcam';
37
- import * as i3$5 from 'primeng/textarea';
37
+ import * as i4$2 from 'primeng/textarea';
38
38
  import { TextareaModule } from 'primeng/textarea';
39
- import * as i5$3 from 'primeng/inputnumber';
39
+ import * as i6$1 from 'primeng/inputnumber';
40
40
  import { InputNumberModule } from 'primeng/inputnumber';
41
- import * as i6$1 from 'primeng/inputgroup';
41
+ import * as i7 from 'primeng/inputgroup';
42
42
  import { InputGroupModule } from 'primeng/inputgroup';
43
- import * as i7 from 'primeng/inputgroupaddon';
43
+ import * as i8 from 'primeng/inputgroupaddon';
44
44
  import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
45
+ import * as i3$5 from 'primeng/keyfilter';
46
+ import { KeyFilterModule } from 'primeng/keyfilter';
45
47
  import * as i2$4 from 'primeng/inputswitch';
46
48
  import { InputSwitchModule } from 'primeng/inputswitch';
47
49
  import { DatePicker } from 'primeng/datepicker';
48
50
  import * as i6$2 from 'primeng/inputotp';
49
51
  import { InputOtpModule } from 'primeng/inputotp';
50
- import * as i5$4 from 'primeng/popover';
52
+ import * as i5$3 from 'primeng/popover';
51
53
  import { PopoverModule } from 'primeng/popover';
52
- import * as i4$2 from 'primeng/chip';
54
+ import * as i4$3 from 'primeng/chip';
53
55
  import { ChipModule } from 'primeng/chip';
54
56
 
55
57
  var OnshoreFormTemplateType;
@@ -763,9 +765,9 @@ class OnshoreFormDropdownItemComponent {
763
765
  group = false;
764
766
  selectionLimit = 0;
765
767
  minLength = 0;
766
- optionLabel = '';
768
+ optionLabel = 'label';
767
769
  optionGroupLabel = '';
768
- dataKey = '';
770
+ dataKey = 'value';
769
771
  actionButtonDisabled = false;
770
772
  createEnabled = false;
771
773
  options = [];
@@ -1206,6 +1208,7 @@ class OnshoreFormInputItemComponent {
1206
1208
  minLength = 0;
1207
1209
  maxLength = 999999;
1208
1210
  actionButtonDisabled = false;
1211
+ keyFilter = '';
1209
1212
  actionButtonClick = new EventEmitter();
1210
1213
  OnshoreFormTemplateType = OnshoreFormTemplateType;
1211
1214
  passwordVisible = false;
@@ -1244,11 +1247,11 @@ class OnshoreFormInputItemComponent {
1244
1247
  this.ngControl.valueAccessor = this;
1245
1248
  }
1246
1249
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: OnshoreFormInputItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1247
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: OnshoreFormInputItemComponent, isStandalone: true, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", actionButtonDisabled: "actionButtonDisabled" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-inputgroup>\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pTextarea\n [autoResize]=\"true\"\n [formControl]=\"formControl\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.inputAddon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </p-inputgroup-addon>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\" class=\"cursor-pointer\" (click)=\"passwordVisible = !passwordVisible\">\n <i [class]=\"passwordVisible ? 'fa fa-eye' : 'fa fa-eye-slash'\"></i>\n </p-inputgroup-addon>\n\n </p-inputgroup>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n [showButtons]=\"true\"\n [buttonLayout]=\"formTemplate.inputNumberVertical ? 'vertical' : 'horizontal'\"\n spinnerMode=\"horizontal\"\n (onInput)=\"onNumberInput($event)\">\n <ng-template #incrementbuttonicon>\n <span class=\"fa fa-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"fa fa-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </p-fluid>\n\n</onshore-form-item-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i3$5.Textarea, selector: "[pTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2$3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i5$3.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i6$1.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i7.InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: FluidModule }, { kind: "component", type: i5.Fluid, selector: "p-fluid" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1250
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: OnshoreFormInputItemComponent, isStandalone: true, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", actionButtonDisabled: "actionButtonDisabled", keyFilter: "keyFilter" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-inputgroup>\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pTextarea\n [autoResize]=\"true\"\n [formControl]=\"formControl\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [pKeyFilter]=\"keyFilter\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.inputAddon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </p-inputgroup-addon>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\" class=\"cursor-pointer\" (click)=\"passwordVisible = !passwordVisible\">\n <i [class]=\"passwordVisible ? 'fa fa-eye' : 'fa fa-eye-slash'\"></i>\n </p-inputgroup-addon>\n\n </p-inputgroup>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n [showButtons]=\"true\"\n [buttonLayout]=\"formTemplate.inputNumberVertical ? 'vertical' : 'horizontal'\"\n spinnerMode=\"horizontal\"\n (onInput)=\"onNumberInput($event)\">\n <ng-template #incrementbuttonicon>\n <span class=\"fa fa-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"fa fa-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </p-fluid>\n\n</onshore-form-item-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i3$5.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i4$2.Textarea, selector: "[pTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2$3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i6$1.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i7.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i8.InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: FluidModule }, { kind: "component", type: i5.Fluid, selector: "p-fluid" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1248
1251
  }
1249
1252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: OnshoreFormInputItemComponent, decorators: [{
1250
1253
  type: Component,
1251
- args: [{ selector: 'onshore-form-input-item', imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, TextareaModule, InputTextModule, InputNumberModule, FormsModule, ReactiveFormsModule, InputGroupModule, InputGroupAddonModule, ButtonModule, FluidModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-inputgroup>\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pTextarea\n [autoResize]=\"true\"\n [formControl]=\"formControl\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.inputAddon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </p-inputgroup-addon>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\" class=\"cursor-pointer\" (click)=\"passwordVisible = !passwordVisible\">\n <i [class]=\"passwordVisible ? 'fa fa-eye' : 'fa fa-eye-slash'\"></i>\n </p-inputgroup-addon>\n\n </p-inputgroup>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n [showButtons]=\"true\"\n [buttonLayout]=\"formTemplate.inputNumberVertical ? 'vertical' : 'horizontal'\"\n spinnerMode=\"horizontal\"\n (onInput)=\"onNumberInput($event)\">\n <ng-template #incrementbuttonicon>\n <span class=\"fa fa-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"fa fa-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </p-fluid>\n\n</onshore-form-item-container>\n" }]
1254
+ args: [{ selector: 'onshore-form-input-item', imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, KeyFilterModule, TextareaModule, InputTextModule, InputNumberModule, FormsModule, ReactiveFormsModule, InputGroupModule, InputGroupAddonModule, ButtonModule, FluidModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-inputgroup>\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pTextarea\n [autoResize]=\"true\"\n [formControl]=\"formControl\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [pKeyFilter]=\"keyFilter\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.inputAddon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </p-inputgroup-addon>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\" class=\"cursor-pointer\" (click)=\"passwordVisible = !passwordVisible\">\n <i [class]=\"passwordVisible ? 'fa fa-eye' : 'fa fa-eye-slash'\"></i>\n </p-inputgroup-addon>\n\n </p-inputgroup>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n [showButtons]=\"true\"\n [buttonLayout]=\"formTemplate.inputNumberVertical ? 'vertical' : 'horizontal'\"\n spinnerMode=\"horizontal\"\n (onInput)=\"onNumberInput($event)\">\n <ng-template #incrementbuttonicon>\n <span class=\"fa fa-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"fa fa-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </p-fluid>\n\n</onshore-form-item-container>\n" }]
1252
1255
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
1253
1256
  type: Self
1254
1257
  }, {
@@ -1267,6 +1270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
1267
1270
  type: Input
1268
1271
  }], actionButtonDisabled: [{
1269
1272
  type: Input
1273
+ }], keyFilter: [{
1274
+ type: Input
1270
1275
  }], actionButtonClick: [{
1271
1276
  type: Output
1272
1277
  }] } });
@@ -1514,7 +1519,7 @@ class OnshoreFormScannerItemComponent {
1514
1519
  }
1515
1520
  OnshoreFormTemplateType = OnshoreFormTemplateType;
1516
1521
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: OnshoreFormScannerItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1517
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: OnshoreFormScannerItemComponent, isStandalone: true, selector: "onshore-form-scanner-item", inputs: { formTemplate: "formTemplate", actionButtonDisabled: "actionButtonDisabled", webcamDisabled: "webcamDisabled", scannerDisabled: "scannerDisabled", editDisabled: "editDisabled", integerOnly: "integerOnly", length: "length" }, outputs: { actionButtonClick: "actionButtonClick", webcamClick: "webcamClick", scannerClick: "scannerClick" }, viewQueries: [{ propertyName: "scanPopover", first: true, predicate: ["scanPopover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <div class=\"flex gap-2\">\n <p-inputOtp [formControl]=\"formControl\"\n [disabled]=\"disabled || !editable\"\n [integerOnly]=\"integerOnly\"\n [length]=\"length\">\n </p-inputOtp>\n\n <p-button *ngIf=\"!scannerDisabled\" (click)=\"scanPopover.toggle($event); webcamClick.emit()\" icon=\"fa fa-qrcode\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelScanner' | translate }}\" />\n <p-button *ngIf=\"!webcamDisabled\" (click)=\"scannerClick.emit()\" icon=\"fa fa-video\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelWebcam' | translate }}\" />\n <p-button *ngIf=\"!editDisabled\" icon=\"fa fa-pen\" severity=\"secondary\" (click)=\"editable = true\" label=\"{{ 'form.scannerControl.labelInput' | translate }}\" />\n </div>\n\n</onshore-form-item-container>\n\n<p-popover #scanPopover>\n <div class=\"flex flex-column justify-content-center align-items-center gap-2\">\n <i *ngIf=\"!ngControl.control?.value\" class=\"fa fa-qrcode fa-2x\"></i>\n <span *ngIf=\"!ngControl.control?.value\">{{'form.scannerControl.startScanLabel' | translate}}</span>\n <p-chip *ngIf=\"ngControl.control?.value\" [label]=\"ngControl.control?.value\" icon=\"fa fa fa-qrcode\" />\n </div>\n</p-popover>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }, { kind: "ngmodule", type: ChipModule }, { kind: "component", type: i4$2.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i5$4.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: InputOtpModule }, { kind: "component", type: i6$2.InputOtp, selector: "p-inputOtp, p-inputotp, p-input-otp", inputs: ["invalid", "disabled", "readonly", "variant", "tabindex", "length", "styleClass", "mask", "integerOnly", "autofocus", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1522
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: OnshoreFormScannerItemComponent, isStandalone: true, selector: "onshore-form-scanner-item", inputs: { formTemplate: "formTemplate", actionButtonDisabled: "actionButtonDisabled", webcamDisabled: "webcamDisabled", scannerDisabled: "scannerDisabled", editDisabled: "editDisabled", integerOnly: "integerOnly", length: "length" }, outputs: { actionButtonClick: "actionButtonClick", webcamClick: "webcamClick", scannerClick: "scannerClick" }, viewQueries: [{ propertyName: "scanPopover", first: true, predicate: ["scanPopover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <div class=\"flex gap-2\">\n <p-inputOtp [formControl]=\"formControl\"\n [disabled]=\"disabled || !editable\"\n [integerOnly]=\"integerOnly\"\n [length]=\"length\">\n </p-inputOtp>\n\n <p-button *ngIf=\"!scannerDisabled\" (click)=\"scanPopover.toggle($event); webcamClick.emit()\" icon=\"fa fa-qrcode\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelScanner' | translate }}\" />\n <p-button *ngIf=\"!webcamDisabled\" (click)=\"scannerClick.emit()\" icon=\"fa fa-video\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelWebcam' | translate }}\" />\n <p-button *ngIf=\"!editDisabled\" icon=\"fa fa-pen\" severity=\"secondary\" (click)=\"editable = true\" label=\"{{ 'form.scannerControl.labelInput' | translate }}\" />\n </div>\n\n</onshore-form-item-container>\n\n<p-popover #scanPopover>\n <div class=\"flex flex-column justify-content-center align-items-center gap-2\">\n <i *ngIf=\"!ngControl.control?.value\" class=\"fa fa-qrcode fa-2x\"></i>\n <span *ngIf=\"!ngControl.control?.value\">{{'form.scannerControl.startScanLabel' | translate}}</span>\n <p-chip *ngIf=\"ngControl.control?.value\" [label]=\"ngControl.control?.value\" icon=\"fa fa fa-qrcode\" />\n </div>\n</p-popover>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }, { kind: "ngmodule", type: ChipModule }, { kind: "component", type: i4$3.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i5$3.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: InputOtpModule }, { kind: "component", type: i6$2.InputOtp, selector: "p-inputOtp, p-inputotp, p-input-otp", inputs: ["invalid", "disabled", "readonly", "variant", "tabindex", "length", "styleClass", "mask", "integerOnly", "autofocus", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1518
1523
  }
1519
1524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: OnshoreFormScannerItemComponent, decorators: [{
1520
1525
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"onshore-forms.mjs","sources":["../../../projects/onshore-forms/src/lib/enums/form.enums.ts","../../../projects/onshore-forms/src/lib/onshore-forms.service.ts","../../../projects/onshore-forms/src/lib/validators/form.validators.ts","../../../projects/onshore-forms/src/lib/components/form-validation-output/form-validation-output.component.ts","../../../projects/onshore-forms/src/lib/components/form-validation-output/form-validation-output.component.html","../../../projects/onshore-forms/src/lib/components/form-item-container/form-item-container.component.ts","../../../projects/onshore-forms/src/lib/components/form-item-container/form-item-container.component.html","../../../projects/onshore-forms/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.html","../../../projects/onshore-forms/src/lib/components/form-checkbox-item/form-checkbox-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-checkbox-item/form-checkbox-item.component.html","../../../projects/onshore-forms/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.html","../../../projects/onshore-forms/src/lib/components/inplace-input/inplace-input.component.ts","../../../projects/onshore-forms/src/lib/components/inplace-input/inplace-input.component.html","../../../projects/onshore-forms/src/lib/components/form-dropdown-item/form-dropdown-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-dropdown-item/form-dropdown-item.component.html","../../../projects/onshore-forms/src/lib/components/image-placeholder/image-placeholder.component.ts","../../../projects/onshore-forms/src/lib/components/image-placeholder/image-placeholder.component.html","../../../projects/onshore-forms/src/lib/components/image-chooser/image-chooser.component.ts","../../../projects/onshore-forms/src/lib/components/image-chooser/image-chooser.component.html","../../../projects/onshore-forms/src/lib/components/webcam/webcam.component.ts","../../../projects/onshore-forms/src/lib/components/webcam/webcam.component.html","../../../projects/onshore-forms/src/lib/components/form-image-item/form-image-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-image-item/form-image-item.component.html","../../../projects/onshore-forms/src/lib/components/form-input-item/form-input-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-input-item/form-input-item.component.html","../../../projects/onshore-forms/src/lib/components/form-switch-item/form-switch-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-switch-item/form-switch-item.component.html","../../../projects/onshore-forms/src/lib/components/form-datetime-item/form-datetime-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-datetime-item/form-datetime-item.component.html","../../../projects/onshore-forms/src/lib/components/form-sort-item/form-sort-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-sort-item/form-sort-item.component.html","../../../projects/onshore-forms/src/lib/components/form-scanner-item/form-scanner-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-scanner-item/form-scanner-item.component.html","../../../projects/onshore-forms/src/public-api.ts","../../../projects/onshore-forms/src/onshore-forms.ts"],"sourcesContent":["export enum OnshoreFormTemplateType {\r\n text = 'text',\r\n textarea = 'textarea',\r\n editor = 'editor',\r\n password = 'password',\r\n number = 'number',\r\n email = 'email',\r\n phone = 'phone',\r\n regexp = 'regexp',\r\n select = 'select',\r\n switch = 'switch',\r\n check = 'check',\r\n radio = 'radio',\r\n image = 'image',\r\n scanner = 'scanner',\r\n autocomplete = 'autocomplete',\r\n color = 'color',\r\n date = 'date',\r\n time = 'time',\r\n datetime = 'datetime',\r\n sort = 'sort',\r\n subform = 'subform'\r\n}\r\n\r\nexport enum OnshoreFormTemplateLayout {\r\n vertical = 'vertical',\r\n horizontal = 'horizontal',\r\n auto = 'auto'\r\n}\r\n\r\nexport enum OnshoreImageError {\r\n none = '',\r\n fileType = 'fileType',\r\n ratio = 'ratio',\r\n size = 'size',\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { Subject, Subscription } from 'rxjs';\nimport { OnshoreFormTemplateType } from './enums/form.enums';\nimport { OnshoreFormArrayDefault, OnshoreFormTemplateItem } from './models/form.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnshoreFormsService {\n\n _form: FormGroup;\n _formTemplate: OnshoreFormTemplateItem[];\n _formValidations: string[] = [];\n\n subscriptions: Array<Subscription> = [];\n\n public isLoading$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n this._form = new FormGroup({}, {updateOn: 'change'});\n this._formTemplate = [];\n }\n\n public get form(): FormGroup {\n return this._form;\n }\n\n public get formValues() {\n return this._form?.value;\n }\n\n public patchForm(value: any) {\n this._form?.patchValue(value);\n }\n\n public resetForm() {\n this._form?.reset();\n this._form?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n this.subscriptions.forEach((subscription: Subscription) => {\n subscription.unsubscribe();\n });\n\n this._form = null!;\n this._formTemplate = null!;\n }\n\n public resetFormControl(name: string, touched: boolean = false) {\n this._form?.get(name)?.reset();\n if(touched) {\n this._form?.get(name)?.markAsTouched();\n this._form?.get(name)?.markAsDirty();\n }\n this._form?.get(name)?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n }\n\n public generateForm(formTemplate: OnshoreFormTemplateItem[]): FormGroup | null {\n this._formTemplate = formTemplate;\n this._form = new FormGroup({}, {updateOn: 'change'});\n this._form = this.iterateNestedForm(this._form, formTemplate);\n return this._form;\n }\n\n public formTemplate(name: string, formTemplate: OnshoreFormTemplateItem[] = this._formTemplate): OnshoreFormTemplateItem {\n let template: OnshoreFormTemplateItem;\n\n if(formTemplate) {\n for(let i = 0; i < formTemplate?.length; i++) {\n const item = formTemplate[i];\n if(item.name === name) {\n template = item;\n i = formTemplate.length;\n }else if(item.subformArray) {\n const arrayTemplate = this.formTemplate(name, item.subformArray);\n if(arrayTemplate) template = arrayTemplate;\n }else if(item.subformObject) {\n const objectTemplate = this.formTemplate(name, item.subformObject);\n if(objectTemplate) template = objectTemplate;\n }\n }\n }\n\n return template!;\n }\n\n public formControl(name: string, formGroup: FormGroup | null = this._form): FormControl {\n return formGroup?.get(name) as FormControl;\n }\n\n public formArray(name: string): FormArray {\n return this._form?.get(name) as FormArray;\n }\n\n public formGroup(form: FormGroup, name: string): FormGroup {\n return form.get(name) as FormGroup;\n }\n\n public addFormArrayItem(formArray: FormArray, item: OnshoreFormTemplateItem, defaultValues: OnshoreFormArrayDefault[]): FormGroup {\n let formControls = <any>{};\n\n if(item) {\n item.subformArray?.forEach((subitem: OnshoreFormTemplateItem) => {\n if(subitem.type == OnshoreFormTemplateType.subform) {\n if (item.subformArray) {\n formControls[subitem.name] = new FormArray([]);\n formControls[subitem.name].setParent(formControls[subitem.name]);\n this.subscribeNestedFormArray(formControls[subitem.name] as FormArray);\n }\n if (item.subformObject) {\n formControls[subitem.name] = new FormGroup({});\n this.subscribeNestedFormGroup(formControls[subitem.name] as FormGroup);\n }\n } else {\n const defaultValue = defaultValues?.find(value => value.name === subitem.name)?.value;\n if(defaultValue) subitem.default = defaultValue.value;\n\n formControls[subitem.name] = new FormControl(defaultValue ?? (subitem.default !== undefined ? subitem.default : ''), {\n validators: subitem.validators || [],\n updateOn: 'change'\n });\n formControls[subitem.name].updateValueAndValidity({ onlySelf: false, emitEvent: true });\n }\n });\n }\n\n const formGroup = new FormGroup(formControls);\n formGroup.setParent(formArray);\n\n formArray.push(formGroup);\n\n this.subscribeNestedFormGroup(formGroup);\n\n return formGroup;\n }\n\n public removeFormArrayItem(form: FormArray, index: number) {\n form.removeAt(index);\n }\n\n public setFormValidations(validations: string[] = []) {\n this._formValidations = validations;\n }\n\n public enable() {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.enabled = true;\n });\n setTimeout(() => {\n this._form?.enable({onlySelf: true, emitEvent: false});\n }, 100);\n }\n\n public disable() {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.enabled = false;\n });\n setTimeout(() => {\n this._form?.disable({onlySelf: true, emitEvent: false});\n }, 100);\n }\n\n public setError(control: string, error: Object) {\n const errors = {...this.formControl(control).errors ?? {}, ...error} ;\n this.formControl(control).setErrors(errors);\n }\n\n public setLoader(loaders$: Subject<boolean>[]) {\n loaders$.forEach($loader => {\n this.subscriptions.push($loader.subscribe(isLoading => {\n isLoading ? this.disable() : this.enable();\n this.isLoading$.next(isLoading);\n }));\n });\n }\n\n public lock(lockSubfields: boolean = true) {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.locked = true;\n if(item.subformArray && lockSubfields) {\n item.subformArray.forEach( subitem => {\n subitem.locked = true;\n });\n }\n });\n }\n\n public unlock() {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.locked = false;\n if(item.subformArray) {\n item.subformArray.forEach( subitem => {\n subitem.locked = false;\n });\n }\n });\n }\n\n iterateNestedForm(form: FormGroup, formTemplate: OnshoreFormTemplateItem[]): any {\n formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n if(item.type === OnshoreFormTemplateType.subform) {\n if(item.subformArray) {\n form.controls[item.name] = new FormArray([]);\n form.controls[item.name].setParent(form);\n this.subscribeNestedFormArray(form.controls[item.name] as FormArray);\n }\n if(item.subformObject) {\n form.controls[item.name] = new FormGroup({});\n form.controls[item.name] = this.iterateNestedForm(form.controls[item.name] as FormGroup, item.subformObject) as FormGroup;\n this.subscribeNestedFormGroup(form.controls[item.name] as FormGroup);\n }\n } else {\n form.addControl(item.name, new FormControl(item.default !== undefined ? item.default : '', {\n validators: item.validators || [],\n updateOn: 'change'\n }));\n }\n });\n return form;\n }\n\n subscribeNestedFormArray(nestedFormItem: FormArray) {\n this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n }\n\n subscribeNestedFormGroup(nestedFormItem: FormGroup) {\n this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n }\n\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport class OnshoreValidators {\n static slug: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /^[A-Za-z0-9\\._-]{2,20}$/.test(control.value) ? null : { slug: true };\n }\n\n static numeric: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /^[0-9]*$/.test(control.value) ? null : { numeric: true };\n }\n\n static email: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,10})?$/.test(control.value) ? null : { email: true };\n }\n\n static cleanComment: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /[A-Z]{5}\\d{4}[A-Z]{1}/.test(control.value) ? null : { cleanComment: true };\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, SimpleChanges\n} from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'onshore-form-validation-output',\n imports: [CommonModule],\n templateUrl: './form-validation-output.component.html',\n styleUrls: ['./form-validation-output.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormValidationOutputComponent implements OnChanges {\n @Input() validationErrors!: ValidationErrors | null;\n @Input() validationItems!: string[];\n\n validationTranslation: string = '';\n\n ngOnChanges(changes: SimpleChanges) {\n this.validationTranslation = '';\n if(changes['validationErrors'].currentValue && this.validationErrors) {\n Object.keys(this.validationErrors!).forEach(error => {\n const exists = Object.values(this.validationItems ?? []).filter( validationItem => validationItem == error);\n if(exists && exists.length > 0) {\n this.validationTranslation += this.translate.instant('form.validation.' + error) + '<br>';\n } else {\n const errorValues = this.validationErrors![error];\n this.validationTranslation += this.translate.instant('form.validation.' + error, errorValues) + '<br>';\n }\n });\n }\n this.cdr.markForCheck();\n }\n\n constructor(private cdr: ChangeDetectorRef,\n private translate: TranslateService) {\n\n }\n}\n","<small [style]=\"{color: 'var(--inputtext-invalid-placeholder-color)' }\"\n *ngIf=\"validationTranslation\"\n [innerHTML]=\"validationTranslation\">\n</small>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, ElementRef, EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit, Output,\n SimpleChanges, ViewChild\n} from '@angular/core';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateLayout } from '../../enums/form.enums';\nimport { NgControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ToggleButtonModule } from 'primeng/togglebutton';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { ButtonModule } from 'primeng/button';\nimport { OnshoreFormValidationOutputComponent } from '../form-validation-output/form-validation-output.component';\n\n@Component({\n selector: 'onshore-form-item-container',\n imports: [CommonModule, OnshoreFormValidationOutputComponent, TranslateModule, ToggleButtonModule, TooltipModule, ButtonModule],\n templateUrl: './form-item-container.component.html',\n styleUrls: ['./form-item-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormItemContainer implements OnInit, OnChanges, AfterViewInit {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() ngControl!: NgControl;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n @Output() lockIsChanged = new EventEmitter();\n\n @ViewChild('formContainer') formContainer!: ElementRef;\n\n disabled: boolean = false;\n tempLockValue: any;\n\n OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;\n\n layout: OnshoreFormTemplateLayout | undefined = OnshoreFormTemplateLayout.auto;\n\n enabled(enable: boolean = true) {\n setTimeout(() => {\n if(enable) {\n this.ngControl?.control?.enable();\n } else {\n this.ngControl?.control?.disable();\n }\n this.disabled = !enable;\n this.cdr.markForCheck();\n }, 100);\n }\n\n lockChanged(unlocked: boolean) {\n if(unlocked && this.formTemplate.enabled) {\n this.tempLockValue = this.ngControl?.control?.value;\n this.enabled(true);\n this.disabled = false;\n this.lockIsChanged.emit(unlocked);\n } else {\n this.enabled(false);\n this.disabled = true;\n this.ngControl?.control?.setValue(this.tempLockValue);\n this.tempLockValue = null;\n this.lockIsChanged.emit(unlocked);\n }\n\n this.cdr.markForCheck();\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize() {\n const conatinerWidth = this.formContainer?.nativeElement.offsetWidth;\n if(conatinerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.horizontal) {\n this.layout = OnshoreFormTemplateLayout.horizontal;\n this.cdr.markForCheck();\n }\n if(conatinerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.vertical) {\n this.layout = OnshoreFormTemplateLayout.vertical;\n this.cdr.markForCheck();\n }\n }\n\n ngOnInit(): void {\n this.ngControl?.control?.valueChanges.subscribe(value => {\n this.cdr.markForCheck();\n });\n this.ngControl?.control?.statusChanges.subscribe(status => {\n this.cdr.markForCheck();\n });\n\n this.enabled(this.formTemplate.enabled);\n this.disabled = !this.formTemplate.enabled;\n\n if(this.formTemplate.locked) {\n this.enabled(false);\n this.disabled = true;\n }\n\n this.layout = this.formTemplate.layout;\n\n setTimeout(() => {\n this.cdr.markForCheck();\n }, 100);\n }\n\n ngAfterViewInit() {\n this.onWindowResize();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const previousValue = changes['formTemplate']?.previousValue;\n const currentValue = changes['formTemplate']?.currentValue;\n\n if(currentValue) {\n\n if(previousValue?.enabled !== currentValue?.enabled) {\n this.enabled(currentValue?.enabled);\n this.disabled = !currentValue?.enabled;\n }\n\n if(previousValue?.locked !== currentValue?.locked) {\n if(currentValue.locked) {\n this.enabled(false);\n this.disabled = true;\n } else {\n this.enabled(currentValue.enabled);\n this.disabled = currentValue.enabled;\n }\n }\n\n if(previousValue?.layout !== currentValue?.layout) {\n this.layout = this.formTemplate.layout;\n this.onWindowResize();\n }\n\n if(previousValue?.labelStyle !== currentValue?.labelStyle) {\n this.onWindowResize();\n }\n\n this.cdr.markForCheck();\n }\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n\n }\n}\n","<div [class.mb-4]=\"!formTemplate.noGap\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n [hidden]=\"!formTemplate.label || formTemplate.label == ''\"\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px; max-height: 36px'\">\n\n <span *ngIf=\"formTemplate.label && formTemplate.label != ''\" [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.align-self-center]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\"\n [style]=\"{color: 'var(--inputtext-invalid-placeholder-color)' }\">*</small>\n </span>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" [tooltipPosition]=\"'left'\" appendTo=\"body\"><i class=\"fa fa-circle-question text-color\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <div class=\"w-full overflow-hidden align-self-center\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"formTemplate.actionButton\"\n class=\"ml-2 onshore-button-light\"\n [style]=\"{'height': '37px', 'min-width': '38px'}\"\n pButton\n [disabled]=\"actionButtonDisabled\"\n [icon]=\"formTemplate.actionButtonIcon\"\n (click)=\"actionButtonClick.emit()\">\n </button>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [tooltipPosition]=\"'left'\" [escape]=\"false\"><i class=\"fa fa-circle-question primary-color\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched || ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 60 : 0)) + 'px' : (formTemplate.locked ? 60 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div *ngIf=\"formTemplate.description\" class=\"mt-2\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 60 : 0)) + 'px' : (formTemplate.locked ? 60 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <small class=\"text-color\"><i class=\"fa fa-info-circle primary-color\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit,\n Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormAutocompleteItem, OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { AutoCompleteModule, AutoCompleteSelectEvent } from 'primeng/autocomplete';\nimport { updatePreset } from '@primeng/themes';\nimport { FluidModule } from 'primeng/fluid';\n\n@Component({\n selector: 'onshore-form-autocomplete-item',\n imports: [CommonModule, OnshoreFormItemContainer, AutoCompleteModule, FormsModule, ReactiveFormsModule, FluidModule],\n templateUrl: './form-autocomplete-item.component.html',\n styleUrls: ['./form-autocomplete-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormAutocompleteItemComponent implements ControlValueAccessor, OnDestroy, OnInit, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() public multiple: boolean = false;\n @Input() public searchedData: OnshoreFormAutocompleteItem[] = [];\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() onSearch: EventEmitter<string> = new EventEmitter();\n @Output() onSelect: EventEmitter<OnshoreFormAutocompleteItem> = new EventEmitter();\n @Output() onClear: EventEmitter<boolean> = new EventEmitter();\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n\n selected(event: AutoCompleteSelectEvent) {\n const selectedItem: OnshoreFormAutocompleteItem = event.value;\n this.onSelect.emit(selectedItem.data);\n this.cdr.markForCheck();\n }\n\n searchClear() {\n this.searchedData = [];\n this.ngControl.reset();\n this.onClear.emit();\n }\n\n searchPrepare(term: any) {\n if(term.query != '') {\n this.search(term.query);\n }else{\n this.searchedData = [];\n this.ngControl.reset();\n this.onClear.emit();\n }\n }\n\n async search(searchTerm: string) {\n this.onSearch.emit(searchTerm);\n this.cdr.markForCheck();\n }\n\n public writeValue(obj: any): void {\n if(obj) {\n this.cdr.markForCheck();\n }\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.cdr.markForCheck();\n }\n }\n\n public registerOnTouched(fn: any): void {}\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeLayoutPreset() {\n console.log(\"changeLayoutPreset\");\n updatePreset({\n components: {\n autocomplete: {\n root: {\n focusRing: {\n width: '100%',\n style: '{form.field.focus.ring.style}',\n color: '{form.field.focus.ring.color}',\n offset: '{form.field.focus.ring.offset}',\n shadow: '{form.field.focus.ring.shadow}'\n }\n }\n }\n },\n })\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n constructor(private cdr: ChangeDetectorRef,\n @Self() @Optional() public ngControl: NgControl) {\n\n this.ngControl.valueAccessor = this;\n //this.changeLayoutPreset();\n }\n\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-autoComplete [placeholder]=\"formTemplate.placeholder\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n (onSelect)=\"selected($event)\"\n (onUnselect)=\"selected($event)\"\n (onClear)=\"searchClear()\"\n [suggestions]=\"searchedData\"\n (completeMethod)=\"searchPrepare($event)\"\n [disabled]=\"disabled\"\n [minLength]=\"2\"\n [multiple]=\"multiple\"\n [delay]=\"1000\"\n [unique]=\"true\"\n optionLabel=\"firstLineLabel\"\n dataKey=\"data\"\n class=\"w-full\">\n <ng-template let-item pTemplate=\"item\">\n <div *ngIf=\"item.firstLineLabel\">\n <span class=\"mr-1\">\n <b>{{item.firstLineLabel}}</b><br>\n </span>\n </div>\n <div *ngIf=\"item.secondLineLabel\"><span>{{item.secondLineLabel}} </span></div>\n <div *ngIf=\"item.thirdLineLabel\"><span>{{item.thirdLineLabel}} </span></div>\n </ng-template>\n </p-autoComplete>\n </p-fluid>\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { CheckboxModule } from 'primeng/checkbox';\n\n@Component({\n selector: 'onshore-form-checkbox-item',\n imports: [CommonModule, OnshoreFormItemContainer, CheckboxModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-checkbox-item.component.html',\n styleUrls: ['./form-checkbox-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormCheckboxItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeCheck(value: any) {\n this.ngControl.control?.setValue(value.checked);\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <div class=\"p-field-checkbox flex\">\n <p-checkbox\n class=\"align-self-start mt-1\"\n [name]=\"formTemplate.name\"\n [formControl]=\"formControl\"\n [binary]=\"true\"\n [disabled]=\"disabled\"\n [inputId]=\"formTemplate.name\"\n [value]=\"ngControl.control.value\"\n (onChange)=\"changeCheck($event)\">\n </p-checkbox>\n\n <label class=\"mb-0 ml-2 text-color\"\n [for]=\"formTemplate.name\">\n {{formTemplate.hint}}\n </label>\n </div>\n\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { ColorPickerModule } from 'primeng/colorpicker';\nimport { updatePreset } from '@primeng/themes';\n@Component({\n selector: 'onshore-form-colorpicker-item',\n imports: [CommonModule, OnshoreFormItemContainer, InputTextModule, ColorPickerModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-colorpicker-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormColorpickerItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n colorPickerValue = '';\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeColor() {\n this.ngControl.control?.setValue(this.colorPickerValue);\n this.ngControl?.control?.markAsDirty();\n this.cdr.markForCheck();\n }\n\n changeInput(input: any) {\n this.colorPickerValue = input.target?.value;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n\n changeLayoutPreset() {\n console.log(\"changeLayoutPreset\");\n updatePreset({\n components: {\n colorpicker: {\n preview: {\n height: '37px',\n width: '37px'\n }\n }\n },\n })\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.colorPickerValue = this.formTemplate.default;\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.colorPickerValue = this.ngControl.control?.value;\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n this.changeLayoutPreset();\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <div class=\"flex w-full\">\n\n <input class=\"w-full mr-2\"\n type=\"text\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [formControl]=\"formControl\"\n [disabled]=\"disabled\"\n pInputText\n [value]=\"ngControl.control.value\"\n (input)=\"changeInput($event)\"/>\n\n <p-colorPicker [(ngModel)]=\"colorPickerValue\"\n format=\"hex\" [inline]=\"false\"\n appendTo=\"body\"\n [disabled]=\"disabled\"\n [baseZIndex]=\"99999\"\n (onChange)=\"changeColor()\">\n </p-colorPicker>\n </div>\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output, SimpleChanges\n} from '@angular/core';\nimport { Button } from 'primeng/button';\nimport { InputText } from 'primeng/inputtext';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'onshore-inplace-input',\n imports: [\n CommonModule,\n Button,\n InputText,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule\n ],\n templateUrl: './inplace-input.component.html',\n styleUrl: './inplace-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreInplaceInputComponent {\n @Output() created: EventEmitter<string> = new EventEmitter();\n\n inputText: string = '';\n inputVisible: boolean = false;\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n}\n","<div class=\"p-1\">\n <p-button *ngIf=\"!inputVisible\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-plus\"\n [label]=\"'form.dropdownControl.addNewButton' | translate\"\n class=\"w-full\"\n (click)=\"inputVisible = true\">\n </p-button>\n <div *ngIf=\"inputVisible\" class=\"flex gap-2 align-items-center\">\n <input [(ngModel)]=\"inputText\"\n [placeholder]=\"'form.dropdownControl.addNewInputPlaceholder' | translate\"\n pInputText/>\n <p-button [icon]=\"'fa fa-plus'\" severity=\"secondary\" (click)=\"created.emit(inputText); inputVisible = false; inputText = ''\" />\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SelectModule } from 'primeng/select';\nimport { ButtonModule } from 'primeng/button';\nimport { DialogModule } from 'primeng/dialog';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { OnshoreInplaceInputComponent } from '../inplace-input/inplace-input.component';\n\n@Component({\n selector: 'onshore-form-dropdown-item',\n imports: [CommonModule, ButtonModule, OnshoreFormItemContainer, TranslateModule, SelectModule, MultiSelectModule, FormsModule, ReactiveFormsModule, DialogModule, OnshoreInplaceInputComponent],\n templateUrl: './form-dropdown-item.component.html',\n styleUrls: ['./form-dropdown-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormDropdownItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() multiple: boolean | undefined = false;\n @Input() showClear: boolean | undefined = false;\n @Input() group: boolean | undefined = false;\n @Input() selectionLimit?: number = 0\n @Input() minLength?: number = 0;\n @Input() optionLabel?: string = '';\n @Input() optionGroupLabel?: string = '';\n @Input() dataKey?: string = '';\n @Input() actionButtonDisabled: boolean = false;\n @Input() createEnabled: boolean = false;\n @Input() options: any[] = [];\n\n @Output() valueChange: EventEmitter<boolean> = new EventEmitter();\n @Output() actionButtonClick = new EventEmitter();\n @Output() entryCreated = new EventEmitter();\n\n disabled: boolean | undefined = false;\n\n // ControlValueAccessor interface\n public writeValue(obj: any): void {\n if(obj) {\n this.cdr.markForCheck();\n }\n }\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.cdr.markForCheck();\n }\n }\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n clearSelection() {\n this.ngControl.control?.reset();\n this.ngControl.control?.setValue(this.multiple ? [] : '');\n this.cdr.markForCheck();\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if((!this.ngControl.control?.value || this.ngControl.control?.value == '' || this.ngControl.control?.value == undefined) && !this.multiple) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentOptions = changes['options']?.currentValue ?? changes['formTemplate']?.currentValue?.options;\n //const previousOptions = changes['options']?.previousValue ?? changes['formTemplate']?.previousValue?.options;\n\n if(!this.options && currentOptions) {\n this.options = currentOptions;\n }\n\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n\n protected readonly OnshoreFormTemplateType = OnshoreFormTemplateType;\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <p-select *ngIf=\"!multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"formControl\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n [showClear]=\"showClear && formTemplate?.placeholder\"\n (onClear)=\"clearSelection()\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n <ng-template #footer>\n <div *ngIf=\"createEnabled\" class=\"flex justify-content-center\">\n <onshore-inplace-input (created)=\"entryCreated.emit($event)\">\n </onshore-inplace-input>\n </div>\n </ng-template>\n </p-select>\n\n <p-multiSelect *ngIf=\"multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"formControl\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [showClear]=\"showClear\"\n [selectionLimit]=\"selectionLimit\"\n [minlength]=\"minLength\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n (onClear)=\"clearSelection()\"\n [selectedItemsLabel]=\"'form.dropdownControl.selectedItems' | translate\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n <ng-template #footer>\n <div *ngIf=\"createEnabled\" class=\"flex justify-content-center\">\n <onshore-inplace-input (created)=\"entryCreated.emit($event)\">\n </onshore-inplace-input>\n </div>\n </ng-template>\n </p-multiSelect>\n</onshore-form-item-container>\n\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'onshore-image-placeholder',\n imports: [CommonModule],\n templateUrl: './image-placeholder.component.html',\n styleUrls: ['./image-placeholder.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreImagePlaceholderComponent {\n\n @Input() public placeholderIcon: string = '';\n @Input() public placeholderImage: string = '';\n @Input() public image: string = '';\n @Input() public imageStyle: string = '';\n @Input() public placeholderStyle: string = '';\n @Input() public showLoader: boolean = true;\n\n imageLoaded = false;\n\n loadReady() {\n this.imageLoaded = true;\n this.showLoader = false;\n }\n\n abort() {\n this.imageLoaded = false;\n this.showLoader = false;\n }\n\n constructor() {}\n\n}\n","<div [hidden]=\"!imageLoaded || !image\">\n <img [style]=\"imageStyle\" [src]=\"image\" (load)=\"loadReady()\" (abort)=\"abort()\" />\n</div>\n\n<div *ngIf=\"!imageLoaded || !image\" class=\"flex justify-content-center align-items-center\" [style]=\"placeholderStyle\" [class.p-2]=\"placeholderIcon\">\n <i *ngIf=\"placeholderIcon\" [class]=\"'text-color fa ' + placeholderIcon\" [class.opacity-20]=\"showLoader && image\"></i>\n <img *ngIf=\"placeholderImage\" [src]=\"placeholderImage\" [class.opacity-20]=\"showLoader && image\" class=\"h-full\" />\n <i *ngIf=\"showLoader && image\" class=\"fas fa-circle-notch fa-spin fa-2x absolute\"></i>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport { ImageCroppedEvent, ImageCropperComponent } from 'ngx-image-cropper';\nimport { OnshoreImageError } from '../../enums/form.enums';\nimport { OnshoreFormImageSettings } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'onshore-image-chooser',\n imports: [CommonModule, TranslateModule, ButtonModule, InputTextModule, ImageCropperComponent, FormsModule, ReactiveFormsModule],\n templateUrl: './image-chooser.component.html',\n styleUrls: ['./image-chooser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreImageChooserComponent {\n\n drag = false;\n image = '';\n finalImage = '';\n imageErrorType = OnshoreImageError;\n imageError: OnshoreImageError = OnshoreImageError.none;\n\n @Input() imageSettings: OnshoreFormImageSettings | undefined = undefined;\n\n @Output() choosen: EventEmitter<string> = new EventEmitter();\n @Output() canceled: EventEmitter<boolean> = new EventEmitter();\n\n clear() {\n this.image = '';\n this.finalImage = '';\n this.imageError = OnshoreImageError.none;\n }\n\n public fileChange(event: Event): void {\n this.imageError = OnshoreImageError.none;\n const target = event.target as HTMLInputElement;\n const file: File | undefined | null = target?.files ? target?.files[0] : null;\n const maxFileSize = this.imageSettings?.maxFileSize || 0;\n const imageWidth = this.imageSettings?.imageWidth || 0;\n const imageHeight = this.imageSettings?.imageHeight || 0;\n\n if (file?.type != 'image/png' && file?.type != 'image/jpeg' && file?.type != 'image/webp') {\n this.imageError = OnshoreImageError.fileType;\n return;\n }\n\n if (file?.size > maxFileSize) {\n this.imageError = OnshoreImageError.size;\n return;\n }\n\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n\n const img = new Image();\n img.src = window.URL.createObjectURL(file);\n img.onload = () => {\n\n const originalWidth = img.width;\n const originalHeight = img.height;\n\n if (originalWidth >= imageWidth && originalHeight >= imageHeight) {\n this.image = reader.result?.toString() || '';\n } else {\n this.imageError = OnshoreImageError.ratio;\n }\n this.cdr.markForCheck();\n\n }\n\n };\n }\n\n\n\n }\n\n public imageCropped(event: ImageCroppedEvent): void {\n //const croppedImage: SafeUrl = this.sanitizer.bypassSecurityTrustUrl(event.objectUrl || '') || '';\n if(event.blob) {\n this.blobToBase64(event.blob).then(result => {\n //this.finalImage = String(result).split(',')[1] || '';\n this.finalImage = String(result) || '';\n })\n }\n }\n\n public imageCroppedReady(): void {\n this.choosen.emit(this.finalImage);\n this.clear();\n }\n\n blobToBase64(blob: Blob): Promise<string | ArrayBuffer | null> {\n return new Promise((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n}\n","<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg px-4 pb-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x text-color\"></i>\n <small class=\"text-color mb-4\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <p-button [severity]=\"'primary'\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\">\n </p-button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"absolute w-full h-full bottom-0 cursor-pointer\"\n style=\"opacity: 0\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n <image-cropper\n class=\"m-3\"\n [style]=\"'align-items: center; height: ' + (imageSettings.cropperPreviewHeight * this.imageSettings.aspectRatio) + 'px; width: ' + (imageSettings.cropperPreviewWidth * this.imageSettings.aspectRatio) + 'px'\"\n [class.onshore-cropper-circle]=\"this.imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"this.imageSettings.imageQuality\"\n [alignImage]=\"this.imageSettings.alignImage\"\n [backgroundColor]=\"this.imageSettings.backgroundColor\"\n [containWithinAspectRatio]=\"this.imageSettings.containWithinAspectRatio\"\n [format]=\"this.imageSettings.format\"\n [aspectRatio]=\"this.imageSettings.aspectRatio\"\n [resizeToHeight]=\"this.imageSettings.imageWidth * this.imageSettings.aspectRatio\"\n [resizeToWidth]=\"this.imageSettings.imageHeight * this.imageSettings.aspectRatio\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"imageError\"class=\"pb-2 text-wrap text-center\"\n [style]=\"{color: 'var(--inputtext-invalid-placeholder-color)' }\">\n <small *ngIf=\"imageError == imageErrorType.ratio\">{{'form.imageControl.imageErrorRatio' | translate: {resizeToWidth: this.imageSettings.imageWidth, resizeToHeight: this.imageSettings.imageHeight} }}</small>\n <small *ngIf=\"imageError == imageErrorType.fileType\">{{'form.imageControl.imageErrorFileType' | translate}}</small>\n <small *ngIf=\"imageError == imageErrorType.size\">{{'form.imageControl.imageErrorSize' | translate}}</small>\n </div>\n</div>\n\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center mt-2 gap-2\">\n <p-button [severity]=\"'secondary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n icon=\"fa fa-times\"\n [label]=\"'form.imageControl.imageChooserCancelButton' | translate\"\n (click)=\"clear(); canceled.emit(true)\">\n </p-button>\n\n <p-button [severity]=\"'primary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n [label]=\"'form.imageControl.imageChooserSelectButton' | translate\"\n icon=\"fa fa-check\"\n [disabled]=\"!image\"\n (click)=\"imageCroppedReady()\">\n </p-button>\n </div>\n</p-footer>\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { WebcamImage, WebcamModule } from 'ngx-webcam';\nimport { ImageCroppedEvent, ImageCropperComponent } from 'ngx-image-cropper';\nimport { OnshoreFormImageSettings } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'onshore-webcam',\n imports: [CommonModule, TranslateModule, ButtonModule, ImageCropperComponent, WebcamModule],\n templateUrl: './webcam.component.html',\n styleUrls: ['./webcam.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WebcamComponent {\n\n @Input() imageSettings: OnshoreFormImageSettings | undefined = undefined;\n\n @Output() shot: EventEmitter<string> = new EventEmitter();\n @Output() canceled: EventEmitter<boolean> = new EventEmitter();\n\n image = '';\n finalImage = '';\n\n public trigger: Subject<void> = new Subject<void>();\n\n public camImageShot(webcamImage: WebcamImage): void {\n this.image = webcamImage.imageAsDataUrl;\n this.cdr.markForCheck();\n }\n\n public imageCropped(event: ImageCroppedEvent): void {\n if(event.blob) {\n this.blobToBase64(event.blob).then(result => {\n //this.finalImage = String(result).split(',')[1] || '';\n this.finalImage = String(result) || '';\n })\n }\n }\n\n public imageCroppedReady(): void {\n this.shot.emit(this.finalImage);\n }\n\n\n public get triggerObservable(): Observable<void> {\n return this.trigger.asObservable();\n }\n\n public triggerSnapshot(): void {\n this.trigger.next();\n }\n\n blobToBase64(blob: Blob): Promise<string | ArrayBuffer | null> {\n return new Promise((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n}\n","<div class=\"flex w-full justify-content-center align-items-center overflow-hidden p-2\">\n <webcam *ngIf=\"!image || image == ''\"\n [mirrorImage]=\"'never'\"\n [height]=\"imageSettings.webcamWidth * this.imageSettings.aspectRatio\"\n [width]=\"imageSettings.webcamHeight * this.imageSettings.aspectRatio\"\n [allowCameraSwitch]=\"true\"\n [trigger]=\"triggerObservable\"\n [imageQuality]=\"imageSettings.imageQuality / 100\"\n (imageCapture)=\"camImageShot($event)\">\n </webcam>\n\n <image-cropper *ngIf=\"image && image != ''\"\n class=\"m-3\" [style]=\"'height: ' + (imageSettings.cropperPreviewWidth * this.imageSettings.aspectRatio) + 'px; width: ' + (imageSettings.cropperPreviewHeight * this.imageSettings.aspectRatio) + 'px'\"\n [class.onshore-cropper-circle]=\"imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"imageSettings.imageQuality\"\n [alignImage]=\"imageSettings.alignImage\"\n [backgroundColor]=\"imageSettings?.backgroundColor\"\n [containWithinAspectRatio]=\"imageSettings?.containWithinAspectRatio\"\n [format]=\"imageSettings.format\"\n [aspectRatio]=\"imageSettings.aspectRatio\"\n [resizeToHeight]=\"imageSettings.imageHeight * this.imageSettings.aspectRatio\"\n [resizeToWidth]=\"this.imageSettings.imageWidth * this.imageSettings.aspectRatio\">\n </image-cropper>\n</div>\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center gap-2 mt-2\">\n\n <p-button [severity]=\"'secondary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n icon=\"fa fa-times\"\n [label]=\"'global.cancel' | translate\"\n (click)=\"canceled.emit(true)\">\n </p-button>\n\n <p-button *ngIf=\"!image || image == ''\"\n [severity]=\"'primary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n [label]=\"'form.imageControl.webcamSmileButton' | translate\"\n icon=\"fa fa-laugh-wink\"\n (click)=\"triggerSnapshot()\">\n </p-button>\n\n <p-button *ngIf=\"image && image != ''\"\n [severity]=\"'primary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n [label]=\"'global.use' | translate\"\n icon=\"fa fa-check\"\n (click)=\"imageCroppedReady()\">\n </p-button>\n </div>\n</p-footer>\n\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit,\n Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { OnshoreFormImageSettings, OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateLayout } from '../../enums/form.enums';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { OnshoreImagePlaceholderComponent } from '../image-placeholder/image-placeholder.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from 'primeng/button';\nimport { DialogModule } from 'primeng/dialog';\nimport { OnshoreImageChooserComponent } from '../image-chooser/image-chooser.component';\nimport { WebcamComponent } from '../webcam/webcam.component';\nimport { FluidModule } from 'primeng/fluid';\n\n@Component({\n selector: 'onshore-form-image-item',\n imports: [CommonModule, OnshoreFormItemContainer, FluidModule, OnshoreImagePlaceholderComponent, OnshoreImageChooserComponent, WebcamComponent, TranslateModule, ButtonModule, DialogModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-image-item.component.html',\n styleUrls: ['./form-image-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormImageItemComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() imageSettings: OnshoreFormImageSettings | undefined = undefined;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() imageDeleted: EventEmitter<string> = new EventEmitter();\n @Output() imageCleared: EventEmitter<any> = new EventEmitter();\n @Output() imageReady: EventEmitter<string> = new EventEmitter();\n @Output() selectFromMedia: EventEmitter<any> = new EventEmitter();\n @Output() isLoading: EventEmitter<boolean> = new EventEmitter();\n\n OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;\n\n defaultImageSettings: OnshoreFormImageSettings = {\n imageWidth: 400,\n imageHeight: 400,\n containWithinAspectRatio: false,\n aspectRatio: 1 / 1,\n imageSelectionEnabled: true,\n webcamSelectionEnabled: true,\n mediaSelectionEnabled: true,\n deleteEnabled: true,\n placeholderImage: '',\n placeholderIcon: 'fa fa-image fa-10x',\n containerWidth: 250,\n containerHeight: 250,\n imageQuality: 100,\n format: 'png',\n alignImage: 'center',\n cropperPreviewWidth: 400,\n cropperPreviewHeight: 400,\n webcamWidth: 400,\n webcamHeight: 400,\n circleCropper: false,\n maxFileSize: 6400000,\n backgroundColor: 'white'\n };\n\n image: string | undefined = '';\n disabled = false;\n webcamDialogVisible: boolean = false;\n imageChooserDialogVisible: boolean = false;\n\n subscriptions: Array<Subscription> = [];\n\n getFileImage(image: any) {\n this.imageChooserDialogVisible = false;\n if(image) {\n this.image = image;\n setTimeout(() => {\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n this.imageReady.emit(this.image);\n this.cdr.markForCheck();\n }, 500);\n }\n }\n\n getWebcamImage(image: any) {\n this.webcamDialogVisible = false;\n if(image) {\n this.image = image;\n setTimeout(() => {\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n this.imageReady.emit(this.image);\n this.cdr.markForCheck();\n }, 500);\n }\n }\n\n removeImage() {\n setTimeout(() => {\n if(this.image && !this.image.includes('base64')) {\n this.imageDeleted.emit(this.image);\n } else {\n this.imageCleared.emit();\n }\n\n this.image = '';\n\n this.ngControl?.control?.reset();\n this.ngControl?.control?.setValue(null);\n this.ngControl?.control?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n this.ngControl?.control?.markAsDirty();\n\n this.cdr.markForCheck();\n }, 500);\n }\n\n public writeValue(obj: any): void {\n if(obj && !obj.includes('base64')) {\n this.image = obj;\n }\n if(obj == null) {\n this.image = '';\n }\n\n this.imageReady.emit(this.image);\n this.cdr.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.image = this.ngControl.value;\n this.cdr.markForCheck();\n }\n }\n\n public registerOnTouched(fn: any): void {}\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n ngOnInit(): void {\n if(this.ngControl?.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl?.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach((subscription: Subscription) => {\n subscription.unsubscribe();\n });\n this.ngControl?.control?.disable();\n this.image = undefined;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const imageSettings: OnshoreFormImageSettings = changes['imageSettings']?.currentValue;\n\n this.imageSettings = {\n ...this.defaultImageSettings,\n ...imageSettings,\n placeholderIcon: imageSettings?.placeholderImage ? '' : (imageSettings?.placeholderIcon ?? this.defaultImageSettings.placeholderIcon)\n };\n\n //this.removeImage();\n this.cdr.markForCheck();\n }\n\n constructor(public cdr: ChangeDetectorRef,\n @Self() @Optional() public ngControl: NgControl) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center gap-2\" [class.flex-column]=\"formTemplate.layout === OnshoreFormTemplateLayout.vertical\">\n\n <div class=\"border-solid border-1 border-300 border-round-md overflow-hidden\"\n [style]=\"'background-color: white; width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n [imageStyle]=\"'width: 100%; height: 100%'\"\n [placeholderIcon]=\"imageSettings.placeholderIcon\"\n [placeholderImage]=\"imageSettings.placeholderImage\"\n [placeholderStyle]=\"'width: 100%; height: 100%'\">\n </onshore-image-placeholder>\n </div>\n\n <div>\n <p-fluid class=\"flex flex-column\">\n <p-button *ngIf=\"imageSettings.imageSelectionEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-image\"\n [label]=\"'form.imageControl.uploadImageButton' | translate\"\n class=\"mb-2 w-full\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true; cdr.detectChanges()\">\n </p-button>\n\n <p-button *ngIf=\"imageSettings.webcamSelectionEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-camera\"\n [label]=\"'form.imageControl.webcamImageButton' | translate\"\n class=\"mb-2 w-full\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </p-button>\n\n <p-button *ngIf=\"imageSettings.mediaSelectionEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-photo-video\"\n [label]=\"'form.imageControl.mediaImageButton' | translate\"\n class=\"mb-2 w-full\"\n [disabled]=\"disabled\"\n (click)=\"selectFromMedia.emit()\">\n </p-button>\n\n <p-button *ngIf=\"imageSettings.deleteEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-eraser\"\n [label]=\"'form.imageControl.removeImageButton' | translate\"\n (click)=\"removeImage()\"\n class=\"w-full\"\n [disabled]=\"!image || disabled\">\n </p-button>\n </p-fluid>\n </div>\n\n </div>\n</onshore-form-item-container>\n\n<p-dialog [header]=\"'form.imageControl.uploadImageTitle' | translate\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-image-chooser\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [imageSettings]=\"imageSettings\">\n </onshore-image-chooser>\n</p-dialog>\n\n<p-dialog [header]=\"'form.imageControl.webacmImageTitle' | translate\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-webcam\n *ngIf=\"webcamDialogVisible\"\n (shot)=\"getWebcamImage($event)\"\n (canceled)=\"webcamDialogVisible = false\"\n [imageSettings]=\"imageSettings\"></onshore-webcam>\n</p-dialog>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TextareaModule } from 'primeng/textarea';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { ButtonModule } from 'primeng/button';\nimport { FluidModule } from 'primeng/fluid';\n\n@Component({\n selector: 'onshore-form-input-item',\n imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, TextareaModule, InputTextModule, InputNumberModule, FormsModule, ReactiveFormsModule, InputGroupModule, InputGroupAddonModule, ButtonModule, FluidModule],\n templateUrl: './form-input-item.component.html',\n styleUrls: ['./form-input-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormInputItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() step?: number = 1;\n @Input() min?: number = 0;\n @Input() max?: number = 999999;\n @Input() minLength?: number = 0;\n @Input() maxLength?: number = 999999;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n OnshoreFormTemplateType = OnshoreFormTemplateType;\n\n passwordVisible: boolean = false;\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n // @ts-ignore\n onNumberInput(event) {\n this.ngControl.control?.setValue(event.value);\n this.ngControl?.control?.markAsDirty();\n this.cdr.markForCheck();\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-inputgroup>\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pTextarea\n [autoResize]=\"true\"\n [formControl]=\"formControl\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.inputAddon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </p-inputgroup-addon>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\" class=\"cursor-pointer\" (click)=\"passwordVisible = !passwordVisible\">\n <i [class]=\"passwordVisible ? 'fa fa-eye' : 'fa fa-eye-slash'\"></i>\n </p-inputgroup-addon>\n\n </p-inputgroup>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n [showButtons]=\"true\"\n [buttonLayout]=\"formTemplate.inputNumberVertical ? 'vertical' : 'horizontal'\"\n spinnerMode=\"horizontal\"\n (onInput)=\"onNumberInput($event)\">\n <ng-template #incrementbuttonicon>\n <span class=\"fa fa-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"fa fa-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </p-fluid>\n\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { InputSwitchModule } from 'primeng/inputswitch';\n\n@Component({\n selector: 'onshore-form-switch-item',\n imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, InputSwitchModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-switch-item.component.html',\n styleUrls: ['./form-switch-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormSwitchItemComponent implements OnInit, ControlValueAccessor, OnDestroy, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() valueChange: EventEmitter<boolean> = new EventEmitter();\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.valueChange.emit(this.ngControl.control?.value);\n });\n\n if(this.ngControl.control?.value == undefined && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <div class=\"h-full align-items-center mt-1\">\n <p-inputSwitch [name]=\"formTemplate.name\"\n [formControl]=\"formControl\"\n [disabled]=\"disabled\"\n [inputId]=\"formTemplate.name\">\n </p-inputSwitch>\n </div>\n\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { CalendarModule } from 'primeng/calendar';\nimport { FluidModule } from 'primeng/fluid';\nimport { DatePicker } from 'primeng/datepicker';\n\n@Component({\n selector: 'onshore-form-datetime-item',\n imports: [CommonModule, OnshoreFormItemContainer, DatePicker, FormsModule, ReactiveFormsModule, FluidModule],\n templateUrl: './form-datetime-item.component.html',\n styleUrls: ['./form-datetime-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormDatetimeItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n OnshoreFormTemplateType = OnshoreFormTemplateType;\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-datePicker class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n dateFormat=\"dd.mm.yy\"\n dataType=\"string\"\n hourFormat=\"24\"\n [timeOnly]=\"formTemplate.type == OnshoreFormTemplateType.time\"\n [showTime]=\"formTemplate.type == OnshoreFormTemplateType.datetime\"\n [defaultDate]=\"formTemplate.default\"\n appendTo=\"body\">\n </p-datePicker>\n </p-fluid>\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'onshore-form-sort-item',\n imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-sort-item.component.html',\n styleUrls: ['./form-sort-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormSortItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n sortItems?: any[] = [];\n tempLockValue?: any[] | undefined = [];\n\n OnshoreFormTemplateType = OnshoreFormTemplateType;\n\n disabled: boolean = false;\n\n sortItemsChanged(event: any[]) {\n this.sortItems = event;\n this.ngControl?.control?.setValue(event);\n this.ngControl?.control?.markAsDirty();\n this.cdr.markForCheck();\n }\n\n lockChanged(unlocked: boolean) {\n if(unlocked && this.formTemplate.enabled) {\n this.tempLockValue = this.ngControl?.control?.value;\n } else {\n this.ngControl?.control?.setValue(this.tempLockValue);\n this.sortItems = this.tempLockValue;\n this.tempLockValue = undefined;\n }\n this.cdr.markForCheck();\n }\n\n // ControlValueAccessor interface\n public writeValue(obj: any): void {\n if(obj) {\n this.cdr.markForCheck();\n }\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.cdr.markForCheck();\n }\n }\n\n registerOnTouched(fn: any): void {}\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.ngControl?.control?.setValue(newValue);\n });\n\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.sortItems = this.formTemplate.default;\n } else {\n this.sortItems = this.ngControl.control?.value;\n }\n this.cdr.markForCheck();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\"\n (lockIsChanged)=\"lockChanged($event)\">\n\n <!--<div *ngIf=\"formTemplate.type == OnshoreFormTemplateType.sort\"\n class=\"w-full\" [dragula]=\"ngControl.enabled\"\n [dragulaModel]=\"sortItems\"\n (dragulaModelChange)=\"sortItemsChanged($event)\">\n <div [class.cursor-move]=\"ngControl.enabled\"\n style=\"border-radius: 3px\"\n class=\"onshore-sort-item flex justify-content-between align-items-center onshore-border-gray-4 border-solid border-1 p-2 mb-2 onshore-background-color-white\" *ngFor=\"let item of sortItems\">\n <span [class.onshore-color-blocked]=\"!ngControl.enabled\">{{ item.label }}</span>\n <i [class.onshore-color-blocked]=\"!ngControl.enabled\" class=\"fa fa-arrows-v\"></i>\n </div>\n </div>-->\n\n</onshore-form-item-container>\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, ElementRef, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges, ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { InputOtpModule } from 'primeng/inputotp';\nimport { ButtonModule } from 'primeng/button';\nimport { Popover, PopoverModule } from 'primeng/popover';\nimport { ChipModule } from 'primeng/chip';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\n\n@Component({\n selector: 'onshore-form-scanner-item',\n imports: [CommonModule, TranslateModule, OnshoreFormItemContainer, ChipModule, PopoverModule, FormsModule, ReactiveFormsModule, InputOtpModule, ButtonModule],\n templateUrl: './form-scanner-item.component.html',\n styleUrls: ['./form-scanner-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormScannerItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @ViewChild('scanPopover') scanPopover!: Popover;\n\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n @Input() webcamDisabled: boolean = false;\n @Input() scannerDisabled: boolean = false;\n @Input() editDisabled: boolean = false;\n @Input() integerOnly: boolean = true;\n @Input() length?: number = 4;\n\n @Output() actionButtonClick = new EventEmitter();\n @Output() webcamClick = new EventEmitter();\n @Output() scannerClick = new EventEmitter();\n\n disabled: boolean = false;\n editable: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.scanPopover.hide();\n });\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n\n protected readonly OnshoreFormTemplateType = OnshoreFormTemplateType;\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <div class=\"flex gap-2\">\n <p-inputOtp [formControl]=\"formControl\"\n [disabled]=\"disabled || !editable\"\n [integerOnly]=\"integerOnly\"\n [length]=\"length\">\n </p-inputOtp>\n\n <p-button *ngIf=\"!scannerDisabled\" (click)=\"scanPopover.toggle($event); webcamClick.emit()\" icon=\"fa fa-qrcode\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelScanner' | translate }}\" />\n <p-button *ngIf=\"!webcamDisabled\" (click)=\"scannerClick.emit()\" icon=\"fa fa-video\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelWebcam' | translate }}\" />\n <p-button *ngIf=\"!editDisabled\" icon=\"fa fa-pen\" severity=\"secondary\" (click)=\"editable = true\" label=\"{{ 'form.scannerControl.labelInput' | translate }}\" />\n </div>\n\n</onshore-form-item-container>\n\n<p-popover #scanPopover>\n <div class=\"flex flex-column justify-content-center align-items-center gap-2\">\n <i *ngIf=\"!ngControl.control?.value\" class=\"fa fa-qrcode fa-2x\"></i>\n <span *ngIf=\"!ngControl.control?.value\">{{'form.scannerControl.startScanLabel' | translate}}</span>\n <p-chip *ngIf=\"ngControl.control?.value\" [label]=\"ngControl.control?.value\" icon=\"fa fa fa-qrcode\" />\n </div>\n</p-popover>\n","/*\n * Public API Surface of onshore-forms\n */\n\nexport * from './lib/onshore-forms.service';\nexport * from './lib/enums/form.enums';\nexport * from './lib/models/form.models';\nexport * from './lib/validators/form.validators';\nexport * from './lib/components/form-autocomplete-item/form-autocomplete-item.component';\nexport * from './lib/components/form-checkbox-item/form-checkbox-item.component';\nexport * from './lib/components/form-colorpicker-item/form-colorpicker-item.component';\nexport * from './lib/components/form-dropdown-item/form-dropdown-item.component';\nexport * from './lib/components/form-image-item/form-image-item.component';\nexport * from './lib/components/form-input-item/form-input-item.component';\nexport * from './lib/components/form-switch-item/form-switch-item.component';\nexport * from './lib/components/form-datetime-item/form-datetime-item.component';\nexport * from './lib/components/form-sort-item/form-sort-item.component';\nexport * from './lib/components/form-validation-output/form-validation-output.component';\nexport * from './lib/components/form-scanner-item/form-scanner-item.component';\nexport * from './lib/components/form-item-container/form-item-container.component';\nexport * from './lib/components/image-placeholder/image-placeholder.component';\nexport * from './lib/components/image-chooser/image-chooser.component';\nexport * from './lib/components/webcam/webcam.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i4","i3","i5","i6","i8","i7"],"mappings":"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"}
1
+ {"version":3,"file":"onshore-forms.mjs","sources":["../../../projects/onshore-forms/src/lib/enums/form.enums.ts","../../../projects/onshore-forms/src/lib/onshore-forms.service.ts","../../../projects/onshore-forms/src/lib/validators/form.validators.ts","../../../projects/onshore-forms/src/lib/components/form-validation-output/form-validation-output.component.ts","../../../projects/onshore-forms/src/lib/components/form-validation-output/form-validation-output.component.html","../../../projects/onshore-forms/src/lib/components/form-item-container/form-item-container.component.ts","../../../projects/onshore-forms/src/lib/components/form-item-container/form-item-container.component.html","../../../projects/onshore-forms/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-autocomplete-item/form-autocomplete-item.component.html","../../../projects/onshore-forms/src/lib/components/form-checkbox-item/form-checkbox-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-checkbox-item/form-checkbox-item.component.html","../../../projects/onshore-forms/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-colorpicker-item/form-colorpicker-item.component.html","../../../projects/onshore-forms/src/lib/components/inplace-input/inplace-input.component.ts","../../../projects/onshore-forms/src/lib/components/inplace-input/inplace-input.component.html","../../../projects/onshore-forms/src/lib/components/form-dropdown-item/form-dropdown-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-dropdown-item/form-dropdown-item.component.html","../../../projects/onshore-forms/src/lib/components/image-placeholder/image-placeholder.component.ts","../../../projects/onshore-forms/src/lib/components/image-placeholder/image-placeholder.component.html","../../../projects/onshore-forms/src/lib/components/image-chooser/image-chooser.component.ts","../../../projects/onshore-forms/src/lib/components/image-chooser/image-chooser.component.html","../../../projects/onshore-forms/src/lib/components/webcam/webcam.component.ts","../../../projects/onshore-forms/src/lib/components/webcam/webcam.component.html","../../../projects/onshore-forms/src/lib/components/form-image-item/form-image-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-image-item/form-image-item.component.html","../../../projects/onshore-forms/src/lib/components/form-input-item/form-input-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-input-item/form-input-item.component.html","../../../projects/onshore-forms/src/lib/components/form-switch-item/form-switch-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-switch-item/form-switch-item.component.html","../../../projects/onshore-forms/src/lib/components/form-datetime-item/form-datetime-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-datetime-item/form-datetime-item.component.html","../../../projects/onshore-forms/src/lib/components/form-sort-item/form-sort-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-sort-item/form-sort-item.component.html","../../../projects/onshore-forms/src/lib/components/form-scanner-item/form-scanner-item.component.ts","../../../projects/onshore-forms/src/lib/components/form-scanner-item/form-scanner-item.component.html","../../../projects/onshore-forms/src/public-api.ts","../../../projects/onshore-forms/src/onshore-forms.ts"],"sourcesContent":["export enum OnshoreFormTemplateType {\r\n text = 'text',\r\n textarea = 'textarea',\r\n editor = 'editor',\r\n password = 'password',\r\n number = 'number',\r\n email = 'email',\r\n phone = 'phone',\r\n regexp = 'regexp',\r\n select = 'select',\r\n switch = 'switch',\r\n check = 'check',\r\n radio = 'radio',\r\n image = 'image',\r\n scanner = 'scanner',\r\n autocomplete = 'autocomplete',\r\n color = 'color',\r\n date = 'date',\r\n time = 'time',\r\n datetime = 'datetime',\r\n sort = 'sort',\r\n subform = 'subform'\r\n}\r\n\r\nexport enum OnshoreFormTemplateLayout {\r\n vertical = 'vertical',\r\n horizontal = 'horizontal',\r\n auto = 'auto'\r\n}\r\n\r\nexport enum OnshoreImageError {\r\n none = '',\r\n fileType = 'fileType',\r\n ratio = 'ratio',\r\n size = 'size',\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { Subject, Subscription } from 'rxjs';\nimport { OnshoreFormTemplateType } from './enums/form.enums';\nimport { OnshoreFormArrayDefault, OnshoreFormTemplateItem } from './models/form.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnshoreFormsService {\n\n _form: FormGroup;\n _formTemplate: OnshoreFormTemplateItem[];\n _formValidations: string[] = [];\n\n subscriptions: Array<Subscription> = [];\n\n public isLoading$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n this._form = new FormGroup({}, {updateOn: 'change'});\n this._formTemplate = [];\n }\n\n public get form(): FormGroup {\n return this._form;\n }\n\n public get formValues() {\n return this._form?.value;\n }\n\n public patchForm(value: any) {\n this._form?.patchValue(value);\n }\n\n public resetForm() {\n this._form?.reset();\n this._form?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n this.subscriptions.forEach((subscription: Subscription) => {\n subscription.unsubscribe();\n });\n\n this._form = null!;\n this._formTemplate = null!;\n }\n\n public resetFormControl(name: string, touched: boolean = false) {\n this._form?.get(name)?.reset();\n if(touched) {\n this._form?.get(name)?.markAsTouched();\n this._form?.get(name)?.markAsDirty();\n }\n this._form?.get(name)?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n }\n\n public generateForm(formTemplate: OnshoreFormTemplateItem[]): FormGroup | null {\n this._formTemplate = formTemplate;\n this._form = new FormGroup({}, {updateOn: 'change'});\n this._form = this.iterateNestedForm(this._form, formTemplate);\n return this._form;\n }\n\n public formTemplate(name: string, formTemplate: OnshoreFormTemplateItem[] = this._formTemplate): OnshoreFormTemplateItem {\n let template: OnshoreFormTemplateItem;\n\n if(formTemplate) {\n for(let i = 0; i < formTemplate?.length; i++) {\n const item = formTemplate[i];\n if(item.name === name) {\n template = item;\n i = formTemplate.length;\n }else if(item.subformArray) {\n const arrayTemplate = this.formTemplate(name, item.subformArray);\n if(arrayTemplate) template = arrayTemplate;\n }else if(item.subformObject) {\n const objectTemplate = this.formTemplate(name, item.subformObject);\n if(objectTemplate) template = objectTemplate;\n }\n }\n }\n\n return template!;\n }\n\n public formControl(name: string, formGroup: FormGroup | null = this._form): FormControl {\n return formGroup?.get(name) as FormControl;\n }\n\n public formArray(name: string): FormArray {\n return this._form?.get(name) as FormArray;\n }\n\n public formGroup(form: FormGroup, name: string): FormGroup {\n return form.get(name) as FormGroup;\n }\n\n public addFormArrayItem(formArray: FormArray, item: OnshoreFormTemplateItem, defaultValues: OnshoreFormArrayDefault[]): FormGroup {\n let formControls = <any>{};\n\n if(item) {\n item.subformArray?.forEach((subitem: OnshoreFormTemplateItem) => {\n if(subitem.type == OnshoreFormTemplateType.subform) {\n if (item.subformArray) {\n formControls[subitem.name] = new FormArray([]);\n formControls[subitem.name].setParent(formControls[subitem.name]);\n this.subscribeNestedFormArray(formControls[subitem.name] as FormArray);\n }\n if (item.subformObject) {\n formControls[subitem.name] = new FormGroup({});\n this.subscribeNestedFormGroup(formControls[subitem.name] as FormGroup);\n }\n } else {\n const defaultValue = defaultValues?.find(value => value.name === subitem.name)?.value;\n if(defaultValue) subitem.default = defaultValue.value;\n\n formControls[subitem.name] = new FormControl(defaultValue ?? (subitem.default !== undefined ? subitem.default : ''), {\n validators: subitem.validators || [],\n updateOn: 'change'\n });\n formControls[subitem.name].updateValueAndValidity({ onlySelf: false, emitEvent: true });\n }\n });\n }\n\n const formGroup = new FormGroup(formControls);\n formGroup.setParent(formArray);\n\n formArray.push(formGroup);\n\n this.subscribeNestedFormGroup(formGroup);\n\n return formGroup;\n }\n\n public removeFormArrayItem(form: FormArray, index: number) {\n form.removeAt(index);\n }\n\n public setFormValidations(validations: string[] = []) {\n this._formValidations = validations;\n }\n\n public enable() {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.enabled = true;\n });\n setTimeout(() => {\n this._form?.enable({onlySelf: true, emitEvent: false});\n }, 100);\n }\n\n public disable() {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.enabled = false;\n });\n setTimeout(() => {\n this._form?.disable({onlySelf: true, emitEvent: false});\n }, 100);\n }\n\n public setError(control: string, error: Object) {\n const errors = {...this.formControl(control).errors ?? {}, ...error} ;\n this.formControl(control).setErrors(errors);\n }\n\n public setLoader(loaders$: Subject<boolean>[]) {\n loaders$.forEach($loader => {\n this.subscriptions.push($loader.subscribe(isLoading => {\n isLoading ? this.disable() : this.enable();\n this.isLoading$.next(isLoading);\n }));\n });\n }\n\n public lock(lockSubfields: boolean = true) {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.locked = true;\n if(item.subformArray && lockSubfields) {\n item.subformArray.forEach( subitem => {\n subitem.locked = true;\n });\n }\n });\n }\n\n public unlock() {\n this._formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n item.locked = false;\n if(item.subformArray) {\n item.subformArray.forEach( subitem => {\n subitem.locked = false;\n });\n }\n });\n }\n\n iterateNestedForm(form: FormGroup, formTemplate: OnshoreFormTemplateItem[]): any {\n formTemplate.forEach((item: OnshoreFormTemplateItem) => {\n if(item.type === OnshoreFormTemplateType.subform) {\n if(item.subformArray) {\n form.controls[item.name] = new FormArray([]);\n form.controls[item.name].setParent(form);\n this.subscribeNestedFormArray(form.controls[item.name] as FormArray);\n }\n if(item.subformObject) {\n form.controls[item.name] = new FormGroup({});\n form.controls[item.name] = this.iterateNestedForm(form.controls[item.name] as FormGroup, item.subformObject) as FormGroup;\n this.subscribeNestedFormGroup(form.controls[item.name] as FormGroup);\n }\n } else {\n form.addControl(item.name, new FormControl(item.default !== undefined ? item.default : '', {\n validators: item.validators || [],\n updateOn: 'change'\n }));\n }\n });\n return form;\n }\n\n subscribeNestedFormArray(nestedFormItem: FormArray) {\n this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n }\n\n subscribeNestedFormGroup(nestedFormItem: FormGroup) {\n this.subscriptions.push(nestedFormItem.valueChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n this.subscriptions.push(nestedFormItem.statusChanges.subscribe(() => {\n this.form?.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n }));\n }\n\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport class OnshoreValidators {\n static slug: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /^[A-Za-z0-9\\._-]{2,20}$/.test(control.value) ? null : { slug: true };\n }\n\n static numeric: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /^[0-9]*$/.test(control.value) ? null : { numeric: true };\n }\n\n static email: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,10})?$/.test(control.value) ? null : { email: true };\n }\n\n static cleanComment: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n return /[A-Z]{5}\\d{4}[A-Z]{1}/.test(control.value) ? null : { cleanComment: true };\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input, OnChanges, SimpleChanges\n} from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'onshore-form-validation-output',\n imports: [CommonModule],\n templateUrl: './form-validation-output.component.html',\n styleUrls: ['./form-validation-output.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormValidationOutputComponent implements OnChanges {\n @Input() validationErrors!: ValidationErrors | null;\n @Input() validationItems!: string[];\n\n validationTranslation: string = '';\n\n ngOnChanges(changes: SimpleChanges) {\n this.validationTranslation = '';\n if(changes['validationErrors'].currentValue && this.validationErrors) {\n Object.keys(this.validationErrors!).forEach(error => {\n const exists = Object.values(this.validationItems ?? []).filter( validationItem => validationItem == error);\n if(exists && exists.length > 0) {\n this.validationTranslation += this.translate.instant('form.validation.' + error) + '<br>';\n } else {\n const errorValues = this.validationErrors![error];\n this.validationTranslation += this.translate.instant('form.validation.' + error, errorValues) + '<br>';\n }\n });\n }\n this.cdr.markForCheck();\n }\n\n constructor(private cdr: ChangeDetectorRef,\n private translate: TranslateService) {\n\n }\n}\n","<small [style]=\"{color: 'var(--inputtext-invalid-placeholder-color)' }\"\n *ngIf=\"validationTranslation\"\n [innerHTML]=\"validationTranslation\">\n</small>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, ElementRef, EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit, Output,\n SimpleChanges, ViewChild\n} from '@angular/core';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateLayout } from '../../enums/form.enums';\nimport { NgControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ToggleButtonModule } from 'primeng/togglebutton';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { ButtonModule } from 'primeng/button';\nimport { OnshoreFormValidationOutputComponent } from '../form-validation-output/form-validation-output.component';\n\n@Component({\n selector: 'onshore-form-item-container',\n imports: [CommonModule, OnshoreFormValidationOutputComponent, TranslateModule, ToggleButtonModule, TooltipModule, ButtonModule],\n templateUrl: './form-item-container.component.html',\n styleUrls: ['./form-item-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormItemContainer implements OnInit, OnChanges, AfterViewInit {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() ngControl!: NgControl;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n @Output() lockIsChanged = new EventEmitter();\n\n @ViewChild('formContainer') formContainer!: ElementRef;\n\n disabled: boolean = false;\n tempLockValue: any;\n\n OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;\n\n layout: OnshoreFormTemplateLayout | undefined = OnshoreFormTemplateLayout.auto;\n\n enabled(enable: boolean = true) {\n setTimeout(() => {\n if(enable) {\n this.ngControl?.control?.enable();\n } else {\n this.ngControl?.control?.disable();\n }\n this.disabled = !enable;\n this.cdr.markForCheck();\n }, 100);\n }\n\n lockChanged(unlocked: boolean) {\n if(unlocked && this.formTemplate.enabled) {\n this.tempLockValue = this.ngControl?.control?.value;\n this.enabled(true);\n this.disabled = false;\n this.lockIsChanged.emit(unlocked);\n } else {\n this.enabled(false);\n this.disabled = true;\n this.ngControl?.control?.setValue(this.tempLockValue);\n this.tempLockValue = null;\n this.lockIsChanged.emit(unlocked);\n }\n\n this.cdr.markForCheck();\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize() {\n const conatinerWidth = this.formContainer?.nativeElement.offsetWidth;\n if(conatinerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.horizontal) {\n this.layout = OnshoreFormTemplateLayout.horizontal;\n this.cdr.markForCheck();\n }\n if(conatinerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.vertical) {\n this.layout = OnshoreFormTemplateLayout.vertical;\n this.cdr.markForCheck();\n }\n }\n\n ngOnInit(): void {\n this.ngControl?.control?.valueChanges.subscribe(value => {\n this.cdr.markForCheck();\n });\n this.ngControl?.control?.statusChanges.subscribe(status => {\n this.cdr.markForCheck();\n });\n\n this.enabled(this.formTemplate.enabled);\n this.disabled = !this.formTemplate.enabled;\n\n if(this.formTemplate.locked) {\n this.enabled(false);\n this.disabled = true;\n }\n\n this.layout = this.formTemplate.layout;\n\n setTimeout(() => {\n this.cdr.markForCheck();\n }, 100);\n }\n\n ngAfterViewInit() {\n this.onWindowResize();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const previousValue = changes['formTemplate']?.previousValue;\n const currentValue = changes['formTemplate']?.currentValue;\n\n if(currentValue) {\n\n if(previousValue?.enabled !== currentValue?.enabled) {\n this.enabled(currentValue?.enabled);\n this.disabled = !currentValue?.enabled;\n }\n\n if(previousValue?.locked !== currentValue?.locked) {\n if(currentValue.locked) {\n this.enabled(false);\n this.disabled = true;\n } else {\n this.enabled(currentValue.enabled);\n this.disabled = currentValue.enabled;\n }\n }\n\n if(previousValue?.layout !== currentValue?.layout) {\n this.layout = this.formTemplate.layout;\n this.onWindowResize();\n }\n\n if(previousValue?.labelStyle !== currentValue?.labelStyle) {\n this.onWindowResize();\n }\n\n this.cdr.markForCheck();\n }\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n\n }\n}\n","<div [class.mb-4]=\"!formTemplate.noGap\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n [hidden]=\"!formTemplate.label || formTemplate.label == ''\"\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px; max-height: 36px'\">\n\n <span *ngIf=\"formTemplate.label && formTemplate.label != ''\" [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.align-self-center]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\"\n [style]=\"{color: 'var(--inputtext-invalid-placeholder-color)' }\">*</small>\n </span>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" [tooltipPosition]=\"'left'\" appendTo=\"body\"><i class=\"fa fa-circle-question text-color\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <div class=\"w-full overflow-hidden align-self-center\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"formTemplate.actionButton\"\n class=\"ml-2 onshore-button-light\"\n [style]=\"{'height': '37px', 'min-width': '38px'}\"\n pButton\n [disabled]=\"actionButtonDisabled\"\n [icon]=\"formTemplate.actionButtonIcon\"\n (click)=\"actionButtonClick.emit()\">\n </button>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [tooltipPosition]=\"'left'\" [escape]=\"false\"><i class=\"fa fa-circle-question primary-color\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched || ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 60 : 0)) + 'px' : (formTemplate.locked ? 60 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div *ngIf=\"formTemplate.description\" class=\"mt-2\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 60 : 0)) + 'px' : (formTemplate.locked ? 60 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <small class=\"text-color\"><i class=\"fa fa-info-circle primary-color\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit,\n Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormAutocompleteItem, OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { AutoCompleteModule, AutoCompleteSelectEvent } from 'primeng/autocomplete';\nimport { updatePreset } from '@primeng/themes';\nimport { FluidModule } from 'primeng/fluid';\n\n@Component({\n selector: 'onshore-form-autocomplete-item',\n imports: [CommonModule, OnshoreFormItemContainer, AutoCompleteModule, FormsModule, ReactiveFormsModule, FluidModule],\n templateUrl: './form-autocomplete-item.component.html',\n styleUrls: ['./form-autocomplete-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormAutocompleteItemComponent implements ControlValueAccessor, OnDestroy, OnInit, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() public multiple: boolean = false;\n @Input() public searchedData: OnshoreFormAutocompleteItem[] = [];\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() onSearch: EventEmitter<string> = new EventEmitter();\n @Output() onSelect: EventEmitter<OnshoreFormAutocompleteItem> = new EventEmitter();\n @Output() onClear: EventEmitter<boolean> = new EventEmitter();\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n\n selected(event: AutoCompleteSelectEvent) {\n const selectedItem: OnshoreFormAutocompleteItem = event.value;\n this.onSelect.emit(selectedItem.data);\n this.cdr.markForCheck();\n }\n\n searchClear() {\n this.searchedData = [];\n this.ngControl.reset();\n this.onClear.emit();\n }\n\n searchPrepare(term: any) {\n if(term.query != '') {\n this.search(term.query);\n }else{\n this.searchedData = [];\n this.ngControl.reset();\n this.onClear.emit();\n }\n }\n\n async search(searchTerm: string) {\n this.onSearch.emit(searchTerm);\n this.cdr.markForCheck();\n }\n\n public writeValue(obj: any): void {\n if(obj) {\n this.cdr.markForCheck();\n }\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.cdr.markForCheck();\n }\n }\n\n public registerOnTouched(fn: any): void {}\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeLayoutPreset() {\n console.log(\"changeLayoutPreset\");\n updatePreset({\n components: {\n autocomplete: {\n root: {\n focusRing: {\n width: '100%',\n style: '{form.field.focus.ring.style}',\n color: '{form.field.focus.ring.color}',\n offset: '{form.field.focus.ring.offset}',\n shadow: '{form.field.focus.ring.shadow}'\n }\n }\n }\n },\n })\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n constructor(private cdr: ChangeDetectorRef,\n @Self() @Optional() public ngControl: NgControl) {\n\n this.ngControl.valueAccessor = this;\n //this.changeLayoutPreset();\n }\n\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-autoComplete [placeholder]=\"formTemplate.placeholder\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n (onSelect)=\"selected($event)\"\n (onUnselect)=\"selected($event)\"\n (onClear)=\"searchClear()\"\n [suggestions]=\"searchedData\"\n (completeMethod)=\"searchPrepare($event)\"\n [disabled]=\"disabled\"\n [minLength]=\"2\"\n [multiple]=\"multiple\"\n [delay]=\"1000\"\n [unique]=\"true\"\n optionLabel=\"firstLineLabel\"\n dataKey=\"data\"\n class=\"w-full\">\n <ng-template let-item pTemplate=\"item\">\n <div *ngIf=\"item.firstLineLabel\">\n <span class=\"mr-1\">\n <b>{{item.firstLineLabel}}</b><br>\n </span>\n </div>\n <div *ngIf=\"item.secondLineLabel\"><span>{{item.secondLineLabel}} </span></div>\n <div *ngIf=\"item.thirdLineLabel\"><span>{{item.thirdLineLabel}} </span></div>\n </ng-template>\n </p-autoComplete>\n </p-fluid>\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { CheckboxModule } from 'primeng/checkbox';\n\n@Component({\n selector: 'onshore-form-checkbox-item',\n imports: [CommonModule, OnshoreFormItemContainer, CheckboxModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-checkbox-item.component.html',\n styleUrls: ['./form-checkbox-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormCheckboxItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeCheck(value: any) {\n this.ngControl.control?.setValue(value.checked);\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <div class=\"p-field-checkbox flex\">\n <p-checkbox\n class=\"align-self-start mt-1\"\n [name]=\"formTemplate.name\"\n [formControl]=\"formControl\"\n [binary]=\"true\"\n [disabled]=\"disabled\"\n [inputId]=\"formTemplate.name\"\n [value]=\"ngControl.control.value\"\n (onChange)=\"changeCheck($event)\">\n </p-checkbox>\n\n <label class=\"mb-0 ml-2 text-color\"\n [for]=\"formTemplate.name\">\n {{formTemplate.hint}}\n </label>\n </div>\n\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { ColorPickerModule } from 'primeng/colorpicker';\nimport { updatePreset } from '@primeng/themes';\n@Component({\n selector: 'onshore-form-colorpicker-item',\n imports: [CommonModule, OnshoreFormItemContainer, InputTextModule, ColorPickerModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-colorpicker-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormColorpickerItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n colorPickerValue = '';\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeColor() {\n this.ngControl.control?.setValue(this.colorPickerValue);\n this.ngControl?.control?.markAsDirty();\n this.cdr.markForCheck();\n }\n\n changeInput(input: any) {\n this.colorPickerValue = input.target?.value;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n\n changeLayoutPreset() {\n console.log(\"changeLayoutPreset\");\n updatePreset({\n components: {\n colorpicker: {\n preview: {\n height: '37px',\n width: '37px'\n }\n }\n },\n })\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.colorPickerValue = this.formTemplate.default;\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.colorPickerValue = this.ngControl.control?.value;\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n this.changeLayoutPreset();\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <div class=\"flex w-full\">\n\n <input class=\"w-full mr-2\"\n type=\"text\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [formControl]=\"formControl\"\n [disabled]=\"disabled\"\n pInputText\n [value]=\"ngControl.control.value\"\n (input)=\"changeInput($event)\"/>\n\n <p-colorPicker [(ngModel)]=\"colorPickerValue\"\n format=\"hex\" [inline]=\"false\"\n appendTo=\"body\"\n [disabled]=\"disabled\"\n [baseZIndex]=\"99999\"\n (onChange)=\"changeColor()\">\n </p-colorPicker>\n </div>\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output, SimpleChanges\n} from '@angular/core';\nimport { Button } from 'primeng/button';\nimport { InputText } from 'primeng/inputtext';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'onshore-inplace-input',\n imports: [\n CommonModule,\n Button,\n InputText,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule\n ],\n templateUrl: './inplace-input.component.html',\n styleUrl: './inplace-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreInplaceInputComponent {\n @Output() created: EventEmitter<string> = new EventEmitter();\n\n inputText: string = '';\n inputVisible: boolean = false;\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n}\n","<div class=\"p-1\">\n <p-button *ngIf=\"!inputVisible\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-plus\"\n [label]=\"'form.dropdownControl.addNewButton' | translate\"\n class=\"w-full\"\n (click)=\"inputVisible = true\">\n </p-button>\n <div *ngIf=\"inputVisible\" class=\"flex gap-2 align-items-center\">\n <input [(ngModel)]=\"inputText\"\n [placeholder]=\"'form.dropdownControl.addNewInputPlaceholder' | translate\"\n pInputText/>\n <p-button [icon]=\"'fa fa-plus'\" severity=\"secondary\" (click)=\"created.emit(inputText); inputVisible = false; inputText = ''\" />\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SelectModule } from 'primeng/select';\nimport { ButtonModule } from 'primeng/button';\nimport { DialogModule } from 'primeng/dialog';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { OnshoreInplaceInputComponent } from '../inplace-input/inplace-input.component';\n\n@Component({\n selector: 'onshore-form-dropdown-item',\n imports: [CommonModule, ButtonModule, OnshoreFormItemContainer, TranslateModule, SelectModule, MultiSelectModule, FormsModule, ReactiveFormsModule, DialogModule, OnshoreInplaceInputComponent],\n templateUrl: './form-dropdown-item.component.html',\n styleUrls: ['./form-dropdown-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormDropdownItemComponent implements OnInit, OnChanges, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() multiple: boolean | undefined = false;\n @Input() showClear: boolean | undefined = false;\n @Input() group: boolean | undefined = false;\n @Input() selectionLimit?: number = 0\n @Input() minLength?: number = 0;\n @Input() optionLabel?: string = 'label';\n @Input() optionGroupLabel?: string = '';\n @Input() dataKey?: string = 'value';\n @Input() actionButtonDisabled: boolean = false;\n @Input() createEnabled: boolean = false;\n @Input() options: any[] = [];\n\n @Output() valueChange: EventEmitter<boolean> = new EventEmitter();\n @Output() actionButtonClick = new EventEmitter();\n @Output() entryCreated = new EventEmitter();\n\n disabled: boolean | undefined = false;\n\n // ControlValueAccessor interface\n public writeValue(obj: any): void {\n if(obj) {\n this.cdr.markForCheck();\n }\n }\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.cdr.markForCheck();\n }\n }\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n clearSelection() {\n this.ngControl.control?.reset();\n this.ngControl.control?.setValue(this.multiple ? [] : '');\n this.cdr.markForCheck();\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if((!this.ngControl.control?.value || this.ngControl.control?.value == '' || this.ngControl.control?.value == undefined) && !this.multiple) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const currentOptions = changes['options']?.currentValue ?? changes['formTemplate']?.currentValue?.options;\n //const previousOptions = changes['options']?.previousValue ?? changes['formTemplate']?.previousValue?.options;\n\n if(!this.options && currentOptions) {\n this.options = currentOptions;\n }\n\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n\n protected readonly OnshoreFormTemplateType = OnshoreFormTemplateType;\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <p-select *ngIf=\"!multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"formControl\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n [showClear]=\"showClear && formTemplate?.placeholder\"\n (onClear)=\"clearSelection()\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n <ng-template #footer>\n <div *ngIf=\"createEnabled\" class=\"flex justify-content-center\">\n <onshore-inplace-input (created)=\"entryCreated.emit($event)\">\n </onshore-inplace-input>\n </div>\n </ng-template>\n </p-select>\n\n <p-multiSelect *ngIf=\"multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"formControl\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [showClear]=\"showClear\"\n [selectionLimit]=\"selectionLimit\"\n [minlength]=\"minLength\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n (onClear)=\"clearSelection()\"\n [selectedItemsLabel]=\"'form.dropdownControl.selectedItems' | translate\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n <ng-template #footer>\n <div *ngIf=\"createEnabled\" class=\"flex justify-content-center\">\n <onshore-inplace-input (created)=\"entryCreated.emit($event)\">\n </onshore-inplace-input>\n </div>\n </ng-template>\n </p-multiSelect>\n</onshore-form-item-container>\n\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'onshore-image-placeholder',\n imports: [CommonModule],\n templateUrl: './image-placeholder.component.html',\n styleUrls: ['./image-placeholder.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreImagePlaceholderComponent {\n\n @Input() public placeholderIcon: string = '';\n @Input() public placeholderImage: string = '';\n @Input() public image: string = '';\n @Input() public imageStyle: string = '';\n @Input() public placeholderStyle: string = '';\n @Input() public showLoader: boolean = true;\n\n imageLoaded = false;\n\n loadReady() {\n this.imageLoaded = true;\n this.showLoader = false;\n }\n\n abort() {\n this.imageLoaded = false;\n this.showLoader = false;\n }\n\n constructor() {}\n\n}\n","<div [hidden]=\"!imageLoaded || !image\">\n <img [style]=\"imageStyle\" [src]=\"image\" (load)=\"loadReady()\" (abort)=\"abort()\" />\n</div>\n\n<div *ngIf=\"!imageLoaded || !image\" class=\"flex justify-content-center align-items-center\" [style]=\"placeholderStyle\" [class.p-2]=\"placeholderIcon\">\n <i *ngIf=\"placeholderIcon\" [class]=\"'text-color fa ' + placeholderIcon\" [class.opacity-20]=\"showLoader && image\"></i>\n <img *ngIf=\"placeholderImage\" [src]=\"placeholderImage\" [class.opacity-20]=\"showLoader && image\" class=\"h-full\" />\n <i *ngIf=\"showLoader && image\" class=\"fas fa-circle-notch fa-spin fa-2x absolute\"></i>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport { ImageCroppedEvent, ImageCropperComponent } from 'ngx-image-cropper';\nimport { OnshoreImageError } from '../../enums/form.enums';\nimport { OnshoreFormImageSettings } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'onshore-image-chooser',\n imports: [CommonModule, TranslateModule, ButtonModule, InputTextModule, ImageCropperComponent, FormsModule, ReactiveFormsModule],\n templateUrl: './image-chooser.component.html',\n styleUrls: ['./image-chooser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreImageChooserComponent {\n\n drag = false;\n image = '';\n finalImage = '';\n imageErrorType = OnshoreImageError;\n imageError: OnshoreImageError = OnshoreImageError.none;\n\n @Input() imageSettings: OnshoreFormImageSettings | undefined = undefined;\n\n @Output() choosen: EventEmitter<string> = new EventEmitter();\n @Output() canceled: EventEmitter<boolean> = new EventEmitter();\n\n clear() {\n this.image = '';\n this.finalImage = '';\n this.imageError = OnshoreImageError.none;\n }\n\n public fileChange(event: Event): void {\n this.imageError = OnshoreImageError.none;\n const target = event.target as HTMLInputElement;\n const file: File | undefined | null = target?.files ? target?.files[0] : null;\n const maxFileSize = this.imageSettings?.maxFileSize || 0;\n const imageWidth = this.imageSettings?.imageWidth || 0;\n const imageHeight = this.imageSettings?.imageHeight || 0;\n\n if (file?.type != 'image/png' && file?.type != 'image/jpeg' && file?.type != 'image/webp') {\n this.imageError = OnshoreImageError.fileType;\n return;\n }\n\n if (file?.size > maxFileSize) {\n this.imageError = OnshoreImageError.size;\n return;\n }\n\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n\n const img = new Image();\n img.src = window.URL.createObjectURL(file);\n img.onload = () => {\n\n const originalWidth = img.width;\n const originalHeight = img.height;\n\n if (originalWidth >= imageWidth && originalHeight >= imageHeight) {\n this.image = reader.result?.toString() || '';\n } else {\n this.imageError = OnshoreImageError.ratio;\n }\n this.cdr.markForCheck();\n\n }\n\n };\n }\n\n\n\n }\n\n public imageCropped(event: ImageCroppedEvent): void {\n //const croppedImage: SafeUrl = this.sanitizer.bypassSecurityTrustUrl(event.objectUrl || '') || '';\n if(event.blob) {\n this.blobToBase64(event.blob).then(result => {\n //this.finalImage = String(result).split(',')[1] || '';\n this.finalImage = String(result) || '';\n })\n }\n }\n\n public imageCroppedReady(): void {\n this.choosen.emit(this.finalImage);\n this.clear();\n }\n\n blobToBase64(blob: Blob): Promise<string | ArrayBuffer | null> {\n return new Promise((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n}\n","<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg px-4 pb-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x text-color\"></i>\n <small class=\"text-color mb-4\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <p-button [severity]=\"'primary'\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\">\n </p-button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"absolute w-full h-full bottom-0 cursor-pointer\"\n style=\"opacity: 0\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n <image-cropper\n class=\"m-3\"\n [style]=\"'align-items: center; height: ' + (imageSettings.cropperPreviewHeight * this.imageSettings.aspectRatio) + 'px; width: ' + (imageSettings.cropperPreviewWidth * this.imageSettings.aspectRatio) + 'px'\"\n [class.onshore-cropper-circle]=\"this.imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"this.imageSettings.imageQuality\"\n [alignImage]=\"this.imageSettings.alignImage\"\n [backgroundColor]=\"this.imageSettings.backgroundColor\"\n [containWithinAspectRatio]=\"this.imageSettings.containWithinAspectRatio\"\n [format]=\"this.imageSettings.format\"\n [aspectRatio]=\"this.imageSettings.aspectRatio\"\n [resizeToHeight]=\"this.imageSettings.imageWidth * this.imageSettings.aspectRatio\"\n [resizeToWidth]=\"this.imageSettings.imageHeight * this.imageSettings.aspectRatio\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"imageError\"class=\"pb-2 text-wrap text-center\"\n [style]=\"{color: 'var(--inputtext-invalid-placeholder-color)' }\">\n <small *ngIf=\"imageError == imageErrorType.ratio\">{{'form.imageControl.imageErrorRatio' | translate: {resizeToWidth: this.imageSettings.imageWidth, resizeToHeight: this.imageSettings.imageHeight} }}</small>\n <small *ngIf=\"imageError == imageErrorType.fileType\">{{'form.imageControl.imageErrorFileType' | translate}}</small>\n <small *ngIf=\"imageError == imageErrorType.size\">{{'form.imageControl.imageErrorSize' | translate}}</small>\n </div>\n</div>\n\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center mt-2 gap-2\">\n <p-button [severity]=\"'secondary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n icon=\"fa fa-times\"\n [label]=\"'form.imageControl.imageChooserCancelButton' | translate\"\n (click)=\"clear(); canceled.emit(true)\">\n </p-button>\n\n <p-button [severity]=\"'primary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n [label]=\"'form.imageControl.imageChooserSelectButton' | translate\"\n icon=\"fa fa-check\"\n [disabled]=\"!image\"\n (click)=\"imageCroppedReady()\">\n </p-button>\n </div>\n</p-footer>\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { WebcamImage, WebcamModule } from 'ngx-webcam';\nimport { ImageCroppedEvent, ImageCropperComponent } from 'ngx-image-cropper';\nimport { OnshoreFormImageSettings } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'onshore-webcam',\n imports: [CommonModule, TranslateModule, ButtonModule, ImageCropperComponent, WebcamModule],\n templateUrl: './webcam.component.html',\n styleUrls: ['./webcam.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WebcamComponent {\n\n @Input() imageSettings: OnshoreFormImageSettings | undefined = undefined;\n\n @Output() shot: EventEmitter<string> = new EventEmitter();\n @Output() canceled: EventEmitter<boolean> = new EventEmitter();\n\n image = '';\n finalImage = '';\n\n public trigger: Subject<void> = new Subject<void>();\n\n public camImageShot(webcamImage: WebcamImage): void {\n this.image = webcamImage.imageAsDataUrl;\n this.cdr.markForCheck();\n }\n\n public imageCropped(event: ImageCroppedEvent): void {\n if(event.blob) {\n this.blobToBase64(event.blob).then(result => {\n //this.finalImage = String(result).split(',')[1] || '';\n this.finalImage = String(result) || '';\n })\n }\n }\n\n public imageCroppedReady(): void {\n this.shot.emit(this.finalImage);\n }\n\n\n public get triggerObservable(): Observable<void> {\n return this.trigger.asObservable();\n }\n\n public triggerSnapshot(): void {\n this.trigger.next();\n }\n\n blobToBase64(blob: Blob): Promise<string | ArrayBuffer | null> {\n return new Promise((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n}\n","<div class=\"flex w-full justify-content-center align-items-center overflow-hidden p-2\">\n <webcam *ngIf=\"!image || image == ''\"\n [mirrorImage]=\"'never'\"\n [height]=\"imageSettings.webcamWidth * this.imageSettings.aspectRatio\"\n [width]=\"imageSettings.webcamHeight * this.imageSettings.aspectRatio\"\n [allowCameraSwitch]=\"true\"\n [trigger]=\"triggerObservable\"\n [imageQuality]=\"imageSettings.imageQuality / 100\"\n (imageCapture)=\"camImageShot($event)\">\n </webcam>\n\n <image-cropper *ngIf=\"image && image != ''\"\n class=\"m-3\" [style]=\"'height: ' + (imageSettings.cropperPreviewWidth * this.imageSettings.aspectRatio) + 'px; width: ' + (imageSettings.cropperPreviewHeight * this.imageSettings.aspectRatio) + 'px'\"\n [class.onshore-cropper-circle]=\"imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"imageSettings.imageQuality\"\n [alignImage]=\"imageSettings.alignImage\"\n [backgroundColor]=\"imageSettings?.backgroundColor\"\n [containWithinAspectRatio]=\"imageSettings?.containWithinAspectRatio\"\n [format]=\"imageSettings.format\"\n [aspectRatio]=\"imageSettings.aspectRatio\"\n [resizeToHeight]=\"imageSettings.imageHeight * this.imageSettings.aspectRatio\"\n [resizeToWidth]=\"this.imageSettings.imageWidth * this.imageSettings.aspectRatio\">\n </image-cropper>\n</div>\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center gap-2 mt-2\">\n\n <p-button [severity]=\"'secondary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n icon=\"fa fa-times\"\n [label]=\"'global.cancel' | translate\"\n (click)=\"canceled.emit(true)\">\n </p-button>\n\n <p-button *ngIf=\"!image || image == ''\"\n [severity]=\"'primary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n [label]=\"'form.imageControl.webcamSmileButton' | translate\"\n icon=\"fa fa-laugh-wink\"\n (click)=\"triggerSnapshot()\">\n </p-button>\n\n <p-button *ngIf=\"image && image != ''\"\n [severity]=\"'primary'\"\n [raised]=\"true\"\n [rounded]=\"true\"\n [label]=\"'global.use' | translate\"\n icon=\"fa fa-check\"\n (click)=\"imageCroppedReady()\">\n </p-button>\n </div>\n</p-footer>\n\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit,\n Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { OnshoreFormImageSettings, OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateLayout } from '../../enums/form.enums';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { OnshoreImagePlaceholderComponent } from '../image-placeholder/image-placeholder.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from 'primeng/button';\nimport { DialogModule } from 'primeng/dialog';\nimport { OnshoreImageChooserComponent } from '../image-chooser/image-chooser.component';\nimport { WebcamComponent } from '../webcam/webcam.component';\nimport { FluidModule } from 'primeng/fluid';\n\n@Component({\n selector: 'onshore-form-image-item',\n imports: [CommonModule, OnshoreFormItemContainer, FluidModule, OnshoreImagePlaceholderComponent, OnshoreImageChooserComponent, WebcamComponent, TranslateModule, ButtonModule, DialogModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-image-item.component.html',\n styleUrls: ['./form-image-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormImageItemComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() imageSettings: OnshoreFormImageSettings | undefined = undefined;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() imageDeleted: EventEmitter<string> = new EventEmitter();\n @Output() imageCleared: EventEmitter<any> = new EventEmitter();\n @Output() imageReady: EventEmitter<string> = new EventEmitter();\n @Output() selectFromMedia: EventEmitter<any> = new EventEmitter();\n @Output() isLoading: EventEmitter<boolean> = new EventEmitter();\n\n OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;\n\n defaultImageSettings: OnshoreFormImageSettings = {\n imageWidth: 400,\n imageHeight: 400,\n containWithinAspectRatio: false,\n aspectRatio: 1 / 1,\n imageSelectionEnabled: true,\n webcamSelectionEnabled: true,\n mediaSelectionEnabled: true,\n deleteEnabled: true,\n placeholderImage: '',\n placeholderIcon: 'fa fa-image fa-10x',\n containerWidth: 250,\n containerHeight: 250,\n imageQuality: 100,\n format: 'png',\n alignImage: 'center',\n cropperPreviewWidth: 400,\n cropperPreviewHeight: 400,\n webcamWidth: 400,\n webcamHeight: 400,\n circleCropper: false,\n maxFileSize: 6400000,\n backgroundColor: 'white'\n };\n\n image: string | undefined = '';\n disabled = false;\n webcamDialogVisible: boolean = false;\n imageChooserDialogVisible: boolean = false;\n\n subscriptions: Array<Subscription> = [];\n\n getFileImage(image: any) {\n this.imageChooserDialogVisible = false;\n if(image) {\n this.image = image;\n setTimeout(() => {\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n this.imageReady.emit(this.image);\n this.cdr.markForCheck();\n }, 500);\n }\n }\n\n getWebcamImage(image: any) {\n this.webcamDialogVisible = false;\n if(image) {\n this.image = image;\n setTimeout(() => {\n this.ngControl?.control?.setValue(this.image);\n this.ngControl?.control?.markAsDirty();\n this.imageReady.emit(this.image);\n this.cdr.markForCheck();\n }, 500);\n }\n }\n\n removeImage() {\n setTimeout(() => {\n if(this.image && !this.image.includes('base64')) {\n this.imageDeleted.emit(this.image);\n } else {\n this.imageCleared.emit();\n }\n\n this.image = '';\n\n this.ngControl?.control?.reset();\n this.ngControl?.control?.setValue(null);\n this.ngControl?.control?.updateValueAndValidity({ onlySelf: false, emitEvent: true });\n this.ngControl?.control?.markAsDirty();\n\n this.cdr.markForCheck();\n }, 500);\n }\n\n public writeValue(obj: any): void {\n if(obj && !obj.includes('base64')) {\n this.image = obj;\n }\n if(obj == null) {\n this.image = '';\n }\n\n this.imageReady.emit(this.image);\n this.cdr.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.image = this.ngControl.value;\n this.cdr.markForCheck();\n }\n }\n\n public registerOnTouched(fn: any): void {}\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n ngOnInit(): void {\n if(this.ngControl?.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl?.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach((subscription: Subscription) => {\n subscription.unsubscribe();\n });\n this.ngControl?.control?.disable();\n this.image = undefined;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const imageSettings: OnshoreFormImageSettings = changes['imageSettings']?.currentValue;\n\n this.imageSettings = {\n ...this.defaultImageSettings,\n ...imageSettings,\n placeholderIcon: imageSettings?.placeholderImage ? '' : (imageSettings?.placeholderIcon ?? this.defaultImageSettings.placeholderIcon)\n };\n\n //this.removeImage();\n this.cdr.markForCheck();\n }\n\n constructor(public cdr: ChangeDetectorRef,\n @Self() @Optional() public ngControl: NgControl) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center gap-2\" [class.flex-column]=\"formTemplate.layout === OnshoreFormTemplateLayout.vertical\">\n\n <div class=\"border-solid border-1 border-300 border-round-md overflow-hidden\"\n [style]=\"'background-color: white; width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n [imageStyle]=\"'width: 100%; height: 100%'\"\n [placeholderIcon]=\"imageSettings.placeholderIcon\"\n [placeholderImage]=\"imageSettings.placeholderImage\"\n [placeholderStyle]=\"'width: 100%; height: 100%'\">\n </onshore-image-placeholder>\n </div>\n\n <div>\n <p-fluid class=\"flex flex-column\">\n <p-button *ngIf=\"imageSettings.imageSelectionEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-image\"\n [label]=\"'form.imageControl.uploadImageButton' | translate\"\n class=\"mb-2 w-full\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true; cdr.detectChanges()\">\n </p-button>\n\n <p-button *ngIf=\"imageSettings.webcamSelectionEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-camera\"\n [label]=\"'form.imageControl.webcamImageButton' | translate\"\n class=\"mb-2 w-full\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </p-button>\n\n <p-button *ngIf=\"imageSettings.mediaSelectionEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-photo-video\"\n [label]=\"'form.imageControl.mediaImageButton' | translate\"\n class=\"mb-2 w-full\"\n [disabled]=\"disabled\"\n (click)=\"selectFromMedia.emit()\">\n </p-button>\n\n <p-button *ngIf=\"imageSettings.deleteEnabled\"\n [severity]=\"'secondary'\"\n icon=\"fa fa-eraser\"\n [label]=\"'form.imageControl.removeImageButton' | translate\"\n (click)=\"removeImage()\"\n class=\"w-full\"\n [disabled]=\"!image || disabled\">\n </p-button>\n </p-fluid>\n </div>\n\n </div>\n</onshore-form-item-container>\n\n<p-dialog [header]=\"'form.imageControl.uploadImageTitle' | translate\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-image-chooser\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [imageSettings]=\"imageSettings\">\n </onshore-image-chooser>\n</p-dialog>\n\n<p-dialog [header]=\"'form.imageControl.webacmImageTitle' | translate\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-webcam\n *ngIf=\"webcamDialogVisible\"\n (shot)=\"getWebcamImage($event)\"\n (canceled)=\"webcamDialogVisible = false\"\n [imageSettings]=\"imageSettings\"></onshore-webcam>\n</p-dialog>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TextareaModule } from 'primeng/textarea';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { ButtonModule } from 'primeng/button';\nimport { FluidModule } from 'primeng/fluid';\nimport { KeyFilterModule } from 'primeng/keyfilter';\n\n@Component({\n selector: 'onshore-form-input-item',\n imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, KeyFilterModule, TextareaModule, InputTextModule, InputNumberModule, FormsModule, ReactiveFormsModule, InputGroupModule, InputGroupAddonModule, ButtonModule, FluidModule],\n templateUrl: './form-input-item.component.html',\n styleUrls: ['./form-input-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormInputItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() step?: number = 1;\n @Input() min?: number = 0;\n @Input() max?: number = 999999;\n @Input() minLength?: number = 0;\n @Input() maxLength?: number = 999999;\n @Input() actionButtonDisabled: boolean = false;\n @Input() keyFilter?: string = '';\n\n @Output() actionButtonClick = new EventEmitter();\n\n OnshoreFormTemplateType = OnshoreFormTemplateType;\n\n passwordVisible: boolean = false;\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n // @ts-ignore\n onNumberInput(event) {\n this.ngControl.control?.setValue(event.value);\n this.ngControl?.control?.markAsDirty();\n this.cdr.markForCheck();\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-inputgroup>\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pTextarea\n [autoResize]=\"true\"\n [formControl]=\"formControl\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [pKeyFilter]=\"keyFilter\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.inputAddon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </p-inputgroup-addon>\n\n <p-inputgroup-addon *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\" class=\"cursor-pointer\" (click)=\"passwordVisible = !passwordVisible\">\n <i [class]=\"passwordVisible ? 'fa fa-eye' : 'fa fa-eye-slash'\"></i>\n </p-inputgroup-addon>\n\n </p-inputgroup>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n [showButtons]=\"true\"\n [buttonLayout]=\"formTemplate.inputNumberVertical ? 'vertical' : 'horizontal'\"\n spinnerMode=\"horizontal\"\n (onInput)=\"onNumberInput($event)\">\n <ng-template #incrementbuttonicon>\n <span class=\"fa fa-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"fa fa-minus\"></span>\n </ng-template>\n </p-inputNumber>\n </p-fluid>\n\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { InputSwitchModule } from 'primeng/inputswitch';\n\n@Component({\n selector: 'onshore-form-switch-item',\n imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, InputSwitchModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-switch-item.component.html',\n styleUrls: ['./form-switch-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormSwitchItemComponent implements OnInit, ControlValueAccessor, OnDestroy, OnChanges {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() valueChange: EventEmitter<boolean> = new EventEmitter();\n @Output() actionButtonClick = new EventEmitter();\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.valueChange.emit(this.ngControl.control?.value);\n });\n\n if(this.ngControl.control?.value == undefined && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <div class=\"h-full align-items-center mt-1\">\n <p-inputSwitch [name]=\"formTemplate.name\"\n [formControl]=\"formControl\"\n [disabled]=\"disabled\"\n [inputId]=\"formTemplate.name\">\n </p-inputSwitch>\n </div>\n\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { CalendarModule } from 'primeng/calendar';\nimport { FluidModule } from 'primeng/fluid';\nimport { DatePicker } from 'primeng/datepicker';\n\n@Component({\n selector: 'onshore-form-datetime-item',\n imports: [CommonModule, OnshoreFormItemContainer, DatePicker, FormsModule, ReactiveFormsModule, FluidModule],\n templateUrl: './form-datetime-item.component.html',\n styleUrls: ['./form-datetime-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormDatetimeItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n OnshoreFormTemplateType = OnshoreFormTemplateType;\n\n disabled: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <p-fluid>\n <p-datePicker class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [formControl]=\"formControl\"\n dateFormat=\"dd.mm.yy\"\n dataType=\"string\"\n hourFormat=\"24\"\n [timeOnly]=\"formTemplate.type == OnshoreFormTemplateType.time\"\n [showTime]=\"formTemplate.type == OnshoreFormTemplateType.datetime\"\n [defaultDate]=\"formTemplate.default\"\n appendTo=\"body\">\n </p-datePicker>\n </p-fluid>\n</onshore-form-item-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'onshore-form-sort-item',\n imports: [CommonModule, OnshoreFormItemContainer, TranslateModule, FormsModule, ReactiveFormsModule],\n templateUrl: './form-sort-item.component.html',\n styleUrls: ['./form-sort-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OnshoreFormSortItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n\n @Output() actionButtonClick = new EventEmitter();\n\n sortItems?: any[] = [];\n tempLockValue?: any[] | undefined = [];\n\n OnshoreFormTemplateType = OnshoreFormTemplateType;\n\n disabled: boolean = false;\n\n sortItemsChanged(event: any[]) {\n this.sortItems = event;\n this.ngControl?.control?.setValue(event);\n this.ngControl?.control?.markAsDirty();\n this.cdr.markForCheck();\n }\n\n lockChanged(unlocked: boolean) {\n if(unlocked && this.formTemplate.enabled) {\n this.tempLockValue = this.ngControl?.control?.value;\n } else {\n this.ngControl?.control?.setValue(this.tempLockValue);\n this.sortItems = this.tempLockValue;\n this.tempLockValue = undefined;\n }\n this.cdr.markForCheck();\n }\n\n // ControlValueAccessor interface\n public writeValue(obj: any): void {\n if(obj) {\n this.cdr.markForCheck();\n }\n }\n\n public registerOnChange(fn: any): void {\n if(this.ngControl.value) {\n this.cdr.markForCheck();\n }\n }\n\n registerOnTouched(fn: any): void {}\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.ngControl?.control?.setValue(newValue);\n });\n\n if(this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.sortItems = this.formTemplate.default;\n } else {\n this.sortItems = this.ngControl.control?.value;\n }\n this.cdr.markForCheck();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\"\n (lockIsChanged)=\"lockChanged($event)\">\n\n <!--<div *ngIf=\"formTemplate.type == OnshoreFormTemplateType.sort\"\n class=\"w-full\" [dragula]=\"ngControl.enabled\"\n [dragulaModel]=\"sortItems\"\n (dragulaModelChange)=\"sortItemsChanged($event)\">\n <div [class.cursor-move]=\"ngControl.enabled\"\n style=\"border-radius: 3px\"\n class=\"onshore-sort-item flex justify-content-between align-items-center onshore-border-gray-4 border-solid border-1 p-2 mb-2 onshore-background-color-white\" *ngFor=\"let item of sortItems\">\n <span [class.onshore-color-blocked]=\"!ngControl.enabled\">{{ item.label }}</span>\n <i [class.onshore-color-blocked]=\"!ngControl.enabled\" class=\"fa fa-arrows-v\"></i>\n </div>\n </div>-->\n\n</onshore-form-item-container>\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, ElementRef, EventEmitter,\n Input, OnChanges, OnDestroy,\n OnInit, Optional, Output,\n Self, SimpleChanges, ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { OnshoreFormTemplateItem } from '../../models/form.models';\nimport { OnshoreFormItemContainer } from '../form-item-container/form-item-container.component';\nimport { OnshoreFormTemplateType } from '../../enums/form.enums';\nimport { InputOtpModule } from 'primeng/inputotp';\nimport { ButtonModule } from 'primeng/button';\nimport { Popover, PopoverModule } from 'primeng/popover';\nimport { ChipModule } from 'primeng/chip';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs';\n\n@Component({\n selector: 'onshore-form-scanner-item',\n imports: [CommonModule, TranslateModule, OnshoreFormItemContainer, ChipModule, PopoverModule, FormsModule, ReactiveFormsModule, InputOtpModule, ButtonModule],\n templateUrl: './form-scanner-item.component.html',\n styleUrls: ['./form-scanner-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnshoreFormScannerItemComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy {\n @ViewChild('scanPopover') scanPopover!: Popover;\n\n @Input() formTemplate!: OnshoreFormTemplateItem;\n @Input() actionButtonDisabled: boolean = false;\n @Input() webcamDisabled: boolean = false;\n @Input() scannerDisabled: boolean = false;\n @Input() editDisabled: boolean = false;\n @Input() integerOnly: boolean = true;\n @Input() length?: number = 4;\n\n @Output() actionButtonClick = new EventEmitter();\n @Output() webcamClick = new EventEmitter();\n @Output() scannerClick = new EventEmitter();\n\n disabled: boolean = false;\n editable: boolean = false;\n\n // ControlValueAccessor interface\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get formControl(): FormControl {\n return this.ngControl.control as FormControl;\n }\n\n ngOnInit(): void {\n if(this.ngControl.control?.value !== true && this.ngControl.control?.value !== false && this.formTemplate.default != undefined) {\n this.ngControl.control?.setValue(this.formTemplate.default);\n this.cdr.markForCheck();\n }\n\n this.ngControl.control?.valueChanges.pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n skip(1)\n ).subscribe(newValue => {\n this.scanPopover.hide();\n });\n }\n\n ngOnDestroy() {\n this.ngControl.control?.disable();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.cdr.markForCheck();\n }\n\n constructor(@Self() @Optional() public ngControl: NgControl,\n private cdr: ChangeDetectorRef) {\n this.ngControl.valueAccessor = this;\n }\n\n protected readonly OnshoreFormTemplateType = OnshoreFormTemplateType;\n}\n","<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <div class=\"flex gap-2\">\n <p-inputOtp [formControl]=\"formControl\"\n [disabled]=\"disabled || !editable\"\n [integerOnly]=\"integerOnly\"\n [length]=\"length\">\n </p-inputOtp>\n\n <p-button *ngIf=\"!scannerDisabled\" (click)=\"scanPopover.toggle($event); webcamClick.emit()\" icon=\"fa fa-qrcode\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelScanner' | translate }}\" />\n <p-button *ngIf=\"!webcamDisabled\" (click)=\"scannerClick.emit()\" icon=\"fa fa-video\" severity=\"secondary\" label=\"{{ 'form.scannerControl.labelWebcam' | translate }}\" />\n <p-button *ngIf=\"!editDisabled\" icon=\"fa fa-pen\" severity=\"secondary\" (click)=\"editable = true\" label=\"{{ 'form.scannerControl.labelInput' | translate }}\" />\n </div>\n\n</onshore-form-item-container>\n\n<p-popover #scanPopover>\n <div class=\"flex flex-column justify-content-center align-items-center gap-2\">\n <i *ngIf=\"!ngControl.control?.value\" class=\"fa fa-qrcode fa-2x\"></i>\n <span *ngIf=\"!ngControl.control?.value\">{{'form.scannerControl.startScanLabel' | translate}}</span>\n <p-chip *ngIf=\"ngControl.control?.value\" [label]=\"ngControl.control?.value\" icon=\"fa fa fa-qrcode\" />\n </div>\n</p-popover>\n","/*\n * Public API Surface of onshore-forms\n */\n\nexport * from './lib/onshore-forms.service';\nexport * from './lib/enums/form.enums';\nexport * from './lib/models/form.models';\nexport * from './lib/validators/form.validators';\nexport * from './lib/components/form-autocomplete-item/form-autocomplete-item.component';\nexport * from './lib/components/form-checkbox-item/form-checkbox-item.component';\nexport * from './lib/components/form-colorpicker-item/form-colorpicker-item.component';\nexport * from './lib/components/form-dropdown-item/form-dropdown-item.component';\nexport * from './lib/components/form-image-item/form-image-item.component';\nexport * from './lib/components/form-input-item/form-input-item.component';\nexport * from './lib/components/form-switch-item/form-switch-item.component';\nexport * from './lib/components/form-datetime-item/form-datetime-item.component';\nexport * from './lib/components/form-sort-item/form-sort-item.component';\nexport * from './lib/components/form-validation-output/form-validation-output.component';\nexport * from './lib/components/form-scanner-item/form-scanner-item.component';\nexport * from './lib/components/form-item-container/form-item-container.component';\nexport * from './lib/components/image-placeholder/image-placeholder.component';\nexport * from './lib/components/image-chooser/image-chooser.component';\nexport * from './lib/components/webcam/webcam.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i4","i3","i5","i6","i9","i7"],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class OnshoreFormInputItemComponent implements OnInit, ControlVal
13
13
  minLength?: number;
14
14
  maxLength?: number;
15
15
  actionButtonDisabled: boolean;
16
+ keyFilter?: string;
16
17
  actionButtonClick: EventEmitter<any>;
17
18
  OnshoreFormTemplateType: typeof OnshoreFormTemplateType;
18
19
  passwordVisible: boolean;
@@ -28,5 +29,5 @@ export declare class OnshoreFormInputItemComponent implements OnInit, ControlVal
28
29
  ngOnDestroy(): void;
29
30
  constructor(ngControl: NgControl, cdr: ChangeDetectorRef);
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<OnshoreFormInputItemComponent, [{ optional: true; self: true; }, null]>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormInputItemComponent, "onshore-form-input-item", never, { "formTemplate": { "alias": "formTemplate"; "required": false; }; "step": { "alias": "step"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "actionButtonDisabled": { "alias": "actionButtonDisabled"; "required": false; }; }, { "actionButtonClick": "actionButtonClick"; }, never, never, true, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnshoreFormInputItemComponent, "onshore-form-input-item", never, { "formTemplate": { "alias": "formTemplate"; "required": false; }; "step": { "alias": "step"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "actionButtonDisabled": { "alias": "actionButtonDisabled"; "required": false; }; "keyFilter": { "alias": "keyFilter"; "required": false; }; }, { "actionButtonClick": "actionButtonClick"; }, never, never, true, never>;
32
33
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.11",
2
+ "version": "1.0.12",
3
3
  "name": "onshore-forms",
4
4
  "description": "OnShore Angular Form Builder",
5
5
  "author": {