{"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: Event) => 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: Event) => 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, Input, OnInit, ViewChild, ViewContainerRef, inject } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { first } from \"rxjs/operators\";\n\nimport { InlineEditCalendarField, InlineEditLookupField } from \"../../fields/index\";\nimport { InlineEditField } from \"../../fields/inline-edit-field\";\nimport { InlineEditCalendarComponent } from \"../fields/inline-edit-calendar/inline-edit-calendar.component\";\nimport { LocaleOptions, LocaleService } from \"@seniorsistemas/angular-components/locale\";\n\n@Component({\n    selector: \"s-inline-edit-item\",\n    templateUrl: \"./inline-edit-item.component.html\",\n    styleUrls: [\"./inline-edit-item.component.scss\"],\n})\nexport class InlineEditItemComponent implements OnInit {\n    private readonly localeService = inject(LocaleService);\n\n    @ViewChild(\"formContainer\", { read: ViewContainerRef, static: true })\n    public viewContainerRef: ViewContainerRef | null = null;\n\n    @Input({ required: true })\n    public label!: string;\n\n    @Input({ required: true })\n    public formGroup!: FormGroup;\n\n    @Input({ required: true })\n    public field!: InlineEditField;\n\n    @Input()\n    public errorMessages?: any;\n\n    public isEditing = false;\n    private _locale: string | undefined;\n    private dynamicComponentRef: ComponentRef<any> | null = null;\n\n    public ngOnInit(): void {\n        this._getCalendarLocaleOptions();\n    }\n\n    public get showEmptyValueButton() {\n        return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\n    }\n\n    public get showEditButton() {\n        return !this.isEditing && this.formGroup.get(this.field.name)?.value;\n    }\n\n    public get showValue() {\n        return !this.isEditing && this.formGroup.get(this.field.name)?.value;\n    }\n\n    public onEdit(): void {\n        this.isEditing = !this.isEditing;\n    }\n\n    public onCancel(): void {\n        this.isEditing = !this.isEditing;\n    }\n\n    public onSave(): void {\n        if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\n            const control = this.formGroup.get(this.field.name);\n            if (control) {\n                control.markAsDirty({ onlySelf: true });\n            }\n\n            this.dynamicComponentRef.instance.saveValue();\n        }\n        if (this.formGroup.get(this.field.name)?.valid) {\n            this.isEditing = !this.isEditing;\n        }\n    }\n\n    public setDynamicComponentRef(ref: ComponentRef<any>): void {\n        this.dynamicComponentRef = ref;\n    }\n\n    public getErrorMessages(errorMessages: any) {\n        if (errorMessages)\n            return errorMessages instanceof Function\n                ? { ...this.errorMessages, ...errorMessages() }\n                : { ...this.errorMessages, ...errorMessages };\n        return this.errorMessages;\n    }\n\n    public getFormattedValue(value: any): string {\n        if (this.field instanceof InlineEditCalendarField) {\n            return (this.dynamicComponentRef?.instance as InlineEditCalendarComponent).getValueAsText();\n        }\n        if (this.field instanceof InlineEditLookupField) {\n            const lookupField = this.field as InlineEditLookupField;\n            return this.field.multiple\n                ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(\" - \")\n                : value[lookupField.lookupDisplayField];\n        }\n\n        return value;\n    }\n\n    private _getCalendarLocaleOptions(): void {\n        this.localeService\n            .get()\n            .pipe(first())\n            .subscribe((localeOptions: LocaleOptions) => {\n                this._locale = localeOptions.locale;\n            });\n    }\n}\n","<div class=\"inline-edit-item\">\n    <label\n        class=\"label\"\n        *sInfoSign=\"field.tooltip ? field.tooltip : ''\">\n        {{ label }}:\n    </label>\n\n    <div class=\"content\">\n        <span *ngIf=\"showValue\" class=\"value\">\n            {{ getFormattedValue(formGroup.get(field.name)?.value) }}\n        </span>\n\n        <s-button\n            *ngIf=\"showEmptyValueButton\"\n            style=\"margin-left: -8px\"\n            priority=\"link\"\n            [label]=\"'platform.angular_components.add_information' | translate\"\n            (clicked)=\"onEdit()\">\n        </s-button>\n\n        <div [hidden]=\"!isEditing\" class=\"form-container\">\n            <ng-container #formContainer></ng-container>\n        </div>\n\n        <div class=\"options\">\n            <s-button\n                *ngIf=\"showEditButton\"\n                [tooltip]=\"'platform.angular_components.edit' | translate\"\n                (clicked)=\"onEdit()\"\n                priority=\"link\"\n                [auxiliary]=\"true\"\n                iconClass=\"fas fa-edit\">\n            </s-button>\n            <s-button\n                *ngIf=\"isEditing\"\n                [tooltip]=\"'platform.angular_components.save' | translate\"\n                (clicked)=\"onSave()\"\n                priority=\"default\"\n                [auxiliary]=\"true\"\n                iconClass=\"fas fa-check\"\n                styleClass=\"save-option\"\n                iconColor=\"#428bca\">\n            </s-button>\n            <s-button\n                *ngIf=\"isEditing\"\n                [tooltip]=\"'platform.angular_components.cancel' | translate\"\n                (clicked)=\"onCancel()\"\n                priority=\"default\"\n                [auxiliary]=\"true\"\n                iconClass=\"fas fa-times\"\n                iconColor=\"#c13018\">\n            </s-button>\n        </div>\n    </div>\n    <s-control-errors\n        [form]=\"formGroup\"\n        [control]=\"formGroup.controls[field.name]\"\n        [errorMessages]=\"getErrorMessages(field.errorMessages)\">\n    </s-control-errors>\n</div>\n","import { Component, Input, OnInit, ViewChild, inject } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { Calendar } from \"primeng/calendar\";\n\nimport { InlineEditCalendarField } from \"../../../fields/inline-edit-calendar-field\";\nimport { first } from \"rxjs/operators\";\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from \"@seniorsistemas/angular-components/locale\";\n\n@Component({\n    templateUrl: \"./inline-edit-calendar.component.html\",\n    styleUrls: [\"./inline-edit-calendar.component.scss\"],\n})\nexport class InlineEditCalendarComponent implements OnInit {\n    private readonly localeService = inject(LocaleService);\n\n    @Input({ required: true })\n    public field!: InlineEditCalendarField;\n\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    @ViewChild(Calendar)\n    calendar: Calendar | null = null;\n\n    public tempValue: string = '';\n    public calendarLocaleOptions: CalendarLocaleOptions | null = null;\n\n    public ngOnInit(): void {\n        this._getLocaleOptions();\n\n        if (this.formGroup && this.field) {\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n        }\n    }\n\n    public saveValue(): void {\n        if (this.formGroup && this.field) {\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n        }\n    }\n\n    public getValueAsText(): string {\n        return this.calendar?.el.nativeElement.querySelector('input').value ?? '';\n    }\n\n    private _getLocaleOptions(): void {\n        this.localeService.get().pipe(first()).subscribe((locale: LocaleOptions) => {\n            this.calendarLocaleOptions = locale.calendar;\n        });\n    }\n}\n","<!-- Este componente utilizava a diretiva: sCalendarMask, verificar se ainda é necessário -->\n<p-datepicker\n    #calendar\n    [inputId]=\"field.name\"\n    [name]=\"field.name\"\n    [showIcon]=\"true\"\n    [selectionMode]=\"field.selectionMode\"\n    [rangeSeparator]=\"field.rangeSeparator ? field.rangeSeparator : calendar.rangeSeparator\"\n    [showSeconds]=\"field.showSeconds\"\n    [showOnFocus]=\"field.showOnFocus\"\n    icon=\"fa fa-calendar\"\n    [minDate]=\"field.minDate\"\n    [maxDate]=\"field.maxDate\"\n    [dateFormat]=\"calendarLocaleOptions?.dateFormat ?? calendar.dateFormat\"\n    [hourFormat]=\"calendarLocaleOptions?.hourFormat ?? calendar.hourFormat\"\n    [defaultDate]=\"field.defaultDate ? field.defaultDate : calendar.defaultDate\"\n    [view]=\"field.view ? field.view : calendar.view\"\n    [placeholder]=\"field.placeholder\"\n    inputStyleClass=\"mousetrap\"\n    [appendTo]=\"field.appendTo\"\n    (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n    (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n    (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n    (onClose)=\"field.onClose ? field.onClose($event) : null\"\n    (onTodayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n    (onClearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n    (onMonthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n    (onYearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n    [showTransitionOptions]=\"'0ms'\"\n    [hideTransitionOptions]=\"'0ms'\"\n    [(ngModel)]=\"tempValue\">\n</p-datepicker>\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditLookupField } from \"../../../fields/inline-edit-lookup-field\";\n\n@Component({\n    templateUrl: \"./inline-edit-lookup.component.html\",\n    styleUrls: [\"./inline-edit-lookup.component.scss\"],\n})\nexport class InlineEditLookupComponent implements OnInit {\n    @Input({ required: true })\n    public field!: InlineEditLookupField;\n\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    public tempValue: string = '';\n\n    public ngOnInit(): void {\n        if (this.formGroup && this.field) {\n            this.tempValue = this.formGroup.get(this.field.name)?.value || \"\";\n        }\n    }\n\n    public saveValue(): void {\n        if (this.formGroup && this.field) {\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n        }\n    }\n}\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, Input, OnInit, inject } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { first } from \"rxjs/operators\";\n\nimport { InlineEditNumberField } from \"../../../fields/inline-edit-number-field\";\nimport { LocaleService } from \"@seniorsistemas/angular-components/locale\";\n\n@Component({\n    templateUrl: \"./inline-edit-number.component.html\",\n    styleUrls: [\"./inline-edit-number.component.scss\"],\n})\nexport class InlineEditNumberComponent implements OnInit {\n    private readonly localeService = inject(LocaleService);\n\n    @Input({ required: true })\n    public field!: InlineEditNumberField;\n\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    public tempValue: string = '';\n\n    public ngOnInit(): void {\n        this._onLocaleService();\n\n        if (this.formGroup && this.field) {\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n        }\n    }\n\n    public saveValue(): void {\n        if (this.formGroup && this.field) {\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n        }\n    }\n\n    public get mask(): string {\n        return typeof this.field.mask === 'function' ? this.field.mask() : this.field.mask as string\n    }\n\n    public get leftAddonDisabled(): boolean {\n        return typeof this.field!.leftAddon?.disabled === 'function' ? this.field.leftAddon.disabled() : this.field.leftAddon?.disabled as boolean;\n    }\n\n    public get rightAddonDisabled(): boolean {\n        return typeof this.field.rightAddon?.disabled === 'function' ? this.field.rightAddon.disabled() : this.field.rightAddon?.disabled as boolean;\n    }\n\n    public get precision(): number {\n        return typeof this.field.precision === 'function' ? this.field.precision() : this.field.precision as number;\n    }\n\n    public get scale(): number {\n        return typeof this.field.scale === 'function' ? this.field.scale() : this.field.scale as number;\n    }\n\n    private _onLocaleService(): void {\n        this.localeService\n            .getLocale()\n            .pipe(first())\n            .subscribe({\n                next: () => {\n                    if (!this.field.numberLocaleOptions?.decimalSeparator) {\n                        this.field.numberLocaleOptions = {\n                            ...this.field.numberLocaleOptions,\n                            decimalSeparator: this.localeService.getDecimalSeparator(),\n                        };\n                    }\n\n                    if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n                        this.field.numberLocaleOptions = {\n                            ...this.field.numberLocaleOptions,\n                            thousandsSeparator: this.localeService.getGroupingSeparator(),\n                        };\n                    }\n                },\n                error: () =>\n                (this.field.numberLocaleOptions = {\n                    thousandsSeparator: \".\",\n                    decimalSeparator: \",\",\n                    currencySymbol: \"\",\n                }),\n            });\n    }\n}\n","<p-inputMask\n    *ngIf=\"field.mask; else noMask\"\n    type=\"text\"\n    [inputId]=\"field.name\"\n    [name]=\"field.name\"\n    [mask]=\"mask\"\n    [placeholder]=\"field.placeholder\"\n    slotChar=\"_\"\n    [sTooltip]=\"field.tooltip\"\n    tooltipPosition=\"top\"\n    [showDelay]=\"500\"\n    styleClass=\"mousetrap\"\n    (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n    (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n    (onComplete)=\"field.onComplete ? field.onComplete($event) : null\"\n    (onInput)=\"field.onInput ? field.onInput($event) : null\"\n    [autoClear]=\"field.autoClear\"\n    [(ngModel)]=\"tempValue\">\n</p-inputMask>\n\n<ng-template #noMask>\n    <ng-container>\n        <div class=\"ui-inputgroup\">\n            <ng-container *ngIf=\"field.leftAddon\">\n                <span *ngIf=\"field.leftAddon.callback\" class=\"addon-button addon-button--left\">\n                    <s-button\n                        [label]=\"field.leftAddon.label\"\n                        [iconClass]=\"field.leftAddon.icon\"\n                        [priority]=\"field.leftAddon.priority\"\n                        [disabled]=\"leftAddonDisabled\"\n                        (clicked)=\"field.leftAddon.callback()\">\n                    </s-button>\n                </span>\n                <span *ngIf=\"!field.leftAddon.callback\" class=\"ui-inputgroup-addon\">\n                    <span *ngIf=\"field.leftAddon.label\">{{ field.leftAddon.label }}</span>\n                    <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n                </span>\n            </ng-container>\n\n            <input\n                [id]=\"field.name\"\n                type=\"text\"\n                [name]=\"field.name\"\n                sBignumberInput\n                [allowNegative]=\"field.allowNegative ?? false\"\n                [precision]=\"precision\"\n                [scale]=\"scale\"\n                [alignTo]=\"field.alignTo\"\n                [sTooltip]=\"field.tooltip\"\n                tooltipPosition=\"top\"\n                [placeholder]=\"field.placeholder\"\n                [showDelay]=\"500\"\n                pInputText\n                [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n                [ngClass]=\"'mousetrap'\"\n                (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n                (focus)=\"field.onFocus ? field.onFocus($event) : null\"\n                [(ngModel)]=\"tempValue\"/>\n            <ng-container *ngIf=\"field.rightAddon\">\n                <span *ngIf=\"field.rightAddon.callback\" class=\"addon-button addon-button--right\">\n                    <s-button\n                        [label]=\"field.rightAddon.label\"\n                        [iconClass]=\"field.rightAddon.icon\"\n                        [priority]=\"field.rightAddon.priority\"\n                        [disabled]=\"rightAddonDisabled\"\n                        (clicked)=\"field.rightAddon.callback()\">\n                    </s-button>\n                </span>\n                <span *ngIf=\"!field.rightAddon.callback\" class=\"ui-inputgroup-addon\">\n                    <span *ngIf=\"field.rightAddon.label\">{{ field.rightAddon.label }}</span>\n                    <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n                </span>\n            </ng-container>\n        </div>\n    </ng-container>\n</ng-template>\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextAreaField } from \"../../../fields/inline-edit-text-area-field\";\n\n@Component({\n    templateUrl: \"./inline-edit-text-area.component.html\",\n    styleUrls: [\"./inline-edit-text-area.component.scss\"],\n})\nexport class InlineEditTextAreaComponent implements OnInit {\n    @Input({ required: true })\n    public field!: InlineEditTextAreaField;\n\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    public tempValue: string = '';\n\n    public ngOnInit(): void {\n        if (this.formGroup && this.field) {\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n        }\n    }\n\n    public saveValue(): void {\n        if (this.formGroup && this.field) {\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n        }\n    }\n}\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\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextField } from \"../../../fields/inline-edit-text-field\";\n\n@Component({\n    templateUrl: \"./inline-edit-text.component.html\",\n    styleUrls: [\"./inline-edit-text.component.scss\"],\n})\nexport class InlineEditTextComponent implements OnInit {\n    @Input({ required: true })\n    public field!: InlineEditTextField;\n\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    public tempValue!: string;\n\n    public ngOnInit(): void {\n        if (this.formGroup && this.field) {\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n        }\n    }\n\n    public saveValue(): void {\n        if (this.formGroup && this.field) {\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n        }\n    }\n}\n","<input\n    type=\"text\"\n    pInputText\n    [(ngModel)]=\"tempValue\" />","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditContentGeneratorField } from \"../../../fields/inline-edit-content-generator-field\";\n\n@Component({\n    templateUrl: \"./inline-edit-content-generator.component.html\",\n    styleUrls: [\"./inline-edit-content-generator.component.scss\"],\n})\nexport class InlineEditContentGeneratorComponent implements OnInit {\n    @Input({ required: true })\n    public field!: InlineEditContentGeneratorField;\n\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    public tempValue: string = '';\n\n    public ngOnInit(): void {\n        if (this.formGroup && this.field) {\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n        }\n    }\n\n    public saveValue(): void {\n        if (this.formGroup && this.field) {\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n        }\n    }\n}\n","<s-content-generator [(ngModel)]=\"tempValue\"></s-content-generator>","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\nimport {\n    InlineEditCalendarComponent,\n    InlineEditItemComponent,\n    InlineEditLookupComponent,\n    InlineEditNumberComponent,\n    InlineEditTextAreaComponent,\n    InlineEditContentGeneratorComponent,\n    InlineEditTextComponent,\n} from './components/index';\nimport {\n    InlineEditCalendarField,\n    InlineEditField,\n    InlineEditLookupField,\n    InlineEditNumberField,\n    InlineEditTextAreaField,\n    InlineEditContentGeneratorField,\n    InlineEditTextField,\n} from './fields/index';\n\n/**\n * @description Componente de edição inline que renderiza dinamicamente campos editáveis\n * (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista\n * de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.\n *\n * @example\n * ```html\n * <s-inline-edit [formGroup]=\"form\" [fields]=\"camposEditaveis\" />\n * ```\n *\n * @category Inputs\n */\n@Component({\n    selector: 's-inline-edit',\n    templateUrl: './inline-edit.component.html',\n    styleUrls: ['./inline-edit.component.scss'],\n})\nexport class InlineEditComponent implements OnInit {\n    /** @description `FormGroup` Angular ao qual os campos inline serão vinculados. @default new FormGroup({}) */\n    @Input()\n    public formGroup: FormGroup = new FormGroup({});\n\n    /** @description Lista de configurações dos campos inline a serem renderizados. @default [] */\n    @Input()\n    public fields: InlineEditField[] = [];\n\n    /** @description Mapa de mensagens de erro customizadas por nome de validador. */\n    @Input()\n    public errorMessages?: any;\n\n    @ViewChild('formContainer', { read: ViewContainerRef, static: true })\n    public container: ViewContainerRef | null = null;\n\n    public ngOnInit(): void {\n        this._createFields();\n    }\n\n    private _componentMap = {\n        [InlineEditCalendarField.name]: InlineEditCalendarComponent,\n        [InlineEditLookupField.name]: InlineEditLookupComponent,\n        [InlineEditTextField.name]: InlineEditTextComponent,\n        [InlineEditNumberField.name]: InlineEditNumberComponent,\n        [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\n        [InlineEditContentGeneratorField.name]: InlineEditContentGeneratorComponent,\n    };\n\n    private _createFields(): void {\n        if (!this.container) {\n            return;\n        }\n        this.container.clear();\n\n        const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\n            const componentRef = this.container!.createComponent(componentClass);\n            (componentRef.instance as any).field = field;\n            (componentRef.instance as any).formGroup = this.formGroup;\n            return componentRef;\n        };\n\n        for (let field of this.fields) {\n            let componentClass = this._componentMap[field.constructor.name];\n\n            if (componentClass) {\n                const inlineEditItemRef = this.container.createComponent(InlineEditItemComponent);\n                inlineEditItemRef.instance.label = field.label;\n                inlineEditItemRef.instance.formGroup = this.formGroup;\n                inlineEditItemRef.instance.field = field;\n                inlineEditItemRef.instance.errorMessages = this.errorMessages;\n                const dynamicComponentRef = createComponent(componentClass, field);\n\n                const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\n                if (inlineEditItemInstance.viewContainerRef) {\n                    inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\n                    inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\n                }\n            }\n        }\n    }\n}\n\n","<div class=\"inline-edit\">\n    <ng-template #formContainer></ng-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { TextareaModule } from 'primeng/textarea';\n\nimport { InlineEditCalendarComponent } from './components/fields/inline-edit-calendar/inline-edit-calendar.component';\nimport { InlineEditLookupComponent } from './components/fields/inline-edit-lookup/inline-edit-lookup.component';\nimport { InlineEditNumberComponent } from './components/fields/inline-edit-number/inline-edit-number.component';\nimport { InlineEditContentGeneratorComponent } from './components/fields/inline-edit-content-generator/inline-edit-content-generator.component';\nimport { InlineEditTextAreaComponent } from './components/fields/inline-edit-text-area/inline-edit-text-area.component';\nimport { InlineEditTextComponent } from './components/fields/inline-edit-text/inline-edit-text.component';\nimport { InlineEditItemComponent } from './components/inline-edit-item/inline-edit-item.component';\n\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\nimport { ControlErrorsModule } from '@seniorsistemas/angular-components/control-errors';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { InlineEditComponent } from './inline-edit.component';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { InfoSignModule } from '@seniorsistemas/angular-components/info-sign';\nimport { BignumberInputModule } from '@seniorsistemas/angular-components/bignumber-input';\nimport { ContentGeneratorModule } from '@seniorsistemas/angular-components/content-generator';\nimport { DynamicFormModule } from '@seniorsistemas/angular-components/dynamic-form';\n\n@NgModule({\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n        TranslateModule,\n        BignumberInputModule,\n        ButtonModule,\n        ControlErrorsModule,\n        InfoSignModule,\n        ContentGeneratorModule,\n        TooltipModule,\n        DatePickerModule,\n        InputMaskModule,\n        InputTextModule,\n        TextareaModule,\n        KeyFilterModule,\n        DynamicFormModule,\n    ],\n    declarations: [\n        InlineEditComponent,\n        InlineEditItemComponent,\n        InlineEditCalendarComponent,\n        InlineEditLookupComponent,\n        InlineEditNumberComponent,\n        InlineEditTextComponent,\n        InlineEditTextAreaComponent,\n        InlineEditContentGeneratorComponent,\n    ],\n    exports: [InlineEditComponent],\n})\nexport class InlineEditModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i5"],"mappings":"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"}