@seniorsistemas/angular-components 19.5.5 → 19.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/README.md +95 -59
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +4 -0
- package/datepicker/README.md +175 -0
- package/datepicker/index.d.ts +5 -0
- package/datepicker/lib/datepicker/date.utils.d.ts +21 -0
- package/datepicker/lib/datepicker/datepicker.component.d.ts +254 -0
- package/datepicker/lib/datepicker/models/index.d.ts +16 -0
- package/datepicker/public-api.d.ts +2 -0
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +3 -1
- package/dynamic-form/dynamic-form/components/lookup/models/lookup-alert-config.d.ts +5 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +119 -24
- package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +6 -0
- package/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +6 -23
- package/dynamic-form/public-api.d.ts +1 -0
- package/editor/README.md +229 -0
- package/editor/index.d.ts +5 -0
- package/editor/lib/editor/editor.component.d.ts +127 -0
- package/editor/lib/editor/link-dialog/link-dialog.component.d.ts +18 -0
- package/editor/lib/editor/models/index.d.ts +12 -0
- package/editor/lib/editor/toolbar-button/editor-toolbar-button.component.d.ts +10 -0
- package/editor/public-api.d.ts +2 -0
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +5 -1
- package/esm2022/datepicker/lib/datepicker/date.utils.mjs +182 -0
- package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +1062 -0
- package/esm2022/datepicker/lib/datepicker/models/index.mjs +2 -0
- package/esm2022/datepicker/public-api.mjs +2 -0
- package/esm2022/datepicker/seniorsistemas-angular-components-datepicker.mjs +5 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +11 -5
- package/esm2022/dynamic-form/dynamic-form/components/lookup/models/lookup-alert-config.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +23 -116
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +3 -3
- package/esm2022/dynamic-form/public-api.mjs +1 -1
- package/esm2022/editor/lib/editor/editor.component.mjs +375 -0
- package/esm2022/editor/lib/editor/link-dialog/link-dialog.component.mjs +48 -0
- package/esm2022/editor/lib/editor/models/index.mjs +3 -0
- package/esm2022/editor/lib/editor/toolbar-button/editor-toolbar-button.component.mjs +17 -0
- package/esm2022/editor/public-api.mjs +3 -0
- package/esm2022/editor/seniorsistemas-angular-components-editor.mjs +5 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +22 -12
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +5 -5
- package/esm2022/lib/locale/fallback.mjs +82 -3
- package/esm2022/optional-fields/editor/editor-field/editor-field.component.mjs +5 -6
- package/esm2022/optional-fields/editor/editor-field.mjs +1 -1
- package/esm2022/panel/lib/panel/panel.component.mjs +7 -3
- package/esm2022/select/lib/select/select.component.mjs +4 -8
- package/esm2022/shared/lib/accessibility/datepicker-no-period-tab.directive.mjs +5 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +4 -0
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +1250 -0
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +49 -135
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editor.mjs +437 -0
- package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +24 -15
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs +4 -5
- package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-panel.mjs +6 -2
- package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +3 -7
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +4 -0
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +81 -2
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +6 -4
- package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +2 -2
- package/loading-state/README.md +57 -17
- package/optional-fields/editor/editor-field.d.ts +9 -6
- package/package.json +74 -8
- package/panel/README.md +12 -1
- package/panel/lib/panel/panel.component.d.ts +3 -1
- package/schematics/collection.json +4 -0
- package/schematics/migrations/migrate-p-datepicker/index.d.ts +2 -0
- package/schematics/migrations/migrate-p-datepicker/index.js +141 -0
- package/schematics/migrations/migrate-p-datepicker/index.js.map +1 -0
- package/schematics/migrations/migrate-p-datepicker/index.test.d.ts +1 -0
- package/schematics/migrations/migrate-p-datepicker/index.test.js +392 -0
- package/schematics/migrations/migrate-p-datepicker/index.test.js.map +1 -0
- package/schematics/migrations.json +10 -0
- package/schematics/utils/ast-utils.d.ts +28 -0
- package/schematics/utils/ast-utils.js +116 -0
- package/schematics/utils/ast-utils.js.map +1 -0
- package/schematics/utils/ast-utils.test.d.ts +1 -0
- package/schematics/utils/ast-utils.test.js +138 -0
- package/schematics/utils/ast-utils.test.js.map +1 -0
- package/schematics/utils/workspace-utils.d.ts +6 -0
- package/schematics/utils/workspace-utils.js +37 -0
- package/schematics/utils/workspace-utils.js.map +1 -0
- package/schematics/utils/workspace-utils.test.d.ts +1 -0
- package/schematics/utils/workspace-utils.test.js +152 -0
- package/schematics/utils/workspace-utils.test.js.map +1 -0
- package/shared/lib/accessibility/datepicker-no-period-tab.directive.d.ts +4 -0
- package/stats-card/README.md +80 -45
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
2
|
+
import { OnInit } from '@angular/core';
|
|
3
|
+
import { AbstractControl, ControlValueAccessor, NgControl, ValidationErrors, Validator } from '@angular/forms';
|
|
4
|
+
import type { CalendarDay, DatePickerMode, DateRange } from './models';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
type DatepickerValue = Date | DateRange | Date[] | null;
|
|
7
|
+
type PickerView = 'calendar' | 'months' | 'years';
|
|
8
|
+
export declare class DatepickerComponent implements ControlValueAccessor, Validator, OnInit {
|
|
9
|
+
private static idCounter;
|
|
10
|
+
private static readonly DAYS_IN_WEEK;
|
|
11
|
+
private static readonly MONTHS_IN_YEAR;
|
|
12
|
+
private static readonly MONTHS_PER_ROW;
|
|
13
|
+
private static readonly YEARS_PER_GRID;
|
|
14
|
+
private static readonly YEARS_PER_ROW;
|
|
15
|
+
private static readonly DEFAULT_MINUTE_STEP;
|
|
16
|
+
private static readonly MAX_HOURS;
|
|
17
|
+
private static readonly MAX_MINUTES;
|
|
18
|
+
private static readonly HOURS_PER_MERIDIEM;
|
|
19
|
+
private static nextId;
|
|
20
|
+
/** HTML `id` aplicado ao elemento `<input>`. Auto-gerado quando omitido. */
|
|
21
|
+
readonly inputId: import("@angular/core").InputSignal<string>;
|
|
22
|
+
/** Atributo `name` do `<input>` nativo. */
|
|
23
|
+
readonly name: import("@angular/core").InputSignal<string | undefined>;
|
|
24
|
+
/** Texto exibido quando nenhum valor está selecionado. */
|
|
25
|
+
readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Modo de seleção do componente.
|
|
28
|
+
* - `'date'` — seleção de data única (padrão)
|
|
29
|
+
* - `'month'` — seleção de mês/ano
|
|
30
|
+
* - `'datetime'` — data com hora (requer confirmação)
|
|
31
|
+
* - `'time'` — apenas seleção de hora
|
|
32
|
+
* - `'range'` — intervalo entre duas datas
|
|
33
|
+
*/
|
|
34
|
+
readonly mode: import("@angular/core").InputSignal<DatePickerMode>;
|
|
35
|
+
/**
|
|
36
|
+
* Modo de seleção quando `mode` é `'date'`.
|
|
37
|
+
* - `'single'` — seleção de uma única data (padrão)
|
|
38
|
+
* - `'multiple'` — seleção de múltiplas datas avulsas
|
|
39
|
+
*/
|
|
40
|
+
readonly selectionMode: import("@angular/core").InputSignal<"single" | "multiple">;
|
|
41
|
+
/** Separador exibido entre as datas no modo `selectionMode = 'multiple'`. */
|
|
42
|
+
readonly multipleSeparator: import("@angular/core").InputSignal<string>;
|
|
43
|
+
/** Quando `true`, exibe o botão de ícone ao lado do campo. */
|
|
44
|
+
readonly showIcon: import("@angular/core").InputSignal<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Classe do ícone exibido no botão do campo.
|
|
47
|
+
* Quando `mode` é `'time'`, o padrão muda automaticamente para `'fas fa-clock'`.
|
|
48
|
+
*/
|
|
49
|
+
readonly icon: import("@angular/core").InputSignal<string>;
|
|
50
|
+
/** Data mínima selecionável. Dias/meses anteriores ficam desabilitados. */
|
|
51
|
+
readonly min: import("@angular/core").InputSignal<Date | null>;
|
|
52
|
+
/** Data máxima selecionável. Dias/meses posteriores ficam desabilitados. */
|
|
53
|
+
readonly max: import("@angular/core").InputSignal<Date | null>;
|
|
54
|
+
/** Data exibida ao abrir o calendário quando nenhuma data está selecionada. */
|
|
55
|
+
readonly defaultDate: import("@angular/core").InputSignal<Date | null>;
|
|
56
|
+
/** Formato de exibição da data no campo (usado apenas para display). */
|
|
57
|
+
readonly dateFormat: import("@angular/core").InputSignal<string>;
|
|
58
|
+
/** Formato de exibição das horas: `'12'` ou `'24'`. */
|
|
59
|
+
readonly hourFormat: import("@angular/core").InputSignal<"12" | "24">;
|
|
60
|
+
/** Incremento em minutos ao usar as setas do time picker. */
|
|
61
|
+
readonly minuteStep: import("@angular/core").InputSignal<number>;
|
|
62
|
+
/** Quando `true`, exibe o campo de segundos no time picker. */
|
|
63
|
+
readonly showSeconds: import("@angular/core").InputSignal<boolean>;
|
|
64
|
+
/** Separador exibido entre as datas no modo `'range'`. */
|
|
65
|
+
readonly rangeSeparator: import("@angular/core").InputSignal<string>;
|
|
66
|
+
/** Abre o painel ao focar o input; foco permanece no input, não pula para o dropdown. */
|
|
67
|
+
readonly showOnFocus: import("@angular/core").InputSignal<boolean>;
|
|
68
|
+
/** Impede digitação manual; valor só pode ser selecionado pelo calendário. */
|
|
69
|
+
readonly readonlyInput: import("@angular/core").InputSignal<boolean>;
|
|
70
|
+
/** Primeiro dia da semana (0 = domingo, 1 = segunda-feira, ..., 6 = sábado). */
|
|
71
|
+
readonly firstDayOfWeek: import("@angular/core").InputSignal<number>;
|
|
72
|
+
/** Exibe/oculta a barra de botões Hoje e Limpar no rodapé. */
|
|
73
|
+
readonly showButtonBar: import("@angular/core").InputSignal<boolean>;
|
|
74
|
+
/** Exibe ícone de limpar inline no campo de input. */
|
|
75
|
+
readonly showClear: import("@angular/core").InputSignal<boolean>;
|
|
76
|
+
/** Exibe dias de meses adjacentes na grade do calendário. */
|
|
77
|
+
readonly showOtherMonths: import("@angular/core").InputSignal<boolean>;
|
|
78
|
+
/** Permite selecionar dias de meses adjacentes na grade do calendário. */
|
|
79
|
+
readonly selectOtherMonths: import("@angular/core").InputSignal<boolean>;
|
|
80
|
+
/** Fecha o painel após selecionar uma data no modo `datetime`. */
|
|
81
|
+
readonly hideOnDateTimeSelect: import("@angular/core").InputSignal<boolean>;
|
|
82
|
+
/** Incremento de horas no time picker. */
|
|
83
|
+
readonly stepHour: import("@angular/core").InputSignal<number>;
|
|
84
|
+
/** Incremento de segundos no time picker. */
|
|
85
|
+
readonly stepSecond: import("@angular/core").InputSignal<number>;
|
|
86
|
+
/** Índice de tab do campo de input. */
|
|
87
|
+
readonly tabindex: import("@angular/core").InputSignal<number | undefined>;
|
|
88
|
+
/** Foca automaticamente o campo ao carregar o componente. */
|
|
89
|
+
readonly autofocus: import("@angular/core").InputSignal<boolean>;
|
|
90
|
+
/** Datas específicas desabilitadas no calendário. */
|
|
91
|
+
readonly disabledDates: import("@angular/core").InputSignal<Date[]>;
|
|
92
|
+
/** Dias da semana desabilitados (0 = domingo, ..., 6 = sábado). */
|
|
93
|
+
readonly disabledDays: import("@angular/core").InputSignal<number[]>;
|
|
94
|
+
/** Estado desabilitado do componente. */
|
|
95
|
+
readonly disabled: import("@angular/core").ModelSignal<boolean>;
|
|
96
|
+
/** Emitido quando o campo perde o foco. */
|
|
97
|
+
readonly blurred: import("@angular/core").OutputEmitterRef<Event>;
|
|
98
|
+
/** Emitido quando o campo recebe o foco. */
|
|
99
|
+
readonly focused: import("@angular/core").OutputEmitterRef<Event>;
|
|
100
|
+
/** Emitido ao selecionar uma data, mês, horário ou intervalo. */
|
|
101
|
+
readonly selected: import("@angular/core").OutputEmitterRef<DatepickerValue>;
|
|
102
|
+
/** Emitido quando o painel do calendário fecha. Emite o elemento do painel. */
|
|
103
|
+
readonly closed: import("@angular/core").OutputEmitterRef<HTMLElement>;
|
|
104
|
+
/** Emitido ao clicar no botão "Hoje". */
|
|
105
|
+
readonly todayClick: import("@angular/core").OutputEmitterRef<Date>;
|
|
106
|
+
/** Emitido ao clicar no botão "Limpar" ou no ícone de limpar inline. */
|
|
107
|
+
readonly clearClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
|
|
108
|
+
/** Emitido quando o mês visualizado muda. */
|
|
109
|
+
readonly monthChange: import("@angular/core").OutputEmitterRef<{
|
|
110
|
+
month: number;
|
|
111
|
+
year: number;
|
|
112
|
+
}>;
|
|
113
|
+
/** Emitido quando o ano visualizado muda. */
|
|
114
|
+
readonly yearChange: import("@angular/core").OutputEmitterRef<{
|
|
115
|
+
month: number;
|
|
116
|
+
year: number;
|
|
117
|
+
}>;
|
|
118
|
+
/** Emitido quando o painel do calendário abre. */
|
|
119
|
+
readonly show: import("@angular/core").OutputEmitterRef<void>;
|
|
120
|
+
/** Emitido quando o usuário digita manualmente no campo. */
|
|
121
|
+
readonly valueInput: import("@angular/core").OutputEmitterRef<Event>;
|
|
122
|
+
protected readonly maxHours = 24;
|
|
123
|
+
protected readonly maxMinutes = 60;
|
|
124
|
+
protected readonly timeInputMaxLength = 2;
|
|
125
|
+
protected inputDate: string;
|
|
126
|
+
protected ngControl: NgControl | null;
|
|
127
|
+
protected readonly value: import("@angular/core").WritableSignal<Date | null>;
|
|
128
|
+
protected readonly isOpen: import("@angular/core").WritableSignal<boolean>;
|
|
129
|
+
protected readonly viewDate: import("@angular/core").WritableSignal<Date>;
|
|
130
|
+
protected readonly pickerView: import("@angular/core").WritableSignal<PickerView>;
|
|
131
|
+
protected readonly hours: import("@angular/core").WritableSignal<number>;
|
|
132
|
+
protected readonly minutes: import("@angular/core").WritableSignal<number>;
|
|
133
|
+
protected readonly seconds: import("@angular/core").WritableSignal<number>;
|
|
134
|
+
protected readonly rangeValue: import("@angular/core").WritableSignal<DateRange | null>;
|
|
135
|
+
protected readonly multipleValues: import("@angular/core").WritableSignal<Date[]>;
|
|
136
|
+
protected readonly pendingRangeStart: import("@angular/core").WritableSignal<Date | null>;
|
|
137
|
+
protected readonly hoverDate: import("@angular/core").WritableSignal<Date | null>;
|
|
138
|
+
private _hasFormatError;
|
|
139
|
+
private _isBadInput;
|
|
140
|
+
private onValidatorChange;
|
|
141
|
+
private _onChange;
|
|
142
|
+
private _onTouched;
|
|
143
|
+
private readonly popupPanel;
|
|
144
|
+
private readonly increaseHourButton;
|
|
145
|
+
private readonly iconButton;
|
|
146
|
+
private readonly injector;
|
|
147
|
+
private readonly hostElement;
|
|
148
|
+
protected readonly resolvedIcon: import("@angular/core").Signal<string>;
|
|
149
|
+
/** Indica se o time picker deve usar o formato de 12 horas com seletor AM/PM. */
|
|
150
|
+
protected readonly is12HourFormat: import("@angular/core").Signal<boolean>;
|
|
151
|
+
/** Hora exibida no time picker: 1–12 no formato 12h, 0–23 no formato 24h. */
|
|
152
|
+
protected readonly displayHours: import("@angular/core").Signal<number>;
|
|
153
|
+
/** Meridiano atual derivado da hora interna (0–23). */
|
|
154
|
+
protected readonly amPm: import("@angular/core").Signal<"AM" | "PM">;
|
|
155
|
+
protected readonly positions: ConnectedPosition[];
|
|
156
|
+
protected readonly popupId: import("@angular/core").Signal<string>;
|
|
157
|
+
protected readonly currentMonthIndex: import("@angular/core").Signal<number>;
|
|
158
|
+
protected readonly currentYear: import("@angular/core").Signal<number>;
|
|
159
|
+
protected readonly currentMonthKey: import("@angular/core").Signal<string>;
|
|
160
|
+
protected readonly showCalendar: import("@angular/core").Signal<boolean>;
|
|
161
|
+
protected readonly showTimePicker: import("@angular/core").Signal<boolean>;
|
|
162
|
+
/** Seleção múltipla ativa: apenas no modo `date` com `selectionMode = 'multiple'`. */
|
|
163
|
+
protected readonly isMultipleMode: import("@angular/core").Signal<boolean>;
|
|
164
|
+
protected readonly orderedWeekDayKeys: import("@angular/core").Signal<string[]>;
|
|
165
|
+
protected readonly inputType: import("@angular/core").Signal<"date" | "month" | "time" | "text" | "datetime-local">;
|
|
166
|
+
protected readonly dialogAriaLabelKey: import("@angular/core").Signal<"platform.angular_components.datepicker_select_range" | "platform.angular_components.datepicker_select_date">;
|
|
167
|
+
protected readonly placeholderKey: import("@angular/core").Signal<string>;
|
|
168
|
+
protected readonly effectiveRange: import("@angular/core").Signal<{
|
|
169
|
+
start: Date | null;
|
|
170
|
+
end: Date | null;
|
|
171
|
+
}>;
|
|
172
|
+
protected readonly calendarWeeks: import("@angular/core").Signal<CalendarDay[][]>;
|
|
173
|
+
protected readonly monthsGrid: import("@angular/core").Signal<{
|
|
174
|
+
key: string;
|
|
175
|
+
index: number;
|
|
176
|
+
}[][]>;
|
|
177
|
+
protected readonly currentDecadeStart: import("@angular/core").Signal<number>;
|
|
178
|
+
protected readonly yearsGrid: import("@angular/core").Signal<number[][]>;
|
|
179
|
+
protected readonly prevDisabled: import("@angular/core").Signal<boolean>;
|
|
180
|
+
protected readonly nextDisabled: import("@angular/core").Signal<boolean>;
|
|
181
|
+
protected readonly weekDayKeys: string[];
|
|
182
|
+
protected readonly monthKeys: string[];
|
|
183
|
+
ngOnInit(): void;
|
|
184
|
+
writeValue(value: DatepickerValue): void;
|
|
185
|
+
registerOnChange(fn: (value: DatepickerValue) => void): void;
|
|
186
|
+
registerOnTouched(fn: () => void): void;
|
|
187
|
+
setDisabledState(isDisabled: boolean): void;
|
|
188
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
189
|
+
registerOnValidatorChange(fn: () => void): void;
|
|
190
|
+
protected open(): void;
|
|
191
|
+
/** Abre o painel sem transferir o foco para o dropdown (usado pelo showOnFocus). */
|
|
192
|
+
private openOnFocus;
|
|
193
|
+
/**
|
|
194
|
+
* Define a view inicial do painel e posiciona o calendário no `defaultDate`
|
|
195
|
+
* quando nenhum valor está selecionado.
|
|
196
|
+
*/
|
|
197
|
+
private prepareOpenView;
|
|
198
|
+
private focusBestCalendarTarget;
|
|
199
|
+
protected closePanel(): void;
|
|
200
|
+
protected toggle(): void;
|
|
201
|
+
protected handleOverlayKeydown(event: KeyboardEvent): void;
|
|
202
|
+
protected handleInputClick(): void;
|
|
203
|
+
protected handleInputFocus(event: Event): void;
|
|
204
|
+
protected handleNativeInput(event: Event): void;
|
|
205
|
+
protected handleInputBlur(event: Event): void;
|
|
206
|
+
protected handleInputChange(raw: string): void;
|
|
207
|
+
protected handleTriggerKeydown(event: KeyboardEvent): void;
|
|
208
|
+
protected navigatePrev(): void;
|
|
209
|
+
protected navigateNext(): void;
|
|
210
|
+
protected handleCalendarGridKeydown(event: KeyboardEvent): void;
|
|
211
|
+
private static findEnabled;
|
|
212
|
+
protected switchToMonths(): void;
|
|
213
|
+
protected backToCalendar(): void;
|
|
214
|
+
protected selectDate(day: CalendarDay): void;
|
|
215
|
+
/** Adiciona/remove uma data da seleção múltipla. O painel permanece aberto. */
|
|
216
|
+
private toggleMultipleDate;
|
|
217
|
+
protected selectYear(year: number): void;
|
|
218
|
+
protected selectMonth(monthIndex: number): void;
|
|
219
|
+
protected selectToday(): void;
|
|
220
|
+
protected clearValue(event: MouseEvent): void;
|
|
221
|
+
protected confirm(): void;
|
|
222
|
+
protected incrementHours(): void;
|
|
223
|
+
protected decrementHours(): void;
|
|
224
|
+
protected incrementMinutes(): void;
|
|
225
|
+
protected decrementMinutes(): void;
|
|
226
|
+
protected incrementSeconds(): void;
|
|
227
|
+
protected decrementSeconds(): void;
|
|
228
|
+
protected handleHoursKeydown(event: KeyboardEvent): void;
|
|
229
|
+
protected handleMinutesKeydown(event: KeyboardEvent): void;
|
|
230
|
+
protected handleSecondsKeydown(event: KeyboardEvent): void;
|
|
231
|
+
protected handleHoursInput(event: Event): void;
|
|
232
|
+
/** Alterna entre AM e PM somando/subtraindo 12 horas da hora interna. */
|
|
233
|
+
protected toggleAmPm(): void;
|
|
234
|
+
protected handleMinutesInput(event: Event): void;
|
|
235
|
+
protected handleSecondsInput(event: Event): void;
|
|
236
|
+
protected onDayHover(date: Date | null): void;
|
|
237
|
+
protected isDateDisabled(date: Date): boolean;
|
|
238
|
+
protected isYearSelected(year: number): boolean;
|
|
239
|
+
protected isYearDisabled(year: number): boolean;
|
|
240
|
+
protected isCurrentYear(year: number): boolean;
|
|
241
|
+
protected isMonthSelected(monthIndex: number): boolean;
|
|
242
|
+
protected isMonthDisabled(monthIndex: number): boolean;
|
|
243
|
+
protected padTime(value: number): string;
|
|
244
|
+
protected formatDayAriaLabel(date: Date): string;
|
|
245
|
+
/** Formata o valor para exibição no input, aplicando rangeSeparator, dateFormat e multipleSeparator. */
|
|
246
|
+
private formatForDisplay;
|
|
247
|
+
private syncTimeToValue;
|
|
248
|
+
private buildCalendarDay;
|
|
249
|
+
private computeValidationErrors;
|
|
250
|
+
private isDateRange;
|
|
251
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
252
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "s-datepicker", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "multipleSeparator": { "alias": "multipleSeparator"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "defaultDate": { "alias": "defaultDate"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "rangeSeparator": { "alias": "rangeSeparator"; "required": false; "isSignal": true; }; "showOnFocus": { "alias": "showOnFocus"; "required": false; "isSignal": true; }; "readonlyInput": { "alias": "readonlyInput"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "showButtonBar": { "alias": "showButtonBar"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showOtherMonths": { "alias": "showOtherMonths"; "required": false; "isSignal": true; }; "selectOtherMonths": { "alias": "selectOtherMonths"; "required": false; "isSignal": true; }; "hideOnDateTimeSelect": { "alias": "hideOnDateTimeSelect"; "required": false; "isSignal": true; }; "stepHour": { "alias": "stepHour"; "required": false; "isSignal": true; }; "stepSecond": { "alias": "stepSecond"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "disabledDays": { "alias": "disabledDays"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "blurred": "blurred"; "focused": "focused"; "selected": "selected"; "closed": "closed"; "todayClick": "todayClick"; "clearClick": "clearClick"; "monthChange": "monthChange"; "yearChange": "yearChange"; "show": "show"; "valueInput": "valueInput"; }, never, never, true, never>;
|
|
253
|
+
}
|
|
254
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type DatePickerMode = 'date' | 'month' | 'year' | 'datetime' | 'time' | 'range';
|
|
2
|
+
export interface DateRange {
|
|
3
|
+
start: Date | null;
|
|
4
|
+
end: Date | null;
|
|
5
|
+
}
|
|
6
|
+
export interface CalendarDay {
|
|
7
|
+
date: Date;
|
|
8
|
+
dayOfMonth: number;
|
|
9
|
+
isCurrentMonth: boolean;
|
|
10
|
+
isToday: boolean;
|
|
11
|
+
isSelected: boolean;
|
|
12
|
+
isDisabled: boolean;
|
|
13
|
+
isRangeStart: boolean;
|
|
14
|
+
isRangeEnd: boolean;
|
|
15
|
+
isInRange: boolean;
|
|
16
|
+
}
|
|
@@ -13,6 +13,7 @@ import { DynamicType } from '../../form-field/configurations/fields/field';
|
|
|
13
13
|
import { NumberFieldConfig } from '../../form-field/configurations/fields/number-field';
|
|
14
14
|
import { SelectFieldConfig } from '../../form-field/configurations/fields/select-field';
|
|
15
15
|
import { TextFieldConfig } from '../../form-field/configurations/fields/text-field';
|
|
16
|
+
import { LookupAlertConfig } from './models/lookup-alert-config';
|
|
16
17
|
import { LookupSearchRequest } from './models/lookup-api.model';
|
|
17
18
|
import { DefaultFilter } from './types/default-filter';
|
|
18
19
|
import { LabelOptions } from './types/label-options';
|
|
@@ -28,6 +29,7 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
|
|
|
28
29
|
indicatorLogo: LoadingStateIndicators;
|
|
29
30
|
static nextId: number;
|
|
30
31
|
protected hasSearched: boolean;
|
|
32
|
+
alertConfig?: LookupAlertConfig;
|
|
31
33
|
formControlName?: string;
|
|
32
34
|
id: string;
|
|
33
35
|
autocompleteForceSelection: boolean;
|
|
@@ -137,7 +139,7 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
|
|
|
137
139
|
private _setFocusFilter;
|
|
138
140
|
private _subscribeEvents;
|
|
139
141
|
static ɵfac: i0.ɵɵFactoryDeclaration<LookupComponent, never>;
|
|
140
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LookupComponent, "s-lookup", never, { "formControlName": { "alias": "formControlName"; "required": false; }; "id": { "alias": "id"; "required": false; }; "autocompleteForceSelection": { "alias": "autocompleteForceSelection"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "lookupSuggestions": { "alias": "lookupSuggestions"; "required": false; }; "lookupDisplayField": { "alias": "lookupDisplayField"; "required": false; }; "lookupDisplayFieldTooltip": { "alias": "lookupDisplayFieldTooltip"; "required": false; }; "lookupEmptyMessage": { "alias": "lookupEmptyMessage"; "required": false; }; "lookupAppendTo": { "alias": "lookupAppendTo"; "required": false; }; "searchEmptyDescription": { "alias": "searchEmptyDescription"; "required": false; }; "searchGridData": { "alias": "searchGridData"; "required": false; }; "searchTotalRecords": { "alias": "searchTotalRecords"; "required": false; }; "searchFields": { "alias": "searchFields"; "required": false; }; "searchGridFields": { "alias": "searchGridFields"; "required": false; }; "multiSortMeta": { "alias": "multiSortMeta"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "sortableColumnsDisabled": { "alias": "sortableColumnsDisabled"; "required": false; }; "lookupRowProps": { "alias": "lookupRowProps"; "required": false; }; "defaultFilter": { "alias": "defaultFilter"; "required": false; }; "showAddOption": { "alias": "showAddOption"; "required": false; }; "showEditOption": { "alias": "showEditOption"; "required": false; }; "showRemoveOption": { "alias": "showRemoveOption"; "required": false; }; "dialogFullScreen": { "alias": "dialogFullScreen"; "required": false; "isSignal": true; }; "labelOptions": { "alias": "labelOptions"; "required": false; }; }, { "onLookupRequest": "onLookupRequest"; "onSearchRequest": "onSearchRequest"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyUp": "onKeyUp"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onClear": "onClear"; "onAdd": "onAdd"; "onEdit": "onEdit"; "onRemove": "onRemove"; "onClearButtonClick": "onClearButtonClick"; }, never, never, true, never>;
|
|
142
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LookupComponent, "s-lookup", never, { "alertConfig": { "alias": "alertConfig"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "id": { "alias": "id"; "required": false; }; "autocompleteForceSelection": { "alias": "autocompleteForceSelection"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "lookupSuggestions": { "alias": "lookupSuggestions"; "required": false; }; "lookupDisplayField": { "alias": "lookupDisplayField"; "required": false; }; "lookupDisplayFieldTooltip": { "alias": "lookupDisplayFieldTooltip"; "required": false; }; "lookupEmptyMessage": { "alias": "lookupEmptyMessage"; "required": false; }; "lookupAppendTo": { "alias": "lookupAppendTo"; "required": false; }; "searchEmptyDescription": { "alias": "searchEmptyDescription"; "required": false; }; "searchGridData": { "alias": "searchGridData"; "required": false; }; "searchTotalRecords": { "alias": "searchTotalRecords"; "required": false; }; "searchFields": { "alias": "searchFields"; "required": false; }; "searchGridFields": { "alias": "searchGridFields"; "required": false; }; "multiSortMeta": { "alias": "multiSortMeta"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "sortableColumnsDisabled": { "alias": "sortableColumnsDisabled"; "required": false; }; "lookupRowProps": { "alias": "lookupRowProps"; "required": false; }; "defaultFilter": { "alias": "defaultFilter"; "required": false; }; "showAddOption": { "alias": "showAddOption"; "required": false; }; "showEditOption": { "alias": "showEditOption"; "required": false; }; "showRemoveOption": { "alias": "showRemoveOption"; "required": false; }; "dialogFullScreen": { "alias": "dialogFullScreen"; "required": false; "isSignal": true; }; "labelOptions": { "alias": "labelOptions"; "required": false; }; }, { "onLookupRequest": "onLookupRequest"; "onSearchRequest": "onSearchRequest"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyUp": "onKeyUp"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onClear": "onClear"; "onAdd": "onAdd"; "onEdit": "onEdit"; "onRemove": "onRemove"; "onClearButtonClick": "onClearButtonClick"; }, never, never, true, never>;
|
|
141
143
|
static ngAcceptInputType_lookupAppendTo: string | undefined;
|
|
142
144
|
}
|
|
143
145
|
export interface BooleanOptionsLabelConfig {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DateRange } from '@seniorsistemas/angular-components/datepicker';
|
|
1
2
|
import { CalendarLocaleOptions } from '@seniorsistemas/angular-components/locale';
|
|
2
3
|
import { FieldConfig } from './field';
|
|
3
4
|
/**
|
|
@@ -21,9 +22,9 @@ export interface CalendarFieldConfig extends FieldConfig {
|
|
|
21
22
|
*/
|
|
22
23
|
type: 'dateTime' | 'localDateTime' | 'time' | 'date';
|
|
23
24
|
/**
|
|
24
|
-
* Modo de visualização
|
|
25
|
-
* `'date'` —
|
|
26
|
-
* `'month'` —
|
|
25
|
+
* Modo de visualização/seleção do calendário.
|
|
26
|
+
* `'date'` — seletor de data (padrão).
|
|
27
|
+
* `'month'` — seletor de mês/ano.
|
|
27
28
|
* `'year'` — seletor de ano.
|
|
28
29
|
*/
|
|
29
30
|
view?: 'date' | 'month' | 'year';
|
|
@@ -40,44 +41,63 @@ export interface CalendarFieldConfig extends FieldConfig {
|
|
|
40
41
|
*/
|
|
41
42
|
defaultDate?: Date;
|
|
42
43
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
44
|
+
* @deprecated O componente s-datepicker usa CDK Overlay nativamente para posicionamento.
|
|
45
|
+
* Esta propriedade não tem efeito e será removida em versão futura.
|
|
45
46
|
*/
|
|
46
47
|
appendTo?: string;
|
|
47
48
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
49
|
+
* @deprecated O s-datepicker gerencia locale internamente via ngx-translate.
|
|
50
|
+
* Use `dateFormat` e `hourFormat` diretamente.
|
|
51
|
+
* As demais propriedades (dayNames, monthNames, firstDayOfWeek, etc.) são ignoradas.
|
|
50
52
|
*/
|
|
51
|
-
|
|
53
|
+
calendarLocaleOptions?: CalendarLocaleOptions;
|
|
52
54
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
+
* Formato de exibição da data no campo (ex: `'dd/MM/yyyy'`).
|
|
56
|
+
* Substitui `calendarLocaleOptions.dateFormat`.
|
|
55
57
|
*/
|
|
56
|
-
|
|
58
|
+
dateFormat?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Formato de exibição das horas: `'12'` ou `'24'`.
|
|
61
|
+
* Substitui `calendarLocaleOptions.hourFormat`.
|
|
62
|
+
*/
|
|
63
|
+
hourFormat?: '12' | '24';
|
|
57
64
|
/** Callback chamado quando o campo perde o foco. */
|
|
58
65
|
onBlur?: (event: Event) => void;
|
|
59
66
|
/** Callback chamado quando o campo recebe foco. */
|
|
60
67
|
onFocus?: (event: Event) => void;
|
|
61
|
-
/** Callback chamado quando o usuário seleciona uma data. */
|
|
62
|
-
onSelect?: (event:
|
|
68
|
+
/** Callback chamado quando o usuário seleciona uma data, mês, horário, intervalo ou múltiplas datas. */
|
|
69
|
+
onSelect?: (event: Date | DateRange | Date[] | null) => void;
|
|
63
70
|
/** Callback chamado quando o usuário digita manualmente no campo. */
|
|
64
|
-
onInput?: (event:
|
|
65
|
-
/** Callback chamado quando o painel do calendário é fechado. */
|
|
66
|
-
onClose?: (event:
|
|
67
|
-
/** Callback chamado quando o
|
|
68
|
-
|
|
69
|
-
/** Callback chamado quando o usuário clica no botão "
|
|
70
|
-
|
|
71
|
+
onInput?: (event: Event) => void;
|
|
72
|
+
/** Callback chamado quando o painel do calendário é fechado. Recebe o elemento do painel. */
|
|
73
|
+
onClose?: (event: HTMLElement) => void;
|
|
74
|
+
/** Callback chamado quando o painel do calendário é aberto. */
|
|
75
|
+
onShow?: () => void;
|
|
76
|
+
/** Callback chamado quando o usuário clica no botão "Hoje". Recebe a data de hoje. */
|
|
77
|
+
onTodayClick?: (event: Date) => void;
|
|
78
|
+
/** Callback chamado quando o usuário clica no botão/ícone "Limpar". Recebe o evento de clique. */
|
|
79
|
+
onClearClick?: (event: MouseEvent) => void;
|
|
71
80
|
/** Callback chamado quando o mês visualizado muda. */
|
|
72
|
-
onMonthChange?: (event:
|
|
81
|
+
onMonthChange?: (event: {
|
|
82
|
+
month: number;
|
|
83
|
+
year: number;
|
|
84
|
+
}) => void;
|
|
73
85
|
/** Callback chamado quando o ano visualizado muda. */
|
|
74
|
-
onYearChange?: (event:
|
|
86
|
+
onYearChange?: (event: {
|
|
87
|
+
month: number;
|
|
88
|
+
year: number;
|
|
89
|
+
}) => void;
|
|
75
90
|
/**
|
|
76
|
-
* Modo de seleção de datas.
|
|
91
|
+
* Modo de seleção de datas (aplica-se quando `type = 'date'`).
|
|
77
92
|
* `'single'` — seleção de uma data (padrão).
|
|
78
|
-
* `'multiple'` — seleção de múltiplas datas
|
|
93
|
+
* `'multiple'` — seleção de múltiplas datas avulsas (valor é `Date[]`).
|
|
79
94
|
*/
|
|
80
95
|
selectionMode?: 'single' | 'multiple';
|
|
96
|
+
/**
|
|
97
|
+
* Separador exibido entre as datas quando `selectionMode = 'multiple'`.
|
|
98
|
+
* @default ', '
|
|
99
|
+
*/
|
|
100
|
+
multipleSeparator?: string;
|
|
81
101
|
/**
|
|
82
102
|
* Separador exibido entre as datas de início e fim quando `selectionMode = 'range'`.
|
|
83
103
|
* @default ' - '
|
|
@@ -87,6 +107,81 @@ export interface CalendarFieldConfig extends FieldConfig {
|
|
|
87
107
|
* Quando `true`, exibe o seletor de segundos no modo de hora.
|
|
88
108
|
*/
|
|
89
109
|
showSeconds?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Incremento em minutos ao usar as setas do time picker.
|
|
112
|
+
* @default 5
|
|
113
|
+
*/
|
|
114
|
+
minuteStep?: number;
|
|
115
|
+
/**
|
|
116
|
+
* Incremento em horas ao usar as setas do time picker.
|
|
117
|
+
* @default 1
|
|
118
|
+
*/
|
|
119
|
+
stepHour?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Incremento em segundos ao usar as setas do time picker.
|
|
122
|
+
* @default 1
|
|
123
|
+
*/
|
|
124
|
+
stepSecond?: number;
|
|
125
|
+
/**
|
|
126
|
+
* Quando `true` (padrão), o painel abre ao focar o campo de input.
|
|
127
|
+
* O foco permanece no input — não pula para o dropdown.
|
|
128
|
+
* @default true
|
|
129
|
+
*/
|
|
130
|
+
showOnFocus?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Impede digitação manual no campo; valor só pode ser selecionado pelo calendário.
|
|
133
|
+
* @default false
|
|
134
|
+
*/
|
|
135
|
+
readonlyInput?: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Primeiro dia da semana (0 = domingo, 1 = segunda-feira, ..., 6 = sábado).
|
|
138
|
+
* @default 0
|
|
139
|
+
*/
|
|
140
|
+
firstDayOfWeek?: number;
|
|
141
|
+
/**
|
|
142
|
+
* Exibe/oculta a barra de botões Hoje e Limpar no rodapé do calendário.
|
|
143
|
+
* @default true
|
|
144
|
+
*/
|
|
145
|
+
showButtonBar?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Exibe ícone de limpar inline no campo de input (além do botão no rodapé).
|
|
148
|
+
* @default false
|
|
149
|
+
*/
|
|
150
|
+
showClear?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Exibe dias de meses adjacentes na grade do calendário.
|
|
153
|
+
* @default true
|
|
154
|
+
*/
|
|
155
|
+
showOtherMonths?: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Permite selecionar dias de meses adjacentes na grade do calendário.
|
|
158
|
+
* @default false
|
|
159
|
+
*/
|
|
160
|
+
selectOtherMonths?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Fecha o painel após selecionar uma data no modo `dateTime`.
|
|
163
|
+
* Por padrão o painel permanece aberto para seleção da hora.
|
|
164
|
+
* @default false
|
|
165
|
+
*/
|
|
166
|
+
hideOnDateTimeSelect?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Datas específicas que devem ser desabilitadas no calendário.
|
|
169
|
+
*/
|
|
170
|
+
disabledDates?: Date[];
|
|
171
|
+
/**
|
|
172
|
+
* Dias da semana desabilitados (0 = domingo, 1 = segunda, ..., 6 = sábado).
|
|
173
|
+
* Exemplo: `[0, 6]` desabilita finais de semana.
|
|
174
|
+
*/
|
|
175
|
+
disabledDays?: number[];
|
|
176
|
+
/**
|
|
177
|
+
* Índice de tab do campo de input.
|
|
178
|
+
*/
|
|
179
|
+
tabindex?: number;
|
|
180
|
+
/**
|
|
181
|
+
* Foca automaticamente o campo ao carregar o componente.
|
|
182
|
+
* @default false
|
|
183
|
+
*/
|
|
184
|
+
autofocus?: boolean;
|
|
90
185
|
}
|
|
91
186
|
declare module './field' {
|
|
92
187
|
interface FieldTypeMap {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { LookupAlertConfig } from '../../../components/lookup/models/lookup-alert-config';
|
|
2
3
|
import { LookupSearchRequest } from '../../../components/lookup/models/lookup-api.model';
|
|
3
4
|
import { DynamicType, FieldConfig } from './field';
|
|
4
5
|
import { LookupGridFields } from '../../../components/lookup/types/lookup-models';
|
|
@@ -152,6 +153,11 @@ export interface LookupFieldConfig extends FieldConfig {
|
|
|
152
153
|
onRemove?: (selectedItems: unknown[]) => void;
|
|
153
154
|
/** Callback chamado quando o usuário clica no botão de limpar do campo (X). */
|
|
154
155
|
onClearButtonClick?: () => void;
|
|
156
|
+
/**
|
|
157
|
+
* Exibe um alerta informativo no topo da área de resultados da dialog.
|
|
158
|
+
* Útil para comunicar restrições de busca ou avisos contextuais.
|
|
159
|
+
*/
|
|
160
|
+
alertConfig?: LookupAlertConfig;
|
|
155
161
|
}
|
|
156
162
|
export type DefaultFilter = {
|
|
157
163
|
/** Nome do campo a ser filtrado. */
|
|
@@ -1,34 +1,17 @@
|
|
|
1
|
-
import { AfterViewInit
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { DatePickerMode } from '@seniorsistemas/angular-components/datepicker';
|
|
4
4
|
import { CalendarFieldConfig } from '../../configurations/fields/calendar-field';
|
|
5
5
|
import { BaseFieldComponentConfig } from '../base-field-component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class CalendarFieldComponent implements BaseFieldComponentConfig, AfterViewInit
|
|
7
|
+
export declare class CalendarFieldComponent implements BaseFieldComponentConfig, AfterViewInit {
|
|
8
8
|
private readonly changeDetectorRef;
|
|
9
|
+
private readonly elementRef;
|
|
9
10
|
field: import("@angular/core").InputSignal<CalendarFieldConfig>;
|
|
10
11
|
formControl: import("@angular/core").InputSignal<FormControl<any>>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
firstDayOfWeek: number;
|
|
14
|
-
dayNames: any[];
|
|
15
|
-
dayNamesShort: any[];
|
|
16
|
-
dayNamesMin: any[];
|
|
17
|
-
monthNames: any[];
|
|
18
|
-
monthNamesShort: any[];
|
|
19
|
-
today: any;
|
|
20
|
-
clear: any;
|
|
21
|
-
dateFormat: any;
|
|
22
|
-
hourFormat: any;
|
|
23
|
-
};
|
|
24
|
-
private primengConfig;
|
|
25
|
-
ngOnInit(): void;
|
|
26
|
-
calendar: DatePicker | null;
|
|
27
|
-
inputRef: HTMLInputElement | undefined;
|
|
12
|
+
inputRef: HTMLInputElement | null;
|
|
13
|
+
protected readonly mode: import("@angular/core").Signal<DatePickerMode>;
|
|
28
14
|
ngAfterViewInit(): void;
|
|
29
|
-
private setInputRef;
|
|
30
|
-
get timeOnly(): boolean;
|
|
31
|
-
get showTime(): boolean;
|
|
32
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarFieldComponent, never>;
|
|
33
16
|
static ɵcmp: i0.ɵɵComponentDeclaration<CalendarFieldComponent, "ng-component", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
34
17
|
}
|
|
@@ -3,6 +3,7 @@ export type { FieldsetConfig } from './dynamic-form/configurations/structure/fie
|
|
|
3
3
|
export type { SectionConfig } from './dynamic-form/configurations/structure/section';
|
|
4
4
|
export { FieldLabelComponent } from './dynamic-form/components/field-label/field-label.component';
|
|
5
5
|
export { LookupComponent } from './dynamic-form/components/lookup/lookup.component';
|
|
6
|
+
export type { LookupAlertConfig } from './dynamic-form/components/lookup/models/lookup-alert-config';
|
|
6
7
|
export type { LookupSearchRequest } from './dynamic-form/components/lookup/models/lookup-api.model';
|
|
7
8
|
export type { BaseFieldComponentConfig } from './dynamic-form/form-field/fields/base-field-component';
|
|
8
9
|
export { type ExpandedDynamicType } from './dynamic-form/configurations/structure/row';
|