@memberjunction/ng-base-forms 3.4.0 → 4.1.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.
Files changed (80) hide show
  1. package/dist/lib/base-form-component.d.ts +103 -215
  2. package/dist/lib/base-form-component.d.ts.map +1 -1
  3. package/dist/lib/base-form-component.js +384 -544
  4. package/dist/lib/base-form-component.js.map +1 -1
  5. package/dist/lib/container/record-form-container.component.d.ts +165 -0
  6. package/dist/lib/container/record-form-container.component.d.ts.map +1 -0
  7. package/dist/lib/container/record-form-container.component.js +534 -0
  8. package/dist/lib/container/record-form-container.component.js.map +1 -0
  9. package/dist/lib/explorer-entity-data-grid.component.d.ts +7 -9
  10. package/dist/lib/explorer-entity-data-grid.component.d.ts.map +1 -1
  11. package/dist/lib/explorer-entity-data-grid.component.js +15 -16
  12. package/dist/lib/explorer-entity-data-grid.component.js.map +1 -1
  13. package/dist/lib/field/form-field.component.d.ts +268 -0
  14. package/dist/lib/field/form-field.component.d.ts.map +1 -0
  15. package/dist/lib/field/form-field.component.js +1194 -0
  16. package/dist/lib/field/form-field.component.js.map +1 -0
  17. package/dist/lib/form-state.interface.d.ts +2 -0
  18. package/dist/lib/form-state.interface.d.ts.map +1 -1
  19. package/dist/lib/form-state.interface.js.map +1 -1
  20. package/dist/lib/form-state.service.d.ts +14 -0
  21. package/dist/lib/form-state.service.d.ts.map +1 -1
  22. package/dist/lib/form-state.service.js +19 -0
  23. package/dist/lib/form-state.service.js.map +1 -1
  24. package/dist/lib/panel/collapsible-panel.component.d.ts +139 -0
  25. package/dist/lib/panel/collapsible-panel.component.d.ts.map +1 -0
  26. package/dist/lib/panel/collapsible-panel.component.js +468 -0
  27. package/dist/lib/panel/collapsible-panel.component.js.map +1 -0
  28. package/dist/lib/section-loader-component.d.ts.map +1 -1
  29. package/dist/lib/section-loader-component.js +3 -2
  30. package/dist/lib/section-loader-component.js.map +1 -1
  31. package/dist/lib/toolbar/form-toolbar.component.d.ts +170 -0
  32. package/dist/lib/toolbar/form-toolbar.component.d.ts.map +1 -0
  33. package/dist/lib/toolbar/form-toolbar.component.js +830 -0
  34. package/dist/lib/toolbar/form-toolbar.component.js.map +1 -0
  35. package/dist/lib/types/form-events.d.ts +90 -0
  36. package/dist/lib/types/form-events.d.ts.map +1 -0
  37. package/dist/lib/types/form-events.js +45 -0
  38. package/dist/lib/types/form-events.js.map +1 -0
  39. package/dist/lib/types/form-types.d.ts +150 -0
  40. package/dist/lib/types/form-types.d.ts.map +1 -0
  41. package/dist/lib/types/form-types.js +12 -0
  42. package/dist/lib/types/form-types.js.map +1 -0
  43. package/dist/lib/types/navigation-events.d.ts +88 -0
  44. package/dist/lib/types/navigation-events.d.ts.map +1 -0
  45. package/dist/lib/types/navigation-events.js +2 -0
  46. package/dist/lib/types/navigation-events.js.map +1 -0
  47. package/dist/lib/types/toolbar-config.d.ts +66 -0
  48. package/dist/lib/types/toolbar-config.d.ts.map +1 -0
  49. package/dist/lib/types/toolbar-config.js +38 -0
  50. package/dist/lib/types/toolbar-config.js.map +1 -0
  51. package/dist/module.d.ts +28 -20
  52. package/dist/module.d.ts.map +1 -1
  53. package/dist/module.js +47 -74
  54. package/dist/module.js.map +1 -1
  55. package/dist/public-api.d.ts +20 -8
  56. package/dist/public-api.d.ts.map +1 -1
  57. package/dist/public-api.js +24 -9
  58. package/dist/public-api.js.map +1 -1
  59. package/package.json +27 -30
  60. package/README.md +0 -449
  61. package/dist/lib/base-field-component.d.ts +0 -152
  62. package/dist/lib/base-field-component.d.ts.map +0 -1
  63. package/dist/lib/base-field-component.js +0 -667
  64. package/dist/lib/base-field-component.js.map +0 -1
  65. package/dist/lib/base-form-context.d.ts +0 -23
  66. package/dist/lib/base-form-context.d.ts.map +0 -1
  67. package/dist/lib/base-form-context.js +0 -10
  68. package/dist/lib/base-form-context.js.map +0 -1
  69. package/dist/lib/collapsible-panel.component.d.ts +0 -68
  70. package/dist/lib/collapsible-panel.component.d.ts.map +0 -1
  71. package/dist/lib/collapsible-panel.component.js +0 -330
  72. package/dist/lib/collapsible-panel.component.js.map +0 -1
  73. package/dist/lib/form-section-controls.component.d.ts +0 -35
  74. package/dist/lib/form-section-controls.component.d.ts.map +0 -1
  75. package/dist/lib/form-section-controls.component.js +0 -272
  76. package/dist/lib/form-section-controls.component.js.map +0 -1
  77. package/dist/lib/link-field.component.d.ts +0 -62
  78. package/dist/lib/link-field.component.d.ts.map +0 -1
  79. package/dist/lib/link-field.component.js +0 -391
  80. package/dist/lib/link-field.component.js.map +0 -1
@@ -1,75 +1,83 @@
1
- import { AfterViewInit, OnInit, OnDestroy, QueryList, ElementRef, ChangeDetectorRef } from '@angular/core';
1
+ import { AfterViewInit, OnInit, OnDestroy, QueryList, ElementRef, ChangeDetectorRef, EventEmitter } from '@angular/core';
2
2
  import { EntityInfo, ValidationResult, EntityPermissionType, EntityRelationshipInfo, RunViewParams, RecordDependency } from '@memberjunction/core';
3
- import { BaseRecordComponent } from './base-record-component';
4
- import { BaseFormSectionInfo } from './base-form-section-info';
5
- import { BaseFormContext } from './base-form-context';
6
- import { CollapsiblePanelComponent } from './collapsible-panel.component';
7
- import { SharedService, NavigationService } from '@memberjunction/ng-shared';
8
- import { ActivatedRoute, Router } from '@angular/router';
9
- import { MJTabStripComponent, TabEvent } from '@memberjunction/ng-tabstrip';
10
3
  import { FormEditingCompleteEvent, PendingRecordItem, BaseFormComponentEventCodes } from '@memberjunction/ng-base-types';
11
4
  import { ListEntity } from '@memberjunction/core-entities';
5
+ import { BaseRecordComponent } from './base-record-component';
6
+ import { BaseFormSectionInfo } from './base-form-section-info';
7
+ import { MjCollapsiblePanelComponent } from './panel/collapsible-panel.component';
8
+ import { FormNavigationEvent } from './types/navigation-events';
9
+ import { FormContext, FormNotificationEvent, RecordSavedEvent, RecordDeletedEvent, RecordSaveFailedEvent, RecordDeleteFailedEvent, ValidationFailedEvent } from './types/form-types';
12
10
  import { FormStateService } from './form-state.service';
13
11
  import * as i0 from "@angular/core";
12
+ /**
13
+ * Abstract base class for all entity record forms in MemberJunction.
14
+ *
15
+ * Generated forms (via CodeGen) and custom forms extend this class.
16
+ * It provides core form logic — section management, validation, pending records,
17
+ * permissions, favorites, related entity helpers — with ZERO Explorer dependencies.
18
+ *
19
+ * Instead of calling Explorer services directly, events are emitted via @Output:
20
+ * - **Navigate**: Form navigation requests (record links, new records, external links)
21
+ * - **Notification**: User-facing notifications (save success, validation errors, etc.)
22
+ * - **RecordSaved**: Emitted after a successful save
23
+ * - **RecordDeleted**: Emitted after a successful delete
24
+ *
25
+ * The host application (e.g. SingleRecordComponent in Explorer) subscribes to
26
+ * these events and maps them to its own services (NavigationService, SharedService, etc.).
27
+ */
14
28
  export declare abstract class BaseFormComponent extends BaseRecordComponent implements AfterViewInit, OnInit, OnDestroy {
15
- protected elementRef: ElementRef;
16
- protected sharedService: SharedService;
17
- protected router: Router;
18
- protected route: ActivatedRoute;
19
- protected cdr: ChangeDetectorRef;
20
29
  EditMode: boolean;
21
- BottomMargin: number;
22
- TabHeight: string;
23
- /**
24
- * This property is automatically updated by the BaseFormComponent to reflect the height of the "Top Area" of the form. The Top Area is defined in a template by having
25
- * a #topArea element anywhere in the form. This property will automatically be updated AfterViewInit to reflect the height of the top area. This is useful for various things
26
- * like setting a pane in a splitter to a specific height based on the top area height.
27
- */
28
- TopAreaHeight: string;
29
- GridBottomMargin: number;
30
30
  FavoriteInitDone: boolean;
31
31
  isHistoryDialogOpen: boolean;
32
32
  showDeleteDialog: boolean;
33
33
  showCreateDialog: boolean;
34
- private splitterLayoutChangeSubject;
34
+ /**
35
+ * Height of the top area when a splitter layout is used.
36
+ * Referenced by CodeGen-generated templates for entities with "top area" sections.
37
+ */
38
+ TopAreaHeight: string;
39
+ /**
40
+ * Called when the splitter layout changes (for entities with "top area" sections).
41
+ * No-op in the generic version; override in host application if splitter resizing is needed.
42
+ */
43
+ splitterLayoutChange(): void;
35
44
  private _pendingRecords;
36
- private _updatingBrowserUrl;
37
- private __debug;
38
- /** Form state service for persisting section states to User Settings */
45
+ protected elementRef: ElementRef<any>;
46
+ cdr: ChangeDetectorRef;
39
47
  protected formStateService: FormStateService;
40
- /** Navigation service for URL management */
41
- protected navigationService: NavigationService;
48
+ /** Emitted when navigation is requested (record link, external link, email, new record, etc.) */
49
+ Navigate: EventEmitter<FormNavigationEvent>;
50
+ /** Emitted when a user-facing notification should be shown */
51
+ Notification: EventEmitter<FormNotificationEvent>;
52
+ /** Emitted after a record is saved successfully */
53
+ RecordSaved: EventEmitter<RecordSavedEvent>;
54
+ /** Emitted after a record is deleted successfully */
55
+ RecordDeleted: EventEmitter<RecordDeletedEvent>;
56
+ /** Emitted when a record save fails */
57
+ RecordSaveFailed: EventEmitter<RecordSaveFailedEvent>;
58
+ /** Emitted when a record delete fails */
59
+ RecordDeleteFailed: EventEmitter<RecordDeleteFailedEvent>;
60
+ /** Emitted when validation fails before save */
61
+ ValidationFailed: EventEmitter<ValidationFailedEvent>;
42
62
  /** Subscription to form state changes */
43
63
  private formStateSubscription?;
44
- constructor(elementRef: ElementRef, sharedService: SharedService, router: Router, route: ActivatedRoute, cdr: ChangeDetectorRef);
45
- tabComponent: MJTabStripComponent;
46
- tabStrips: QueryList<MJTabStripComponent>;
47
- collapsiblePanels: QueryList<CollapsiblePanelComponent>;
48
- get TabStripComponent(): MJTabStripComponent;
49
- /**
50
- * Convenience method to resize application container when required
51
- */
52
- InvokeManualResize(delay?: number): void;
64
+ collapsiblePanels: QueryList<MjCollapsiblePanelComponent>;
53
65
  ngOnInit(): Promise<void>;
54
- topArea: ElementRef;
55
66
  ngAfterViewInit(): void;
56
- /**
57
- * This method can be called at anytime to re-calculate the height of the top area and set the TopAreaHeight property. This is useful if the top area height changes dynamically
58
- */
59
- CalcTopAreaHeight(): void;
60
- private resizeSub;
61
67
  ngOnDestroy(): void;
62
68
  protected get PendingRecords(): PendingRecordItem[];
63
- onTabSelect(e: TabEvent): void;
69
+ protected PendingRecordsDirty(): boolean;
70
+ protected PopulatePendingRecords(): void;
71
+ protected ValidatePendingRecords(): ValidationResult[];
64
72
  StartEditMode(): void;
65
73
  EndEditMode(): void;
66
74
  handleHistoryDialog(): void;
67
- ShowChanges(): void;
68
- RemoveFavorite(): Promise<void>;
69
- MakeFavorite(): Promise<void>;
70
- SetFavoriteStatus(isFavorite: boolean): Promise<void>;
71
- private _isFavorite;
72
- get IsFavorite(): boolean;
75
+ Validate(): ValidationResult;
76
+ protected RaiseEvent(eventCode: BaseFormComponentEventCodes): FormEditingCompleteEvent;
77
+ SaveRecord(StopEditModeAfterSave: boolean): Promise<boolean>;
78
+ CancelEdit(): void;
79
+ protected InternalSaveRecord(): Promise<boolean>;
80
+ Wait(duration: number): Promise<void>;
73
81
  private _userPermissions;
74
82
  CheckUserPermission(type: EntityPermissionType): boolean;
75
83
  get UserCanEdit(): boolean;
@@ -77,219 +85,99 @@ export declare abstract class BaseFormComponent extends BaseRecordComponent impl
77
85
  get UserCanCreate(): boolean;
78
86
  get UserCanDelete(): boolean;
79
87
  GridEditMode(): "None" | "Save" | "Queue";
80
- /**
81
- * Returns true if the tabName specified is the currently displayed tab, otherwise returns false
82
- * @param tabName
83
- * @returns
84
- */
85
- IsCurrentTab(tabName: string): boolean;
88
+ private _isFavorite;
89
+ get IsFavorite(): boolean;
90
+ RemoveFavorite(): Promise<void>;
91
+ MakeFavorite(): Promise<void>;
92
+ SetFavoriteStatus(isFavorite: boolean): Promise<void>;
86
93
  BuildRelationshipViewParams(item: EntityRelationshipInfo): RunViewParams;
87
- /**
88
- * Builds a RunViewParams object for a related entity based on the relationship between the current entity and the related entity
89
- * @param relatedEntityName - the name of the entity that is related to the current entity where we're building the view params from
90
- * @param relatedEntityJoinField - the name of the foreign key field in the current entity that links to the related entity, only required if there are multiple relationships between the entities
91
- * @returns
92
- */
93
94
  BuildRelationshipViewParamsByEntityName(relatedEntityName: string, relatedEntityJoinField?: string): RunViewParams;
94
- /**
95
- * Looks up and returns the EntityRelationshipInfo object for the related entity name
96
- * @param relatedEntityName - the name of the related entity to look up the relationship for
97
- * @param relatedEntityJoinField - the name of the foreign key field in the current entity that links to the related entity, only required if there are multiple relationships between the entities
98
- * @returns
99
- */
100
95
  GetEntityRelationshipByRelatedEntityName(relatedEntityName: string, relatedEntityJoinField?: string): EntityRelationshipInfo | undefined;
101
- /**
102
- * Builds new record values for a related entity based on the relationship between the current entity and the related entity
103
- * @param relatedEntityName
104
- * @returns
105
- */
106
- NewRecordValues(relatedEntityName: string): any;
107
- NewRecordValuesByEntityRelationship(item: EntityRelationshipInfo): any;
96
+ NewRecordValues(relatedEntityName: string): Record<string, unknown>;
97
+ NewRecordValuesByEntityRelationship(item: EntityRelationshipInfo): Record<string, unknown>;
108
98
  GetRelatedEntityTabDisplayName(relatedEntityName: string): string;
109
- /**
110
- * Returns whether the current entity has any related entities defined.
111
- * Useful for conditionally showing/hiding related entity sections.
112
- */
113
99
  get HasRelatedEntities(): boolean;
114
- protected ValidatePendingRecords(): ValidationResult[];
115
- Validate(): ValidationResult;
116
- protected RaiseEvent(eventCode: BaseFormComponentEventCodes): FormEditingCompleteEvent;
117
- SaveRecord(StopEditModeAfterSave: boolean): Promise<boolean>;
118
- Wait(duration: number): Promise<void>;
119
- CancelEdit(): void;
120
- protected PendingRecordsDirty(): boolean;
121
- protected PopulatePendingRecords(): void;
122
- protected InternalSaveRecord(): Promise<boolean>;
123
- protected GetTabTopPosition(): number;
124
- private _tabMargin;
125
- setTabHeight(): void;
126
- protected get ContainerObjectHeight(): number;
127
- protected ResizeTab(): void;
128
- protected setupSplitterLayoutDebounce(): void;
129
- splitterLayoutChange(): void;
100
+ get EntityInfo(): EntityInfo | undefined;
130
101
  ShowDependencies(): Promise<void>;
102
+ ShowChanges(): void;
131
103
  GetListsCanAddTo(): Promise<ListEntity[]>;
132
104
  GetRecordDependencies(): Promise<RecordDependency[]>;
133
- get EntityInfo(): EntityInfo | undefined;
134
- /**
135
- * Array of section information including expanded state and row counts.
136
- * Initialized by subclasses via initSections().
137
- */
138
105
  protected sections: BaseFormSectionInfo[];
139
- /**
140
- * Map for fast section lookup by key.
141
- */
142
106
  private sectionMap;
143
- /**
144
- * Current search filter text for filtering sections.
145
- */
146
107
  searchFilter: string;
147
- /**
148
- * Controls whether empty fields should be shown in read-only mode.
149
- * When false (default), empty fields are hidden to reduce visual clutter.
150
- */
151
108
  showEmptyFields: boolean;
152
- /**
153
- * Returns the current form context containing all form-level state.
154
- * This is a computed property that creates a fresh context object on each access,
155
- * ensuring child components always have the latest values.
156
- */
157
- get formContext(): BaseFormContext;
158
- /**
159
- * Subject for debouncing filter changes.
160
- */
109
+ /** Whether to show all validation errors on fields (set after save failure) */
110
+ private _showValidation;
111
+ /** Validation errors from the most recent failed save attempt */
112
+ private _validationErrors;
113
+ get formContext(): FormContext;
114
+ /** Clears all validation display state (called on save success, cancel, end edit) */
115
+ private clearValidationState;
161
116
  private filterSubject;
162
117
  private filterSubscription?;
163
- /**
164
- * Initializes the sections array. Called by subclasses in ngOnInit.
165
- * Accepts either BaseFormSectionInfo instances or plain objects that will be converted.
166
- * @param sections Array of section information or plain objects
167
- */
168
118
  protected initSections(sections: (BaseFormSectionInfo | {
169
119
  sectionKey: string;
170
120
  sectionName: string;
171
121
  isExpanded: boolean;
172
122
  rowCount?: number;
173
- metadata?: any;
123
+ metadata?: unknown;
174
124
  })[]): void;
175
- /**
176
- * Gets the section info by key.
177
- * @param sectionKey The section key
178
- * @returns The section info or undefined
179
- */
180
125
  protected getSection(sectionKey: string): BaseFormSectionInfo | undefined;
181
- /**
182
- * Checks if a section is expanded.
183
- * Uses FormStateService for persisted state.
184
- * @param sectionKey The section key
185
- * @param defaultExpanded Optional default value to use when no persisted state exists
186
- * @returns True if expanded, false otherwise
187
- */
188
126
  IsSectionExpanded(sectionKey: string, defaultExpanded?: boolean): boolean;
189
- /**
190
- * Sets the expanded state of a section.
191
- * Persists to User Settings via FormStateService.
192
- * @param sectionKey The section key
193
- * @param isExpanded The new expanded state
194
- */
195
127
  SetSectionExpanded(sectionKey: string, isExpanded: boolean): void;
196
- /**
197
- * Gets the row count for a section.
198
- * @param sectionKey The section key
199
- * @returns The row count or undefined
200
- */
201
128
  GetSectionRowCount(sectionKey: string): number | undefined;
202
- /**
203
- * Sets the row count for a section.
204
- * @param sectionKey The section key
205
- * @param rowCount The row count
206
- */
207
129
  SetSectionRowCount(sectionKey: string, rowCount: number): void;
208
- /**
209
- * Toggles the expanded state of a section.
210
- * Persists to User Settings via FormStateService.
211
- * @param sectionKey The section key to toggle
212
- */
130
+ GetSectionPanelHeight(sectionKey: string): number | undefined;
131
+ SetSectionPanelHeight(sectionKey: string, height: number): void;
213
132
  toggleSection(sectionKey: string): void;
214
133
  /**
215
- * Expands all sections.
216
- * Persists to User Settings via FormStateService.
134
+ * Expand any sections that are visible (match the current filter) but currently collapsed.
135
+ * Called after filter changes so the user can immediately see matching content.
217
136
  */
137
+ private expandMatchingSections;
218
138
  expandAllSections(): void;
219
- /**
220
- * Collapses all sections.
221
- * Persists to User Settings via FormStateService.
222
- */
223
139
  collapseAllSections(): void;
224
- /**
225
- * Gets the count of currently expanded sections.
226
- * @returns Number of expanded sections
227
- */
228
140
  getExpandedCount(): number;
229
- /**
230
- * Gets the count of visible sections after filtering.
231
- * @returns Number of sections currently visible (not hidden by search filter)
232
- */
233
141
  getVisibleSectionCount(): number;
234
- /**
235
- * Gets the total count of all sections (regardless of filter).
236
- * @returns Total number of sections
237
- */
238
142
  getTotalSectionCount(): number;
239
- /**
240
- * Handles filter change events from the section controls.
241
- * Debounces the filter updates by 250ms to avoid excessive re-rendering during typing.
242
- * @param searchTerm The search term to filter sections
243
- */
244
143
  onFilterChange(searchTerm: string): void;
245
- /**
246
- * Gets the entity name for the current record (used for state persistence keys).
247
- * @returns Entity name or empty string
248
- */
249
144
  getEntityName(): string;
250
- /**
251
- * Gets the form width mode from persisted state.
252
- * @returns Width mode ('centered' or 'full-width')
253
- */
254
145
  getFormWidthMode(): 'centered' | 'full-width';
255
- /**
256
- * Sets the form width mode.
257
- * Persists to User Settings via FormStateService.
258
- * @param widthMode The width mode
259
- */
260
146
  setFormWidthMode(widthMode: 'centered' | 'full-width'): void;
261
- /**
262
- * Toggles form width mode between centered and full-width.
263
- * Persists to User Settings via FormStateService.
264
- */
265
147
  toggleFormWidthMode(): void;
148
+ getSectionOrder(): string[];
149
+ setSectionOrder(sectionOrder: string[]): void;
150
+ resetSectionOrder(): void;
151
+ hasCustomSectionOrder(): boolean;
152
+ getSectionDisplayOrder(sectionKey: string): number;
266
153
  /**
267
- * Gets the current section order. Returns custom order if set, otherwise returns default order.
268
- * @returns Array of section keys in display order
154
+ * Handles navigation events from the form container and related entity grids.
155
+ * Relays the event upward via the Navigate @Output for the host application to handle.
156
+ * Generated form templates bind this as: (Navigate)="OnFormNavigate($event)"
269
157
  */
270
- getSectionOrder(): string[];
158
+ OnFormNavigate(event: FormNavigationEvent): void;
271
159
  /**
272
- * Sets a custom section order.
273
- * @param sectionOrder Array of section keys in the desired order
160
+ * Handles delete requests from the form container.
161
+ * Emits RecordDeleted on success, RecordDeleteFailed on failure.
162
+ * Generated form templates bind this as: (DeleteRequested)="OnDeleteRequested()"
274
163
  */
275
- setSectionOrder(sectionOrder: string[]): void;
164
+ OnDeleteRequested(): Promise<void>;
276
165
  /**
277
- * Resets section order to the default.
166
+ * Handles favorite toggle from the form container.
167
+ * Generated form templates bind this as: (FavoriteToggled)="OnFavoriteToggled()"
278
168
  */
279
- resetSectionOrder(): void;
169
+ OnFavoriteToggled(): Promise<void>;
280
170
  /**
281
- * Checks if a custom section order is set.
282
- * @returns True if custom order exists
171
+ * Handles history view requests from the form container.
172
+ * Generated form templates bind this as: (HistoryRequested)="OnHistoryRequested()"
283
173
  */
284
- hasCustomSectionOrder(): boolean;
174
+ OnHistoryRequested(): void;
285
175
  /**
286
- * Gets the CSS order value for a section.
287
- * Used by CollapsiblePanelComponent to set the order style property.
288
- * @param sectionKey The section key
289
- * @returns The order value (0-based index)
176
+ * Handles list management requests from the form container.
177
+ * Generated form templates bind this as: (ListManagementRequested)="OnListManagementRequested()"
290
178
  */
291
- getSectionDisplayOrder(sectionKey: string): number;
179
+ OnListManagementRequested(): void;
292
180
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormComponent, never>;
293
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormComponent, never, never, {}, {}, never, never, false, never>;
181
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormComponent, never, never, {}, { "Navigate": "Navigate"; "Notification": "Notification"; "RecordSaved": "RecordSaved"; "RecordDeleted": "RecordDeleted"; "RecordSaveFailed": "RecordSaveFailed"; "RecordDeleteFailed": "RecordDeleteFailed"; "ValidationFailed": "ValidationFailed"; }, never, never, true, never>;
294
182
  }
295
183
  //# sourceMappingURL=base-form-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-form-component.d.ts","sourceRoot":"","sources":["../../src/lib/base-form-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-form-component.d.ts","sourceRoot":"","sources":["../../src/lib/base-form-component.ts"],"names":[],"mappings":"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"}