@decaf-ts/for-angular 0.0.25 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/fesm2022/decaf-ts-for-angular.mjs +1486 -1505
  2. package/fesm2022/decaf-ts-for-angular.mjs.map +1 -1
  3. package/index.d.ts +7482 -3
  4. package/package.json +15 -18
  5. package/components/component-renderer/component-renderer.component.d.ts +0 -278
  6. package/components/crud-field/crud-field.component.d.ts +0 -611
  7. package/components/crud-form/constants.d.ts +0 -5
  8. package/components/crud-form/crud-form.component.d.ts +0 -288
  9. package/components/crud-form/types.d.ts +0 -17
  10. package/components/empty-state/empty-state.component.d.ts +0 -300
  11. package/components/fieldset/fieldset.component.d.ts +0 -555
  12. package/components/filter/filter.component.d.ts +0 -514
  13. package/components/for-angular-components.module.d.ts +0 -20
  14. package/components/index.d.ts +0 -16
  15. package/components/layout/layout.component.d.ts +0 -110
  16. package/components/list/list.component.d.ts +0 -848
  17. package/components/list-item/list-item.component.d.ts +0 -390
  18. package/components/model-renderer/model-renderer.component.d.ts +0 -97
  19. package/components/pagination/constants.d.ts +0 -7
  20. package/components/pagination/pagination.component.d.ts +0 -264
  21. package/components/searchbar/searchbar.component.d.ts +0 -407
  22. package/components/stepped-form/stepped-form.component.d.ts +0 -255
  23. package/directives/collapsable.directive.d.ts +0 -9
  24. package/directives/index.d.ts +0 -1
  25. package/engine/DynamicModule.d.ts +0 -17
  26. package/engine/NgxBaseComponent.d.ts +0 -541
  27. package/engine/NgxCrudFormField.d.ts +0 -123
  28. package/engine/NgxFormService.d.ts +0 -601
  29. package/engine/NgxRenderingEngine.d.ts +0 -282
  30. package/engine/ValidatorFactory.d.ts +0 -15
  31. package/engine/constants.d.ts +0 -168
  32. package/engine/decorators.d.ts +0 -25
  33. package/engine/index.d.ts +0 -18
  34. package/engine/interfaces.d.ts +0 -271
  35. package/engine/types.d.ts +0 -200
  36. package/esm2022/components/component-renderer/component-renderer.component.mjs +0 -321
  37. package/esm2022/components/crud-field/crud-field.component.mjs +0 -518
  38. package/esm2022/components/crud-form/constants.mjs +0 -14
  39. package/esm2022/components/crud-form/crud-form.component.mjs +0 -259
  40. package/esm2022/components/crud-form/types.mjs +0 -2
  41. package/esm2022/components/empty-state/empty-state.component.mjs +0 -345
  42. package/esm2022/components/fieldset/fieldset.component.mjs +0 -677
  43. package/esm2022/components/filter/filter.component.mjs +0 -700
  44. package/esm2022/components/for-angular-components.module.mjs +0 -84
  45. package/esm2022/components/index.mjs +0 -20
  46. package/esm2022/components/layout/layout.component.mjs +0 -150
  47. package/esm2022/components/list/list.component.mjs +0 -1238
  48. package/esm2022/components/list-item/list-item.component.mjs +0 -405
  49. package/esm2022/components/model-renderer/model-renderer.component.mjs +0 -144
  50. package/esm2022/components/pagination/constants.mjs +0 -2
  51. package/esm2022/components/pagination/pagination.component.mjs +0 -321
  52. package/esm2022/components/searchbar/searchbar.component.mjs +0 -491
  53. package/esm2022/components/stepped-form/stepped-form.component.mjs +0 -306
  54. package/esm2022/decaf-ts-for-angular.mjs +0 -5
  55. package/esm2022/directives/collapsable.directive.mjs +0 -29
  56. package/esm2022/directives/index.mjs +0 -2
  57. package/esm2022/engine/DynamicModule.mjs +0 -18
  58. package/esm2022/engine/NgxBaseComponent.mjs +0 -541
  59. package/esm2022/engine/NgxCrudFormField.mjs +0 -137
  60. package/esm2022/engine/NgxFormService.mjs +0 -917
  61. package/esm2022/engine/NgxRenderingEngine.mjs +0 -376
  62. package/esm2022/engine/ValidatorFactory.mjs +0 -106
  63. package/esm2022/engine/constants.mjs +0 -170
  64. package/esm2022/engine/decorators.mjs +0 -38
  65. package/esm2022/engine/index.mjs +0 -19
  66. package/esm2022/engine/interfaces.mjs +0 -4
  67. package/esm2022/engine/types.mjs +0 -2
  68. package/esm2022/for-angular-common.module.mjs +0 -84
  69. package/esm2022/helpers/index.mjs +0 -13
  70. package/esm2022/helpers/utils.mjs +0 -436
  71. package/esm2022/i18n/Loader.mjs +0 -86
  72. package/esm2022/i18n/data/en.json +0 -85
  73. package/esm2022/public-apis.mjs +0 -15
  74. package/for-angular-common.module.d.ts +0 -50
  75. package/helpers/index.d.ts +0 -12
  76. package/helpers/utils.d.ts +0 -279
  77. package/i18n/Loader.d.ts +0 -43
  78. package/public-apis.d.ts +0 -14
@@ -1,611 +0,0 @@
1
- import { AfterViewInit, ElementRef, OnDestroy, OnInit } from '@angular/core';
2
- import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
- import { AutocompleteTypes, SelectInterface } from '@ionic/core';
4
- import { CrudOperations } from '@decaf-ts/db-decorators';
5
- import { NgxCrudFormField } from '../../engine/NgxCrudFormField';
6
- import { CrudFieldOption, FieldUpdateMode, PossibleInputTypes, StringOrBoolean } from '../../engine/types';
7
- import { CrudOperationKeys } from '@decaf-ts/ui-decorators';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @description A dynamic form field component for CRUD operations.
11
- * @summary The CrudFieldComponent is a versatile form field component that adapts to different
12
- * input types and CRUD operations. It extends NgxCrudFormField to inherit form handling capabilities
13
- * and implements lifecycle hooks to properly initialize, render, and clean up. This component
14
- * supports various input types (text, number, date, select, etc.), validation rules, and styling
15
- * options, making it suitable for building dynamic forms for create, read, update, and delete
16
- * operations.
17
- *
18
- * @param {CrudOperations} operation - The CRUD operation being performed (create, read, update, delete)
19
- * @param {string} name - The field name, used as form control identifier
20
- * @param {PossibleInputTypes} type - The input type (text, number, date, select, etc.)
21
- * @param {string|number|Date} value - The initial value of the field
22
- * @param {boolean} disabled - Whether the field is disabled
23
- * @param {string} label - The display label for the field
24
- * @param {string} placeholder - Placeholder text when field is empty
25
- * @param {string} format - Format pattern for the field value
26
- * @param {boolean} hidden - Whether the field should be hidden
27
- * @param {number|Date} max - Maximum allowed value
28
- * @param {number} maxlength - Maximum allowed length
29
- * @param {number|Date} min - Minimum allowed value
30
- * @param {number} minlength - Minimum allowed length
31
- * @param {string} pattern - Validation pattern
32
- * @param {boolean} readonly - Whether the field is read-only
33
- * @param {boolean} required - Whether the field is required
34
- * @param {number} step - Step value for number inputs
35
- * @param {FormGroup} formGroup - The parent form group
36
- * @param {StringOrBoolean} translatable - Whether field labels should be translated
37
- *
38
- * @component CrudFieldComponent
39
- * @example
40
- * <ngx-decaf-crud-field
41
- * operation="create"
42
- * name="firstName"
43
- * type="text"
44
- * label="<NAME>"
45
- * placeholder="<NAME>"
46
- * [value]="model.firstName"
47
- * [disabled]="model.readOnly">
48
- *
49
- *
50
- * @memberOf module:for-angular
51
- */
52
- export declare class CrudFieldComponent extends NgxCrudFormField implements OnInit, OnDestroy, AfterViewInit {
53
- /**
54
- * @description The CRUD operation being performed.
55
- * @summary Specifies which CRUD operation (Create, Read, Update, Delete) the field is being used for.
56
- * This affects how the field behaves and is rendered. For example, fields might be read-only in
57
- * 'read' mode but editable in 'create' or 'update' modes.
58
- *
59
- * @type {CrudOperations}
60
- * @memberOf CrudFieldComponent
61
- */
62
- operation: CrudOperations;
63
- /**
64
- * @summary The flat field name used as the form control identifier in immediate parent FormGroup.
65
- * @description
66
- * Specifies the name of the field, which is used as the FormControl identifier in immediate parent FormGroup.
67
- * This value must be unique within the immediate parent FormGroup context and should not contain dots or nesting.
68
- *
69
- * @type {string}
70
- * @memberOf CrudFieldComponent
71
- */
72
- name: string;
73
- /**
74
- * @summary The full field path used for form control resolution.
75
- * @description Specifies the hierarchical path of the field, used to resolve its location within the parent FormGroup (or nested FormGroups).
76
- * It is used as the identifier in the rendered HTML, and may include nesting (e.g., 'address.billing.street') and
77
- * should match the structure of the data model
78
- *
79
- * @type {string}
80
- * @memberOf CrudFieldComponent
81
- */
82
- path: string;
83
- /**
84
- * @description The parent field path, if this field is nested.
85
- * @summary Specifies the full dot-delimited path of the parent field. This is only set when the field is nested.
86
- *
87
- * @type {string}
88
- * @memberOf CrudFieldComponent
89
- */
90
- /**
91
- * @description The parent field path for nested field structures.
92
- * @summary Specifies the full dot-delimited path of the parent field when this field
93
- * is part of a nested structure. This is used for hierarchical form organization
94
- * and proper form control resolution in complex form structures.
95
- *
96
- * @type {string}
97
- * @default ''
98
- * @memberOf CrudFieldComponent
99
- */
100
- childOf: string;
101
- /**
102
- * @description The input type of the field.
103
- * @summary Defines the type of input to render, such as text, number, date, select, etc.
104
- * This determines which Ionic form component will be used to render the field and how
105
- * the data will be formatted and validated.
106
- *
107
- * @type {PossibleInputTypes}
108
- * @memberOf CrudFieldComponent
109
- */
110
- type: PossibleInputTypes;
111
- /**
112
- * @description The initial value of the field.
113
- * @summary Sets the initial value of the form field. This can be a string, number, or Date
114
- * depending on the field type. For select fields, this should match one of the option values.
115
- *
116
- * @type {string | number | Date}
117
- * @default ''
118
- * @memberOf CrudFieldComponent
119
- */
120
- value: string | number | Date;
121
- /**
122
- * @description Whether the field is disabled.
123
- * @summary When true, the field will be rendered in a disabled state, preventing user interaction.
124
- * Disabled fields are still included in the form model but cannot be edited by the user.
125
- *
126
- * @type {boolean}
127
- * @memberOf CrudFieldComponent
128
- */
129
- disabled?: boolean;
130
- /**
131
- * @description The display label for the field.
132
- * @summary The text label displayed alongside the field to identify it to the user.
133
- * This label can be translated if the translatable property is set to true.
134
- *
135
- * @type {string}
136
- * @memberOf CrudFieldComponent
137
- */
138
- label: string;
139
- /**
140
- * @description Placeholder text when field is empty.
141
- * @summary Text that appears in the input when it has no value. This provides a hint to the user
142
- * about what kind of data is expected. The placeholder disappears when the user starts typing.
143
- *
144
- * @type {string}
145
- * @memberOf CrudFieldComponent
146
- */
147
- placeholder: string;
148
- /**
149
- * @description Format pattern for the field value.
150
- * @summary Specifies a format pattern for the field value, which can be used for date formatting,
151
- * number formatting, or other type-specific formatting requirements.
152
- *
153
- * @type {string}
154
- * @memberOf CrudFieldComponent
155
- */
156
- format?: string;
157
- /**
158
- * @description Whether the field should be hidden.
159
- * @summary When true, the field will not be visible in the UI but will still be part of the form model.
160
- * This is useful for fields that need to be included in form submission but should not be displayed to the user.
161
- *
162
- * @type {boolean}
163
- * @memberOf CrudFieldComponent
164
- */
165
- hidden: boolean | CrudOperationKeys[];
166
- /**
167
- * @description Maximum allowed value for the field.
168
- * @summary For number inputs, this sets the maximum allowed numeric value.
169
- * For date inputs, this sets the latest allowed date.
170
- *
171
- * @type {number | Date}
172
- * @memberOf CrudFieldComponent
173
- */
174
- max?: number | Date;
175
- /**
176
- * @description Maximum allowed length for text input.
177
- * @summary For text inputs, this sets the maximum number of characters allowed.
178
- * This is used for validation and may also be used to limit input in the UI.
179
- *
180
- * @type {number}
181
- * @memberOf CrudFieldComponent
182
- */
183
- maxlength?: number;
184
- /**
185
- * @description Minimum allowed value for the field.
186
- * @summary For number inputs, this sets the minimum allowed numeric value.
187
- * For date inputs, this sets the earliest allowed date.
188
- *
189
- * @type {number | Date}
190
- * @memberOf CrudFieldComponent
191
- */
192
- min?: number | Date;
193
- /**
194
- * @description Minimum allowed length for text input.
195
- * @summary For text inputs, this sets the minimum number of characters required.
196
- * This is used for validation to ensure the input meets a minimum length requirement.
197
- *
198
- * @type {number}
199
- * @memberOf CrudFieldComponent
200
- */
201
- minlength?: number;
202
- /**
203
- * @description Validation pattern for text input.
204
- * @summary A regular expression pattern used to validate text input.
205
- * The input value must match this pattern to be considered valid.
206
- *
207
- * @type {string}
208
- * @memberOf CrudFieldComponent
209
- */
210
- pattern?: string;
211
- /**
212
- * @description Whether the field is read-only.
213
- * @summary When true, the field will be rendered in a read-only state. Unlike disabled fields,
214
- * read-only fields are still focusable but cannot be modified by the user.
215
- *
216
- * @type {boolean}
217
- * @memberOf CrudFieldComponent
218
- */
219
- readonly?: boolean;
220
- /**
221
- * @description Whether the field is required.
222
- * @summary When true, the field must have a value for the form to be valid.
223
- * Required fields are typically marked with an indicator in the UI.
224
- *
225
- * @type {boolean}
226
- * @memberOf CrudFieldComponent
227
- */
228
- required?: boolean;
229
- /**
230
- * @description Step value for number inputs.
231
- * @summary For number inputs, this sets the increment/decrement step when using
232
- * the up/down arrows or when using a range slider.
233
- *
234
- * @type {number}
235
- * @memberOf CrudFieldComponent
236
- */
237
- step?: number;
238
- /**
239
- * @description Field name for equality validation comparison.
240
- * @summary Specifies another field name that this field's value must be equal to for validation.
241
- * This is commonly used for password confirmation fields or other scenarios where
242
- * two fields must contain the same value.
243
- *
244
- * @type {string | undefined}
245
- * @memberOf CrudFieldComponent
246
- */
247
- equals?: string;
248
- /**
249
- * @description Field name for inequality validation comparison.
250
- * @summary Specifies another field name that this field's value must be different from for validation.
251
- * This is used to ensure that two fields do not contain the same value, which might be
252
- * required for certain business rules or security constraints.
253
- *
254
- * @type {string | undefined}
255
- * @memberOf CrudFieldComponent
256
- */
257
- different?: string;
258
- /**
259
- * @description Field name for less-than validation comparison.
260
- * @summary Specifies another field name that this field's value must be less than for validation.
261
- * This is commonly used for date ranges, numeric ranges, or other scenarios where
262
- * one field must have a smaller value than another.
263
- *
264
- * @type {string | undefined}
265
- * @memberOf CrudFieldComponent
266
- */
267
- lessThan?: string;
268
- /**
269
- * @description Field name for less-than-or-equal validation comparison.
270
- * @summary Specifies another field name that this field's value must be less than or equal to
271
- * for validation. This provides inclusive upper bound validation for numeric or date comparisons.
272
- *
273
- * @type {string | undefined}
274
- * @memberOf CrudFieldComponent
275
- */
276
- lessThanOrEqual?: string;
277
- /**
278
- * @description Field name for greater-than validation comparison.
279
- * @summary Specifies another field name that this field's value must be greater than for validation.
280
- * This is commonly used for date ranges, numeric ranges, or other scenarios where
281
- * one field must have a larger value than another.
282
- *
283
- * @type {string | undefined}
284
- * @memberOf CrudFieldComponent
285
- */
286
- greaterThan?: string;
287
- /**
288
- * @description Field name for greater-than-or-equal validation comparison.
289
- * @summary Specifies another field name that this field's value must be greater than or equal to
290
- * for validation. This provides inclusive lower bound validation for numeric or date comparisons.
291
- *
292
- * @type {string | undefined}
293
- * @memberOf CrudFieldComponent
294
- */
295
- greaterThanOrEqual?: string;
296
- /**
297
- * @description Number of columns for textarea inputs.
298
- * @summary For textarea inputs, this sets the visible width of the text area in average character widths.
299
- * This is used alongside rows to define the dimensions of the textarea.
300
- *
301
- * @type {number}
302
- * @memberOf CrudFieldComponent
303
- */
304
- cols?: number;
305
- /**
306
- * @description Number of rows for textarea inputs.
307
- * @summary For textarea inputs, this sets the visible height of the text area in lines of text.
308
- * This is used alongside cols to define the dimensions of the textarea.
309
- *
310
- * @type {number}
311
- * @memberOf CrudFieldComponent
312
- */
313
- rows?: number;
314
- /**
315
- * @description Alignment of the field content.
316
- * @summary Controls the horizontal alignment of the field content.
317
- * This affects how the content is positioned within the field container.
318
- *
319
- * @type {'start' | 'center'}
320
- * @memberOf CrudFieldComponent
321
- */
322
- alignment?: 'start' | 'center';
323
- /**
324
- * @description Initial checked state for checkbox or toggle inputs.
325
- * @summary For checkbox or toggle inputs, this sets the initial checked state.
326
- * When true, the checkbox or toggle will be initially checked.
327
- *
328
- * @type {boolean}
329
- * @memberOf CrudFieldComponent
330
- */
331
- checked?: boolean;
332
- /**
333
- * @description Justification of items within the field.
334
- * @summary Controls how items are justified within the field container.
335
- * This is particularly useful for fields with multiple elements, such as radio groups.
336
- *
337
- * @type {'start' | 'end' | 'space-between'}
338
- * @memberOf CrudFieldComponent
339
- */
340
- justify?: 'start' | 'end' | 'space-between';
341
- /**
342
- * @description Text for the cancel button in select inputs.
343
- * @summary For select inputs with a cancel button, this sets the text displayed on the cancel button.
344
- * This is typically used in select dialogs to provide a way for users to dismiss the selection without making a change.
345
- *
346
- * @type {string}
347
- * @memberOf CrudFieldComponent
348
- */
349
- cancelText?: string;
350
- /**
351
- * @description Interface style for select inputs.
352
- * @summary Specifies the interface style for select inputs, such as 'alert', 'action-sheet', or 'popover'.
353
- * This determines how the select options are presented to the user.
354
- *
355
- * @type {SelectInterface}
356
- * @memberOf CrudFieldComponent
357
- */
358
- interface: SelectInterface;
359
- /**
360
- * @description Options for select or radio inputs.
361
- * @summary Provides the list of options for select or radio inputs. Each option can have a value and a label.
362
- * This is used to populate the dropdown or radio group with choices.
363
- *
364
- * @type {CrudFieldOption[]}
365
- * @memberOf CrudFieldComponent
366
- */
367
- options: CrudFieldOption[];
368
- /**
369
- * @description Mode of the field.
370
- * @summary Specifies the visual mode of the field, such as 'ios' or 'md'.
371
- * This affects the styling and appearance of the field to match the platform style.
372
- *
373
- * @type {'ios' | 'md'}
374
- * @memberOf CrudFieldComponent
375
- */
376
- mode?: 'ios' | 'md';
377
- /**
378
- * @description Spellcheck attribute for text inputs.
379
- * @summary Enables or disables spellchecking for text inputs.
380
- * When true, the browser will check the spelling of the input text.
381
- *
382
- * @type {boolean}
383
- * @default false
384
- * @memberOf CrudFieldComponent
385
- */
386
- spellcheck: boolean;
387
- /**
388
- * @description Input mode for text inputs.
389
- * @summary Hints at the type of data that might be entered by the user while editing the element.
390
- * This can affect the virtual keyboard layout on mobile devices.
391
- *
392
- * @type {'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'}
393
- * @default 'none'
394
- * @memberOf CrudFieldComponent
395
- */
396
- inputmode: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
397
- /**
398
- * @description Autocomplete behavior for the field.
399
- * @summary Specifies whether and how the browser should automatically complete the input.
400
- * This can improve user experience by suggesting previously entered values.
401
- *
402
- * @type {AutocompleteTypes}
403
- * @default 'off'
404
- * @memberOf CrudFieldComponent
405
- */
406
- autocomplete: AutocompleteTypes;
407
- /**
408
- * @description Fill style for the field.
409
- * @summary Determines the fill style of the field, such as 'outline' or 'solid'.
410
- * This affects the border and background of the field.
411
- *
412
- * @type {'outline' | 'solid'}
413
- * @default 'outline'
414
- * @memberOf CrudFieldComponent
415
- */
416
- fill: 'outline' | 'solid';
417
- /**
418
- * @description Placement of the label relative to the field.
419
- * @summary Specifies where the label should be placed relative to the field.
420
- * Options include 'start', 'end', 'floating', 'stacked', and 'fixed'.
421
- *
422
- * @type {'start' | 'end' | 'floating' | 'stacked' | 'fixed'}
423
- * @default 'floating'
424
- * @memberOf CrudFieldComponent
425
- */
426
- labelPlacement: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
427
- /**
428
- * @description Update mode for the field.
429
- * @summary Determines when the field value should be updated in the form model.
430
- * Options include 'change', 'blur', and 'submit'.
431
- *
432
- * @type {FieldUpdateMode}
433
- * @default 'change'
434
- * @memberOf CrudFieldComponent
435
- */
436
- updateOn: FieldUpdateMode;
437
- /**
438
- * @description Reference to the field component.
439
- * @summary Provides a reference to the field component element, allowing direct access to its properties and methods.
440
- *
441
- * @type {ElementRef}
442
- * @memberOf CrudFieldComponent
443
- */
444
- component: ElementRef;
445
- /**
446
- * @description Parent form group.
447
- * @summary References the parent form group to which this field belongs.
448
- * This is necessary for integrating the field with Angular's reactive forms.
449
- *
450
- * @type {FormGroup}
451
- * @memberOf CrudFieldComponent
452
- */
453
- formGroup: FormGroup | undefined;
454
- /**
455
- * @description Angular FormControl instance for this field.
456
- * @summary The specific FormControl instance that manages this field's state, validation,
457
- * and value. This provides direct access to Angular's reactive forms functionality
458
- * for this individual field within the broader form structure.
459
- *
460
- * @type {FormControl}
461
- * @memberOf CrudFieldComponent
462
- */
463
- formControl: FormControl;
464
- /**
465
- * @description Indicates if this field supports multiple values.
466
- * @summary When true, this field can handle multiple values, typically used in
467
- * multi-select scenarios or when the field is part of a form array structure
468
- * that allows multiple entries of the same field type.
469
- *
470
- * @type {boolean}
471
- * @default false
472
- * @memberOf CrudFieldComponent
473
- */
474
- multiple: boolean;
475
- /**
476
- * @description Unique identifier for the current record.
477
- * @summary A unique identifier for the current record being displayed or manipulated.
478
- * This is typically used in conjunction with the primary key for operations on specific records.
479
- *
480
- * @type {string | number}
481
- */
482
- uid: string;
483
- page: number;
484
- /**
485
- * @description Translatability of field labels.
486
- * @summary Indicates whether the field labels should be translated based on the current language settings.
487
- * This is useful for applications supporting multiple languages.
488
- *
489
- * @type {StringOrBoolean}
490
- * @default true
491
- * @memberOf CrudFieldComponent
492
- */
493
- translatable: StringOrBoolean;
494
- /**
495
- * @description Index of the currently active form group in a form array.
496
- * @summary When working with multiple form groups (form arrays), this indicates
497
- * which form group is currently active or being edited. This is used to manage
498
- * focus and data binding in multi-entry scenarios.
499
- *
500
- * @type {number}
501
- * @default 0
502
- * @memberOf CrudFieldComponent
503
- */
504
- activeFormGroup: number;
505
- /**
506
- * @description FormArray containing multiple form groups for this field.
507
- * @summary When this field is part of a multi-entry structure, this FormArray
508
- * contains all the form groups. This enables management of multiple instances
509
- * of the same field structure within a single form.
510
- *
511
- * @type {FormArray}
512
- * @memberOf CrudFieldComponent
513
- */
514
- formGroupArray: FormArray;
515
- /**
516
- * @description Primary key field name for uniqueness validation.
517
- * @summary Specifies the field name that serves as the primary key for uniqueness
518
- * validation within form arrays. This is used to prevent duplicate entries
519
- * and ensure data integrity in multi-entry forms.
520
- *
521
- * @type {string}
522
- * @memberOf CrudFieldComponent
523
- */
524
- pk: string;
525
- /**
526
- * @description Gets the currently active form group based on context.
527
- * @summary Returns the appropriate FormGroup based on whether this field supports
528
- * multiple values. For single-value fields, returns the main form group.
529
- * For multi-value fields, returns the form group at the active index from the parent FormArray.
530
- *
531
- * @returns {FormGroup} The currently active FormGroup for this field
532
- * @memberOf CrudFieldComponent
533
- */
534
- get getActiveFormGroup(): FormGroup;
535
- /**
536
- * Returns a list of options for select or radio inputs, with their `text` property
537
- * localized if it does not already include the word 'options'. The localization key
538
- * is generated from the component's label, replacing 'label' with 'options'.
539
- *
540
- * @returns {CrudFieldOption[]} The array of parsed and localized options.
541
- * @memberOf CrudFieldComponent
542
- */
543
- get parsedOptions(): CrudFieldOption[];
544
- /**
545
- * @description Component initialization lifecycle method.
546
- * @summary Initializes the field component based on the operation type and field configuration.
547
- * For READ and DELETE operations, removes the form group to make fields read-only.
548
- * For other operations, sets up icons, configures multi-value support if needed,
549
- * and sets default values for radio buttons if no value is provided.
550
- *
551
- * @returns {void}
552
- * @memberOf CrudFieldComponent
553
- */
554
- ngOnInit(): void;
555
- /**
556
- * @description Component after view initialization lifecycle method.
557
- * @summary Calls the parent afterViewInit method for READ and DELETE operations.
558
- * This ensures proper initialization of read-only fields that don't require
559
- * form functionality but still need view setup.
560
- *
561
- * @returns {void}
562
- * @memberOf CrudFieldComponent
563
- */
564
- ngAfterViewInit(): void;
565
- /**
566
- * @description Component cleanup lifecycle method.
567
- * @summary Performs cleanup operations for READ and DELETE operations by calling
568
- * the parent onDestroy method. This ensures proper resource cleanup for
569
- * read-only field components.
570
- *
571
- * @returns {void}
572
- * @memberOf CrudFieldComponent
573
- */
574
- ngOnDestroy(): void;
575
- /**
576
- * @description Handles fieldset group creation events from parent fieldsets.
577
- * @summary Processes events triggered when a new group needs to be added to a fieldset.
578
- * Validates the current form group, checks for uniqueness if applicable, and either
579
- * creates a new group or provides validation feedback. Updates the active form group
580
- * and resets the field for new input after successful creation.
581
- *
582
- * @param {CustomEvent} event - The fieldset create group event containing group details
583
- * @returns {void}
584
- * @memberOf CrudFieldComponent
585
- */
586
- handleFieldsetCreateGroupEvent(event: CustomEvent): void;
587
- /**
588
- * @description Handles fieldset group update events from parent fieldsets.
589
- * @summary Processes events triggered when an existing group needs to be updated.
590
- * Updates the active form group index and refreshes the form group and form control
591
- * references to point to the group being edited.
592
- *
593
- * @param {CustomEvent} event - The fieldset update group event containing update details
594
- * @returns {void}
595
- * @memberOf CrudFieldComponent
596
- */
597
- handleFieldsetUpdateGroupEvent(event: CustomEvent): void;
598
- /**
599
- * @description Handles fieldset group removal events from parent fieldsets.
600
- * @summary Processes events triggered when a group needs to be removed from a fieldset.
601
- * Removes the specified group from the form array, updates the active form group index,
602
- * and refreshes the form references. Dispatches a confirmation event back to the component.
603
- *
604
- * @param {CustomEvent} event - The fieldset remove group event containing removal details
605
- * @returns {void}
606
- * @memberOf CrudFieldComponent
607
- */
608
- handleFieldsetRemoveGroupEvent(event: CustomEvent): void;
609
- static ɵfac: i0.ɵɵFactoryDeclaration<CrudFieldComponent, never>;
610
- static ɵcmp: i0.ɵɵComponentDeclaration<CrudFieldComponent, "ngx-decaf-crud-field", never, { "operation": { "alias": "operation"; "required": true; }; "name": { "alias": "name"; "required": true; }; "path": { "alias": "path"; "required": true; }; "childOf": { "alias": "childOf"; "required": false; }; "type": { "alias": "type"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "step": { "alias": "step"; "required": false; }; "equals": { "alias": "equals"; "required": false; }; "different": { "alias": "different"; "required": false; }; "lessThan": { "alias": "lessThan"; "required": false; }; "lessThanOrEqual": { "alias": "lessThanOrEqual"; "required": false; }; "greaterThan": { "alias": "greaterThan"; "required": false; }; "greaterThanOrEqual": { "alias": "greaterThanOrEqual"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "interface": { "alias": "interface"; "required": false; }; "options": { "alias": "options"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "page": { "alias": "page"; "required": false; }; "translatable": { "alias": "translatable"; "required": false; }; "activeFormGroup": { "alias": "activeFormGroup"; "required": false; }; "pk": { "alias": "pk"; "required": false; }; }, {}, never, never, true, never>;
611
- }
@@ -1,5 +0,0 @@
1
- import { CrudFormOptions } from './types';
2
- export declare const CssClasses: {
3
- BUTTONS_CONTAINER: string;
4
- };
5
- export declare const DefaultFormReactiveOptions: CrudFormOptions;