@seniorsistemas/angular-components 19.7.6 → 19.8.0
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/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +10 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +11 -11
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -3
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +5 -5
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +3 -3
- package/esm2022/input-text/lib/input-text/input-text.directive.mjs +36 -0
- package/esm2022/input-text/lib/input-text/input-text.module.mjs +16 -0
- package/esm2022/input-text/public-api.mjs +3 -0
- package/esm2022/input-text/seniorsistemas-angular-components-input-text.mjs +5 -0
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +14 -14
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -2
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +7 -6
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs +56 -0
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/input-text/index.d.ts +5 -0
- package/input-text/lib/input-text/input-text.directive.d.ts +5 -0
- package/input-text/lib/input-text/input-text.module.d.ts +7 -0
- package/input-text/public-api.d.ts +2 -0
- package/package.json +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components-inline-edit.mjs","sources":["../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-calendar-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-lookup-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-number-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-area-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-content-generator-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.module.ts","../../projects/angular-components/inline-edit/src/seniorsistemas-angular-components-inline-edit.ts"],"sourcesContent":["type errorMessageFn = () => {};\nexport interface InlineEditFieldOptions {\n label: string;\n name: string;\n tooltip?: string;\n errorMessages?: errorMessageFn | {};\n}\n\nexport abstract class InlineEditField {\n public label: string;\n public name: string;\n public tooltip?: string;\n public errorMessages?: errorMessageFn | {};\n\n constructor(options: InlineEditFieldOptions) {\n this.label = options.label;\n this.name = options.name;\n this.tooltip = options.tooltip;\n this.errorMessages = options.errorMessages;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n view?: 'date' | 'month' | 'year';\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: 'single' | 'multiple';\n rangeSeparator?: string;\n showSeconds?: boolean;\n placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField implements InlineEditCalendarFieldOptions {\n public view?: 'date' | 'month' | 'year';\n public appendTo?: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public showOnFocus?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: 'single' | 'multiple';\n public rangeSeparator?: string;\n public showSeconds?: boolean;\n public placeholder?: string;\n\n constructor(options: InlineEditCalendarFieldOptions) {\n super(options);\n\n this.view = options.view || \"date\";\n this.minDate = options.minDate;\n this.maxDate = options.maxDate;\n this.defaultDate = options.defaultDate;\n this.appendTo = options.appendTo;\n this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onSelect = options.onSelect;\n this.onInput = options.onInput;\n this.onClose = options.onClose;\n this.onTodayClick = options.onTodayClick;\n this.onClearClick = options.onClearClick;\n this.onMonthChange = options.onMonthChange;\n this.onYearChange = options.onYearChange;\n this.selectionMode = options.selectionMode || \"single\";\n this.rangeSeparator = options.rangeSeparator || \"-\";\n this.showSeconds = options.showSeconds;\n this.placeholder = options.placeholder;\n }\n}\n","import { Observable } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { InlineEditField, InlineEditFieldOptions } from './inline-edit-field';\nimport { DefaultFilter } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions?: any[];\n suggestionsObservable?: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterTitle?: string;\n emptyMessage?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n maxlength?: number | null;\n showAddOption?: boolean;\n showEditOption?: boolean;\n showRemoveOption?: boolean;\n placeholder?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[] = [];\n public searchGridFields: any[] = [];\n public lookupSuggestions: any[] = [];\n public suggestionsObservable?: Observable<any[]> | null = null;\n public searchObservable: Observable<{\n gridData: any[];\n totalRecords: number;\n searchTotalRecordsLabel?: string;\n }> | null = null;\n public dataKey = '';\n public lookupDisplayField = '';\n public searchTitle = '';\n public searchEmptyTitle = '';\n public filterTitle = '';\n public emptyMessage = '';\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public maxlength: number | null = null;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[] = [];\n public onLookupRequest?: (query: string) => void;\n public onSearchRequest?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n\n public placeholder?: string;\n\n private _gridData: any[] = [];\n private _searchTotalRecords = 0;\n private _searchTotalRecordsLabel = '';\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(options: InlineEditLookupFieldOptions) {\n super(options);\n Object.assign(this, options);\n\n if (this.suggestionsObservable) {\n this.suggestionsObservable.subscribe((suggestions) => (this.lookupSuggestions = suggestions));\n }\n if (this.searchObservable) {\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel as string;\n });\n }\n }\n}\n\n","import { NumberLocaleOptions } from \"@seniorsistemas/angular-components/locale\";\n\nimport { AddonConfig } from \"../types/addon-config\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\ntype strinFn = () => string\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n allowNegative?: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: strinFn | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n placeholder?: string;\n autoClear?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: Event) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n public allowNegative?: boolean;\n public numberLocaleOptions?: NumberLocaleOptions;\n public browserAutocomplete?: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: 'left' | 'right';\n public mask?: strinFn | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public placeholder?: string;\n public autoClear?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: Event) => void;\n\n constructor(options: InlineEditNumberFieldOptions) {\n super(options);\n\n this.allowNegative = options.allowNegative ?? true;\n this.numberLocaleOptions = options.numberLocaleOptions;\n this.browserAutocomplete = options.browserAutocomplete;\n this.precision = options.precision;\n this.scale = options.scale ?? 2;\n this.alignTo = this.scale ? 'right' : 'left';\n this.mask = options.mask;\n this.leftAddon = options.leftAddon;\n this.rightAddon = options.rightAddon;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onComplete = options.onComplete;\n this.onInput = options.onInput;\n this.autoClear = options.autoClear ?? true;\n this.placeholder = options.placeholder ?? \"\";\n }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public readonly?: () => boolean;\n\n constructor(options: InlineEditTextAreaFieldOptions) {\n super(options);\n\n this.cols = options.cols;\n this.rows = options.rows;\n this.keyFilter = options.keyFilter;\n this.readonly = options.readonly;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n constructor(options: InlineEditTextFieldOptions) {\n super(options);\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditContentGeneratorFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditContentGeneratorField extends InlineEditField {\n constructor(options: InlineEditContentGeneratorFieldOptions) {\n super(options);\n }\n}\n","import { Component, ComponentRef, DestroyRef, Input, OnInit, ViewChild, ViewContainerRef, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditCalendarField, InlineEditLookupField } from '../../fields/index';\r\nimport { InlineEditField } from '../../fields/inline-edit-field';\r\nimport { InlineEditCalendarComponent } from '../fields/inline-edit-calendar/inline-edit-calendar.component';\r\nimport { LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { InfoSignDirective } from '@seniorsistemas/angular-components/info-sign';\r\n\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { ControlErrorsComponent } from '@seniorsistemas/angular-components/control-errors';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-inline-edit-item',\r\n templateUrl: './inline-edit-item.component.html',\r\n styleUrls: ['./inline-edit-item.component.scss'],\r\n standalone: true,\r\n imports: [InfoSignDirective, ButtonComponent, ControlErrorsComponent, TranslatePipe],\r\n})\r\nexport class InlineEditItemComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public viewContainerRef: ViewContainerRef | null = null;\r\n\r\n @Input({ required: true })\r\n public label!: string;\r\n\r\n @Input({ required: true })\r\n public formGroup!: FormGroup;\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditField;\r\n\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n public isEditing = false;\r\n private _locale: string | undefined;\r\n private dynamicComponentRef: ComponentRef<any> | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._getCalendarLocaleOptions();\r\n }\r\n\r\n public get showEmptyValueButton() {\r\n return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showEditButton() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showValue() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public onEdit(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onCancel(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onSave(): void {\r\n if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\r\n const control = this.formGroup.get(this.field.name);\r\n if (control) {\r\n control.markAsDirty({ onlySelf: true });\r\n }\r\n\r\n this.dynamicComponentRef.instance.saveValue();\r\n }\r\n if (this.formGroup.get(this.field.name)?.valid) {\r\n this.isEditing = !this.isEditing;\r\n }\r\n }\r\n\r\n public setDynamicComponentRef(ref: ComponentRef<any>): void {\r\n this.dynamicComponentRef = ref;\r\n }\r\n\r\n public getErrorMessages(errorMessages: any) {\r\n if (errorMessages)\r\n return errorMessages instanceof Function\r\n ? { ...this.errorMessages, ...errorMessages() }\r\n : { ...this.errorMessages, ...errorMessages };\r\n return this.errorMessages;\r\n }\r\n\r\n public getFormattedValue(value: any): string {\r\n if (this.field instanceof InlineEditCalendarField) {\r\n return (this.dynamicComponentRef?.instance as InlineEditCalendarComponent).getValueAsText();\r\n }\r\n if (this.field instanceof InlineEditLookupField) {\r\n const lookupField = this.field as InlineEditLookupField;\r\n return this.field.multiple\r\n ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(' - ')\r\n : value[lookupField.lookupDisplayField];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private _getCalendarLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((localeOptions: LocaleOptions) => {\r\n this._locale = localeOptions.locale;\r\n });\r\n }\r\n}\r\n","<div class=\"inline-edit-item\">\r\n <label\r\n class=\"label\"\r\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\"\r\n >\r\n {{ label }}:\r\n </label>\r\n\r\n <div class=\"content\">\r\n @if (showValue) {\r\n <span class=\"value\">\r\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\r\n </span>\r\n }\r\n\r\n @if (showEmptyValueButton) {\r\n <s-button\r\n style=\"margin-left: -8px\"\r\n priority=\"link\"\r\n [label]=\"'platform.angular_components.add_information' | translate\"\r\n (clicked)=\"onEdit()\"\r\n >\r\n </s-button>\r\n }\r\n\r\n <div\r\n [hidden]=\"!isEditing\"\r\n class=\"form-container\"\r\n >\r\n <ng-container #formContainer></ng-container>\r\n </div>\r\n\r\n <div class=\"options\">\r\n @if (showEditButton) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.edit' | translate\"\r\n (clicked)=\"onEdit()\"\r\n priority=\"link\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-edit\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.save' | translate\"\r\n (clicked)=\"onSave()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-check\"\r\n styleClass=\"save-option\"\r\n iconColor=\"#428bca\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\r\n (clicked)=\"onCancel()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-times\"\r\n iconColor=\"#c13018\"\r\n >\r\n </s-button>\r\n }\r\n </div>\r\n </div>\r\n <s-control-errors\r\n [form]=\"formGroup\"\r\n [control]=\"formGroup.controls[field.name]\"\r\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\r\n >\r\n </s-control-errors>\r\n</div>\r\n","import { Component, DestroyRef, ElementRef, Input, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n DatepickerComponent,\r\n DatePickerMode,\r\n DatepickerComponent as DatepickerComponent_1,\r\n} from '@seniorsistemas/angular-components/datepicker';\r\n\r\nimport { InlineEditCalendarField } from '../../../fields/inline-edit-calendar-field';\r\nimport { first } from 'rxjs/operators';\r\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-calendar.component.html',\r\n styleUrls: ['./inline-edit-calendar.component.scss'],\r\n standalone: true,\r\n imports: [DatepickerComponent_1, FormsModule],\r\n})\r\nexport class InlineEditCalendarComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditCalendarField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n @ViewChild(DatepickerComponent, { read: ElementRef })\r\n datepickerEl: ElementRef | null = null;\r\n\r\n public tempValue: Date | null = null;\r\n public calendarLocaleOptions: CalendarLocaleOptions | null = null;\r\n\r\n public get resolvedHourFormat(): '12' | '24' {\r\n return this.calendarLocaleOptions?.hourFormat === '12' ? '12' : '24';\r\n }\r\n\r\n public get resolvedMode(): DatePickerMode {\r\n if (this.field.view === 'month') return 'month';\r\n if (this.field.view === 'year') return 'year';\r\n return 'date';\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._getLocaleOptions();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || null;\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public getValueAsText(): string {\r\n return this.datepickerEl?.nativeElement?.querySelector('input')?.value ?? '';\r\n }\r\n\r\n private _getLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((locale: LocaleOptions) => {\r\n this.calendarLocaleOptions = locale.calendar;\r\n });\r\n }\r\n}\r\n","<s-datepicker\n #datepicker\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [mode]=\"resolvedMode\"\n [rangeSeparator]=\"field.rangeSeparator ?? ' — '\"\n [showSeconds]=\"field.showSeconds ?? false\"\n icon=\"fas fa-calendar\"\n [min]=\"field.minDate ?? null\"\n [max]=\"field.maxDate ?? null\"\n [dateFormat]=\"calendarLocaleOptions?.dateFormat ?? 'dd/MM/yyyy'\"\n [hourFormat]=\"resolvedHourFormat\"\n [defaultDate]=\"field.defaultDate ?? null\"\n [placeholder]=\"field.placeholder\"\n (blurred)=\"field.onBlur ? field.onBlur($event) : null\"\n (focused)=\"field.onFocus ? field.onFocus($event) : null\"\n (selected)=\"field.onSelect ? field.onSelect($event) : null\"\n (closed)=\"field.onClose ? field.onClose($event) : null\"\n (todayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (clearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (monthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (yearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-datepicker>\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { InlineEditLookupField } from '../../../fields/inline-edit-lookup-field';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-lookup.component.html',\r\n styleUrls: ['./inline-edit-lookup.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditLookupComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditLookupField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<!--\nTODO: ativar campo novamente\n<s-lookup\n [id]=\"field.name\"\n [multiple]=\"field.multiple\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest ? field.onLookupRequest($event) : null\"\n (onSearchRequest)=\"field.onSearchRequest ? field.onSearchRequest($event) : null\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [labelOptions]=\"{\n filterTitle: field.filterTitle,[\n searchTotalRecordsLabel: field.searchTotalRecordsLabel,\n searchEmptyTitle: field.searchEmptyTitle,\n searchTitle: field.searchTitle,\n\n }\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [maxlength]=\"field.maxlength\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd ? field.onAdd() : null\"\n (onEdit)=\"field.onEdit ? field.onEdit($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-lookup> -->\n\n","import { Component, DestroyRef, Input, OnInit, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditNumberField } from '../../../fields/inline-edit-number-field';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { NgClass } from '@angular/common';\r\nimport { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { BignumberInputDirective } from '@seniorsistemas/angular-components/bignumber-input';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-number.component.html',\r\n styleUrls: ['./inline-edit-number.component.scss'],\r\n standalone: true,\r\n imports: [\r\n InputMaskDirective,\r\n FormsModule,\r\n InputText,\r\n TooltipDirective,\r\n ButtonComponent,\r\n NgClass,\r\n BignumberInputDirective,\r\n ],\r\n})\r\nexport class InlineEditNumberComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditNumberField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n this._onLocaleService();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public get mask(): string {\r\n return typeof this.field.mask === 'function' ? this.field.mask() : (this.field.mask as string);\r\n }\r\n\r\n public get leftAddonDisabled(): boolean {\r\n return typeof this.field!.leftAddon?.disabled === 'function'\r\n ? this.field.leftAddon.disabled()\r\n : (this.field.leftAddon?.disabled as boolean);\r\n }\r\n\r\n public get rightAddonDisabled(): boolean {\r\n return typeof this.field.rightAddon?.disabled === 'function'\r\n ? this.field.rightAddon.disabled()\r\n : (this.field.rightAddon?.disabled as boolean);\r\n }\r\n\r\n public get precision(): number {\r\n return typeof this.field.precision === 'function' ? this.field.precision() : (this.field.precision as number);\r\n }\r\n\r\n public get scale(): number {\r\n return typeof this.field.scale === 'function' ? this.field.scale() : (this.field.scale as number);\r\n }\r\n\r\n private _onLocaleService(): void {\r\n this.localeService\r\n .getLocale()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe({\r\n next: () => {\r\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n decimalSeparator: this.localeService.getDecimalSeparator(),\r\n };\r\n }\r\n\r\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n thousandsSeparator: this.localeService.getGroupingSeparator(),\r\n };\r\n }\r\n },\r\n error: () =>\r\n (this.field.numberLocaleOptions = {\r\n thousandsSeparator: '.',\r\n decimalSeparator: ',',\r\n currencySymbol: '',\r\n }),\r\n });\r\n }\r\n}\r\n","@if (field.mask) {\r\n <input\r\n pInputText\r\n class=\"mousetrap\"\r\n type=\"text\"\r\n [id]=\"field.name\"\r\n [name]=\"field.name\"\r\n [sInputMask]=\"mask\"\r\n [placeholder]=\"field.placeholder\"\r\n slotChar=\"_\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [showDelay]=\"500\"\r\n [autoClear]=\"field.autoClear ?? false\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n (maskComplete)=\"field.onComplete ? field.onComplete($event) : null\"\r\n (input)=\"field.onInput ? field.onInput($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n} @else {\r\n <ng-container>\r\n <div class=\"ui-inputgroup\">\r\n @if (field.leftAddon) {\r\n @if (field.leftAddon.callback) {\r\n <span class=\"addon-button addon-button--left\">\r\n <s-button\r\n [label]=\"field.leftAddon.label\"\r\n [iconClass]=\"field.leftAddon.icon\"\r\n [priority]=\"field.leftAddon.priority\"\r\n [disabled]=\"leftAddonDisabled\"\r\n (clicked)=\"field.leftAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.leftAddon.callback) {\r\n <span class=\"ui-inputgroup-addon\">\r\n @if (field.leftAddon.label) {\r\n <span>{{ field.leftAddon.label }}</span>\r\n }\r\n @if (!field.leftAddon.label) {\r\n <span [ngClass]=\"field.leftAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n <input\r\n [id]=\"field.name\"\r\n type=\"text\"\r\n [name]=\"field.name\"\r\n sBignumberInput\r\n [allowNegative]=\"field.allowNegative ?? false\"\r\n [precision]=\"precision\"\r\n [scale]=\"scale\"\r\n [alignTo]=\"field.alignTo\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [placeholder]=\"field.placeholder\"\r\n [showDelay]=\"500\"\r\n pInputText\r\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\r\n [ngClass]=\"'mousetrap'\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n @if (field.rightAddon) {\r\n @if (field.rightAddon.callback) {\r\n <span class=\"addon-button addon-button--right\">\r\n <s-button\r\n [label]=\"field.rightAddon.label\"\r\n [iconClass]=\"field.rightAddon.icon\"\r\n [priority]=\"field.rightAddon.priority\"\r\n [disabled]=\"rightAddonDisabled\"\r\n (clicked)=\"field.rightAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.rightAddon.callback) {\r\n <span class=\"ui-inputgroup-addon\">\r\n @if (field.rightAddon.label) {\r\n <span>{{ field.rightAddon.label }}</span>\r\n }\r\n @if (!field.rightAddon.label) {\r\n <span [ngClass]=\"field.rightAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextAreaField } from '../../../fields/inline-edit-text-area-field';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { KeyFilter } from 'primeng/keyfilter';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text-area.component.html',\r\n styleUrls: ['./inline-edit-text-area.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, Textarea, KeyFilter],\r\n})\r\nexport class InlineEditTextAreaComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextAreaField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","@if(field.keyFilter) {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\"\n [pKeyFilter]=\"field.keyFilter\">\n </textarea>\n}@else {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\">\n </textarea>\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextField } from '../../../fields/inline-edit-text-field';\r\nimport { InputText } from 'primeng/inputtext';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text.component.html',\r\n styleUrls: ['./inline-edit-text.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, InputText],\r\n})\r\nexport class InlineEditTextComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue!: string;\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<input\n type=\"text\"\n pInputText\n [(ngModel)]=\"tempValue\" />","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditContentGeneratorField } from '../../../fields/inline-edit-content-generator-field';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { ContentGeneratorComponent } from '@seniorsistemas/angular-components/content-generator';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-content-generator.component.html',\r\n styleUrls: ['./inline-edit-content-generator.component.scss'],\r\n standalone: true,\r\n imports: [DeprecatedSelectorDirective, ContentGeneratorComponent, FormsModule],\r\n})\r\nexport class InlineEditContentGeneratorComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditContentGeneratorField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<s-content-generator [(ngModel)]=\"tempValue\"></s-content-generator>","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport {\r\n InlineEditCalendarComponent,\r\n InlineEditItemComponent,\r\n InlineEditLookupComponent,\r\n InlineEditNumberComponent,\r\n InlineEditTextAreaComponent,\r\n InlineEditContentGeneratorComponent,\r\n InlineEditTextComponent,\r\n} from './components/index';\r\nimport {\r\n InlineEditCalendarField,\r\n InlineEditField,\r\n InlineEditLookupField,\r\n InlineEditNumberField,\r\n InlineEditTextAreaField,\r\n InlineEditContentGeneratorField,\r\n InlineEditTextField,\r\n} from './fields/index';\r\n\r\n/**\r\n * @description Componente de edição inline que renderiza dinamicamente campos editáveis\r\n * (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista\r\n * de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.\r\n *\r\n * @example\r\n * ```html\r\n * <s-inline-edit [formGroup]=\"form\" [fields]=\"camposEditaveis\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n selector: 's-inline-edit',\r\n templateUrl: './inline-edit.component.html',\r\n styleUrls: ['./inline-edit.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditComponent implements OnInit {\r\n /** @description `FormGroup` Angular ao qual os campos inline serão vinculados. @default new FormGroup({}) */\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n /** @description Lista de configurações dos campos inline a serem renderizados. @default [] */\r\n @Input()\r\n public fields: InlineEditField[] = [];\r\n\r\n /** @description Mapa de mensagens de erro customizadas por nome de validador. */\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public container: ViewContainerRef | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._createFields();\r\n }\r\n\r\n private _componentMap = {\r\n [InlineEditCalendarField.name]: InlineEditCalendarComponent,\r\n [InlineEditLookupField.name]: InlineEditLookupComponent,\r\n [InlineEditTextField.name]: InlineEditTextComponent,\r\n [InlineEditNumberField.name]: InlineEditNumberComponent,\r\n [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\r\n [InlineEditContentGeneratorField.name]: InlineEditContentGeneratorComponent,\r\n };\r\n\r\n private _createFields(): void {\r\n if (!this.container) {\r\n return;\r\n }\r\n this.container.clear();\r\n\r\n const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\r\n const componentRef = this.container!.createComponent(componentClass);\r\n (componentRef.instance as any).field = field;\r\n (componentRef.instance as any).formGroup = this.formGroup;\r\n return componentRef;\r\n };\r\n\r\n for (let field of this.fields) {\r\n let componentClass = this._componentMap[field.constructor.name];\r\n\r\n if (componentClass) {\r\n const inlineEditItemRef = this.container.createComponent(InlineEditItemComponent);\r\n inlineEditItemRef.instance.label = field.label;\r\n inlineEditItemRef.instance.formGroup = this.formGroup;\r\n inlineEditItemRef.instance.field = field;\r\n inlineEditItemRef.instance.errorMessages = this.errorMessages;\r\n const dynamicComponentRef = createComponent(componentClass, field);\r\n\r\n const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\r\n if (inlineEditItemInstance.viewContainerRef) {\r\n inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\r\n inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"inline-edit\">\n <ng-template #formContainer></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { InlineEditComponent } from './inline-edit.component';\r\n\r\n@NgModule({\r\n imports: [InlineEditComponent],\r\n exports: [InlineEditComponent],\r\n})\r\nexport class InlineEditModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DatepickerComponent_1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-inline-edit.mjs","sources":["../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-calendar-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-lookup-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-number-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-area-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-content-generator-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.module.ts","../../projects/angular-components/inline-edit/src/seniorsistemas-angular-components-inline-edit.ts"],"sourcesContent":["type errorMessageFn = () => {};\nexport interface InlineEditFieldOptions {\n label: string;\n name: string;\n tooltip?: string;\n errorMessages?: errorMessageFn | {};\n}\n\nexport abstract class InlineEditField {\n public label: string;\n public name: string;\n public tooltip?: string;\n public errorMessages?: errorMessageFn | {};\n\n constructor(options: InlineEditFieldOptions) {\n this.label = options.label;\n this.name = options.name;\n this.tooltip = options.tooltip;\n this.errorMessages = options.errorMessages;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n view?: 'date' | 'month' | 'year';\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: 'single' | 'multiple';\n rangeSeparator?: string;\n showSeconds?: boolean;\n placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField implements InlineEditCalendarFieldOptions {\n public view?: 'date' | 'month' | 'year';\n public appendTo?: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public showOnFocus?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: 'single' | 'multiple';\n public rangeSeparator?: string;\n public showSeconds?: boolean;\n public placeholder?: string;\n\n constructor(options: InlineEditCalendarFieldOptions) {\n super(options);\n\n this.view = options.view || \"date\";\n this.minDate = options.minDate;\n this.maxDate = options.maxDate;\n this.defaultDate = options.defaultDate;\n this.appendTo = options.appendTo;\n this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onSelect = options.onSelect;\n this.onInput = options.onInput;\n this.onClose = options.onClose;\n this.onTodayClick = options.onTodayClick;\n this.onClearClick = options.onClearClick;\n this.onMonthChange = options.onMonthChange;\n this.onYearChange = options.onYearChange;\n this.selectionMode = options.selectionMode || \"single\";\n this.rangeSeparator = options.rangeSeparator || \"-\";\n this.showSeconds = options.showSeconds;\n this.placeholder = options.placeholder;\n }\n}\n","import { Observable } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { InlineEditField, InlineEditFieldOptions } from './inline-edit-field';\nimport { DefaultFilter } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions?: any[];\n suggestionsObservable?: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterTitle?: string;\n emptyMessage?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n maxlength?: number | null;\n showAddOption?: boolean;\n showEditOption?: boolean;\n showRemoveOption?: boolean;\n placeholder?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[] = [];\n public searchGridFields: any[] = [];\n public lookupSuggestions: any[] = [];\n public suggestionsObservable?: Observable<any[]> | null = null;\n public searchObservable: Observable<{\n gridData: any[];\n totalRecords: number;\n searchTotalRecordsLabel?: string;\n }> | null = null;\n public dataKey = '';\n public lookupDisplayField = '';\n public searchTitle = '';\n public searchEmptyTitle = '';\n public filterTitle = '';\n public emptyMessage = '';\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public maxlength: number | null = null;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[] = [];\n public onLookupRequest?: (query: string) => void;\n public onSearchRequest?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n\n public placeholder?: string;\n\n private _gridData: any[] = [];\n private _searchTotalRecords = 0;\n private _searchTotalRecordsLabel = '';\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(options: InlineEditLookupFieldOptions) {\n super(options);\n Object.assign(this, options);\n\n if (this.suggestionsObservable) {\n this.suggestionsObservable.subscribe((suggestions) => (this.lookupSuggestions = suggestions));\n }\n if (this.searchObservable) {\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel as string;\n });\n }\n }\n}\n\n","import { NumberLocaleOptions } from \"@seniorsistemas/angular-components/locale\";\n\nimport { AddonConfig } from \"../types/addon-config\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\ntype strinFn = () => string\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n allowNegative?: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: strinFn | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n placeholder?: string;\n autoClear?: boolean;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: Event) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n public allowNegative?: boolean;\n public numberLocaleOptions?: NumberLocaleOptions;\n public browserAutocomplete?: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: 'left' | 'right';\n public mask?: strinFn | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public placeholder?: string;\n public autoClear?: boolean;\n public onBlur?: (event: Event) => void;\n public onFocus?: (event: Event) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: Event) => void;\n\n constructor(options: InlineEditNumberFieldOptions) {\n super(options);\n\n this.allowNegative = options.allowNegative ?? true;\n this.numberLocaleOptions = options.numberLocaleOptions;\n this.browserAutocomplete = options.browserAutocomplete;\n this.precision = options.precision;\n this.scale = options.scale ?? 2;\n this.alignTo = this.scale ? 'right' : 'left';\n this.mask = options.mask;\n this.leftAddon = options.leftAddon;\n this.rightAddon = options.rightAddon;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onComplete = options.onComplete;\n this.onInput = options.onInput;\n this.autoClear = options.autoClear ?? true;\n this.placeholder = options.placeholder ?? \"\";\n }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public readonly?: () => boolean;\n\n constructor(options: InlineEditTextAreaFieldOptions) {\n super(options);\n\n this.cols = options.cols;\n this.rows = options.rows;\n this.keyFilter = options.keyFilter;\n this.readonly = options.readonly;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n constructor(options: InlineEditTextFieldOptions) {\n super(options);\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditContentGeneratorFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditContentGeneratorField extends InlineEditField {\n constructor(options: InlineEditContentGeneratorFieldOptions) {\n super(options);\n }\n}\n","import { Component, ComponentRef, DestroyRef, Input, OnInit, ViewChild, ViewContainerRef, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditCalendarField, InlineEditLookupField } from '../../fields/index';\r\nimport { InlineEditField } from '../../fields/inline-edit-field';\r\nimport { InlineEditCalendarComponent } from '../fields/inline-edit-calendar/inline-edit-calendar.component';\r\nimport { LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { InfoSignDirective } from '@seniorsistemas/angular-components/info-sign';\r\n\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { ControlErrorsComponent } from '@seniorsistemas/angular-components/control-errors';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 's-inline-edit-item',\r\n templateUrl: './inline-edit-item.component.html',\r\n styleUrls: ['./inline-edit-item.component.scss'],\r\n standalone: true,\r\n imports: [InfoSignDirective, ButtonComponent, ControlErrorsComponent, TranslatePipe],\r\n})\r\nexport class InlineEditItemComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public viewContainerRef: ViewContainerRef | null = null;\r\n\r\n @Input({ required: true })\r\n public label!: string;\r\n\r\n @Input({ required: true })\r\n public formGroup!: FormGroup;\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditField;\r\n\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n public isEditing = false;\r\n private _locale: string | undefined;\r\n private dynamicComponentRef: ComponentRef<any> | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._getCalendarLocaleOptions();\r\n }\r\n\r\n public get showEmptyValueButton() {\r\n return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showEditButton() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public get showValue() {\r\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n }\r\n\r\n public onEdit(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onCancel(): void {\r\n this.isEditing = !this.isEditing;\r\n }\r\n\r\n public onSave(): void {\r\n if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\r\n const control = this.formGroup.get(this.field.name);\r\n if (control) {\r\n control.markAsDirty({ onlySelf: true });\r\n }\r\n\r\n this.dynamicComponentRef.instance.saveValue();\r\n }\r\n if (this.formGroup.get(this.field.name)?.valid) {\r\n this.isEditing = !this.isEditing;\r\n }\r\n }\r\n\r\n public setDynamicComponentRef(ref: ComponentRef<any>): void {\r\n this.dynamicComponentRef = ref;\r\n }\r\n\r\n public getErrorMessages(errorMessages: any) {\r\n if (errorMessages)\r\n return errorMessages instanceof Function\r\n ? { ...this.errorMessages, ...errorMessages() }\r\n : { ...this.errorMessages, ...errorMessages };\r\n return this.errorMessages;\r\n }\r\n\r\n public getFormattedValue(value: any): string {\r\n if (this.field instanceof InlineEditCalendarField) {\r\n return (this.dynamicComponentRef?.instance as InlineEditCalendarComponent).getValueAsText();\r\n }\r\n if (this.field instanceof InlineEditLookupField) {\r\n const lookupField = this.field as InlineEditLookupField;\r\n return this.field.multiple\r\n ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(' - ')\r\n : value[lookupField.lookupDisplayField];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private _getCalendarLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((localeOptions: LocaleOptions) => {\r\n this._locale = localeOptions.locale;\r\n });\r\n }\r\n}\r\n","<div class=\"inline-edit-item\">\r\n <label\r\n class=\"label\"\r\n *sInfoSign=\"field.tooltip ? field.tooltip : ''\"\r\n >\r\n {{ label }}:\r\n </label>\r\n\r\n <div class=\"content\">\r\n @if (showValue) {\r\n <span class=\"value\">\r\n {{ getFormattedValue(formGroup.get(field.name)?.value) }}\r\n </span>\r\n }\r\n\r\n @if (showEmptyValueButton) {\r\n <s-button\r\n style=\"margin-left: -8px\"\r\n priority=\"link\"\r\n [label]=\"'platform.angular_components.add_information' | translate\"\r\n (clicked)=\"onEdit()\"\r\n >\r\n </s-button>\r\n }\r\n\r\n <div\r\n [hidden]=\"!isEditing\"\r\n class=\"form-container\"\r\n >\r\n <ng-container #formContainer></ng-container>\r\n </div>\r\n\r\n <div class=\"options\">\r\n @if (showEditButton) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.edit' | translate\"\r\n (clicked)=\"onEdit()\"\r\n priority=\"link\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-edit\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.save' | translate\"\r\n (clicked)=\"onSave()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-check\"\r\n styleClass=\"save-option\"\r\n iconColor=\"#428bca\"\r\n >\r\n </s-button>\r\n }\r\n @if (isEditing) {\r\n <s-button\r\n [tooltip]=\"'platform.angular_components.cancel' | translate\"\r\n (clicked)=\"onCancel()\"\r\n priority=\"default\"\r\n [auxiliary]=\"true\"\r\n iconClass=\"fas fa-times\"\r\n iconColor=\"#c13018\"\r\n >\r\n </s-button>\r\n }\r\n </div>\r\n </div>\r\n <s-control-errors\r\n [form]=\"formGroup\"\r\n [control]=\"formGroup.controls[field.name]\"\r\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\r\n >\r\n </s-control-errors>\r\n</div>\r\n","import { Component, DestroyRef, ElementRef, Input, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n DatepickerComponent,\r\n DatePickerMode,\r\n DatepickerComponent as DatepickerComponent_1,\r\n} from '@seniorsistemas/angular-components/datepicker';\r\n\r\nimport { InlineEditCalendarField } from '../../../fields/inline-edit-calendar-field';\r\nimport { first } from 'rxjs/operators';\r\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-calendar.component.html',\r\n styleUrls: ['./inline-edit-calendar.component.scss'],\r\n standalone: true,\r\n imports: [DatepickerComponent_1, FormsModule],\r\n})\r\nexport class InlineEditCalendarComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditCalendarField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n @ViewChild(DatepickerComponent, { read: ElementRef })\r\n datepickerEl: ElementRef | null = null;\r\n\r\n public tempValue: Date | null = null;\r\n public calendarLocaleOptions: CalendarLocaleOptions | null = null;\r\n\r\n public get resolvedHourFormat(): '12' | '24' {\r\n return this.calendarLocaleOptions?.hourFormat === '12' ? '12' : '24';\r\n }\r\n\r\n public get resolvedMode(): DatePickerMode {\r\n if (this.field.view === 'month') return 'month';\r\n if (this.field.view === 'year') return 'year';\r\n return 'date';\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._getLocaleOptions();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || null;\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public getValueAsText(): string {\r\n return this.datepickerEl?.nativeElement?.querySelector('input')?.value ?? '';\r\n }\r\n\r\n private _getLocaleOptions(): void {\r\n this.localeService\r\n .get()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe((locale: LocaleOptions) => {\r\n this.calendarLocaleOptions = locale.calendar;\r\n });\r\n }\r\n}\r\n","<s-datepicker\n #datepicker\n [inputId]=\"field.name\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [mode]=\"resolvedMode\"\n [rangeSeparator]=\"field.rangeSeparator ?? ' — '\"\n [showSeconds]=\"field.showSeconds ?? false\"\n icon=\"fas fa-calendar\"\n [min]=\"field.minDate ?? null\"\n [max]=\"field.maxDate ?? null\"\n [dateFormat]=\"calendarLocaleOptions?.dateFormat ?? 'dd/MM/yyyy'\"\n [hourFormat]=\"resolvedHourFormat\"\n [defaultDate]=\"field.defaultDate ?? null\"\n [placeholder]=\"field.placeholder\"\n (blurred)=\"field.onBlur ? field.onBlur($event) : null\"\n (focused)=\"field.onFocus ? field.onFocus($event) : null\"\n (selected)=\"field.onSelect ? field.onSelect($event) : null\"\n (closed)=\"field.onClose ? field.onClose($event) : null\"\n (todayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (clearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (monthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (yearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-datepicker>\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { InlineEditLookupField } from '../../../fields/inline-edit-lookup-field';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-lookup.component.html',\r\n styleUrls: ['./inline-edit-lookup.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditLookupComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditLookupField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<!--\nTODO: ativar campo novamente\n<s-lookup\n [id]=\"field.name\"\n [multiple]=\"field.multiple\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest ? field.onLookupRequest($event) : null\"\n (onSearchRequest)=\"field.onSearchRequest ? field.onSearchRequest($event) : null\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [labelOptions]=\"{\n filterTitle: field.filterTitle,[\n searchTotalRecordsLabel: field.searchTotalRecordsLabel,\n searchEmptyTitle: field.searchEmptyTitle,\n searchTitle: field.searchTitle,\n\n }\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [maxlength]=\"field.maxlength\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd ? field.onAdd() : null\"\n (onEdit)=\"field.onEdit ? field.onEdit($event) : null\"\n (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n [(ngModel)]=\"tempValue\">\n</s-lookup> -->\n\n","import { Component, DestroyRef, Input, OnInit, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditNumberField } from '../../../fields/inline-edit-number-field';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { NgClass } from '@angular/common';\r\nimport { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';\r\nimport { InputTextDirective } from '@seniorsistemas/angular-components/input-text';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { BignumberInputDirective } from '@seniorsistemas/angular-components/bignumber-input';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-number.component.html',\r\n styleUrls: ['./inline-edit-number.component.scss'],\r\n standalone: true,\r\n imports: [\r\n InputMaskDirective,\r\n FormsModule,\r\n InputTextDirective,\r\n TooltipDirective,\r\n ButtonComponent,\r\n NgClass,\r\n BignumberInputDirective,\r\n ],\r\n})\r\nexport class InlineEditNumberComponent implements OnInit {\r\n private readonly localeService = inject(LocaleService);\r\n private readonly _destroyRef = inject(DestroyRef);\r\n\r\n @Input({ required: true })\r\n public field!: InlineEditNumberField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n this._onLocaleService();\r\n\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n\r\n public get mask(): string {\r\n return typeof this.field.mask === 'function' ? this.field.mask() : (this.field.mask as string);\r\n }\r\n\r\n public get leftAddonDisabled(): boolean {\r\n return typeof this.field!.leftAddon?.disabled === 'function'\r\n ? this.field.leftAddon.disabled()\r\n : (this.field.leftAddon?.disabled as boolean);\r\n }\r\n\r\n public get rightAddonDisabled(): boolean {\r\n return typeof this.field.rightAddon?.disabled === 'function'\r\n ? this.field.rightAddon.disabled()\r\n : (this.field.rightAddon?.disabled as boolean);\r\n }\r\n\r\n public get precision(): number {\r\n return typeof this.field.precision === 'function' ? this.field.precision() : (this.field.precision as number);\r\n }\r\n\r\n public get scale(): number {\r\n return typeof this.field.scale === 'function' ? this.field.scale() : (this.field.scale as number);\r\n }\r\n\r\n private _onLocaleService(): void {\r\n this.localeService\r\n .getLocale()\r\n .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n .subscribe({\r\n next: () => {\r\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n decimalSeparator: this.localeService.getDecimalSeparator(),\r\n };\r\n }\r\n\r\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\r\n this.field.numberLocaleOptions = {\r\n ...this.field.numberLocaleOptions,\r\n thousandsSeparator: this.localeService.getGroupingSeparator(),\r\n };\r\n }\r\n },\r\n error: () =>\r\n (this.field.numberLocaleOptions = {\r\n thousandsSeparator: '.',\r\n decimalSeparator: ',',\r\n currencySymbol: '',\r\n }),\r\n });\r\n }\r\n}\r\n","@if (field.mask) {\r\n <input\r\n sInputText\r\n class=\"mousetrap\"\r\n type=\"text\"\r\n [id]=\"field.name\"\r\n [name]=\"field.name\"\r\n [sInputMask]=\"mask\"\r\n [placeholder]=\"field.placeholder\"\r\n slotChar=\"_\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [showDelay]=\"500\"\r\n [autoClear]=\"field.autoClear ?? false\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n (maskComplete)=\"field.onComplete ? field.onComplete($event) : null\"\r\n (input)=\"field.onInput ? field.onInput($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n} @else {\r\n <ng-container>\r\n <div class=\"ui-inputgroup\">\r\n @if (field.leftAddon) {\r\n @if (field.leftAddon.callback) {\r\n <span class=\"addon-button addon-button--left\">\r\n <s-button\r\n [label]=\"field.leftAddon.label\"\r\n [iconClass]=\"field.leftAddon.icon\"\r\n [priority]=\"field.leftAddon.priority\"\r\n [disabled]=\"leftAddonDisabled\"\r\n (clicked)=\"field.leftAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.leftAddon.callback) {\r\n <span class=\"ui-inputgroup-addon\">\r\n @if (field.leftAddon.label) {\r\n <span>{{ field.leftAddon.label }}</span>\r\n }\r\n @if (!field.leftAddon.label) {\r\n <span [ngClass]=\"field.leftAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n <input\r\n [id]=\"field.name\"\r\n type=\"text\"\r\n [name]=\"field.name\"\r\n sBignumberInput\r\n [allowNegative]=\"field.allowNegative ?? false\"\r\n [precision]=\"precision\"\r\n [scale]=\"scale\"\r\n [alignTo]=\"field.alignTo\"\r\n [sTooltip]=\"field.tooltip\"\r\n tooltipPosition=\"top\"\r\n [placeholder]=\"field.placeholder\"\r\n [showDelay]=\"500\"\r\n sInputText\r\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\r\n [ngClass]=\"'mousetrap'\"\r\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n [(ngModel)]=\"tempValue\"\r\n />\r\n @if (field.rightAddon) {\r\n @if (field.rightAddon.callback) {\r\n <span class=\"addon-button addon-button--right\">\r\n <s-button\r\n [label]=\"field.rightAddon.label\"\r\n [iconClass]=\"field.rightAddon.icon\"\r\n [priority]=\"field.rightAddon.priority\"\r\n [disabled]=\"rightAddonDisabled\"\r\n (clicked)=\"field.rightAddon.callback()\"\r\n >\r\n </s-button>\r\n </span>\r\n }\r\n @if (!field.rightAddon.callback) {\r\n <span class=\"ui-inputgroup-addon\">\r\n @if (field.rightAddon.label) {\r\n <span>{{ field.rightAddon.label }}</span>\r\n }\r\n @if (!field.rightAddon.label) {\r\n <span [ngClass]=\"field.rightAddon.icon\"></span>\r\n }\r\n </span>\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextAreaField } from '../../../fields/inline-edit-text-area-field';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { KeyFilter } from 'primeng/keyfilter';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text-area.component.html',\r\n styleUrls: ['./inline-edit-text-area.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, Textarea, KeyFilter],\r\n})\r\nexport class InlineEditTextAreaComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextAreaField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","@if(field.keyFilter) {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\"\n [pKeyFilter]=\"field.keyFilter\">\n </textarea>\n}@else {\n <textarea\n [id]=\"field.name\"\n pTextarea\n class=\"textarea-input\"\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n [(ngModel)]=\"tempValue\">\n </textarea>\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextField } from '../../../fields/inline-edit-text-field';\r\nimport { InputText } from 'primeng/inputtext';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-text.component.html',\r\n styleUrls: ['./inline-edit-text.component.scss'],\r\n standalone: true,\r\n imports: [FormsModule, InputText],\r\n})\r\nexport class InlineEditTextComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditTextField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue!: string;\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<input\n type=\"text\"\n sInputText\n [(ngModel)]=\"tempValue\" />","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditContentGeneratorField } from '../../../fields/inline-edit-content-generator-field';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { ContentGeneratorComponent } from '@seniorsistemas/angular-components/content-generator';\r\n\r\n@Component({\r\n templateUrl: './inline-edit-content-generator.component.html',\r\n styleUrls: ['./inline-edit-content-generator.component.scss'],\r\n standalone: true,\r\n imports: [DeprecatedSelectorDirective, ContentGeneratorComponent, FormsModule],\r\n})\r\nexport class InlineEditContentGeneratorComponent implements OnInit {\r\n @Input({ required: true })\r\n public field!: InlineEditContentGeneratorField;\r\n\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n public tempValue: string = '';\r\n\r\n public ngOnInit(): void {\r\n if (this.formGroup && this.field) {\r\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n }\r\n }\r\n\r\n public saveValue(): void {\r\n if (this.formGroup && this.field) {\r\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n }\r\n }\r\n}\r\n","<s-content-generator [(ngModel)]=\"tempValue\"></s-content-generator>","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport {\r\n InlineEditCalendarComponent,\r\n InlineEditItemComponent,\r\n InlineEditLookupComponent,\r\n InlineEditNumberComponent,\r\n InlineEditTextAreaComponent,\r\n InlineEditContentGeneratorComponent,\r\n InlineEditTextComponent,\r\n} from './components/index';\r\nimport {\r\n InlineEditCalendarField,\r\n InlineEditField,\r\n InlineEditLookupField,\r\n InlineEditNumberField,\r\n InlineEditTextAreaField,\r\n InlineEditContentGeneratorField,\r\n InlineEditTextField,\r\n} from './fields/index';\r\n\r\n/**\r\n * @description Componente de edição inline que renderiza dinamicamente campos editáveis\r\n * (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista\r\n * de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.\r\n *\r\n * @example\r\n * ```html\r\n * <s-inline-edit [formGroup]=\"form\" [fields]=\"camposEditaveis\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n selector: 's-inline-edit',\r\n templateUrl: './inline-edit.component.html',\r\n styleUrls: ['./inline-edit.component.scss'],\r\n standalone: true,\r\n})\r\nexport class InlineEditComponent implements OnInit {\r\n /** @description `FormGroup` Angular ao qual os campos inline serão vinculados. @default new FormGroup({}) */\r\n @Input()\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n /** @description Lista de configurações dos campos inline a serem renderizados. @default [] */\r\n @Input()\r\n public fields: InlineEditField[] = [];\r\n\r\n /** @description Mapa de mensagens de erro customizadas por nome de validador. */\r\n @Input()\r\n public errorMessages?: any;\r\n\r\n @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n public container: ViewContainerRef | null = null;\r\n\r\n public ngOnInit(): void {\r\n this._createFields();\r\n }\r\n\r\n private _componentMap = {\r\n [InlineEditCalendarField.name]: InlineEditCalendarComponent,\r\n [InlineEditLookupField.name]: InlineEditLookupComponent,\r\n [InlineEditTextField.name]: InlineEditTextComponent,\r\n [InlineEditNumberField.name]: InlineEditNumberComponent,\r\n [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\r\n [InlineEditContentGeneratorField.name]: InlineEditContentGeneratorComponent,\r\n };\r\n\r\n private _createFields(): void {\r\n if (!this.container) {\r\n return;\r\n }\r\n this.container.clear();\r\n\r\n const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\r\n const componentRef = this.container!.createComponent(componentClass);\r\n (componentRef.instance as any).field = field;\r\n (componentRef.instance as any).formGroup = this.formGroup;\r\n return componentRef;\r\n };\r\n\r\n for (let field of this.fields) {\r\n let componentClass = this._componentMap[field.constructor.name];\r\n\r\n if (componentClass) {\r\n const inlineEditItemRef = this.container.createComponent(InlineEditItemComponent);\r\n inlineEditItemRef.instance.label = field.label;\r\n inlineEditItemRef.instance.formGroup = this.formGroup;\r\n inlineEditItemRef.instance.field = field;\r\n inlineEditItemRef.instance.errorMessages = this.errorMessages;\r\n const dynamicComponentRef = createComponent(componentClass, field);\r\n\r\n const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\r\n if (inlineEditItemInstance.viewContainerRef) {\r\n inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\r\n inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"inline-edit\">\n <ng-template #formContainer></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { InlineEditComponent } from './inline-edit.component';\r\n\r\n@NgModule({\r\n imports: [InlineEditComponent],\r\n exports: [InlineEditComponent],\r\n})\r\nexport class InlineEditModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DatepickerComponent_1"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, NgModule } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @description Diretiva de estilo que aplica a aparência visual padrão de campo de texto
|
|
6
|
+
* (borda, fundo, tipografia e estados de foco, desabilitado e inválido) a um `<input>` nativo.
|
|
7
|
+
*
|
|
8
|
+
* É uma diretiva **apenas de estilo**: não implementa `ControlValueAccessor`, não gerencia
|
|
9
|
+
* foco/ARIA e não depende de nenhum outro componente. Combine livremente com `[formControl]`,
|
|
10
|
+
* `[(ngModel)]`, `sInputMask`, `pKeyFilter`, `sTooltip`, `[readOnly]`, etc. no mesmo elemento.
|
|
11
|
+
*
|
|
12
|
+
* O estado de erro (borda vermelha) aparece automaticamente quando o próprio elemento
|
|
13
|
+
* hospedeiro recebe as classes `ng-invalid` e `ng-dirty` do Angular Forms — ou seja, quando
|
|
14
|
+
* `[formControl]`/`[(ngModel)]` está no MESMO elemento que `sInputText`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* <input type="text" sInputText [formControl]="nome" placeholder="Digite seu nome" />
|
|
19
|
+
* ```
|
|
20
|
+
* @category Input
|
|
21
|
+
*/
|
|
22
|
+
const HOST_CLASSES = 's-input-text w-full min-h-[35px] rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] py-[5px] text-sm leading-[1.25] text-grayscale-90 placeholder:text-grayscale-60 transition-colors duration-200 ease-out focus:border-primary focus:outline-none disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30 [&.ng-invalid.ng-dirty]:border-criticality-red';
|
|
23
|
+
class InputTextDirective {
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: InputTextDirective, isStandalone: true, selector: "input[sInputText]", host: { classAttribute: "s-input-text w-full min-h-[35px] rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] py-[5px] text-sm leading-[1.25] text-grayscale-90 placeholder:text-grayscale-60 transition-colors duration-200 ease-out focus:border-primary focus:outline-none disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30 [&.ng-invalid.ng-dirty]:border-criticality-red" }, ngImport: i0 });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextDirective, decorators: [{
|
|
28
|
+
type: Directive,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: 'input[sInputText]',
|
|
31
|
+
standalone: true,
|
|
32
|
+
host: {
|
|
33
|
+
class: HOST_CLASSES,
|
|
34
|
+
},
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
|
|
38
|
+
class InputTextModule {
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: InputTextModule, imports: [InputTextDirective], exports: [InputTextDirective] });
|
|
41
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextModule });
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputTextModule, decorators: [{
|
|
44
|
+
type: NgModule,
|
|
45
|
+
args: [{
|
|
46
|
+
imports: [InputTextDirective],
|
|
47
|
+
exports: [InputTextDirective],
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Generated bundle index. Do not edit.
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
export { InputTextDirective, InputTextModule };
|
|
56
|
+
//# sourceMappingURL=seniorsistemas-angular-components-input-text.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components-input-text.mjs","sources":["../../projects/angular-components/input-text/src/lib/input-text/input-text.directive.ts","../../projects/angular-components/input-text/src/lib/input-text/input-text.module.ts","../../projects/angular-components/input-text/src/seniorsistemas-angular-components-input-text.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * @description Diretiva de estilo que aplica a aparência visual padrão de campo de texto\n * (borda, fundo, tipografia e estados de foco, desabilitado e inválido) a um `<input>` nativo.\n *\n * É uma diretiva **apenas de estilo**: não implementa `ControlValueAccessor`, não gerencia\n * foco/ARIA e não depende de nenhum outro componente. Combine livremente com `[formControl]`,\n * `[(ngModel)]`, `sInputMask`, `pKeyFilter`, `sTooltip`, `[readOnly]`, etc. no mesmo elemento.\n *\n * O estado de erro (borda vermelha) aparece automaticamente quando o próprio elemento\n * hospedeiro recebe as classes `ng-invalid` e `ng-dirty` do Angular Forms — ou seja, quando\n * `[formControl]`/`[(ngModel)]` está no MESMO elemento que `sInputText`.\n *\n * @example\n * ```html\n * <input type=\"text\" sInputText [formControl]=\"nome\" placeholder=\"Digite seu nome\" />\n * ```\n * @category Input\n */\nconst HOST_CLASSES =\n 's-input-text w-full min-h-[35px] rounded-medium border border-grayscale-30 bg-grayscale-0 px-[10px] py-[5px] text-sm leading-[1.25] text-grayscale-90 placeholder:text-grayscale-60 transition-colors duration-200 ease-out focus:border-primary focus:outline-none disabled:border-grayscale-20 disabled:bg-grayscale-5 disabled:text-grayscale-30 [&.ng-invalid.ng-dirty]:border-criticality-red';\n\n@Directive({\n selector: 'input[sInputText]',\n standalone: true,\n host: {\n class: HOST_CLASSES,\n },\n})\nexport class InputTextDirective {}\n\n","import { NgModule } from '@angular/core';\n\nimport { InputTextDirective } from './input-text.directive';\n\n@NgModule({\n imports: [InputTextDirective],\n exports: [InputTextDirective],\n})\nexport class InputTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,MAAM,YAAY,GACd,oYAAoY,CAAC;MAS5X,kBAAkB,CAAA;wGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oYAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,YAAY;AACtB,qBAAA;AACJ,iBAAA,CAAA;;;MCrBY,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAf,eAAe,EAAA,OAAA,EAAA,CAHd,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAClB,kBAAkB,CAAA,EAAA,CAAA,CAAA;yGAEnB,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -5,7 +5,7 @@ import { trigger, transition, style, animate, query, stagger } from '@angular/an
|
|
|
5
5
|
import * as i1 from '@angular/forms';
|
|
6
6
|
import { FormsModule } from '@angular/forms';
|
|
7
7
|
import { TranslateService } from '@ngx-translate/core';
|
|
8
|
-
import {
|
|
8
|
+
import { InputTextDirective } from '@seniorsistemas/angular-components/input-text';
|
|
9
9
|
|
|
10
10
|
class TreeNodeItemComponent {
|
|
11
11
|
cdr = inject(ChangeDetectorRef);
|
|
@@ -102,7 +102,7 @@ class TreeNodeItemComponent {
|
|
|
102
102
|
this.treeNodeEdit.emit(payload);
|
|
103
103
|
}
|
|
104
104
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeNodeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "s-tree-node-item", inputs: { ariaLevel: { classPropertyName: "ariaLevel", publicName: "ariaLevel", isSignal: true, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: true, isRequired: false, transformFunction: null }, treeNodeItem: { classPropertyName: "treeNodeItem", publicName: "treeNodeItem", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n
|
|
105
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "s-tree-node-item", inputs: { ariaLevel: { classPropertyName: "ariaLevel", publicName: "ariaLevel", isSignal: true, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: true, isRequired: false, transformFunction: null }, treeNodeItem: { classPropertyName: "treeNodeItem", publicName: "treeNodeItem", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n sInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n } @else if (!treeNodeItem.isEditing) {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <span class=\"tree-node-item-text-editable\">\n <i\n class=\"fas fa-pencil-alt\"\n (click)=\"toggleEditing($event)\"\n aria-label=\"Editar item\"\n tabindex=\"0\"\n ></i>\n </span>\n }\n </div>\n </div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n <div\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n >\n @for (child of treeNodeItem.children; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox()\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel() + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n />\n }\n </div>\n}\n\n", styles: [".tree-node-item{width:100%;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:flex;align-items:center;justify-content:center}.tree-node-item-text{flex:1;display:flex;padding:3px 0;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:flex;align-items:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:flex;align-items:center;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:flex;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}\n"], dependencies: [{ kind: "component", type: TreeNodeItemComponent, selector: "s-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }], animations: [
|
|
106
106
|
trigger('fadeExpand', [
|
|
107
107
|
transition(':enter', [
|
|
108
108
|
style({ height: '0px', opacity: 0, overflow: 'hidden' }),
|
|
@@ -138,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
138
138
|
], { optional: true }),
|
|
139
139
|
]),
|
|
140
140
|
]),
|
|
141
|
-
], standalone: true, imports: [FormsModule,
|
|
141
|
+
], standalone: true, imports: [FormsModule, InputTextDirective], template: "@if (treeNodeItem) {\n <div\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel()\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n >\n @if (hasChildren || treeNodeItem.leaf === true) {\n <div\n class=\"arrow\"\n (click)=\"toggleExpanded(treeNodeItem)\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </div>\n }\n\n <div\n class=\"tree-node-item-text\"\n (click)=\"handleTreeNodeItemClick($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <i\n class=\"fas fa-edit edit\"\n (click)=\"saveEdit($event)\"\n ></i>\n }\n </span>\n }\n\n @if (showCheckbox() && !treeNodeItem.isEditing) {\n <span class=\"tree-node-item-text-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"tree-node-item-text-label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n sInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n } @else if (!treeNodeItem.isEditing) {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <span class=\"tree-node-item-text-editable\">\n <i\n class=\"fas fa-pencil-alt\"\n (click)=\"toggleEditing($event)\"\n aria-label=\"Editar item\"\n tabindex=\"0\"\n ></i>\n </span>\n }\n </div>\n </div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n <div\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n >\n @for (child of treeNodeItem.children; track $index) {\n <s-tree-node-item\n [showCheckbox]=\"showCheckbox()\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel() + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n />\n }\n </div>\n}\n\n", styles: [".tree-node-item{width:100%;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:flex;align-items:center;justify-content:center}.tree-node-item-text{flex:1;display:flex;padding:3px 0;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:flex;align-items:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:Open Sans;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:flex;align-items:center;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:Open Sans;font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:flex;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}\n"] }]
|
|
142
142
|
}], propDecorators: { treeNodeItem: [{
|
|
143
143
|
type: Input
|
|
144
144
|
}], treeNodeItemClicked: [{
|