@onemrvapublic/design-system 20.7.0-develop.2 → 20.7.0-develop.20

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.
Files changed (41) hide show
  1. package/fesm2022/onemrvapublic-design-system-layout.mjs +3 -3
  2. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  3. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +1 -1
  4. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
  5. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +1 -1
  6. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  7. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +2 -2
  8. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  9. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +2 -2
  10. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
  11. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +28 -28
  12. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  13. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +2 -2
  14. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
  15. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +2 -2
  16. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
  17. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +1 -1
  18. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -1
  19. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +20 -18
  20. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
  21. package/fesm2022/onemrvapublic-design-system-shared.mjs +18 -9
  22. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  23. package/fesm2022/onemrvapublic-design-system.mjs +2 -11321
  24. package/fesm2022/onemrvapublic-design-system.mjs.map +1 -1
  25. package/index.d.ts +2 -3293
  26. package/mat-input-iban/index.d.ts +1 -1
  27. package/mat-input-phone/index.d.ts +3 -5
  28. package/mat-notification/src/onemrva-mat-notification.component.scss +3 -0
  29. package/mat-tooltip/index.d.ts +3 -2
  30. package/mat-tooltip/src/onemrva-mat-tooltip.component.scss +2 -2
  31. package/package.json +9 -11
  32. package/shared/index.d.ts +4 -4
  33. package/fesm2022/onemrvapublic-design-system-jsonform-renderers.mjs +0 -614
  34. package/fesm2022/onemrvapublic-design-system-jsonform-renderers.mjs.map +0 -1
  35. package/jsonform-renderers/datepicker-renderer/datepicker-renderer.component.scss +0 -22
  36. package/jsonform-renderers/index.d.ts +0 -123
  37. package/jsonform-renderers/label-renderer/label-renderer.component.scss +0 -0
  38. package/jsonform-renderers/niss-renderer/niss-renderer.component.scss +0 -0
  39. package/jsonform-renderers/radio-button-renderer/radio-button.renderer.component.scss +0 -5
  40. package/jsonform-renderers/readonly-control-renderer/readonly-control-renderer.component.scss +0 -4
  41. package/jsonform-renderers/select-renderer/select-renderer.component.scss +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"onemrvapublic-design-system-jsonform-renderers.mjs","sources":["../../../../projects/onemrva/design-system/jsonform-renderers/checkbox-renderer/checkbox-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/checkbox-renderer/checkbox-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/datepicker-renderer/datepicker-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/datepicker-renderer/datepicker-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/util/jsonforms-schema-path.util.ts","../../../../projects/onemrva/design-system/jsonform-renderers/iban-renderer/iban-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/iban-renderer/iban-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/label-renderer/label-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/label-renderer/label-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/niss-renderer/niss-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/niss-renderer/niss-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/phone-renderer/phone-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/phone-renderer/phone-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/radio-button-renderer/radio-button.renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/radio-button-renderer/radio-button.renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/readonly-control-renderer/readonly-control-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/readonly-control-renderer/readonly-control-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/select-renderer/select-renderer.component.ts","../../../../projects/onemrva/design-system/jsonform-renderers/select-renderer/select-renderer.component.html","../../../../projects/onemrva/design-system/jsonform-renderers/onemrvapublic-design-system-jsonform-renderers.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\nimport { isBooleanControl, RankedTester, rankWith } from '@jsonforms/core';\nimport { JsonFormsControl } from '@jsonforms/angular';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { JsonFormsAngularMaterialModule } from '@jsonforms/angular-material';\n\n@Component({\n selector: 'app-demo-checkbox',\n templateUrl: './checkbox-renderer.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatCheckboxModule,\n TranslatePipe,\n JsonFormsAngularMaterialModule,\n ],\n})\nexport class CheckboxRendererComponent extends JsonFormsControl {\n @Input()\n color: OnemrvaMatColor = '';\n @Input()\n indeterminate = false;\n\n override getEventValue = (event: any) => {\n return event;\n };\n\n onCheckboxChange(value: boolean): void {\n this.onChange(value);\n }\n}\n\nexport const checkboxTester: RankedTester = rankWith(3, isBooleanControl);\n","@if (!hidden) {\n <mat-checkbox\n [color]=\"color\"\n [checked]=\"!!data\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"!enabled\"\n (change)=\"onCheckboxChange($event.checked)\"\n >{{ uischema.i18n + '' | translate }}</mat-checkbox\n >\n @if (error) {\n <mat-error> {{ error }}</mat-error>\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport {\n isDateControl,\n RankedTester,\n rankWith,\n JsonFormsState,\n StatePropsOfControl,\n} from '@jsonforms/core';\nimport { JsonFormsControl } from '@jsonforms/angular';\nimport {\n MatDatepicker,\n MatDatepickerInput,\n} from '@angular/material/datepicker';\nimport { MatFormField } from '@angular/material/form-field';\nimport { JsonFormsAngularMaterialModule } from '@jsonforms/angular-material';\nimport { OnemrvaMatDatepickerHeaderComponent } from '@onemrvapublic/design-system/mat-datepicker-header';\nimport {\n provideLuxonDateAdapter,\n LuxonDateAdapter,\n} from '@angular/material-luxon-adapter';\nimport { DateAdapter } from '@angular/material/core';\nimport { DateTime } from 'luxon';\n\nconst defaultDateFormat = 'yyyy-MM-dd';\n\n@Component({\n selector: 'app-date-picker-renderer',\n templateUrl: './datepicker-renderer.component.html',\n styleUrl: './datepicker-renderer.component.scss',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [provideLuxonDateAdapter()],\n imports: [MatFormField, MatDatepickerInput, JsonFormsAngularMaterialModule],\n})\nexport class DatepickerRendererComponent extends JsonFormsControl {\n focused = false;\n startView: 'month' | 'year' | 'multi-year' = 'month';\n panelClass = '';\n views: string[] = ['year', 'month', 'day'];\n\n protected readonly OnemrvaMatDatepickerHeaderComponent =\n OnemrvaMatDatepickerHeaderComponent;\n\n // Make maxDate dynamic instead of readonly\n maxDate: Date | null = null;\n minDate: Date | null = null;\n\n private dateAdapter = inject(DateAdapter<any>) as LuxonDateAdapter;\n\n override getEventValue = (event: any) => {\n const value = event.value ? event.value : event;\n return this.dateAdapter.format(value, this.getSaveFormat());\n };\n\n protected override mapToProps(state: JsonFormsState): StatePropsOfControl {\n const props = super.mapToProps(state);\n\n // Get save format from UI schema options or use default\n const saveFormat = this.uischema?.options?.['dateSaveFormat']\n ? this.uischema.options['dateSaveFormat']\n : defaultDateFormat;\n\n // Get views from UI schema options\n this.views = this.uischema?.options?.['views']\n ? this.uischema.options['views']\n : ['year', 'month', 'day'];\n\n // Set min and max dates from UI schema options\n this.setDateLimits();\n\n this.setViewProperties();\n\n // Get display format from UI schema options\n const dateFormat = this.uischema?.options?.['dateFormat'];\n if (dateFormat) {\n this.dateAdapter.setLocale(this.jsonFormsService.getLocale() || 'en');\n }\n\n // Parse the data using the save format\n let parsedDate = null;\n if (props.data) {\n try {\n parsedDate = this.dateAdapter.parse(props.data, saveFormat);\n } catch (error) {\n console.warn('Failed to parse date:', props.data, error);\n }\n }\n\n return { ...props, data: parsedDate };\n }\n\n private setDateLimits(): void {\n const options = this.uischema?.options;\n\n if (options?.['maxDate']) {\n this.maxDate = this.parseDate(options['maxDate']);\n }\n\n if (options?.['minDate']) {\n this.minDate = this.parseDate(options['minDate']);\n }\n }\n\n private parseDate(dateValue: any): Date | null {\n if (dateValue === 'today') {\n return new Date();\n } else if (dateValue === 'tomorrow') {\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n return tomorrow;\n } else if (dateValue === 'yesterday') {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n return yesterday;\n } else if (typeof dateValue === 'string') {\n try {\n const luxonDate = this.dateAdapter.parse(\n dateValue,\n this.getSaveFormat(),\n );\n // Convert Luxon DateTime to JavaScript Date\n return luxonDate ? this.luxonToDate(luxonDate) : null;\n } catch (error) {\n console.warn('Failed to parse date:', dateValue, error);\n return null;\n }\n } else if (dateValue instanceof Date) {\n return dateValue;\n }\n\n return null;\n }\n\n private luxonToDate(luxonDateTime: DateTime): Date {\n return luxonDateTime.toJSDate();\n }\n\n yearSelected($event: any, datepicker: MatDatepicker<any>) {\n if (!this.views.includes('day') && !this.views.includes('month')) {\n this.onChange($event);\n datepicker.close();\n }\n }\n\n monthSelected($event: any, datepicker: MatDatepicker<any>) {\n if (!this.views.includes('day')) {\n this.onChange($event);\n datepicker.close();\n }\n }\n\n setViewProperties() {\n if (!this.views.includes('day')) {\n this.startView = 'multi-year' as const;\n this.panelClass = 'no-panel-navigation';\n } else {\n this.startView = 'month' as const;\n }\n }\n\n private getSaveFormat(): string {\n return this.uischema?.options?.['dateSaveFormat'] || defaultDateFormat;\n }\n}\n\nexport const DatePickerRendererTester: RankedTester = rankWith(\n 3,\n isDateControl,\n);\n","<mat-form-field\n class=\"date-control-renderer\"\n [ngStyle]=\"{ display: hidden ? 'none' : '' }\"\n>\n <mat-label>{{ label }}</mat-label>\n <input\n matInput\n (dateChange)=\"onChange($event)\"\n [id]=\"id\"\n [formControl]=\"form\"\n [matDatepicker]=\"datepicker\"\n (focus)=\"focused = true\"\n (focusout)=\"focused = false\"\n [max]=\"maxDate\"\n [min]=\"minDate\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker\n #picker\n [calendarHeaderComponent]=\"OnemrvaMatDatepickerHeaderComponent\"\n #datepicker\n [startView]=\"startView\"\n [panelClass]=\"panelClass\"\n (yearSelected)=\"yearSelected($event, picker)\"\n (monthSelected)=\"monthSelected($event, picker)\"\n ></mat-datepicker>\n @if (shouldShowUnfocusedDescription() || focused) {\n <mat-hint>{{ description }}</mat-hint>\n }\n @if (error) {\n <mat-error>{{ error }}</mat-error>\n }\n</mat-form-field>\n","/**\n * Utility for manipulating and extracting information\n * from schema and scope paths in JsonForms\n */\nexport class JsonFormsSchemaPathUtil {\n private static readonly PROPERTY_PATH_REGEX =\n /\\/properties\\/([^/]+)(?:\\/properties\\/([^/]+))?/;\n\n /**\n * Extracts the step key from a UI Schema scope path\n * @param scope The scope path (e.g. \"/properties/childInfo/properties/ssin\")\n * @returns The extracted step key (e.g. \"/childInfo/ssin\")\n */\n public static extractStepKey(scope?: string): string {\n // Get the \"childInfo\" and the \"ssin\"\n const regex = new RegExp(JsonFormsSchemaPathUtil.PROPERTY_PATH_REGEX);\n const matches = regex.exec(scope ?? '');\n if (!matches) {\n return '';\n }\n\n // If we have both parts (childInfo + ssin)\n if (matches[2]) {\n return `/${matches[1]}/${matches[2]}`;\n }\n\n // If we have only the first part (childInfo)\n return `/${matches[1]}`;\n }\n}\n","import { Component, input, signal } from '@angular/core';\nimport {\n AbstractControl,\n FormControl,\n ReactiveFormsModule,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { bankAccountValidator } from '@onemrvapublic/design-system/shared';\nimport { OnemrvaMatInputIbanComponent } from '@onemrvapublic/design-system/mat-input-iban';\nimport { JsonFormsControl } from '@jsonforms/angular';\nimport {\n Actions,\n RankedTester,\n rankWith,\n scopeEndsWith,\n} from '@jsonforms/core';\nimport { JsonFormsSchemaPathUtil } from '../util/jsonforms-schema-path.util';\nimport { ErrorObject } from 'ajv';\n\n@Component({\n selector: 'app-iban-renderer',\n templateUrl: 'iban-renderer.component.html',\n imports: [\n CommonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatInputModule,\n OnemrvaMatInputIbanComponent,\n TranslatePipe,\n ],\n standalone: true,\n})\nexport class IbanRendererComponent extends JsonFormsControl {\n readonly = input(false);\n private readonly isUpdating = signal(false);\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.form.setValue(this.data);\n this.form.setValidators([Validators.required, this.validator]);\n }\n\n override onChange(event: any): void {\n const ibanValue = this.buildIbanValue(event);\n const modifiedEvent = {\n ...event,\n target: { ...event.target, value: ibanValue },\n };\n super.onChange(modifiedEvent);\n }\n\n private buildIbanValue(event: any) {\n let builtValue: string = event?.currentTarget?.innerText;\n if (event?.data === null) {\n builtValue = builtValue + event?.target?.value?.slice(0, -1);\n } else {\n builtValue =\n builtValue + event?.target?.value.toString().replace(/\\s/g, '');\n if (event?.target?.value?.toString().length < 14) {\n builtValue = builtValue + event?.data;\n }\n }\n return builtValue;\n }\n\n override getEventValue = (event: any) => {\n return event?.target?.value;\n };\n\n override validator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n if (this.isUpdating()) {\n return null;\n }\n\n const value = control.value;\n\n // Verify if error is undefined, null or empty\n if (!value || typeof value !== 'string') {\n //console.debug('Invalid IBAN value: ' + value);\n return null;\n } else {\n //console.debug('Valid IBAN value: ' + value);\n }\n\n if (value.length !== 2) {\n const tempControl = new FormControl(value);\n const ibanValidator = bankAccountValidator();\n const result = ibanValidator(tempControl);\n if (result) {\n this.setErrorValue();\n return result;\n }\n }\n return null;\n };\n\n private setErrorValue() {\n this.isUpdating.set(true);\n try {\n // Get existing errors\n const currentState = this.jsonFormsService.getState();\n console.debug('setErrorValue->Current state:', currentState);\n\n const currentErrors = currentState?.jsonforms?.core?.['errors'] ?? [];\n console.debug('setErrorValue->Existing JSONForms errors:', currentErrors);\n const instancePath = JsonFormsSchemaPathUtil.extractStepKey(\n this.uischema?.scope,\n );\n\n // Add the IBAN error\n const ibanError: ErrorObject = {\n instancePath: instancePath,\n message: 'Numéro IBAN invalide',\n keyword: 'custom-renderer',\n schemaPath: this.uischema?.scope ?? '',\n params: {},\n };\n\n // Combine IBAN errors with existing errors of jsonforms\n const updatedErrors = [...currentErrors, ibanError];\n console.debug('setErrorValue->All errors:', updatedErrors);\n\n const updateAction = Actions.updateErrors(updatedErrors);\n this.jsonFormsService.updateCore(updateAction);\n } finally {\n this.isUpdating.set(false);\n }\n }\n}\n\nexport const ibanControlTester: RankedTester = rankWith(\n 10,\n scopeEndsWith('iban'),\n);\n","@if (!hidden) {\n <mat-form-field>\n <mat-label>IBAN</mat-label>\n\n <onemrva-mat-input-iban [formControl]=\"form\" (input)=\"onChange($event)\">\n </onemrva-mat-input-iban>\n\n @if (form.hasError('required')) {\n <mat-error>\n {{ 'error.required' | translate }}\n </mat-error>\n } @else if (form.hasError('WrongBBANLength')) {\n <mat-error>\n {{ 'error.iban.length' | translate }}\n </mat-error>\n } @else if (form.hasError('NoIBANCountry')) {\n <mat-error> NoIBANCountry </mat-error>\n } @else if (\n !form.hasError('WrongBBANLength') &&\n (form.hasError('WrongBBANFormat') ||\n form.hasError('WrongAccountBankBranchChecksum') ||\n form.hasError('WrongIBANChecksum'))\n ) {\n <mat-error>\n {{ 'error.iban.invalid' | translate }}\n </mat-error>\n }\n </mat-form-field>\n}\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n JsonFormsAngularService,\n JsonFormsBaseRenderer,\n} from '@jsonforms/angular';\nimport {\n JsonFormsState,\n LabelElement,\n mapStateToLabelProps,\n OwnPropsOfLabel,\n RankedTester,\n rankWith,\n uiTypeIs,\n} from '@jsonforms/core';\nimport { MatLabel } from '@angular/material/form-field';\n\n@Component({\n selector: 'app-label-renderer',\n templateUrl: './label-renderer.component.html',\n styleUrl: './label-renderer.component.scss',\n standalone: true,\n imports: [CommonModule, MatLabel],\n})\nexport class LabelRendererComponent\n extends JsonFormsBaseRenderer<LabelElement>\n implements OnInit\n{\n jsonFormsService = inject(JsonFormsAngularService);\n\n label: string | undefined;\n visible: boolean | undefined;\n\n ngOnInit() {\n this.addSubscription(\n this.jsonFormsService.$state.subscribe({\n next: (state: JsonFormsState) => {\n const props = mapStateToLabelProps(\n state,\n this.getOwnProps() as OwnPropsOfLabel,\n );\n this.label = props.text;\n this.visible = props.visible;\n },\n }),\n );\n }\n\n get labelStyle(): Record<string, string> {\n return {\n fontSize: `${this.fontSize}px`,\n fontWeight: `${this.fontWeight}`,\n };\n }\n\n get fontWeight(): boolean {\n return this.uischema.options?.['fontWeight'] ?? 'normal';\n }\n\n get fontSize(): number {\n return this.uischema.options?.['textSize'] ?? 20;\n }\n}\n\nexport const customLabelTester: RankedTester = rankWith(5, uiTypeIs('Label'));\n","@if (visible) {\n <mat-label [ngStyle]=\"labelStyle\">\n {{ label }}\n </mat-label>\n}\n","import { Component, inject, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JsonFormsAngularService, JsonFormsControl } from '@jsonforms/angular';\nimport {\n Actions,\n RankedTester,\n rankWith,\n scopeEndsWith,\n} from '@jsonforms/core';\nimport { MatError, MatFormField, MatLabel } from '@angular/material/form-field';\nimport { JsonFormsAngularMaterialModule } from '@jsonforms/angular-material';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport {\n NISS_MASK,\n OnemrvaValidators,\n} from '@onemrvapublic/design-system/shared';\nimport {\n AbstractControl,\n FormControl,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { ErrorObject } from 'ajv';\nimport { JsonFormsSchemaPathUtil } from '../util/jsonforms-schema-path.util';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-niss-renderer',\n templateUrl: './niss-renderer.component.html',\n styleUrl: './niss-renderer.component.scss',\n standalone: true,\n imports: [\n CommonModule,\n MatFormField,\n MatLabel,\n MatError,\n JsonFormsAngularMaterialModule,\n NgxMaskDirective,\n TranslatePipe,\n ],\n providers: [provideNgxMask()],\n})\nexport class NissRendererComponent extends JsonFormsControl {\n nissMask = NISS_MASK;\n private readonly isUpdating = signal(false);\n\n override jsonFormsService = inject(JsonFormsAngularService);\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.form.setValue(this.data);\n this.form.setValidators(this.validator);\n }\n\n override getEventValue = (event: any) => {\n return event?.target?.value;\n };\n\n override onChange(event: any): void {\n const formattedValue = this.getEventValue(event);\n const rawValue = formattedValue.replace(/[^0-9]/g, '');\n\n // Display formatted value\n this.form.setValue(formattedValue);\n\n // Store raw value\n const modifiedEvent = {\n ...event,\n target: { ...event.target, value: rawValue },\n };\n super.onChange(modifiedEvent);\n }\n\n private setErrorValue(error: any) {\n this.isUpdating.set(true);\n try {\n // Get existing errors\n const currentState = this.jsonFormsService.getState();\n console.debug('setErrorValue->Current state:', currentState);\n\n const currentErrors = currentState?.jsonforms?.core?.['errors'] ?? [];\n console.debug('setErrorValue->Existing JSONForms errors:', currentErrors);\n const instancePath = JsonFormsSchemaPathUtil.extractStepKey(\n this.uischema?.scope,\n );\n\n // Add the SSIN errors\n const ssinError: ErrorObject = {\n instancePath: instancePath,\n message: 'Numéro XXXX invalide',\n keyword: 'custom-renderer',\n schemaPath: this.uischema?.scope ?? '',\n params: {},\n };\n\n // Combine SSIN errors with existing errors of jsonforms\n const updatedErrors = [...currentErrors, ssinError];\n console.debug('setErrorValue->All errors:', updatedErrors);\n\n const updateAction = Actions.updateErrors(updatedErrors);\n this.jsonFormsService.updateCore(updateAction);\n } finally {\n this.isUpdating.set(false);\n }\n }\n\n isSsinError() {\n const errors = this.form.errors;\n return (\n errors !== null &&\n Object.keys(errors).length > 0 &&\n Object.keys(errors)[0].startsWith('niss')\n );\n }\n\n override validator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n if (this.isUpdating()) {\n return null;\n }\n\n const value = control.value;\n\n // Verify if error is undefined, null or empty\n if (!value || typeof value !== 'string') {\n console.debug('Invalid NISS value: ' + value);\n return null;\n } else {\n console.debug('Valid NISS value: ' + value);\n }\n\n const cleanValue = value.toString().trim();\n if (!cleanValue) {\n return null;\n }\n\n const tempControl = new FormControl(cleanValue);\n const nissValidator = OnemrvaValidators.niss();\n\n const result = nissValidator(tempControl);\n\n if (result) {\n this.setErrorValue(result);\n return result;\n }\n\n return null;\n };\n}\n\nexport const nissControlTester: RankedTester = rankWith(\n 10,\n // TODO : Why format =\"ssin\" is not reconized !!!!\n scopeEndsWith('ssin'),\n);\n","<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input\n id=\"{{ id }}\"\n matInput\n [formControl]=\"form\"\n (input)=\"onChange($event)\"\n [mask]=\"nissMask\"\n />\n</mat-form-field>\n\n@if (isSsinError()) {\n <mat-error>{{ 'error.ssin' | translate }}</mat-error>\n}\n","import { Component } from '@angular/core';\nimport { OnemrvaMatInputPhoneComponent } from '@onemrvapublic/design-system/mat-input-phone';\nimport { JsonFormsControl } from '@jsonforms/angular';\nimport { RankedTester, rankWith, scopeEndsWith } from '@jsonforms/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-phone-renderer',\n standalone: true,\n imports: [\n TranslatePipe,\n CommonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n OnemrvaMatInputPhoneComponent,\n FormsModule,\n MatInputModule,\n TranslatePipe,\n ],\n templateUrl: './phone-renderer.component.html',\n})\nexport class PhoneRendererComponent extends JsonFormsControl {}\n\nexport const phoneControllerTester: RankedTester = rankWith(\n 8,\n scopeEndsWith('phone'),\n);\n","@if (!hidden) {\n <mat-form-field>\n <mat-label>Phone number</mat-label>\n\n <onemrva-mat-input-phone\n [formControl]=\"form\"\n placeholder=\"+32 475 12 23 34\"\n ></onemrva-mat-input-phone>\n\n <mat-hint>hint</mat-hint>\n @if (form.invalid) {\n <mat-error>\n {{ 'input.phone.invalid' | translate }}\n </mat-error>\n }\n </mat-form-field>\n}\n","import { Component } from '@angular/core';\nimport { JsonFormsControl } from '@jsonforms/angular';\nimport { isEnabled, UISchemaElement } from '@jsonforms/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { JsonFormsAngularMaterialModule } from '@jsonforms/angular-material';\nimport { MatRadioButton, MatRadioGroup } from '@angular/material/radio';\nimport { MatError } from '@angular/material/form-field';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'app-radio-button-renderer',\n templateUrl: './radio-button.renderer.component.html',\n styleUrl: './radio-button.renderer.component.scss',\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n MatError,\n JsonFormsAngularMaterialModule,\n MatRadioGroup,\n FormsModule,\n MatRadioButton,\n ],\n})\nexport class RadioButtonRendererComponent extends JsonFormsControl {\n options: string[] = [];\n\n override mapAdditionalProps() {\n if (this.scopedSchema && this.scopedSchema.enum) {\n this.options = this.scopedSchema.enum;\n }\n }\n\n get isControlDisable(): boolean {\n try {\n const state = this.jsonFormsService.getState();\n const ajv = state?.jsonforms?.core?.ajv;\n\n // May not call isEnabled if ajv is undefined\n if (!ajv) {\n return true;\n }\n\n return !isEnabled(\n this.uischema,\n state?.jsonforms?.core?.data ?? {},\n '',\n ajv,\n );\n } catch {\n return true;\n }\n }\n}\n\nexport const radioButtonTester = (uischema: UISchemaElement) => {\n if (uischema.type === 'Control' && uischema.options?.['format'] === 'radio') {\n return 11;\n }\n return -1;\n};\n","@if (!hidden) {\n <mat-radio-group\n [(ngModel)]=\"data\"\n (change)=\"onChange($event)\"\n disabled=\"{{ isControlDisable }}\"\n class=\"vertical-radio-group\"\n >\n <mat-radio-button *ngFor=\"let option of options\" [value]=\"option\">\n {{ uischema.i18n + '.' + option | translate }}\n </mat-radio-button>\n @if (error) {\n <mat-error> {{ error }}</mat-error>\n }\n </mat-radio-group>\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { JsonFormsAngularService, JsonFormsControl } from '@jsonforms/angular';\nimport {\n and,\n isControl,\n optionIs,\n RankedTester,\n rankWith,\n} from '@jsonforms/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatLabel } from '@angular/material/form-field';\nimport { JsonFormsAngularMaterialModule } from '@jsonforms/angular-material';\nimport { TranslateService } from '@ngx-translate/core';\nimport { OnemrvaNissPipe } from '@onemrvapublic/design-system/shared';\n\n@Component({\n selector: 'app-readonly-control-renderer',\n templateUrl: './readonly-control-renderer.component.html',\n styleUrl: './readonly-control-renderer.component.scss',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n MatLabel,\n JsonFormsAngularMaterialModule,\n ],\n providers: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ReadonlyControlRendererComponent extends JsonFormsControl {\n private readonly translate = inject(TranslateService);\n private readonly onemrvaNissPipe = inject(OnemrvaNissPipe);\n\n override mapAdditionalProps() {\n if (this.needsTranslation()) {\n const translationKey = this.uischema.i18n + '.' + this.form.value;\n const translatedValue = this.translate.instant(translationKey);\n this.form.patchValue(translatedValue);\n }\n\n if (this.isNiss()) {\n const formattedNiss = this.onemrvaNissPipe.transform(this.form.value);\n this.form.patchValue(formattedNiss);\n }\n\n if (this.isIban()) {\n const formattedIban = this.formatIban(this.form.value);\n this.form.patchValue(formattedIban);\n }\n\n // if (this.isDate()) {\n // const formattedDate = moment(this.form.value).format('DD/MM/YYYY');\n // this.form.patchValue(formattedDate);\n // }\n }\n\n private formatIban(iban: string): string {\n const cleanIban = iban.replace(/\\s+/g, '');\n return cleanIban.replace(/(.{4})/g, '$1 ').trim();\n }\n\n private hasValueAndSchema(): boolean {\n return !!this.form.value && !!this.scopedSchema;\n }\n\n private isIban(): boolean {\n return (\n this.hasValueAndSchema() &&\n !!this.uischema.scope &&\n this.uischema.scope.endsWith('/iban')\n );\n }\n\n private isDate(): boolean {\n return this.hasValueAndSchema() && this.scopedSchema.format === 'date';\n }\n\n private isNiss(): boolean {\n return (\n this.hasValueAndSchema() &&\n !!this.uischema.scope &&\n this.uischema.scope.endsWith('/ssin')\n );\n }\n\n private needsTranslation(): boolean {\n const isEnum = this.hasValueAndSchema() && !!this.scopedSchema.enum;\n const isBooleanType =\n this.scopedSchema !== undefined &&\n this.scopedSchema.type?.[0] === 'boolean';\n return isEnum || isBooleanType;\n }\n}\n\nexport const readonlyControlTester: RankedTester = rankWith(\n 11,\n and(isControl, optionIs('readonly', true)),\n);\n","<div class=\"summary-grid\">\n <mat-label class=\"column1\">{{ label }}</mat-label>\n <input class=\"column2 mat-typography\" [id]=\"id\" [formControl]=\"form\" />\n</div>\n","import { Component, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { JsonFormsControl } from '@jsonforms/angular';\nimport {\n ControlProps,\n isEnumControl,\n RankedTester,\n rankWith,\n} from '@jsonforms/core';\nimport { MatFormField, MatLabel } from '@angular/material/form-field';\nimport { MatOption } from '@angular/material/core';\nimport { MatSelect } from '@angular/material/select';\nimport { JsonFormsAngularMaterialModule } from '@jsonforms/angular-material';\n\n@Component({\n selector: 'app-enum-renderer',\n templateUrl: './select-renderer.component.html',\n styleUrl: './select-renderer.component.scss',\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n MatFormField,\n MatLabel,\n MatOption,\n MatSelect,\n JsonFormsAngularMaterialModule,\n ],\n})\nexport class EnumRendererComponent extends JsonFormsControl {\n options = signal<string[]>([]);\n\n override mapAdditionalProps(props: ControlProps) {\n this.options.set(this.scopedSchema?.enum || []);\n super.mapAdditionalProps(props);\n }\n}\n\nexport const enumControlTester: RankedTester = rankWith(10, isEnumControl);\n","<mat-form-field appearance=\"outline\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [(value)]=\"data\"\n (selectionChange)=\"onChange($event)\"\n [formControl]=\"form\"\n >\n @for (value of options(); track value) {\n <mat-option [value]=\"value\">\n {{ uischema.i18n + '.' + value | translate }}\n </mat-option>\n }\n </mat-select>\n</mat-form-field>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i5","i3"],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- DateControlRenderer {
2
- display: flex;
3
- flex-direction: row;
4
- }
5
-
6
- .date-control-renderer {
7
- flex: 1 1 auto;
8
- }
9
-
10
- .no-panel-navigation .mat-calendar-period-button {
11
- pointer-events: none;
12
- }
13
-
14
- .no-panel-navigation .mat-calendar-arrow {
15
- display: none;
16
- }
17
-
18
- .mat-headline-6 {
19
- font-size: 5px; /* Modifier la taille de la police */
20
- line-height: 0.6;
21
- color: black;
22
- }
@@ -1,123 +0,0 @@
1
- import { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';
2
- import { RankedTester, JsonFormsState, StatePropsOfControl, LabelElement, UISchemaElement, ControlProps } from '@jsonforms/core';
3
- import { JsonFormsControl, JsonFormsBaseRenderer, JsonFormsAngularService } from '@jsonforms/angular';
4
- import * as i0 from '@angular/core';
5
- import { OnInit } from '@angular/core';
6
- import { MatDatepicker } from '@angular/material/datepicker';
7
- import { OnemrvaMatDatepickerHeaderComponent } from '@onemrvapublic/design-system/mat-datepicker-header';
8
- import { ValidatorFn } from '@angular/forms';
9
-
10
- declare class CheckboxRendererComponent extends JsonFormsControl {
11
- color: OnemrvaMatColor;
12
- indeterminate: boolean;
13
- getEventValue: (event: any) => any;
14
- onCheckboxChange(value: boolean): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxRendererComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxRendererComponent, "app-demo-checkbox", never, { "color": { "alias": "color"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, {}, never, never, true, never>;
17
- }
18
- declare const checkboxTester: RankedTester;
19
-
20
- declare class DatepickerRendererComponent extends JsonFormsControl {
21
- focused: boolean;
22
- startView: 'month' | 'year' | 'multi-year';
23
- panelClass: string;
24
- views: string[];
25
- protected readonly OnemrvaMatDatepickerHeaderComponent: typeof OnemrvaMatDatepickerHeaderComponent;
26
- maxDate: Date | null;
27
- minDate: Date | null;
28
- private dateAdapter;
29
- getEventValue: (event: any) => string;
30
- protected mapToProps(state: JsonFormsState): StatePropsOfControl;
31
- private setDateLimits;
32
- private parseDate;
33
- private luxonToDate;
34
- yearSelected($event: any, datepicker: MatDatepicker<any>): void;
35
- monthSelected($event: any, datepicker: MatDatepicker<any>): void;
36
- setViewProperties(): void;
37
- private getSaveFormat;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerRendererComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerRendererComponent, "app-date-picker-renderer", never, {}, {}, never, never, true, never>;
40
- }
41
- declare const DatePickerRendererTester: RankedTester;
42
-
43
- declare class IbanRendererComponent extends JsonFormsControl {
44
- readonly: i0.InputSignal<boolean>;
45
- private readonly isUpdating;
46
- ngOnInit(): void;
47
- onChange(event: any): void;
48
- private buildIbanValue;
49
- getEventValue: (event: any) => any;
50
- validator: ValidatorFn;
51
- private setErrorValue;
52
- static ɵfac: i0.ɵɵFactoryDeclaration<IbanRendererComponent, never>;
53
- static ɵcmp: i0.ɵɵComponentDeclaration<IbanRendererComponent, "app-iban-renderer", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
54
- }
55
- declare const ibanControlTester: RankedTester;
56
-
57
- declare class LabelRendererComponent extends JsonFormsBaseRenderer<LabelElement> implements OnInit {
58
- jsonFormsService: JsonFormsAngularService;
59
- label: string | undefined;
60
- visible: boolean | undefined;
61
- ngOnInit(): void;
62
- get labelStyle(): Record<string, string>;
63
- get fontWeight(): boolean;
64
- get fontSize(): number;
65
- static ɵfac: i0.ɵɵFactoryDeclaration<LabelRendererComponent, never>;
66
- static ɵcmp: i0.ɵɵComponentDeclaration<LabelRendererComponent, "app-label-renderer", never, {}, {}, never, never, true, never>;
67
- }
68
- declare const customLabelTester: RankedTester;
69
-
70
- declare class NissRendererComponent extends JsonFormsControl {
71
- nissMask: string;
72
- private readonly isUpdating;
73
- jsonFormsService: JsonFormsAngularService;
74
- ngOnInit(): void;
75
- getEventValue: (event: any) => any;
76
- onChange(event: any): void;
77
- private setErrorValue;
78
- isSsinError(): boolean;
79
- validator: ValidatorFn;
80
- static ɵfac: i0.ɵɵFactoryDeclaration<NissRendererComponent, never>;
81
- static ɵcmp: i0.ɵɵComponentDeclaration<NissRendererComponent, "app-niss-renderer", never, {}, {}, never, never, true, never>;
82
- }
83
- declare const nissControlTester: RankedTester;
84
-
85
- declare class PhoneRendererComponent extends JsonFormsControl {
86
- static ɵfac: i0.ɵɵFactoryDeclaration<PhoneRendererComponent, never>;
87
- static ɵcmp: i0.ɵɵComponentDeclaration<PhoneRendererComponent, "app-phone-renderer", never, {}, {}, never, never, true, never>;
88
- }
89
- declare const phoneControllerTester: RankedTester;
90
-
91
- declare class RadioButtonRendererComponent extends JsonFormsControl {
92
- options: string[];
93
- mapAdditionalProps(): void;
94
- get isControlDisable(): boolean;
95
- static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonRendererComponent, never>;
96
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonRendererComponent, "app-radio-button-renderer", never, {}, {}, never, never, true, never>;
97
- }
98
- declare const radioButtonTester: (uischema: UISchemaElement) => 11 | -1;
99
-
100
- declare class ReadonlyControlRendererComponent extends JsonFormsControl {
101
- private readonly translate;
102
- private readonly onemrvaNissPipe;
103
- mapAdditionalProps(): void;
104
- private formatIban;
105
- private hasValueAndSchema;
106
- private isIban;
107
- private isDate;
108
- private isNiss;
109
- private needsTranslation;
110
- static ɵfac: i0.ɵɵFactoryDeclaration<ReadonlyControlRendererComponent, never>;
111
- static ɵcmp: i0.ɵɵComponentDeclaration<ReadonlyControlRendererComponent, "app-readonly-control-renderer", never, {}, {}, never, never, true, never>;
112
- }
113
- declare const readonlyControlTester: RankedTester;
114
-
115
- declare class EnumRendererComponent extends JsonFormsControl {
116
- options: i0.WritableSignal<string[]>;
117
- mapAdditionalProps(props: ControlProps): void;
118
- static ɵfac: i0.ɵɵFactoryDeclaration<EnumRendererComponent, never>;
119
- static ɵcmp: i0.ɵɵComponentDeclaration<EnumRendererComponent, "app-enum-renderer", never, {}, {}, never, never, true, never>;
120
- }
121
- declare const enumControlTester: RankedTester;
122
-
123
- export { CheckboxRendererComponent, DatePickerRendererTester, DatepickerRendererComponent, EnumRendererComponent, IbanRendererComponent, LabelRendererComponent, NissRendererComponent, PhoneRendererComponent, RadioButtonRendererComponent, ReadonlyControlRendererComponent, checkboxTester, customLabelTester, enumControlTester, ibanControlTester, nissControlTester, phoneControllerTester, radioButtonTester, readonlyControlTester };
@@ -1,5 +0,0 @@
1
- .vertical-radio-group {
2
- display: flex;
3
- flex-direction: column;
4
- margin-bottom: 1px;
5
- }
@@ -1,4 +0,0 @@
1
- .column2 {
2
- border: none;
3
- background: none;
4
- }