@seniorsistemas/angular-components 19.9.0 → 19.9.2
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/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +7 -1
- package/control-errors/lib/control-errors/control-errors.component.d.ts +11 -2
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +8 -2
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +21 -1
- package/esm2022/drawer/lib/drawer/drawer.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +2 -2
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +62 -6
- package/esm2022/sidebar/public-api.mjs +12 -1
- package/esm2022/spotlight/lib/spotlight/spotlight-overlay/rect-stability.mjs +61 -0
- package/esm2022/spotlight/lib/spotlight/spotlight-overlay/spotlight-overlay.component.mjs +91 -21
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +61 -5
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +12 -1
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-spotlight.mjs +150 -20
- package/fesm2022/seniorsistemas-angular-components-spotlight.mjs.map +1 -1
- package/numeric-mask/README.md +164 -60
- package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +29 -2
- package/package.json +13 -13
- package/sidebar/README.md +3 -3
- package/sidebar/public-api.d.ts +10 -0
- package/spotlight/README.md +28 -0
- package/spotlight/lib/spotlight/spotlight-overlay/rect-stability.d.ts +32 -0
- package/spotlight/lib/spotlight/spotlight-overlay/spotlight-overlay.component.d.ts +33 -0
|
@@ -438,7 +438,7 @@ class InlineEditNumberComponent {
|
|
|
438
438
|
});
|
|
439
439
|
}
|
|
440
440
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
441
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InlineEditNumberComponent, isStandalone: true, selector: "ng-component", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "@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", styles: [""], dependencies: [{ kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { 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]" }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }] });
|
|
441
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InlineEditNumberComponent, isStandalone: true, selector: "ng-component", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "@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", styles: [""], dependencies: [{ kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { 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]" }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "blockDecimalOverflow", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }] });
|
|
442
442
|
}
|
|
443
443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditNumberComponent, decorators: [{
|
|
444
444
|
type: Component,
|
|
@@ -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 { 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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"}
|
|
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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"}
|
|
@@ -60,6 +60,22 @@ class NumericMaskDirective {
|
|
|
60
60
|
* Maximum value allowed
|
|
61
61
|
*/
|
|
62
62
|
max = input(undefined);
|
|
63
|
+
/**
|
|
64
|
+
* Blocks typing/pasting decimal digits beyond maxDecimalPlaces.
|
|
65
|
+
* When maxDecimalPlaces is 0, the decimal separator itself cannot be entered.
|
|
66
|
+
* @default true
|
|
67
|
+
*/
|
|
68
|
+
blockDecimalOverflow = input(true);
|
|
69
|
+
/**
|
|
70
|
+
* Strategy applied on blur when blockDecimalOverflow is false.
|
|
71
|
+
* 'preserve' keeps the model at full precision; only the display is truncated (legacy behavior).
|
|
72
|
+
* 'truncate' cuts the excess decimals without rounding (towards zero), updating the model too.
|
|
73
|
+
* 'roundUp' always rounds to the next representable value above (ceiling), updating the model too.
|
|
74
|
+
* 'roundDown' always rounds to the next representable value below (floor), updating the model too.
|
|
75
|
+
* Has no effect while blockDecimalOverflow is true.
|
|
76
|
+
* @default 'preserve'
|
|
77
|
+
*/
|
|
78
|
+
decimalRoundingMode = input('preserve');
|
|
63
79
|
elementRef = inject((ElementRef));
|
|
64
80
|
renderer = inject(Renderer2);
|
|
65
81
|
localeService = inject(LocaleService, { optional: true });
|
|
@@ -144,12 +160,17 @@ class NumericMaskDirective {
|
|
|
144
160
|
this.lastModelValue = null;
|
|
145
161
|
return;
|
|
146
162
|
}
|
|
147
|
-
|
|
163
|
+
let modelValue = this.toModelValue(currentValue);
|
|
148
164
|
if (!modelValue) {
|
|
149
165
|
this.onChange(null);
|
|
150
166
|
this.lastModelValue = null;
|
|
151
167
|
return;
|
|
152
168
|
}
|
|
169
|
+
const roundingMode = this.decimalRoundingMode();
|
|
170
|
+
if (!this.blockDecimalOverflow() && roundingMode !== 'preserve') {
|
|
171
|
+
const rounded = this.truncateToDecimalPlaces(new BigNumber(modelValue), this.maxDecimalPlaces(), this.resolveRoundingMode(roundingMode));
|
|
172
|
+
modelValue = rounded.toFixed();
|
|
173
|
+
}
|
|
153
174
|
this.lastModelValue = modelValue;
|
|
154
175
|
const displayValue = this.fromModelValue(modelValue);
|
|
155
176
|
this.renderer.setProperty(this.elementRef.nativeElement, 'value', displayValue);
|
|
@@ -250,6 +271,9 @@ class NumericMaskDirective {
|
|
|
250
271
|
if (!this.decimalSeparator() || !this.thousandSeparator()) {
|
|
251
272
|
this.updateSeparators();
|
|
252
273
|
}
|
|
274
|
+
if (this.blockDecimalOverflow()) {
|
|
275
|
+
value = this.applyBlockLimit(value);
|
|
276
|
+
}
|
|
253
277
|
this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);
|
|
254
278
|
const modelValue = this.toModelValue(value);
|
|
255
279
|
// During typing, clear the stored model value so onFocus will recalculate
|
|
@@ -313,15 +337,47 @@ class NumericMaskDirective {
|
|
|
313
337
|
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
314
338
|
}
|
|
315
339
|
/**
|
|
316
|
-
* Truncates a number to the specified decimal places
|
|
340
|
+
* Truncates (or rounds, depending on roundingMode) a number to the specified decimal places
|
|
317
341
|
* @private
|
|
318
342
|
*/
|
|
319
|
-
truncateToDecimalPlaces(bigNumber, decimalPlaces) {
|
|
343
|
+
truncateToDecimalPlaces(bigNumber, decimalPlaces, roundingMode = BigNumber.ROUND_DOWN) {
|
|
320
344
|
if (decimalPlaces < 0) {
|
|
321
345
|
return bigNumber;
|
|
322
346
|
}
|
|
323
347
|
const multiplier = new BigNumber(10).pow(decimalPlaces);
|
|
324
|
-
return bigNumber.multipliedBy(multiplier).integerValue(
|
|
348
|
+
return bigNumber.multipliedBy(multiplier).integerValue(roundingMode).dividedBy(multiplier);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Maps decimalRoundingMode to the corresponding BigNumber rounding mode
|
|
352
|
+
* @private
|
|
353
|
+
*/
|
|
354
|
+
resolveRoundingMode(mode) {
|
|
355
|
+
if (mode === 'roundUp') {
|
|
356
|
+
return BigNumber.ROUND_CEIL;
|
|
357
|
+
}
|
|
358
|
+
if (mode === 'roundDown') {
|
|
359
|
+
return BigNumber.ROUND_FLOOR;
|
|
360
|
+
}
|
|
361
|
+
return BigNumber.ROUND_DOWN;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Limits the decimal part of a value being typed/pasted to maxDecimalPlaces,
|
|
365
|
+
* preserving any scientific notation exponent untouched
|
|
366
|
+
* @private
|
|
367
|
+
*/
|
|
368
|
+
applyBlockLimit(value) {
|
|
369
|
+
const maxDecimals = this.maxDecimalPlaces();
|
|
370
|
+
const eIndex = value.search(/[eE]/);
|
|
371
|
+
const mantissa = eIndex >= 0 ? value.slice(0, eIndex) : value;
|
|
372
|
+
const exponent = eIndex >= 0 ? value.slice(eIndex) : '';
|
|
373
|
+
const sepIndex = mantissa.indexOf(this.decimalSeparator());
|
|
374
|
+
if (sepIndex === -1) {
|
|
375
|
+
return value;
|
|
376
|
+
}
|
|
377
|
+
if (maxDecimals === 0) {
|
|
378
|
+
return mantissa.slice(0, sepIndex) + exponent;
|
|
379
|
+
}
|
|
380
|
+
return mantissa.slice(0, sepIndex + 1 + maxDecimals) + exponent;
|
|
325
381
|
}
|
|
326
382
|
/**
|
|
327
383
|
* Parses a string value to its numeric representation, handling separators and sign
|
|
@@ -503,7 +559,7 @@ class NumericMaskDirective {
|
|
|
503
559
|
return null;
|
|
504
560
|
}
|
|
505
561
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
506
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: NumericMaskDirective, isStandalone: true, selector: "[sNumericMask]", inputs: { locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, minDecimalPlaces: { classPropertyName: "minDecimalPlaces", publicName: "minDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, maxDecimalPlaces: { classPropertyName: "maxDecimalPlaces", publicName: "maxDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, allowNegative: { classPropertyName: "allowNegative", publicName: "allowNegative", isSignal: true, isRequired: false, transformFunction: null }, allowScientificNotation: { classPropertyName: "allowScientificNotation", publicName: "allowScientificNotation", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, decimalSeparator: { classPropertyName: "decimalSeparator", publicName: "decimalSeparator", isSignal: true, isRequired: false, transformFunction: null }, thousandSeparator: { classPropertyName: "thousandSeparator", publicName: "thousandSeparator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { decimalSeparator: "decimalSeparatorChange", thousandSeparator: "thousandSeparatorChange" }, host: { listeners: { "input": "onInput($event)", "focus": "onFocus()", "blur": "onBlur()", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "keypress": "onKeyPress($event)" }, properties: { "style.text-align": "\"right\"" } }, providers: [
|
|
562
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: NumericMaskDirective, isStandalone: true, selector: "[sNumericMask]", inputs: { locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, minDecimalPlaces: { classPropertyName: "minDecimalPlaces", publicName: "minDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, maxDecimalPlaces: { classPropertyName: "maxDecimalPlaces", publicName: "maxDecimalPlaces", isSignal: true, isRequired: false, transformFunction: null }, allowNegative: { classPropertyName: "allowNegative", publicName: "allowNegative", isSignal: true, isRequired: false, transformFunction: null }, allowScientificNotation: { classPropertyName: "allowScientificNotation", publicName: "allowScientificNotation", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, blockDecimalOverflow: { classPropertyName: "blockDecimalOverflow", publicName: "blockDecimalOverflow", isSignal: true, isRequired: false, transformFunction: null }, decimalRoundingMode: { classPropertyName: "decimalRoundingMode", publicName: "decimalRoundingMode", isSignal: true, isRequired: false, transformFunction: null }, decimalSeparator: { classPropertyName: "decimalSeparator", publicName: "decimalSeparator", isSignal: true, isRequired: false, transformFunction: null }, thousandSeparator: { classPropertyName: "thousandSeparator", publicName: "thousandSeparator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { decimalSeparator: "decimalSeparatorChange", thousandSeparator: "thousandSeparatorChange" }, host: { listeners: { "input": "onInput($event)", "focus": "onFocus()", "blur": "onBlur()", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "keypress": "onKeyPress($event)" }, properties: { "style.text-align": "\"right\"" } }, providers: [
|
|
507
563
|
{
|
|
508
564
|
provide: NG_VALUE_ACCESSOR,
|
|
509
565
|
useExisting: forwardRef(() => NumericMaskDirective),
|