@igo2/common 19.0.0-next.2 → 19.0.0-next.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/igo2-common-action.mjs +15 -15
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +8 -8
- package/fesm2022/igo2-common-badge.mjs +8 -8
- package/fesm2022/igo2-common-clickout.mjs +8 -8
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-collapsible.mjs +11 -11
- package/fesm2022/igo2-common-color.mjs +8 -8
- package/fesm2022/igo2-common-confirm-dialog.mjs +10 -10
- package/fesm2022/igo2-common-context-menu.mjs +11 -11
- package/fesm2022/igo2-common-custom-html.mjs +11 -11
- package/fesm2022/igo2-common-dom.mjs +7 -7
- package/fesm2022/igo2-common-drag-drop.mjs +11 -11
- package/fesm2022/igo2-common-dynamic-component.mjs +15 -15
- package/fesm2022/igo2-common-entity.mjs +39 -39
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +8 -8
- package/fesm2022/igo2-common-form.mjs +53 -54
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +8 -8
- package/fesm2022/igo2-common-icon.mjs +12 -9
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +11 -11
- package/fesm2022/igo2-common-interactive-tour.mjs +14 -14
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +10 -10
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-list.mjs +11 -11
- package/fesm2022/igo2-common-panel.mjs +8 -8
- package/fesm2022/igo2-common-select-value-dialog.mjs +11 -11
- package/fesm2022/igo2-common-sidenav.mjs +8 -8
- package/fesm2022/igo2-common-spinner.mjs +11 -11
- package/fesm2022/igo2-common-stop-propagation.mjs +11 -11
- package/fesm2022/igo2-common-table.mjs +9 -9
- package/fesm2022/igo2-common-tool.mjs +16 -16
- package/fesm2022/igo2-common-widget.mjs +15 -15
- package/fesm2022/igo2-common-workspace.mjs +19 -19
- package/icon/icon/icon.component.d.ts +2 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-form.mjs","sources":["../../../packages/common/form/src/shared/form.utils.ts","../../../packages/common/form/src/form/form.component.ts","../../../packages/common/form/src/form/form.component.html","../../../packages/common/form/src/form/form.module.ts","../../../packages/common/form/src/shared/form-field.service.ts","../../../packages/common/form/src/shared/form-field-component.ts","../../../packages/common/form/src/form-field/form-field-select.component.ts","../../../packages/common/form/src/form-field/form-field-select.component.html","../../../packages/common/form/src/form-field/form-field-text.component.ts","../../../packages/common/form/src/form-field/form-field-text.component.html","../../../packages/common/form/src/form-field/form-field-textarea.component.ts","../../../packages/common/form/src/form-field/form-field-textarea.component.html","../../../packages/common/form/src/shared/form.service.ts","../../../packages/common/form/src/form-field/form-field.component.ts","../../../packages/common/form/src/form-field/form-field.component.html","../../../packages/common/form/src/form-field/form-field.directive.ts","../../../packages/common/form/src/form-field/form-field.module.ts","../../../packages/common/form/src/form-group/form-group.component.ts","../../../packages/common/form/src/form-group/form-group.component.html","../../../packages/common/form/src/form-group/form-group.module.ts","../../../packages/common/form/src/form.module.ts","../../../packages/common/form/src/form-dialog/form-dialog.component.ts","../../../packages/common/form/src/form-dialog/form-dialog.component.html","../../../packages/common/form/src/form-dialog/form-dialog.service.ts","../../../packages/common/form/src/form-dialog/form-dialog.module.ts","../../../packages/common/form/src/igo2-common-form.ts"],"sourcesContent":["import { AbstractControl } from '@angular/forms';\n\nimport { Form, FormField, FormFieldGroup } from './form.interfaces';\n\nexport function formControlIsRequired(control: AbstractControl): boolean {\n if (control.validator) {\n const validator = control.validator({} as AbstractControl);\n if (validator && validator.required) {\n return true;\n }\n }\n\n if ((control as any).controls) {\n const requiredControl = Object.keys((control as any).controls).find(\n (key: string) => {\n return formControlIsRequired((control as any).controls[key]);\n }\n );\n return requiredControl !== undefined;\n }\n\n return false;\n}\n\nexport function getDefaultErrorMessages(): Record<string, string> {\n return {\n required: 'igo.common.form.errors.required',\n email: 'igo.common.form.errors.email'\n };\n}\n\nexport function getControlErrorMessage(\n control: AbstractControl,\n messages: Record<string, string>\n): string {\n const errors = control.errors || {};\n const errorKeys = Object.keys(errors);\n const errorMessages = errorKeys\n .map((key: string) => messages[key])\n .filter((message: string) => message !== undefined);\n return errorMessages.length > 0 ? errorMessages[0] : '';\n}\n\nexport function getAllFormFields(form: Form): FormField[] {\n return form.groups.reduce((acc: FormField[], group: FormFieldGroup) => {\n return acc.concat(group.fields);\n }, [].concat(form.fields));\n}\n\nexport function getFormFieldByName(form: Form, name: string): FormField {\n const fields = getAllFormFields(form);\n return fields.find((field: FormField) => {\n return field.name === name;\n });\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { t } from 'typy';\n\nimport { Form, FormField, FormFieldGroup } from '../shared/form.interfaces';\nimport { getAllFormFields } from '../shared/form.utils';\n\n/**\n * A configurable form\n */\n@Component({\n selector: 'igo-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, ReactiveFormsModule, NgClass]\n})\nexport class FormComponent implements OnChanges {\n /**\n * Form\n */\n @Input() form: Form;\n\n /**\n * Input data\n */\n @Input() formData: Record<string, any>;\n\n /**\n * Form autocomplete\n */\n @Input() autocomplete = 'off';\n\n /**\n * Event emitted when the form is submitted\n */\n @Output() submitForm = new EventEmitter<Record<string, any>>();\n\n @ViewChild('buttons', { static: true }) buttons: ElementRef;\n\n get hasButtons(): boolean {\n return this.buttons.nativeElement.children.length !== 0;\n }\n\n /**\n * Is the entity or the template change, recreate the form or repopulate it.\n * @internal\n */\n ngOnChanges(changes: SimpleChanges) {\n const formData = changes.formData;\n if (formData.firstChange && formData.currentValue == null) {\n return;\n }\n\n if (formData && formData.currentValue !== formData.previousValue) {\n if (formData.currentValue === undefined) {\n this.clear();\n } else {\n this.setData(formData.currentValue);\n }\n }\n }\n\n /**\n * Transform the form data to a feature and emit an event\n * @param event Form submit event\n * @internal\n */\n onSubmit() {\n this.submitForm.emit(this.getData());\n }\n\n getData(): Record<string, any> {\n const data = {};\n getAllFormFields(this.form).forEach((field: FormField) => {\n this.updateDataWithFormField(data, field);\n });\n return data;\n }\n\n private setData(data: Record<string, any>) {\n this.form.fields.forEach((field: FormField) => {\n field.control.setValue(t(data, field.name).safeObject);\n });\n\n this.form.groups.forEach((group: FormFieldGroup) => {\n group.fields.forEach((field: FormField) => {\n field.control.setValue(t(data, field.name).safeObject);\n });\n });\n }\n\n private updateDataWithFormField(data: Record<string, any>, field: FormField) {\n const control = field.control;\n if (!control.disabled) {\n data[field.name] = control.value;\n }\n }\n\n /**\n * Clear form\n */\n private clear() {\n this.form.control.reset();\n }\n}\n","<form\n [autocomplete]=\"autocomplete\"\n [formGroup]=\"form.control\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div\n class=\"igo-form-body\"\n [ngClass]=\"{ 'igo-form-body-with-buttons': hasButtons }\"\n >\n <div class=\"igo-form-content\">\n <ng-content></ng-content>\n </div>\n <div #buttons class=\"igo-form-buttons\">\n <ng-content select=\"[formButtons]\"></ng-content>\n </div>\n </div>\n</form>\n","import { NgModule } from '@angular/core';\n\nimport { FormComponent } from './form.component';\n\n/**\n * @deprecated import the FormComponent directly\n */\n@NgModule({\n imports: [FormComponent],\n exports: [FormComponent]\n})\nexport class IgoFormFormModule {}\n","import { Injectable } from '@angular/core';\n\n/**\n * Service where all available form fields are registered.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class FormFieldService {\n static fields: Record<string, any> = {};\n\n static register(type: string, component: any) {\n FormFieldService.fields[type] = component;\n }\n\n /**\n * Return field component by type\n * @param type Field type\n * @returns Field component\n */\n getFieldByType(type: string): any {\n return FormFieldService.fields[type];\n }\n}\n","import { FormFieldService } from './form-field.service';\n\nexport function IgoFormFieldComponent(type: string): (cls: any) => any {\n return (compType: any) => {\n FormFieldService.register(type, compType);\n };\n}\n","import { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { UntypedFormControl } from '@angular/forms';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { IgoFormFieldComponent } from '../shared/form-field-component';\nimport { FormFieldSelectChoice } from '../shared/form.interfaces';\nimport {\n formControlIsRequired,\n getControlErrorMessage\n} from '../shared/form.utils';\n\n/**\n * This component renders a select field\n */\n@IgoFormFieldComponent('select')\n@Component({\n selector: 'igo-form-field-select',\n templateUrl: './form-field-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatFormFieldModule,\n MatSelectModule,\n FormsModule,\n ReactiveFormsModule,\n NgFor,\n MatOptionModule,\n NgIf,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormFieldSelectComponent implements OnInit {\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Select input choices\n */\n @Input()\n set choices(value: FormFieldSelectChoice[]) {\n this.choices$.next(value);\n }\n get choices(): FormFieldSelectChoice[] {\n return this.choices$.value;\n }\n readonly choices$ = new BehaviorSubject<FormFieldSelectChoice[]>([]);\n\n /**\n * If the select allow multiple selections\n */\n @Input() multiple = false;\n\n /**\n * The field's form control\n */\n @Input() formControl: UntypedFormControl;\n\n /**\n * Field placeholder\n */\n @Input() placeholder: string;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Wheter a disable switch should be available\n */\n @Input() disableSwitch = false;\n\n /**\n * Whether the field is required\n */\n get required(): boolean {\n return formControlIsRequired(this.formControl);\n }\n\n ngOnInit() {\n this.disabled$.next(this.formControl.disabled);\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n return getControlErrorMessage(this.formControl, this.errors);\n }\n\n onDisableSwitchClick() {\n this.toggleDisabled();\n }\n\n private toggleDisabled() {\n const disabled = !this.disabled$.value;\n if (disabled === true) {\n this.formControl.disable();\n } else {\n this.formControl.enable();\n }\n this.disabled$.next(disabled);\n }\n}\n","<mat-form-field>\n <mat-select\n [multiple]=\"multiple\"\n [required]=\"required\"\n [placeholder]=\"placeholder | translate\"\n [formControl]=\"formControl\"\n >\n <mat-option *ngFor=\"let choice of choices$ | async\" [value]=\"choice.value\">\n {{ choice.title }}\n </mat-option>\n </mat-select>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >{{\n (disabled$ | async) === true ? 'check_box_outline_blank' : 'check_box'\n }}\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { UntypedFormControl } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { IgoFormFieldComponent } from '../shared/form-field-component';\nimport {\n formControlIsRequired,\n getControlErrorMessage\n} from '../shared/form.utils';\n\n/**\n * This component renders a text field\n */\n@IgoFormFieldComponent('text')\n@Component({\n selector: 'igo-form-field-text',\n templateUrl: './form-field-text.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n NgIf,\n MatIconModule,\n MatButtonModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormFieldTextComponent implements OnInit {\n disabled$ = new BehaviorSubject<boolean>(false);\n hide = true;\n private lastTimeoutRequest;\n\n /**\n * The field's form control\n */\n @Input() formControl: UntypedFormControl;\n\n /**\n * Field placeholder\n */\n @Input() placeholder: string;\n\n /**\n * if the input is a password\n */\n @Input() isPassword: boolean;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Wheter a disable switch should be available\n */\n @Input() disableSwitch = false;\n\n /**\n * Whether the field is required\n */\n get required(): boolean {\n return formControlIsRequired(this.formControl);\n }\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.disabled$.next(this.formControl.disabled);\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n return getControlErrorMessage(this.formControl, this.errors);\n }\n\n onDisableSwitchClick() {\n this.toggleDisabled();\n }\n\n private toggleDisabled() {\n const disabled = !this.disabled$.value;\n if (disabled === true) {\n this.formControl.disable();\n } else {\n this.formControl.enable();\n }\n this.disabled$.next(disabled);\n }\n\n togglePassword() {\n this.hide = !this.hide;\n this.delayedHide();\n }\n delayedHide(delayMS = 10000) {\n if (this.isPassword && !this.hide) {\n if (this.lastTimeoutRequest) {\n clearTimeout(this.lastTimeoutRequest);\n }\n this.lastTimeoutRequest = setTimeout(() => {\n this.hide = true;\n this.cdRef.detectChanges();\n }, delayMS);\n }\n }\n}\n","<mat-form-field>\n <input\n matInput\n (blur)=\"delayedHide(0)\"\n [type]=\"isPassword ? (hide ? 'password' : 'text') : 'text'\"\n [required]=\"isPassword ? 'true' : required\"\n [placeholder]=\"placeholder | translate\"\n [formControl]=\"formControl\"\n (change)=\"delayedHide()\"\n />\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >{{\n (disabled$ | async) === true ? 'check_box_outline_blank' : 'check_box'\n }}\n </mat-icon>\n\n <button\n type=\"button\"\n *ngIf=\"isPassword\"\n matSuffix\n mat-icon-button\n (click)=\"togglePassword()\"\n >\n <mat-icon color=\"primary\">{{\n hide ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { UntypedFormControl } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { IgoFormFieldComponent } from '../shared/form-field-component';\nimport {\n formControlIsRequired,\n getControlErrorMessage\n} from '../shared/form.utils';\n\n/**\n * This component renders a textarea field\n */\n@IgoFormFieldComponent('textarea')\n@Component({\n selector: 'igo-form-field-textarea',\n templateUrl: './form-field-textarea.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n NgIf,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormFieldTextareaComponent implements OnInit {\n disabled$ = new BehaviorSubject<boolean>(false);\n\n /**\n * The field's form control\n */\n @Input() formControl: UntypedFormControl;\n\n /**\n * Field placeholder\n */\n @Input() placeholder: string;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Wheter a disable switch should be available\n */\n @Input() disableSwitch = false;\n\n /**\n * Whether the field is required\n */\n get required(): boolean {\n return formControlIsRequired(this.formControl);\n }\n\n ngOnInit() {\n this.disabled$.next(this.formControl.disabled);\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n return getControlErrorMessage(this.formControl, this.errors);\n }\n\n onDisableSwitchClick() {\n this.toggleDisabled();\n }\n\n private toggleDisabled() {\n const disabled = !this.disabled$.value;\n if (disabled === true) {\n this.formControl.disable();\n } else {\n this.formControl.enable();\n }\n this.disabled$.next(disabled);\n }\n}\n","<mat-form-field>\n <textarea\n matInput\n [required]=\"required\"\n [placeholder]=\"placeholder | translate\"\n [formControl]=\"formControl\"\n >\n </textarea>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >{{\n (disabled$ | async) === true ? 'check_box_outline_blank' : 'check_box'\n }}\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n","import { Injectable } from '@angular/core';\nimport {\n FormControlState,\n UntypedFormBuilder,\n ValidatorFn,\n Validators\n} from '@angular/forms';\n\nimport {\n Form,\n FormField,\n FormFieldConfig,\n FormFieldGroup,\n FormFieldGroupConfig\n} from './form.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormService {\n constructor(private formBuilder: UntypedFormBuilder) {}\n\n form(fields: FormField[], groups: FormFieldGroup[]): Form {\n const control = this.formBuilder.group({});\n fields.forEach((field: FormField) => {\n control.addControl(field.name, field.control);\n });\n groups.forEach((group: FormFieldGroup) => {\n control.addControl(group.name, group.control);\n });\n\n return { fields, groups, control };\n }\n\n group(config: FormFieldGroupConfig, fields: FormField[]): FormFieldGroup {\n const options = config.options || {};\n const control = this.formBuilder.group({});\n fields.forEach((field: FormField) => {\n control.addControl(field.name, field.control);\n });\n\n if (options.validator) {\n const validators = this.getValidators(options.validator); // convert string to actual validator\n control.setValidators(validators);\n }\n\n return Object.assign({}, config, { fields, control }) as FormFieldGroup;\n }\n\n field(config: FormFieldConfig): FormField {\n const options = config.options || {};\n const state: FormControlState<unknown> = {\n value: options.initialValue ?? '',\n disabled: options.disabled\n };\n const control = this.formBuilder.control(state);\n\n if (options.validator) {\n const validators = this.getValidators(options.validator); // convert string to actual validator\n control.setValidators(validators);\n }\n\n return Object.assign({ type: 'text' }, config, { control }) as FormField;\n }\n\n extendFieldConfig(\n config: FormFieldConfig,\n partial: Partial<FormFieldConfig>\n ): FormFieldConfig {\n const options = Object.assign(\n {},\n config.options || {},\n partial.options || {}\n );\n const inputs = Object.assign({}, config.inputs || {}, partial.inputs || {});\n const subscribers = Object.assign(\n {},\n config.subscribers || {},\n partial.subscribers || {}\n );\n return Object.assign({}, config, { options, inputs, subscribers });\n }\n\n private getValidators(\n validatorOption: string | string[] | ValidatorFn\n ): ValidatorFn | ValidatorFn[] {\n if (Array.isArray(validatorOption)) {\n return validatorOption.map((validatorStr) => {\n return this.getValidator(validatorStr);\n });\n }\n\n return this.getValidator(validatorOption);\n }\n\n private getValidator(validatorStr: string | ValidatorFn): ValidatorFn {\n if (typeof validatorStr !== 'string') {\n return validatorStr;\n }\n\n // regex pattern to extract arguments from string for e.g applying on \"minLength(8)\" would extract 8\n const re = /^([a-zA-Z]{3,15})\\((.{0,20})\\)$/;\n const match = validatorStr.match(re);\n\n if (!match) {\n return Validators[validatorStr];\n }\n\n const name = match[1];\n const args = match[2];\n return Validators[name](args);\n }\n}\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DynamicOutletComponent } from '@igo2/common/dynamic-component';\n\nimport { getDefaultErrorMessages } from '../shared';\nimport { FormFieldService } from '../shared/form-field.service';\nimport {\n FormField,\n FormFieldInputs,\n FormFieldOptions,\n FormFieldSubscribers\n} from '../shared/form.interfaces';\n\n/**\n * This component renders the proper form input based on\n * the field configuration it receives.\n */\n@Component({\n selector: 'igo-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, DynamicOutletComponent]\n})\nexport class FormFieldComponent {\n /**\n * Field configuration\n */\n @Input() field: FormField;\n\n /**\n * Field inputs cache\n */\n private fieldInputs: FormFieldInputs = undefined;\n\n /**\n * Field subscribers cache\n */\n private fieldSubscribers: FormFieldSubscribers = undefined;\n\n get fieldOptions(): FormFieldOptions {\n return this.field.options || {};\n }\n\n constructor(private formFieldService: FormFieldService) {}\n\n getFieldComponent(): any {\n return this.formFieldService.getFieldByType(this.field.type || 'text');\n }\n\n getFieldInputs(): FormFieldInputs {\n if (this.fieldInputs !== undefined) {\n return this.fieldInputs;\n }\n\n const errors = this.fieldOptions.errors || {};\n this.fieldInputs = Object.assign(\n {\n placeholder: this.field.title,\n disableSwitch: this.fieldOptions.disableSwitch || false\n },\n Object.assign({}, this.field.inputs || {}),\n {\n formControl: this.field.control,\n errors: Object.assign({}, getDefaultErrorMessages(), errors)\n }\n );\n return this.fieldInputs;\n }\n\n getFieldSubscribers(): FormFieldSubscribers {\n if (this.fieldSubscribers !== undefined) {\n return this.fieldSubscribers;\n }\n\n this.fieldSubscribers = Object.assign({}, this.field.subscribers || {});\n return this.fieldSubscribers;\n }\n}\n","<ng-container *ngIf=\"field !== undefined\">\n <igo-dynamic-outlet\n [component]=\"getFieldComponent()\"\n [inputs]=\"getFieldInputs()\"\n [subscribers]=\"getFieldSubscribers()\"\n >\n </igo-dynamic-outlet>\n</ng-container>\n","import { FormFieldSelectComponent } from './form-field-select.component';\nimport { FormFieldTextComponent } from './form-field-text.component';\nimport { FormFieldTextareaComponent } from './form-field-textarea.component';\nimport { FormFieldComponent } from './form-field.component';\n\nexport const FORM_FIELD_DIRECTIVES = [\n FormFieldComponent,\n FormFieldSelectComponent,\n FormFieldTextComponent,\n FormFieldTextareaComponent\n] as const;\n","import { NgModule } from '@angular/core';\n\nimport { FORM_FIELD_DIRECTIVES } from './form-field.directive';\n\n/**\n * @deprecated import the components directly or FORM_FIELD_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...FORM_FIELD_DIRECTIVES],\n exports: [...FORM_FIELD_DIRECTIVES]\n})\nexport class IgoFormFieldModule {}\n","import { NgClass, NgFor, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { FormFieldComponent } from '../form-field/form-field.component';\nimport { FormField, FormFieldGroup } from '../shared/form.interfaces';\nimport { getControlErrorMessage } from '../shared/form.utils';\n\n/**\n * A configurable form, optionnally bound to an entity\n * (for example in case of un update). Submitting that form\n * emits an event with the form data but no other operation is performed.\n */\n@Component({\n selector: 'igo-form-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgFor,\n NgClass,\n FormFieldComponent,\n MatFormFieldModule,\n IgoLanguageModule\n ]\n})\nexport class FormGroupComponent {\n /**\n * Form field group\n */\n @Input() group: FormFieldGroup;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Form group control\n */\n get formControl(): UntypedFormGroup {\n return this.group.control;\n }\n\n /**\n * Return the number of columns a field should occupy.\n * The maximum allowed is 2, even if the field config says more.\n * @param field Field\n * @returns Number of columns\n * @internal\n */\n getFieldColSpan(field: FormField): number {\n let colSpan = 2;\n const options = field.options || {};\n if (options.cols && options.cols > 0) {\n colSpan = Math.min(options.cols, 2);\n }\n\n return colSpan;\n }\n\n /**\n * Return the number of columns a field should occupy.\n * The maximum allowed is 2, even if the field config says more.\n * @param field Field\n * @returns Number of columns\n * @internal\n */\n getFieldNgClass(field: FormField): Record<string, boolean> {\n const colspan = this.getFieldColSpan(field);\n return { [`igo-form-field-colspan-${colspan}`]: true };\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n const options = this.group.options || {};\n return getControlErrorMessage(this.formControl, options.errors || {});\n }\n}\n","<div *ngIf=\"group && group.fields.length > 0\" class=\"igo-form-group-fields\">\n <div\n *ngFor=\"let field of group.fields\"\n class=\"igo-form-field-wrapper\"\n [ngClass]=\"getFieldNgClass(field)\"\n >\n <igo-form-field [field]=\"field\"></igo-form-field>\n </div>\n</div>\n\n<div class=\"igo-form-group-extra-content\">\n <ng-content></ng-content>\n</div>\n\n<mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n}}</mat-error>\n","import { NgModule } from '@angular/core';\n\nimport { FormGroupComponent } from './form-group.component';\n\n/**\n * @deprecated import the FormGroupComponent directly\n */\n@NgModule({\n imports: [FormGroupComponent],\n exports: [FormGroupComponent]\n})\nexport class IgoFormGroupModule {}\n","import { NgModule } from '@angular/core';\n\nimport { FormComponent } from './form';\nimport { FORM_FIELD_DIRECTIVES } from './form-field';\nimport { FormGroupComponent } from './form-group';\n\nexport const FORM_DIRECTIVES = [\n ...FORM_FIELD_DIRECTIVES,\n FormGroupComponent,\n FormComponent\n] as const;\n\n/**\n * @deprecated import the components directly or FORM_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...FORM_DIRECTIVES],\n exports: [...FORM_DIRECTIVES]\n})\nexport class IgoFormModule {}\n","import { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport { Component, Inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\n\nimport { CustomHtmlComponent } from '@igo2/common/custom-html';\nimport { LanguageService } from '@igo2/core/language';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FormComponent } from '../form';\nimport { FormFieldComponent } from '../form-field';\nimport { FormGroupComponent } from '../form-group';\nimport {\n Form,\n FormField,\n FormFieldGroup,\n FormFieldInputs,\n FormService\n} from '../shared';\nimport { FormDialogData } from './form-dialog.interface';\n\n@Component({\n selector: 'igo-form-dialog',\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n imports: [\n MatDialogTitle,\n NgIf,\n FormComponent,\n NgFor,\n FormFieldComponent,\n FormGroupComponent,\n MatDialogActions,\n MatButtonModule,\n CustomHtmlComponent,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormDialogComponent {\n form$ = new BehaviorSubject<Form>(undefined);\n data$ = new BehaviorSubject<Record<string, any>>(undefined);\n constructor(\n public languageService: LanguageService,\n public dialogRef: MatDialogRef<FormDialogComponent>,\n private formService: FormService,\n @Inject(MAT_DIALOG_DATA)\n public data: FormDialogData\n ) {\n this.data.processButtonText =\n this.data.processButtonText ?? 'igo.common.formDialog.processButtonText';\n this.data.cancelButtonText =\n this.data.cancelButtonText ?? 'igo.common.formDialog.cancelButtonText';\n this.data.title = this.data.title ?? 'igo.common.formDialog.title';\n this.data$ = this.data.data$;\n\n const fields: FormField<FormFieldInputs>[] = [];\n const groups: FormFieldGroup[] = [];\n this.data.formFieldConfigs?.map((config) =>\n fields.push(this.formService.field(config))\n );\n\n this.data.formGroupsConfigs?.map((formGroupsConfig) => {\n const fields = formGroupsConfig.formFieldConfigs?.map((config) =>\n this.formService.field(config)\n );\n groups.push(\n this.formService.group({ name: formGroupsConfig.name }, fields)\n );\n });\n const form = this.formService.form(fields, groups);\n\n this.form$.next(form);\n }\n\n onSubmit(data: Record<string, any>) {\n const form = this.form$.getValue();\n if (form.control.valid) {\n this.dialogRef.close(data);\n } else {\n if (form.groups?.length) {\n form.groups.map((group) => {\n Object.keys(group.control.controls).map((k) => {\n group.control.controls[k].markAsTouched();\n group.control.controls[k].updateValueAndValidity();\n });\n });\n } else {\n form.fields.map((f) => {\n f.control.markAsTouched();\n f.control.updateValueAndValidity();\n });\n }\n }\n }\n cancel() {\n this.dialogRef.close();\n }\n}\n","<h1 mat-dialog-title>{{ data.title | translate }}</h1>\n\n<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($event)\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-dialog-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\n <igo-form-group\n *ngFor=\"let group of form.groups\"\n [group]=\"group\"\n ></igo-form-group>\n </div>\n\n <div formButtons mat-dialog-actions>\n <button mat-stroked-button type=\"button\" color=\"primary\" (click)=\"cancel()\">\n {{ data.cancelButtonText | translate }}\n </button>\n <button mat-flat-button type=\"submit\" color=\"primary\">\n {{ data.processButtonText | translate }}\n </button>\n </div>\n</igo-form>\n<div>\n <igo-custom-html\n *ngIf=\"data.notice && data.notice !== ''\"\n [html]=\"data.notice\"\n >\n </igo-custom-html>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { FormDialogComponent } from './form-dialog.component';\nimport {\n FormDialogData,\n FormDialogFormConfig,\n FormDialogOptions\n} from './form-dialog.interface';\n\n@Injectable()\nexport class FormDialogService {\n constructor(private dialog: MatDialog) {}\n\n public open(\n formDialogConfig?: FormDialogFormConfig,\n options?: FormDialogOptions\n ): Observable<Record<string, any>> {\n const data: FormDialogData = {\n formFieldConfigs: formDialogConfig.formFieldConfigs,\n formGroupsConfigs: formDialogConfig.formGroupsConfigs,\n ...options\n };\n const dialogRef = this.dialog.open(FormDialogComponent, {\n disableClose: false,\n data,\n ...options\n });\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { FormDialogComponent } from './form-dialog.component';\nimport { FormDialogService } from './form-dialog.service';\n\n/**\n * @deprecated import the FlexibleComponent directly\n */\n@NgModule({\n imports: [MatDialogModule, FormDialogComponent],\n exports: [FormDialogComponent],\n providers: [FormDialogService]\n})\nexport class IgoFormDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoFormDialogModule> {\n return {\n ngModule: IgoFormDialogModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i5","i2","i1.FormFieldService","i1.FormFieldComponent","i2.FormFieldSelectComponent","i3.FormFieldTextComponent","i4.FormFieldTextareaComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-form.mjs","sources":["../../../packages/common/form/src/shared/form.utils.ts","../../../packages/common/form/src/form/form.component.ts","../../../packages/common/form/src/form/form.component.html","../../../packages/common/form/src/form/form.module.ts","../../../packages/common/form/src/shared/form-field.service.ts","../../../packages/common/form/src/shared/form-field-component.ts","../../../packages/common/form/src/form-field/form-field-select.component.ts","../../../packages/common/form/src/form-field/form-field-select.component.html","../../../packages/common/form/src/form-field/form-field-text.component.ts","../../../packages/common/form/src/form-field/form-field-text.component.html","../../../packages/common/form/src/form-field/form-field-textarea.component.ts","../../../packages/common/form/src/form-field/form-field-textarea.component.html","../../../packages/common/form/src/shared/form.service.ts","../../../packages/common/form/src/form-field/form-field.component.ts","../../../packages/common/form/src/form-field/form-field.component.html","../../../packages/common/form/src/form-field/form-field.directive.ts","../../../packages/common/form/src/form-field/form-field.module.ts","../../../packages/common/form/src/form-group/form-group.component.ts","../../../packages/common/form/src/form-group/form-group.component.html","../../../packages/common/form/src/form-group/form-group.module.ts","../../../packages/common/form/src/form.module.ts","../../../packages/common/form/src/form-dialog/form-dialog.component.ts","../../../packages/common/form/src/form-dialog/form-dialog.component.html","../../../packages/common/form/src/form-dialog/form-dialog.service.ts","../../../packages/common/form/src/form-dialog/form-dialog.module.ts","../../../packages/common/form/src/igo2-common-form.ts"],"sourcesContent":["import { AbstractControl } from '@angular/forms';\n\nimport { Form, FormField, FormFieldGroup } from './form.interfaces';\n\nexport function formControlIsRequired(control: AbstractControl): boolean {\n if (control.validator) {\n const validator = control.validator({} as AbstractControl);\n if (validator && validator.required) {\n return true;\n }\n }\n\n if ((control as any).controls) {\n const requiredControl = Object.keys((control as any).controls).find(\n (key: string) => {\n return formControlIsRequired((control as any).controls[key]);\n }\n );\n return requiredControl !== undefined;\n }\n\n return false;\n}\n\nexport function getDefaultErrorMessages(): Record<string, string> {\n return {\n required: 'igo.common.form.errors.required',\n email: 'igo.common.form.errors.email'\n };\n}\n\nexport function getControlErrorMessage(\n control: AbstractControl,\n messages: Record<string, string>\n): string {\n const errors = control.errors || {};\n const errorKeys = Object.keys(errors);\n const errorMessages = errorKeys\n .map((key: string) => messages[key])\n .filter((message: string) => message !== undefined);\n return errorMessages.length > 0 ? errorMessages[0] : '';\n}\n\nexport function getAllFormFields(form: Form): FormField[] {\n return form.groups.reduce((acc: FormField[], group: FormFieldGroup) => {\n return acc.concat(group.fields);\n }, [].concat(form.fields));\n}\n\nexport function getFormFieldByName(form: Form, name: string): FormField {\n const fields = getAllFormFields(form);\n return fields.find((field: FormField) => {\n return field.name === name;\n });\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { t } from 'typy';\n\nimport { Form, FormField, FormFieldGroup } from '../shared/form.interfaces';\nimport { getAllFormFields } from '../shared/form.utils';\n\n/**\n * A configurable form\n */\n@Component({\n selector: 'igo-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, ReactiveFormsModule, NgClass]\n})\nexport class FormComponent implements OnChanges {\n /**\n * Form\n */\n @Input() form: Form;\n\n /**\n * Input data\n */\n @Input() formData: Record<string, any>;\n\n /**\n * Form autocomplete\n */\n @Input() autocomplete = 'off';\n\n /**\n * Event emitted when the form is submitted\n */\n @Output() submitForm = new EventEmitter<Record<string, any>>();\n\n @ViewChild('buttons', { static: true }) buttons: ElementRef;\n\n get hasButtons(): boolean {\n return this.buttons.nativeElement.children.length !== 0;\n }\n\n /**\n * Is the entity or the template change, recreate the form or repopulate it.\n * @internal\n */\n ngOnChanges(changes: SimpleChanges) {\n const formData = changes.formData;\n if (formData.firstChange && formData.currentValue == null) {\n return;\n }\n\n if (formData && formData.currentValue !== formData.previousValue) {\n if (formData.currentValue === undefined) {\n this.clear();\n } else {\n this.setData(formData.currentValue);\n }\n }\n }\n\n /**\n * Transform the form data to a feature and emit an event\n * @param event Form submit event\n * @internal\n */\n onSubmit() {\n this.submitForm.emit(this.getData());\n }\n\n getData(): Record<string, any> {\n const data = {};\n getAllFormFields(this.form).forEach((field: FormField) => {\n this.updateDataWithFormField(data, field);\n });\n return data;\n }\n\n private setData(data: Record<string, any>) {\n this.form.fields.forEach((field: FormField) => {\n field.control.setValue(t(data, field.name).safeObject);\n });\n\n this.form.groups.forEach((group: FormFieldGroup) => {\n group.fields.forEach((field: FormField) => {\n field.control.setValue(t(data, field.name).safeObject);\n });\n });\n }\n\n private updateDataWithFormField(data: Record<string, any>, field: FormField) {\n const control = field.control;\n if (!control.disabled) {\n data[field.name] = control.value;\n }\n }\n\n /**\n * Clear form\n */\n private clear() {\n this.form.control.reset();\n }\n}\n","<form\n [autocomplete]=\"autocomplete\"\n [formGroup]=\"form.control\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div\n class=\"igo-form-body\"\n [ngClass]=\"{ 'igo-form-body-with-buttons': hasButtons }\"\n >\n <div class=\"igo-form-content\">\n <ng-content></ng-content>\n </div>\n <div #buttons class=\"igo-form-buttons\">\n <ng-content select=\"[formButtons]\"></ng-content>\n </div>\n </div>\n</form>\n","import { NgModule } from '@angular/core';\n\nimport { FormComponent } from './form.component';\n\n/**\n * @deprecated import the FormComponent directly\n */\n@NgModule({\n imports: [FormComponent],\n exports: [FormComponent]\n})\nexport class IgoFormFormModule {}\n","import { Injectable } from '@angular/core';\n\n/**\n * Service where all available form fields are registered.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class FormFieldService {\n static fields: Record<string, any> = {};\n\n static register(type: string, component: any) {\n FormFieldService.fields[type] = component;\n }\n\n /**\n * Return field component by type\n * @param type Field type\n * @returns Field component\n */\n getFieldByType(type: string): any {\n return FormFieldService.fields[type];\n }\n}\n","import { FormFieldService } from './form-field.service';\n\nexport function IgoFormFieldComponent(type: string): (cls: any) => any {\n return (compType: any) => {\n FormFieldService.register(type, compType);\n };\n}\n","import { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { UntypedFormControl } from '@angular/forms';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { IgoFormFieldComponent } from '../shared/form-field-component';\nimport { FormFieldSelectChoice } from '../shared/form.interfaces';\nimport {\n formControlIsRequired,\n getControlErrorMessage\n} from '../shared/form.utils';\n\n/**\n * This component renders a select field\n */\n@IgoFormFieldComponent('select')\n@Component({\n selector: 'igo-form-field-select',\n templateUrl: './form-field-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatFormFieldModule,\n MatSelectModule,\n FormsModule,\n ReactiveFormsModule,\n NgFor,\n MatOptionModule,\n NgIf,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormFieldSelectComponent implements OnInit {\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Select input choices\n */\n @Input()\n set choices(value: FormFieldSelectChoice[]) {\n this.choices$.next(value);\n }\n get choices(): FormFieldSelectChoice[] {\n return this.choices$.value;\n }\n readonly choices$ = new BehaviorSubject<FormFieldSelectChoice[]>([]);\n\n /**\n * If the select allow multiple selections\n */\n @Input() multiple = false;\n\n /**\n * The field's form control\n */\n @Input() formControl: UntypedFormControl;\n\n /**\n * Field placeholder\n */\n @Input() placeholder: string;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Wheter a disable switch should be available\n */\n @Input() disableSwitch = false;\n\n /**\n * Whether the field is required\n */\n get required(): boolean {\n return formControlIsRequired(this.formControl);\n }\n\n ngOnInit() {\n this.disabled$.next(this.formControl.disabled);\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n return getControlErrorMessage(this.formControl, this.errors);\n }\n\n onDisableSwitchClick() {\n this.toggleDisabled();\n }\n\n private toggleDisabled() {\n const disabled = !this.disabled$.value;\n if (disabled === true) {\n this.formControl.disable();\n } else {\n this.formControl.enable();\n }\n this.disabled$.next(disabled);\n }\n}\n","<mat-form-field>\n <mat-select\n [multiple]=\"multiple\"\n [required]=\"required\"\n [placeholder]=\"placeholder | translate\"\n [formControl]=\"formControl\"\n >\n <mat-option *ngFor=\"let choice of choices$ | async\" [value]=\"choice.value\">\n {{ choice.title }}\n </mat-option>\n </mat-select>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >{{\n (disabled$ | async) === true ? 'check_box_outline_blank' : 'check_box'\n }}\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { UntypedFormControl } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { IgoFormFieldComponent } from '../shared/form-field-component';\nimport {\n formControlIsRequired,\n getControlErrorMessage\n} from '../shared/form.utils';\n\n/**\n * This component renders a text field\n */\n@IgoFormFieldComponent('text')\n@Component({\n selector: 'igo-form-field-text',\n templateUrl: './form-field-text.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n NgIf,\n MatIconModule,\n MatButtonModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormFieldTextComponent implements OnInit {\n disabled$ = new BehaviorSubject<boolean>(false);\n hide = true;\n private lastTimeoutRequest;\n\n /**\n * The field's form control\n */\n @Input() formControl: UntypedFormControl;\n\n /**\n * Field placeholder\n */\n @Input() placeholder: string;\n\n /**\n * if the input is a password\n */\n @Input() isPassword: boolean;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Wheter a disable switch should be available\n */\n @Input() disableSwitch = false;\n\n /**\n * Whether the field is required\n */\n get required(): boolean {\n return formControlIsRequired(this.formControl);\n }\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.disabled$.next(this.formControl.disabled);\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n return getControlErrorMessage(this.formControl, this.errors);\n }\n\n onDisableSwitchClick() {\n this.toggleDisabled();\n }\n\n private toggleDisabled() {\n const disabled = !this.disabled$.value;\n if (disabled === true) {\n this.formControl.disable();\n } else {\n this.formControl.enable();\n }\n this.disabled$.next(disabled);\n }\n\n togglePassword() {\n this.hide = !this.hide;\n this.delayedHide();\n }\n delayedHide(delayMS = 10000) {\n if (this.isPassword && !this.hide) {\n if (this.lastTimeoutRequest) {\n clearTimeout(this.lastTimeoutRequest);\n }\n this.lastTimeoutRequest = setTimeout(() => {\n this.hide = true;\n this.cdRef.detectChanges();\n }, delayMS);\n }\n }\n}\n","<mat-form-field>\n <input\n matInput\n (blur)=\"delayedHide(0)\"\n [type]=\"isPassword ? (hide ? 'password' : 'text') : 'text'\"\n [required]=\"isPassword ? 'true' : required\"\n [placeholder]=\"placeholder | translate\"\n [formControl]=\"formControl\"\n (change)=\"delayedHide()\"\n />\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >{{\n (disabled$ | async) === true ? 'check_box_outline_blank' : 'check_box'\n }}\n </mat-icon>\n\n <button\n type=\"button\"\n *ngIf=\"isPassword\"\n matSuffix\n mat-icon-button\n (click)=\"togglePassword()\"\n >\n <mat-icon color=\"primary\">{{\n hide ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n","import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport type { UntypedFormControl } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { IgoFormFieldComponent } from '../shared/form-field-component';\nimport {\n formControlIsRequired,\n getControlErrorMessage\n} from '../shared/form.utils';\n\n/**\n * This component renders a textarea field\n */\n@IgoFormFieldComponent('textarea')\n@Component({\n selector: 'igo-form-field-textarea',\n templateUrl: './form-field-textarea.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n NgIf,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormFieldTextareaComponent implements OnInit {\n disabled$ = new BehaviorSubject<boolean>(false);\n\n /**\n * The field's form control\n */\n @Input() formControl: UntypedFormControl;\n\n /**\n * Field placeholder\n */\n @Input() placeholder: string;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Wheter a disable switch should be available\n */\n @Input() disableSwitch = false;\n\n /**\n * Whether the field is required\n */\n get required(): boolean {\n return formControlIsRequired(this.formControl);\n }\n\n ngOnInit() {\n this.disabled$.next(this.formControl.disabled);\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n return getControlErrorMessage(this.formControl, this.errors);\n }\n\n onDisableSwitchClick() {\n this.toggleDisabled();\n }\n\n private toggleDisabled() {\n const disabled = !this.disabled$.value;\n if (disabled === true) {\n this.formControl.disable();\n } else {\n this.formControl.enable();\n }\n this.disabled$.next(disabled);\n }\n}\n","<mat-form-field>\n <textarea\n matInput\n [required]=\"required\"\n [placeholder]=\"placeholder | translate\"\n [formControl]=\"formControl\"\n >\n </textarea>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >{{\n (disabled$ | async) === true ? 'check_box_outline_blank' : 'check_box'\n }}\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n","import { Injectable } from '@angular/core';\nimport {\n FormControlState,\n UntypedFormBuilder,\n ValidatorFn,\n Validators\n} from '@angular/forms';\n\nimport {\n Form,\n FormField,\n FormFieldConfig,\n FormFieldGroup,\n FormFieldGroupConfig\n} from './form.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormService {\n constructor(private formBuilder: UntypedFormBuilder) {}\n\n form(fields: FormField[], groups: FormFieldGroup[]): Form {\n const control = this.formBuilder.group({});\n fields.forEach((field: FormField) => {\n control.addControl(field.name, field.control);\n });\n groups.forEach((group: FormFieldGroup) => {\n control.addControl(group.name, group.control);\n });\n\n return { fields, groups, control };\n }\n\n group(config: FormFieldGroupConfig, fields: FormField[]): FormFieldGroup {\n const options = config.options || {};\n const control = this.formBuilder.group({});\n fields.forEach((field: FormField) => {\n control.addControl(field.name, field.control);\n });\n\n if (options.validator) {\n const validators = this.getValidators(options.validator); // convert string to actual validator\n control.setValidators(validators);\n }\n\n return Object.assign({}, config, { fields, control }) as FormFieldGroup;\n }\n\n field(config: FormFieldConfig): FormField {\n const options = config.options || {};\n const state: FormControlState<unknown> = {\n value: options.initialValue ?? '',\n disabled: options.disabled\n };\n const control = this.formBuilder.control(state);\n\n if (options.validator) {\n const validators = this.getValidators(options.validator); // convert string to actual validator\n control.setValidators(validators);\n }\n\n return Object.assign({ type: 'text' }, config, { control }) as FormField;\n }\n\n extendFieldConfig(\n config: FormFieldConfig,\n partial: Partial<FormFieldConfig>\n ): FormFieldConfig {\n const options = Object.assign(\n {},\n config.options || {},\n partial.options || {}\n );\n const inputs = Object.assign({}, config.inputs || {}, partial.inputs || {});\n const subscribers = Object.assign(\n {},\n config.subscribers || {},\n partial.subscribers || {}\n );\n return Object.assign({}, config, { options, inputs, subscribers });\n }\n\n private getValidators(\n validatorOption: string | string[] | ValidatorFn\n ): ValidatorFn | ValidatorFn[] {\n if (Array.isArray(validatorOption)) {\n return validatorOption.map((validatorStr) => {\n return this.getValidator(validatorStr);\n });\n }\n\n return this.getValidator(validatorOption);\n }\n\n private getValidator(validatorStr: string | ValidatorFn): ValidatorFn {\n if (typeof validatorStr !== 'string') {\n return validatorStr;\n }\n\n // regex pattern to extract arguments from string for e.g applying on \"minLength(8)\" would extract 8\n const re = /^([a-zA-Z]{3,15})\\((.{0,20})\\)$/;\n const match = validatorStr.match(re);\n\n if (!match) {\n return Validators[validatorStr];\n }\n\n const name = match[1];\n const args = match[2];\n return Validators[name](args);\n }\n}\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DynamicOutletComponent } from '@igo2/common/dynamic-component';\n\nimport { getDefaultErrorMessages } from '../shared';\nimport { FormFieldService } from '../shared/form-field.service';\nimport {\n FormField,\n FormFieldInputs,\n FormFieldOptions,\n FormFieldSubscribers\n} from '../shared/form.interfaces';\n\n/**\n * This component renders the proper form input based on\n * the field configuration it receives.\n */\n@Component({\n selector: 'igo-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, DynamicOutletComponent]\n})\nexport class FormFieldComponent {\n /**\n * Field configuration\n */\n @Input() field: FormField;\n\n /**\n * Field inputs cache\n */\n private fieldInputs: FormFieldInputs = undefined;\n\n /**\n * Field subscribers cache\n */\n private fieldSubscribers: FormFieldSubscribers = undefined;\n\n get fieldOptions(): FormFieldOptions {\n return this.field.options || {};\n }\n\n constructor(private formFieldService: FormFieldService) {}\n\n getFieldComponent(): any {\n return this.formFieldService.getFieldByType(this.field.type || 'text');\n }\n\n getFieldInputs(): FormFieldInputs {\n if (this.fieldInputs !== undefined) {\n return this.fieldInputs;\n }\n\n const errors = this.fieldOptions.errors || {};\n this.fieldInputs = Object.assign(\n {\n placeholder: this.field.title,\n disableSwitch: this.fieldOptions.disableSwitch || false\n },\n Object.assign({}, this.field.inputs || {}),\n {\n formControl: this.field.control,\n errors: Object.assign({}, getDefaultErrorMessages(), errors)\n }\n );\n return this.fieldInputs;\n }\n\n getFieldSubscribers(): FormFieldSubscribers {\n if (this.fieldSubscribers !== undefined) {\n return this.fieldSubscribers;\n }\n\n this.fieldSubscribers = Object.assign({}, this.field.subscribers || {});\n return this.fieldSubscribers;\n }\n}\n","<ng-container *ngIf=\"field !== undefined\">\n <igo-dynamic-outlet\n [component]=\"getFieldComponent()\"\n [inputs]=\"getFieldInputs()\"\n [subscribers]=\"getFieldSubscribers()\"\n >\n </igo-dynamic-outlet>\n</ng-container>\n","import { FormFieldSelectComponent } from './form-field-select.component';\nimport { FormFieldTextComponent } from './form-field-text.component';\nimport { FormFieldTextareaComponent } from './form-field-textarea.component';\nimport { FormFieldComponent } from './form-field.component';\n\nexport const FORM_FIELD_DIRECTIVES = [\n FormFieldComponent,\n FormFieldSelectComponent,\n FormFieldTextComponent,\n FormFieldTextareaComponent\n] as const;\n","import { NgModule } from '@angular/core';\n\nimport { FORM_FIELD_DIRECTIVES } from './form-field.directive';\n\n/**\n * @deprecated import the components directly or FORM_FIELD_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...FORM_FIELD_DIRECTIVES],\n exports: [...FORM_FIELD_DIRECTIVES]\n})\nexport class IgoFormFieldModule {}\n","import { NgClass, NgFor, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { FormFieldComponent } from '../form-field/form-field.component';\nimport { FormField, FormFieldGroup } from '../shared/form.interfaces';\nimport { getControlErrorMessage } from '../shared/form.utils';\n\n/**\n * A configurable form, optionnally bound to an entity\n * (for example in case of un update). Submitting that form\n * emits an event with the form data but no other operation is performed.\n */\n@Component({\n selector: 'igo-form-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgFor,\n NgClass,\n FormFieldComponent,\n MatFormFieldModule,\n IgoLanguageModule\n ]\n})\nexport class FormGroupComponent {\n /**\n * Form field group\n */\n @Input() group: FormFieldGroup;\n\n /**\n * Field placeholder\n */\n @Input() errors: Record<string, string>;\n\n /**\n * Form group control\n */\n get formControl(): UntypedFormGroup {\n return this.group.control;\n }\n\n /**\n * Return the number of columns a field should occupy.\n * The maximum allowed is 2, even if the field config says more.\n * @param field Field\n * @returns Number of columns\n * @internal\n */\n getFieldColSpan(field: FormField): number {\n let colSpan = 2;\n const options = field.options || {};\n if (options.cols && options.cols > 0) {\n colSpan = Math.min(options.cols, 2);\n }\n\n return colSpan;\n }\n\n /**\n * Return the number of columns a field should occupy.\n * The maximum allowed is 2, even if the field config says more.\n * @param field Field\n * @returns Number of columns\n * @internal\n */\n getFieldNgClass(field: FormField): Record<string, boolean> {\n const colspan = this.getFieldColSpan(field);\n return { [`igo-form-field-colspan-${colspan}`]: true };\n }\n\n /**\n * Get error message\n */\n getErrorMessage(): string {\n const options = this.group.options || {};\n return getControlErrorMessage(this.formControl, options.errors || {});\n }\n}\n","<div *ngIf=\"group && group.fields.length > 0\" class=\"igo-form-group-fields\">\n <div\n *ngFor=\"let field of group.fields\"\n class=\"igo-form-field-wrapper\"\n [ngClass]=\"getFieldNgClass(field)\"\n >\n <igo-form-field [field]=\"field\"></igo-form-field>\n </div>\n</div>\n\n<div class=\"igo-form-group-extra-content\">\n <ng-content></ng-content>\n</div>\n\n<mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n}}</mat-error>\n","import { NgModule } from '@angular/core';\n\nimport { FormGroupComponent } from './form-group.component';\n\n/**\n * @deprecated import the FormGroupComponent directly\n */\n@NgModule({\n imports: [FormGroupComponent],\n exports: [FormGroupComponent]\n})\nexport class IgoFormGroupModule {}\n","import { NgModule } from '@angular/core';\n\nimport { FormComponent } from './form';\nimport { FORM_FIELD_DIRECTIVES } from './form-field';\nimport { FormGroupComponent } from './form-group';\n\nexport const FORM_DIRECTIVES = [\n ...FORM_FIELD_DIRECTIVES,\n FormGroupComponent,\n FormComponent\n] as const;\n\n/**\n * @deprecated import the components directly or FORM_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...FORM_DIRECTIVES],\n exports: [...FORM_DIRECTIVES]\n})\nexport class IgoFormModule {}\n","import { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport { Component, Inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\n\nimport { CustomHtmlComponent } from '@igo2/common/custom-html';\nimport { LanguageService } from '@igo2/core/language';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FormComponent } from '../form';\nimport { FormFieldComponent } from '../form-field';\nimport { FormGroupComponent } from '../form-group';\nimport {\n Form,\n FormField,\n FormFieldGroup,\n FormFieldInputs,\n FormService\n} from '../shared';\nimport { FormDialogData } from './form-dialog.interface';\n\n@Component({\n selector: 'igo-form-dialog',\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n imports: [\n MatDialogTitle,\n NgIf,\n FormComponent,\n NgFor,\n FormFieldComponent,\n FormGroupComponent,\n MatDialogActions,\n MatButtonModule,\n CustomHtmlComponent,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class FormDialogComponent {\n form$ = new BehaviorSubject<Form>(undefined);\n data$ = new BehaviorSubject<Record<string, any>>(undefined);\n constructor(\n public languageService: LanguageService,\n public dialogRef: MatDialogRef<FormDialogComponent>,\n private formService: FormService,\n @Inject(MAT_DIALOG_DATA)\n public data: FormDialogData\n ) {\n this.data.processButtonText =\n this.data.processButtonText ?? 'igo.common.formDialog.processButtonText';\n this.data.cancelButtonText =\n this.data.cancelButtonText ?? 'igo.common.formDialog.cancelButtonText';\n this.data.title = this.data.title ?? 'igo.common.formDialog.title';\n this.data$ = this.data.data$;\n\n const fields: FormField<FormFieldInputs>[] = [];\n const groups: FormFieldGroup[] = [];\n this.data.formFieldConfigs?.map((config) =>\n fields.push(this.formService.field(config))\n );\n\n this.data.formGroupsConfigs?.map((formGroupsConfig) => {\n const fields = formGroupsConfig.formFieldConfigs?.map((config) =>\n this.formService.field(config)\n );\n groups.push(\n this.formService.group({ name: formGroupsConfig.name }, fields)\n );\n });\n const form = this.formService.form(fields, groups);\n\n this.form$.next(form);\n }\n\n onSubmit(data: Record<string, any>) {\n const form = this.form$.getValue();\n if (form.control.valid) {\n this.dialogRef.close(data);\n } else {\n if (form.groups?.length) {\n form.groups.map((group) => {\n Object.keys(group.control.controls).map((k) => {\n group.control.controls[k].markAsTouched();\n group.control.controls[k].updateValueAndValidity();\n });\n });\n } else {\n form.fields.map((f) => {\n f.control.markAsTouched();\n f.control.updateValueAndValidity();\n });\n }\n }\n }\n cancel() {\n this.dialogRef.close();\n }\n}\n","<h1 mat-dialog-title>{{ data.title | translate }}</h1>\n\n<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($event)\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-dialog-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\n <igo-form-group\n *ngFor=\"let group of form.groups\"\n [group]=\"group\"\n ></igo-form-group>\n </div>\n\n <div formButtons mat-dialog-actions>\n <button mat-stroked-button type=\"button\" color=\"primary\" (click)=\"cancel()\">\n {{ data.cancelButtonText | translate }}\n </button>\n <button mat-flat-button type=\"submit\" color=\"primary\">\n {{ data.processButtonText | translate }}\n </button>\n </div>\n</igo-form>\n<div>\n <igo-custom-html\n *ngIf=\"data.notice && data.notice !== ''\"\n [html]=\"data.notice\"\n >\n </igo-custom-html>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { FormDialogComponent } from './form-dialog.component';\nimport {\n FormDialogData,\n FormDialogFormConfig,\n FormDialogOptions\n} from './form-dialog.interface';\n\n@Injectable()\nexport class FormDialogService {\n constructor(private dialog: MatDialog) {}\n\n public open(\n formDialogConfig?: FormDialogFormConfig,\n options?: FormDialogOptions\n ): Observable<Record<string, any>> {\n const data: FormDialogData = {\n formFieldConfigs: formDialogConfig.formFieldConfigs,\n formGroupsConfigs: formDialogConfig.formGroupsConfigs,\n ...options\n };\n const dialogRef = this.dialog.open(FormDialogComponent, {\n disableClose: false,\n data,\n ...options\n });\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { FormDialogComponent } from './form-dialog.component';\nimport { FormDialogService } from './form-dialog.service';\n\n/**\n * @deprecated import the FlexibleComponent directly\n */\n@NgModule({\n imports: [MatDialogModule, FormDialogComponent],\n exports: [FormDialogComponent],\n providers: [FormDialogService]\n})\nexport class IgoFormDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoFormDialogModule> {\n return {\n ngModule: IgoFormDialogModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i5","i6","i2","i1.FormFieldService","i1.FormFieldComponent","i2.FormFieldSelectComponent","i3.FormFieldTextComponent","i4.FormFieldTextareaComponent"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter,
|
|
2
|
+
import { EventEmitter, Output, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/material/button';
|
|
4
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
5
|
import * as i3 from '@angular/material/icon';
|
|
@@ -14,10 +14,10 @@ class HomeButtonComponent {
|
|
|
14
14
|
onUnselectButtonClick() {
|
|
15
15
|
this.unselectButton.emit();
|
|
16
16
|
}
|
|
17
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
18
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: HomeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: HomeButtonComponent, isStandalone: true, selector: "igo-home-button", outputs: { unselectButton: "unselectButton" }, ngImport: i0, template: "<button\n id=\"homeButton\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.sidenav.mainMenu' | translate\"\n (click)=\"onUnselectButtonClick()\"\n>\n <mat-icon>home</mat-icon>\n</button>\n", styles: ["#homeButton{border-radius:0}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: HomeButtonComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'igo-home-button', imports: [MatButtonModule, MatTooltipModule, MatIconModule, IgoLanguageModule], template: "<button\n id=\"homeButton\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.sidenav.mainMenu' | translate\"\n (click)=\"onUnselectButtonClick()\"\n>\n <mat-icon>home</mat-icon>\n</button>\n", styles: ["#homeButton{border-radius:0}\n"] }]
|
|
23
23
|
}], propDecorators: { unselectButton: [{
|
|
@@ -28,11 +28,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
|
|
|
28
28
|
* @deprecated import the HomeButtonComponent directly
|
|
29
29
|
*/
|
|
30
30
|
class IgoHomeButtonModule {
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
32
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
33
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoHomeButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: IgoHomeButtonModule, imports: [HomeButtonComponent], exports: [HomeButtonComponent] });
|
|
33
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoHomeButtonModule, imports: [HomeButtonComponent] });
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoHomeButtonModule, decorators: [{
|
|
36
36
|
type: NgModule,
|
|
37
37
|
args: [{
|
|
38
38
|
imports: [HomeButtonComponent],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, makeEnvironmentProviders, provideAppInitializer, inject,
|
|
2
|
+
import { Injectable, makeEnvironmentProviders, provideAppInitializer, inject, Input, Component } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/material/icon';
|
|
4
4
|
import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
|
|
5
5
|
import * as i2 from '@angular/platform-browser';
|
|
@@ -54,10 +54,10 @@ class IconService {
|
|
|
54
54
|
registerSvg(icon) {
|
|
55
55
|
this.iconRegistry.addSvgIconLiteral(icon.name, this.sanitizer.bypassSecurityTrustHtml(icon.svg));
|
|
56
56
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
58
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IconService, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IconService, providedIn: 'root' });
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IconService, decorators: [{
|
|
61
61
|
type: Injectable,
|
|
62
62
|
args: [{
|
|
63
63
|
providedIn: 'root'
|
|
@@ -77,6 +77,7 @@ function provideIcon(style = 'outlined') {
|
|
|
77
77
|
|
|
78
78
|
class IgoIconComponent {
|
|
79
79
|
iconService;
|
|
80
|
+
color;
|
|
80
81
|
set icon(icon) {
|
|
81
82
|
if (this.isSvg(icon)) {
|
|
82
83
|
this.registerSvg(icon);
|
|
@@ -96,13 +97,15 @@ class IgoIconComponent {
|
|
|
96
97
|
isSvg(icon) {
|
|
97
98
|
return typeof icon != 'string';
|
|
98
99
|
}
|
|
99
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
100
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoIconComponent, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: IgoIconComponent, isStandalone: true, selector: "igo-icon", inputs: { color: "color", icon: "icon" }, ngImport: i0, template: "@if (isSvg(icon)) {\n <mat-icon [svgIcon]=\"icon.name\" [color]=\"color\"></mat-icon>\n} @else {\n <mat-icon [color]=\"color\">{{ icon }}</mat-icon>\n}\n", dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
101
102
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoIconComponent, decorators: [{
|
|
103
104
|
type: Component,
|
|
104
|
-
args: [{ selector: 'igo-icon', imports: [MatIconModule], template: "@if (isSvg(icon)) {\n <mat-icon [svgIcon]=\"icon.name\"></mat-icon>\n} @else {\n <mat-icon>{{ icon }}</mat-icon>\n}\n" }]
|
|
105
|
-
}], ctorParameters: () => [{ type: IconService }], propDecorators: {
|
|
105
|
+
args: [{ selector: 'igo-icon', imports: [MatIconModule], template: "@if (isSvg(icon)) {\n <mat-icon [svgIcon]=\"icon.name\" [color]=\"color\"></mat-icon>\n} @else {\n <mat-icon [color]=\"color\">{{ icon }}</mat-icon>\n}\n" }]
|
|
106
|
+
}], ctorParameters: () => [{ type: IconService }], propDecorators: { color: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], icon: [{
|
|
106
109
|
type: Input,
|
|
107
110
|
args: [{ required: true }]
|
|
108
111
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-icon.mjs","sources":["../../../packages/common/icon/src/shared/icons.ts","../../../packages/common/icon/src/shared/icon.service.ts","../../../packages/common/icon/src/icon.provider.ts","../../../packages/common/icon/src/icon/icon.component.ts","../../../packages/common/icon/src/icon/icon.component.html","../../../packages/common/icon/src/igo2-common-icon.ts"],"sourcesContent":["import { IconSvg } from './icon.interface';\n\n/**\n * Source: https://pictogrammers.com/library/mdi/\n */\n\nexport const MICROSOFT_ICON: IconSvg = {\n name: 'microsoft',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>microsoft</title><path d=\"M2,3H11V12H2V3M11,22H2V13H11V22M21,3V12H12V3H21M21,22H12V13H21V22Z\" /></svg>\n`\n};\n\nexport const KEYBOARD_ESC_ICON: IconSvg = {\n name: 'keyboard-esc',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>keyboard-esc</title><path d=\"M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z\" /></svg>\n`\n};\n\nexport const ENGINE_ICON: IconSvg = {\n name: 'engine',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>engine</title><path d=\"M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\" /></svg>\n`\n};\n\nexport const SELECTION_MARKER_ICON: IconSvg = {\n name: 'selection-marker',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>selection-marker</title><path d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" /></svg>\n`\n};\n\nexport const PRESENTATION_PLAY_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>presentation-play</title><path d=\"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5M11.85,11.85C11.76,11.94 11.64,12 11.5,12A0.5,0.5 0 0,1 11,11.5V7.5A0.5,0.5 0 0,1 11.5,7C11.64,7 11.76,7.06 11.85,7.15L13.25,8.54C13.57,8.86 13.89,9.18 13.89,9.5C13.89,9.82 13.57,10.14 13.25,10.46L11.85,11.85Z\" /></svg>`\n};\n\nexport const CIRCLE_SMALL_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>circle-small</title><path d=\"M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z\" /></svg>`\n};\n\nexport const VECTOR_SQUARE_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>vector-square</title><path d=\"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\" /></svg>`\n};\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IconSvg } from './icon.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconService {\n constructor(\n private iconRegistry: MatIconRegistry,\n private sanitizer: DomSanitizer\n ) {}\n\n registerSvg(icon: IconSvg): void {\n this.iconRegistry.addSvgIconLiteral(\n icon.name,\n this.sanitizer.bypassSecurityTrustHtml(icon.svg)\n );\n }\n}\n","import {\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\n\ntype MaterialSymbolStyle = 'outlined' | 'rounded' | 'sharp';\n\nexport function provideIcon(\n style: MaterialSymbolStyle = 'outlined'\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n MatIconModule,\n provideAppInitializer(() => {\n const iconRegistry = inject(MatIconRegistry);\n iconRegistry.setDefaultFontSetClass(`material-symbols-${style}`);\n return;\n })\n ]);\n}\n","import { Component, Input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { IconSvg } from '../shared';\nimport { IconService } from '../shared/icon.service';\n\n@Component({\n selector: 'igo-icon',\n imports: [MatIconModule],\n templateUrl: './icon.component.html'\n})\nexport class IgoIconComponent {\n @Input({ required: true })\n set icon(icon: string | IconSvg) {\n if (this.isSvg(icon)) {\n this.registerSvg(icon);\n }\n\n this._icon = icon;\n }\n get icon(): string | IconSvg {\n return this._icon;\n }\n private _icon: string | IconSvg;\n\n constructor(private iconService: IconService) {}\n\n registerSvg(icon: IconSvg): void {\n this.iconService.registerSvg(icon);\n }\n\n isSvg(icon: string | IconSvg): icon is IconSvg {\n return typeof icon != 'string';\n }\n}\n","@if (isSvg(icon)) {\n <mat-icon [svgIcon]=\"icon.name\"></mat-icon>\n} @else {\n <mat-icon>{{ icon }}</mat-icon>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IconService","i2"],"mappings":";;;;;;AAEA;;AAEG;AAEU,MAAA,cAAc,GAAY;AACrC,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,GAAG,EAAE;;AAEN;;AAGY,MAAA,iBAAiB,GAAY;AACxC,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,GAAG,EAAE;;AAEN;;AAGY,MAAA,WAAW,GAAY;AAClC,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,GAAG,EAAE;;AAEN;;AAGY,MAAA,qBAAqB,GAAY;AAC5C,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,GAAG,EAAE;;AAEN;;AAGY,MAAA,sBAAsB,GAAY;AAC7C,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,GAAG,EAAE,CAAqb,mbAAA;;AAG/a,MAAA,iBAAiB,GAAY;AACxC,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,GAAG,EAAE,CAAkM,gMAAA;;AAG5L,MAAA,kBAAkB,GAAY;AACzC,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,GAAG,EAAE,CAAmQ,iQAAA;;;MCrC7P,WAAW,CAAA;AAEZ,IAAA,YAAA;AACA,IAAA,SAAA;IAFV,WACU,CAAA,YAA6B,EAC7B,SAAuB,EAAA;QADvB,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAS,CAAA,SAAA,GAAT,SAAS;;AAGnB,IAAA,WAAW,CAAC,IAAa,EAAA;QACvB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CACjC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CACjD;;uGAVQ,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACEe,SAAA,WAAW,CACzB,KAAA,GAA6B,UAAU,EAAA;AAEvC,IAAA,OAAO,wBAAwB,CAAC;QAC9B,aAAa;QACb,qBAAqB,CAAC,MAAK;AACzB,YAAA,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;AAC5C,YAAA,YAAY,CAAC,sBAAsB,CAAC,oBAAoB,KAAK,CAAA,CAAE,CAAC;YAChE;AACF,SAAC;AACF,KAAA,CAAC;AACJ;;MCVa,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"igo2-common-icon.mjs","sources":["../../../packages/common/icon/src/shared/icons.ts","../../../packages/common/icon/src/shared/icon.service.ts","../../../packages/common/icon/src/icon.provider.ts","../../../packages/common/icon/src/icon/icon.component.ts","../../../packages/common/icon/src/icon/icon.component.html","../../../packages/common/icon/src/igo2-common-icon.ts"],"sourcesContent":["import { IconSvg } from './icon.interface';\n\n/**\n * Source: https://pictogrammers.com/library/mdi/\n */\n\nexport const MICROSOFT_ICON: IconSvg = {\n name: 'microsoft',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>microsoft</title><path d=\"M2,3H11V12H2V3M11,22H2V13H11V22M21,3V12H12V3H21M21,22H12V13H21V22Z\" /></svg>\n`\n};\n\nexport const KEYBOARD_ESC_ICON: IconSvg = {\n name: 'keyboard-esc',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>keyboard-esc</title><path d=\"M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z\" /></svg>\n`\n};\n\nexport const ENGINE_ICON: IconSvg = {\n name: 'engine',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>engine</title><path d=\"M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\" /></svg>\n`\n};\n\nexport const SELECTION_MARKER_ICON: IconSvg = {\n name: 'selection-marker',\n svg: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>selection-marker</title><path d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" /></svg>\n`\n};\n\nexport const PRESENTATION_PLAY_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>presentation-play</title><path d=\"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5M11.85,11.85C11.76,11.94 11.64,12 11.5,12A0.5,0.5 0 0,1 11,11.5V7.5A0.5,0.5 0 0,1 11.5,7C11.64,7 11.76,7.06 11.85,7.15L13.25,8.54C13.57,8.86 13.89,9.18 13.89,9.5C13.89,9.82 13.57,10.14 13.25,10.46L11.85,11.85Z\" /></svg>`\n};\n\nexport const CIRCLE_SMALL_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>circle-small</title><path d=\"M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z\" /></svg>`\n};\n\nexport const VECTOR_SQUARE_ICON: IconSvg = {\n name: 'presentation-play',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><title>vector-square</title><path d=\"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\" /></svg>`\n};\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IconSvg } from './icon.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconService {\n constructor(\n private iconRegistry: MatIconRegistry,\n private sanitizer: DomSanitizer\n ) {}\n\n registerSvg(icon: IconSvg): void {\n this.iconRegistry.addSvgIconLiteral(\n icon.name,\n this.sanitizer.bypassSecurityTrustHtml(icon.svg)\n );\n }\n}\n","import {\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\n\ntype MaterialSymbolStyle = 'outlined' | 'rounded' | 'sharp';\n\nexport function provideIcon(\n style: MaterialSymbolStyle = 'outlined'\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n MatIconModule,\n provideAppInitializer(() => {\n const iconRegistry = inject(MatIconRegistry);\n iconRegistry.setDefaultFontSetClass(`material-symbols-${style}`);\n return;\n })\n ]);\n}\n","import { Component, Input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { IconSvg } from '../shared';\nimport { IconService } from '../shared/icon.service';\n\n@Component({\n selector: 'igo-icon',\n imports: [MatIconModule],\n templateUrl: './icon.component.html'\n})\nexport class IgoIconComponent {\n @Input() color: string | null | undefined;\n\n @Input({ required: true })\n set icon(icon: string | IconSvg) {\n if (this.isSvg(icon)) {\n this.registerSvg(icon);\n }\n\n this._icon = icon;\n }\n get icon(): string | IconSvg {\n return this._icon;\n }\n private _icon: string | IconSvg;\n\n constructor(private iconService: IconService) {}\n\n registerSvg(icon: IconSvg): void {\n this.iconService.registerSvg(icon);\n }\n\n isSvg(icon: string | IconSvg): icon is IconSvg {\n return typeof icon != 'string';\n }\n}\n","@if (isSvg(icon)) {\n <mat-icon [svgIcon]=\"icon.name\" [color]=\"color\"></mat-icon>\n} @else {\n <mat-icon [color]=\"color\">{{ icon }}</mat-icon>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IconService","i2"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { HostListener, Input, Directive, Pipe, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
|
4
4
|
import * as i1 from '@angular/common/http';
|
|
5
5
|
import { HttpHeaders } from '@angular/common/http';
|
|
@@ -23,10 +23,10 @@ class ImageErrorDirective {
|
|
|
23
23
|
event.target.src = this.errorImageUrl;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
27
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ImageErrorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.5", type: ImageErrorDirective, isStandalone: true, selector: "[igoImageError]", inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" }, host: { listeners: { "error": "onError($event)" } }, ngImport: i0 });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ImageErrorDirective, decorators: [{
|
|
30
30
|
type: Directive,
|
|
31
31
|
args: [{
|
|
32
32
|
selector: '[igoImageError]',
|
|
@@ -78,8 +78,8 @@ class SecureImagePipe {
|
|
|
78
78
|
});
|
|
79
79
|
}));
|
|
80
80
|
}
|
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
82
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.
|
|
81
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SecureImagePipe, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
82
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: SecureImagePipe, isStandalone: true, name: "secureImage" });
|
|
83
83
|
}
|
|
84
84
|
__decorate([
|
|
85
85
|
Cacheable({
|
|
@@ -89,7 +89,7 @@ __decorate([
|
|
|
89
89
|
__metadata("design:paramtypes", [String]),
|
|
90
90
|
__metadata("design:returntype", Observable)
|
|
91
91
|
], SecureImagePipe.prototype, "transform", null);
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SecureImagePipe, decorators: [{
|
|
93
93
|
type: Pipe,
|
|
94
94
|
args: [{
|
|
95
95
|
name: 'secureImage',
|
|
@@ -107,11 +107,11 @@ class IgoImageModule {
|
|
|
107
107
|
providers: []
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
111
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
112
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
111
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: IgoImageModule, imports: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] });
|
|
112
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoImageModule });
|
|
113
113
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: IgoImageModule, decorators: [{
|
|
115
115
|
type: NgModule,
|
|
116
116
|
args: [{
|
|
117
117
|
imports: [SecureImagePipe, ImageErrorDirective],
|