@mj-biz-apps/common-ng 5.4.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 (82) hide show
  1. package/README.md +276 -0
  2. package/dist/lib/components/address-editor/address-editor.component.d.ts +249 -0
  3. package/dist/lib/components/address-editor/address-editor.component.d.ts.map +1 -0
  4. package/dist/lib/components/address-editor/address-editor.component.js +981 -0
  5. package/dist/lib/components/address-editor/address-editor.component.js.map +1 -0
  6. package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts +256 -0
  7. package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts.map +1 -0
  8. package/dist/lib/components/contact-method-list/contact-method-list.component.js +788 -0
  9. package/dist/lib/components/contact-method-list/contact-method-list.component.js.map +1 -0
  10. package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.d.ts +119 -0
  11. package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.d.ts.map +1 -0
  12. package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.js +295 -0
  13. package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.js.map +1 -0
  14. package/dist/lib/components/relationship-list/relationship-list.component.d.ts +392 -0
  15. package/dist/lib/components/relationship-list/relationship-list.component.d.ts.map +1 -0
  16. package/dist/lib/components/relationship-list/relationship-list.component.js +1171 -0
  17. package/dist/lib/components/relationship-list/relationship-list.component.js.map +1 -0
  18. package/dist/lib/custom/Organization/organization-form.component.d.ts +24 -0
  19. package/dist/lib/custom/Organization/organization-form.component.d.ts.map +1 -0
  20. package/dist/lib/custom/Organization/organization-form.component.js +244 -0
  21. package/dist/lib/custom/Organization/organization-form.component.js.map +1 -0
  22. package/dist/lib/custom/Person/person-form.component.d.ts +24 -0
  23. package/dist/lib/custom/Person/person-form.component.d.ts.map +1 -0
  24. package/dist/lib/custom/Person/person-form.component.js +231 -0
  25. package/dist/lib/custom/Person/person-form.component.js.map +1 -0
  26. package/dist/lib/custom/custom-forms.module.d.ts +17 -0
  27. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -0
  28. package/dist/lib/custom/custom-forms.module.js +64 -0
  29. package/dist/lib/custom/custom-forms.module.js.map +1 -0
  30. package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts +10 -0
  31. package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts.map +1 -0
  32. package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js +94 -0
  33. package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js.map +1 -0
  34. package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.d.ts +10 -0
  35. package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.d.ts.map +1 -0
  36. package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.js +70 -0
  37. package/dist/lib/generated/Entities/mjBizAppsCommonAddressLink/mjbizappscommonaddresslink.form.component.js.map +1 -0
  38. package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.d.ts +10 -0
  39. package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.d.ts.map +1 -0
  40. package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js +86 -0
  41. package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js.map +1 -0
  42. package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts +10 -0
  43. package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts.map +1 -0
  44. package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js +70 -0
  45. package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js.map +1 -0
  46. package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.d.ts +10 -0
  47. package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.d.ts.map +1 -0
  48. package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js +86 -0
  49. package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js.map +1 -0
  50. package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts +10 -0
  51. package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts.map +1 -0
  52. package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js +190 -0
  53. package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js.map +1 -0
  54. package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.d.ts +10 -0
  55. package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.d.ts.map +1 -0
  56. package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js +80 -0
  57. package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js.map +1 -0
  58. package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts +10 -0
  59. package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts.map +1 -0
  60. package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js +184 -0
  61. package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js.map +1 -0
  62. package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts +10 -0
  63. package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts.map +1 -0
  64. package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js +78 -0
  65. package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js.map +1 -0
  66. package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.d.ts +10 -0
  67. package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.d.ts.map +1 -0
  68. package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js +90 -0
  69. package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js.map +1 -0
  70. package/dist/lib/generated/class-registrations-manifest.d.ts +22 -0
  71. package/dist/lib/generated/class-registrations-manifest.d.ts.map +1 -0
  72. package/dist/lib/generated/class-registrations-manifest.js +39 -0
  73. package/dist/lib/generated/class-registrations-manifest.js.map +1 -0
  74. package/dist/lib/generated/generated-forms.module.d.ts +28 -0
  75. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -0
  76. package/dist/lib/generated/generated-forms.module.js +94 -0
  77. package/dist/lib/generated/generated-forms.module.js.map +1 -0
  78. package/dist/public-api.d.ts +23 -0
  79. package/dist/public-api.d.ts.map +1 -0
  80. package/dist/public-api.js +30 -0
  81. package/dist/public-api.js.map +1 -0
  82. package/package.json +46 -0
@@ -0,0 +1,392 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FormNavigationEvent } from '@memberjunction/ng-base-forms';
3
+ import { mjBizAppsCommonRelationshipEntity, mjBizAppsCommonRelationshipTypeEntity } from '@mj-biz-apps/common-entities';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * View model for a single relationship row, enriched with display-friendly
7
+ * fields that account for the directionality of the relationship.
8
+ *
9
+ * Because relationships are stored with From/To sides, this model resolves
10
+ * which label and target to show based on whether the current entity is the
11
+ * "From" or "To" party.
12
+ */
13
+ interface RelationshipDisplayItem {
14
+ /** The underlying Relationship entity record. */
15
+ Relationship: mjBizAppsCommonRelationshipEntity;
16
+ /**
17
+ * The human-readable label describing the relationship direction
18
+ * (e.g., `'Employed by'` or `'Employer of'`).
19
+ */
20
+ DirectionLabel: string;
21
+ /** Display name of the "other" entity in the relationship (e.g., `'Acme Corp'`). */
22
+ TargetName: string;
23
+ /**
24
+ * The MemberJunction entity name for the target, used for navigation
25
+ * (e.g., `'MJ.BizApps.Common: People'` or `'MJ.BizApps.Common: Organizations'`).
26
+ */
27
+ TargetEntityName: string;
28
+ /** The primary key ID of the target record, used for navigation. */
29
+ TargetID: string;
30
+ /**
31
+ * A formatted date range string for display
32
+ * (e.g., `'Jan 2020 - Present'` or `'Mar 2018 - Dec 2023'`).
33
+ */
34
+ DateDisplay: string;
35
+ }
36
+ /**
37
+ * Groups relationship display items by category for the grouped-timeline
38
+ * layout in the template.
39
+ */
40
+ interface CategoryGroup {
41
+ /**
42
+ * The raw category key from the RelationshipType
43
+ * (e.g., `'PersonToOrganization'`, `'PersonToPerson'`).
44
+ */
45
+ Category: string;
46
+ /** Human-readable group heading (e.g., `'Employment'`, `'Personal'`). */
47
+ Label: string;
48
+ /** Font Awesome icon class for the group header. */
49
+ Icon: string;
50
+ /** CSS class applied to the icon background for color theming. */
51
+ IconClass: string;
52
+ /** The relationship display items belonging to this category. */
53
+ Items: RelationshipDisplayItem[];
54
+ }
55
+ /**
56
+ * Represents a single result from the target entity search typeahead,
57
+ * used when adding a new relationship.
58
+ */
59
+ interface SearchResult {
60
+ /** The primary key ID of the matched Person or Organization. */
61
+ ID: string;
62
+ /** The display name of the matched record. */
63
+ Name: string;
64
+ /** Additional detail shown below the name (e.g., Title for people, Type for orgs). */
65
+ Detail: string;
66
+ }
67
+ /**
68
+ * Form model for the "Add Relationship" panel.
69
+ *
70
+ * Fields map to the relationship entity properties plus search/selection
71
+ * state for the target entity typeahead.
72
+ */
73
+ interface AddFormData {
74
+ /** The selected RelationshipType record ID. */
75
+ TypeID: string;
76
+ /** The current text in the target search input (for typeahead). */
77
+ TargetSearch: string;
78
+ /** The selected target entity's record ID (set after selection). */
79
+ TargetID: string;
80
+ /** The display name of the selected target entity. */
81
+ TargetName: string;
82
+ /** Optional title or role description for the relationship (e.g., `'CEO'`). */
83
+ Title: string;
84
+ /** ISO date string (`YYYY-MM-DD`) for the relationship start date. */
85
+ StartDate: string;
86
+ /** ISO date string (`YYYY-MM-DD`) for the relationship end date. */
87
+ EndDate: string;
88
+ }
89
+ /**
90
+ * Form model for the "Edit Relationship" inline panel.
91
+ *
92
+ * The target entity cannot be changed during editing -- only metadata
93
+ * fields (type, title, dates, status) are editable.
94
+ */
95
+ interface EditFormData {
96
+ /** The selected RelationshipType record ID. */
97
+ TypeID: string;
98
+ /** Optional title or role description for the relationship. */
99
+ Title: string;
100
+ /** ISO date string (`YYYY-MM-DD`) for the relationship start date. */
101
+ StartDate: string;
102
+ /** ISO date string (`YYYY-MM-DD`) for the relationship end date. */
103
+ EndDate: string;
104
+ /** The current status of the relationship. */
105
+ Status: 'Active' | 'Inactive' | 'Ended';
106
+ }
107
+ /**
108
+ * Displays and manages relationships for a Person or Organization record,
109
+ * grouped by category (Employment, Personal, Business) in a timeline layout.
110
+ *
111
+ * Relationships are bidirectional: each record has From and To sides with
112
+ * optional Person and Organization foreign keys. The component automatically
113
+ * resolves direction labels and target names based on which side the current
114
+ * entity occupies.
115
+ *
116
+ * Supports adding new relationships with a typeahead target search, inline
117
+ * editing of relationship metadata, ending active relationships, and deletion.
118
+ *
119
+ * @example
120
+ * ```html
121
+ * <!-- For a Person -->
122
+ * <bizapps-relationship-list
123
+ * [PersonID]="person.ID"
124
+ * (Navigate)="onNavigate($event)">
125
+ * </bizapps-relationship-list>
126
+ *
127
+ * <!-- For an Organization -->
128
+ * <bizapps-relationship-list
129
+ * [OrganizationID]="org.ID"
130
+ * (Navigate)="onNavigate($event)">
131
+ * </bizapps-relationship-list>
132
+ * ```
133
+ */
134
+ export declare class RelationshipListComponent {
135
+ private cdr;
136
+ /**
137
+ * Emitted when the user clicks a relationship target name to navigate
138
+ * to that Person or Organization record.
139
+ *
140
+ * The event payload is a {@link FormNavigationEvent} (specifically a
141
+ * {@link RecordNavigationEvent}) containing the target entity name,
142
+ * composite key, and whether to open in a new tab.
143
+ *
144
+ * @fires Navigate When the user clicks a target entity link
145
+ *
146
+ * @example
147
+ * ```html
148
+ * <bizapps-relationship-list
149
+ * [PersonID]="person.ID"
150
+ * (Navigate)="onNavigate($event)">
151
+ * </bizapps-relationship-list>
152
+ * ```
153
+ */
154
+ Navigate: EventEmitter<FormNavigationEvent>;
155
+ /**
156
+ * Controls whether add, edit, delete, and end-relationship actions are available.
157
+ * When `false`, the component renders in read-only display mode.
158
+ * Navigation links to related entities remain available regardless of this setting.
159
+ */
160
+ EditMode: boolean;
161
+ /** Emitted after any mutation (save, delete, end-relationship) so the parent can refresh derived data. */
162
+ DataChanged: EventEmitter<void>;
163
+ private _personID;
164
+ private _organizationID;
165
+ /**
166
+ * The Person record ID whose relationships should be displayed.
167
+ *
168
+ * Mutually exclusive with {@link OrganizationID}. Setting this triggers
169
+ * a data reload unless the value has not changed.
170
+ *
171
+ * @example `'A1B2C3D4-E5F6-7890-ABCD-EF1234567890'`
172
+ */
173
+ set PersonID(value: string | null);
174
+ get PersonID(): string | null;
175
+ /**
176
+ * The Organization record ID whose relationships should be displayed.
177
+ *
178
+ * Mutually exclusive with {@link PersonID}. Setting this triggers
179
+ * a data reload unless the value has not changed.
180
+ *
181
+ * @example `'B2C3D4E5-F6A7-8901-BCDE-F12345678901'`
182
+ */
183
+ set OrganizationID(value: string | null);
184
+ get OrganizationID(): string | null;
185
+ /**
186
+ * Relationships grouped by category (Employment, Personal, Business),
187
+ * each containing an array of display items. This is the primary data
188
+ * structure consumed by the template for rendering the grouped timeline.
189
+ */
190
+ GroupedRelationships: CategoryGroup[];
191
+ /**
192
+ * All active relationship types available for selection in type dropdowns.
193
+ * Loaded from `MJ.BizApps.Common: Relationship Types`, filtered to `IsActive=1`.
194
+ */
195
+ RelationshipTypes: mjBizAppsCommonRelationshipTypeEntity[];
196
+ /**
197
+ * Indicates whether the component is performing the initial data load.
198
+ * The template shows a loading spinner while this is `true`.
199
+ */
200
+ Loading: boolean;
201
+ /**
202
+ * Indicates whether a save, delete, or end-relationship operation is in progress.
203
+ * Used to disable action buttons and show spinner feedback while `true`.
204
+ */
205
+ Saving: boolean;
206
+ /**
207
+ * Controls visibility of the "Add Relationship" form panel. When `true`,
208
+ * the add form is displayed below the existing relationship groups.
209
+ */
210
+ ShowAddForm: boolean;
211
+ /**
212
+ * The ID of the relationship currently being edited inline, or `null`
213
+ * when not in edit mode.
214
+ */
215
+ EditingId: string | null;
216
+ /**
217
+ * The form model bound to the "Add Relationship" panel via two-way
218
+ * binding. Reset to defaults each time the add form is opened.
219
+ */
220
+ AddForm: AddFormData;
221
+ /**
222
+ * The form model bound to the inline edit panel via two-way binding.
223
+ * Populated from the existing relationship record when editing begins.
224
+ */
225
+ EditForm: EditFormData;
226
+ /**
227
+ * Search results from the target entity typeahead, displayed as a
228
+ * dropdown below the search input in the add form.
229
+ */
230
+ TargetSearchResults: SearchResult[];
231
+ /** Lookup map from RelationshipType ID to entity for quick access. */
232
+ private relationshipTypeMap;
233
+ /** Handle for the debounce timer used in target search. */
234
+ private searchDebounceTimer;
235
+ /** Creates a blank {@link AddFormData} with empty defaults. */
236
+ private createEmptyAddForm;
237
+ /** Creates a blank {@link EditFormData} with default status of Active. */
238
+ private createEmptyEditForm;
239
+ /**
240
+ * Loads relationships and relationship types from the server,
241
+ * then groups them by category. Resets editing state before loading.
242
+ */
243
+ private loadData;
244
+ /** Organizes relationships into category groups with display-friendly items. */
245
+ private buildGroups;
246
+ /** Constructs a display item from a relationship and its type, resolving direction. */
247
+ private buildDisplayItem;
248
+ /** Checks whether the current entity (Person or Org) is on the "From" side. */
249
+ private isCurrentEntityOnFromSide;
250
+ /** Returns the display name of the "To" side entity. */
251
+ private getToSideName;
252
+ /** Returns the display name of the "From" side entity. */
253
+ private getFromSideName;
254
+ /** Returns the display name of whichever side is NOT the current entity. */
255
+ private getOtherSideName;
256
+ /** Returns the entity name and ID for the "To" side. */
257
+ private getToSideTarget;
258
+ /** Returns the entity name and ID for the "From" side. */
259
+ private getFromSideTarget;
260
+ /** Returns the entity name and ID for whichever side is NOT the current entity. */
261
+ private getOtherSideTarget;
262
+ /**
263
+ * Emits a {@link Navigate} event to navigate to the target entity record
264
+ * of a relationship row.
265
+ *
266
+ * Supports Ctrl+Click / Cmd+Click to open in a new tab.
267
+ *
268
+ * @param item - The relationship display item whose target should be navigated to
269
+ * @param event - The mouse event, used to detect modifier keys for new-tab behavior
270
+ *
271
+ * @fires Navigate With a {@link RecordNavigationEvent} payload
272
+ */
273
+ onNavigateToTarget(item: RelationshipDisplayItem, event: MouseEvent): void;
274
+ /** Formats a date range into a compact display string. */
275
+ private formatDateRange;
276
+ /**
277
+ * Opens the "Add Relationship" form panel.
278
+ *
279
+ * Resets the add form to defaults, clears any previous search results,
280
+ * and closes any active inline edit.
281
+ */
282
+ onShowAdd(): void;
283
+ /**
284
+ * Closes the "Add Relationship" form panel without saving, and clears
285
+ * the target search results.
286
+ */
287
+ onCancelAdd(): void;
288
+ /**
289
+ * Handles a change to the relationship type in the add form.
290
+ *
291
+ * Clears the currently selected target because the category (and
292
+ * therefore the target entity type) may have changed.
293
+ */
294
+ onAddTypeChange(): void;
295
+ /**
296
+ * Returns the category key of the currently selected relationship type
297
+ * in the add form (e.g., `'PersonToOrganization'`).
298
+ *
299
+ * @returns The category string, or `'--'` if no type is selected
300
+ */
301
+ getAddCategory(): string;
302
+ /**
303
+ * Returns a user-facing label for the target entity search field based
304
+ * on the current add form's relationship category.
305
+ *
306
+ * @returns `'Organization'`, `'Person'`, or `'Target'` depending on category
307
+ */
308
+ getAddTargetLabel(): string;
309
+ /**
310
+ * Debounces the target search input and triggers a server-side search
311
+ * after a 300ms pause in typing.
312
+ *
313
+ * Called on each keystroke in the target search field.
314
+ */
315
+ onTargetSearch(): void;
316
+ /** Executes the debounced target search against Person or Organization entities. */
317
+ private performTargetSearch;
318
+ /**
319
+ * Selects a target entity from the search results dropdown, populating
320
+ * the add form's target fields and clearing the search input.
321
+ *
322
+ * @param result - The selected search result to use as the relationship target
323
+ */
324
+ onSelectTarget(result: SearchResult): void;
325
+ /**
326
+ * Clears the currently selected target entity from the add form,
327
+ * allowing the user to search for a different target.
328
+ */
329
+ onClearTarget(): void;
330
+ /**
331
+ * Persists the new relationship from the add form.
332
+ *
333
+ * Determines which From/To fields to populate based on the current
334
+ * entity type (Person or Organization) and the relationship category.
335
+ * After saving, the relationship list is reloaded.
336
+ */
337
+ onSaveAdd(): Promise<void>;
338
+ /**
339
+ * Opens the inline edit form for an existing relationship, populating
340
+ * the form fields from the current entity data.
341
+ *
342
+ * Closes the add form if it is currently open.
343
+ *
344
+ * @param rel - The relationship entity to edit
345
+ */
346
+ onEdit(rel: mjBizAppsCommonRelationshipEntity): void;
347
+ /**
348
+ * Cancels the current edit operation and returns to display mode.
349
+ */
350
+ onCancelEdit(): void;
351
+ /**
352
+ * Handles a change to the relationship type in the edit form.
353
+ *
354
+ * Triggers change detection so the category display updates.
355
+ */
356
+ onEditTypeChange(): void;
357
+ /**
358
+ * Returns the category key of the currently selected relationship type
359
+ * in the edit form (e.g., `'PersonToOrganization'`).
360
+ *
361
+ * @returns The category string, or `'--'` if no type is selected
362
+ */
363
+ getEditCategory(): string;
364
+ /**
365
+ * Persists the edited relationship from the inline edit form.
366
+ *
367
+ * Locates the relationship entity within the grouped data, applies
368
+ * the form values, saves, and reloads the list.
369
+ */
370
+ onSaveEdit(): Promise<void>;
371
+ /**
372
+ * Ends an active relationship by setting its status to `'Ended'` and
373
+ * its end date to today. After saving, the relationship list is reloaded.
374
+ *
375
+ * @param rel - The active relationship entity to end
376
+ */
377
+ onEndRelationship(rel: mjBizAppsCommonRelationshipEntity): Promise<void>;
378
+ /**
379
+ * Permanently deletes the given relationship record.
380
+ *
381
+ * After deletion, the relationship list is reloaded.
382
+ *
383
+ * @param rel - The relationship entity to delete
384
+ */
385
+ onDelete(rel: mjBizAppsCommonRelationshipEntity): Promise<void>;
386
+ /** Converts a Date to an ISO date string (`YYYY-MM-DD`) for HTML date inputs. */
387
+ private formatDateForInput;
388
+ static ɵfac: i0.ɵɵFactoryDeclaration<RelationshipListComponent, never>;
389
+ static ɵcmp: i0.ɵɵComponentDeclaration<RelationshipListComponent, "bizapps-relationship-list", never, { "EditMode": { "alias": "EditMode"; "required": false; }; "PersonID": { "alias": "PersonID"; "required": false; }; "OrganizationID": { "alias": "OrganizationID"; "required": false; }; }, { "Navigate": "Navigate"; "DataChanged": "DataChanged"; }, never, never, true, never>;
390
+ }
391
+ export {};
392
+ //# sourceMappingURL=relationship-list.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-list.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/relationship-list/relationship-list.component.ts"],"names":[],"mappings":"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"}