@mj-biz-apps/common-ng 5.60.0 → 5.61.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/dist/lib/components/contact-method-list/contact-method-list.component.d.ts +112 -8
- package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts.map +1 -1
- package/dist/lib/components/contact-method-list/contact-method-list.component.js +662 -150
- package/dist/lib/components/contact-method-list/contact-method-list.component.js.map +1 -1
- package/dist/lib/components/identity-header/person-identity.component.d.ts.map +1 -1
- package/dist/lib/components/identity-header/person-identity.component.js +3 -2
- package/dist/lib/components/identity-header/person-identity.component.js.map +1 -1
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.d.ts.map +1 -1
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.js +5 -4
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.js.map +1 -1
- package/dist/lib/components/person-job-functions/person-job-functions.component.d.ts.map +1 -1
- package/dist/lib/components/person-job-functions/person-job-functions.component.js +3 -2
- package/dist/lib/components/person-job-functions/person-job-functions.component.js.map +1 -1
- package/dist/lib/custom/panels/activity-files.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/activity-files.panel.js +5 -2
- package/dist/lib/custom/panels/activity-files.panel.js.map +1 -1
- package/dist/lib/custom/panels/activity-hierarchy.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/activity-hierarchy.panel.js +5 -2
- package/dist/lib/custom/panels/activity-hierarchy.panel.js.map +1 -1
- package/dist/lib/custom/panels/activity-links.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/activity-links.panel.js +4 -2
- package/dist/lib/custom/panels/activity-links.panel.js.map +1 -1
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.js +5 -2
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.js.map +1 -1
- package/dist/lib/custom/panels/organization-addresses.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/organization-addresses.panel.js +2 -1
- package/dist/lib/custom/panels/organization-addresses.panel.js.map +1 -1
- package/dist/lib/custom/panels/organization-contact-methods.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/organization-contact-methods.panel.js +2 -1
- package/dist/lib/custom/panels/organization-contact-methods.panel.js.map +1 -1
- package/dist/lib/custom/panels/organization-hierarchy.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/organization-hierarchy.panel.js +4 -1
- package/dist/lib/custom/panels/organization-hierarchy.panel.js.map +1 -1
- package/dist/lib/custom/panels/organization-relationships.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/organization-relationships.panel.js +2 -1
- package/dist/lib/custom/panels/organization-relationships.panel.js.map +1 -1
- package/dist/lib/custom/panels/person-addresses.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/person-addresses.panel.js +2 -1
- package/dist/lib/custom/panels/person-addresses.panel.js.map +1 -1
- package/dist/lib/custom/panels/person-contact-methods.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/person-contact-methods.panel.js +2 -1
- package/dist/lib/custom/panels/person-contact-methods.panel.js.map +1 -1
- package/dist/lib/custom/panels/person-job-functions.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/person-job-functions.panel.js +3 -1
- package/dist/lib/custom/panels/person-job-functions.panel.js.map +1 -1
- package/dist/lib/custom/panels/person-relationships.panel.d.ts.map +1 -1
- package/dist/lib/custom/panels/person-relationships.panel.js +2 -1
- package/dist/lib/custom/panels/person-relationships.panel.js.map +1 -1
- package/dist/lib/data/organization-staff.d.ts.map +1 -1
- package/dist/lib/data/organization-staff.js +2 -1
- package/dist/lib/data/organization-staff.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonConsentPurpose/mjbizappscommonconsentpurpose.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonConsentPurpose/mjbizappscommonconsentpurpose.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonConsentPurpose/mjbizappscommonconsentpurpose.form.component.js +88 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonConsentPurpose/mjbizappscommonconsentpurpose.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js +25 -6
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsent/mjbizappscommoncontactmethodconsent.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsent/mjbizappscommoncontactmethodconsent.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsent/mjbizappscommoncontactmethodconsent.form.component.js +94 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsent/mjbizappscommoncontactmethodconsent.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsentHistory/mjbizappscommoncontactmethodconsenthistory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsentHistory/mjbizappscommoncontactmethodconsenthistory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsentHistory/mjbizappscommoncontactmethodconsenthistory.form.component.js +79 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethodConsentHistory/mjbizappscommoncontactmethodconsenthistory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js +17 -15
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js +26 -8
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +38 -25
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +70 -1
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { type RelatedRecordCollection } from '@memberjunction/core';
|
|
3
|
-
import { mjBizAppsCommonContactMethodEntity, mjBizAppsCommonContactTypeEntity } from '@mj-biz-apps/common-entities';
|
|
2
|
+
import { IMetadataProvider, type RelatedRecordCollection } from '@memberjunction/core';
|
|
3
|
+
import { ContactConsentSource, ContactConsentStatus, mjBizAppsCommonConsentPurposeEntity, mjBizAppsCommonContactMethodConsentEntity, mjBizAppsCommonContactMethodEntity, mjBizAppsCommonContactTypeEntity } from '@mj-biz-apps/common-entities';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* Form model for both adding and editing a contact method.
|
|
@@ -20,10 +20,30 @@ interface ContactFormData {
|
|
|
20
20
|
Label: string;
|
|
21
21
|
/** Whether this contact method should be flagged as the primary for its type. */
|
|
22
22
|
IsPrimary: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The installation-wide consents to record, keyed by Consent Purpose ID, plus the general
|
|
25
|
+
* (any purpose) answer under {@link GENERAL_CONSENT_KEY}. Only shown for types that map to a
|
|
26
|
+
* channel (email, phone); a change on save writes a `ContactMethodConsentHistory` row with the
|
|
27
|
+
* default source, Staff. Consents asked by a specific organization are managed on the Contact
|
|
28
|
+
* Method Consents records themselves.
|
|
29
|
+
*/
|
|
30
|
+
Consents: Record<string, ContactConsentStatus>;
|
|
31
|
+
}
|
|
32
|
+
/** One line of the consent history panel: a change on one of the method's consents. */
|
|
33
|
+
interface ConsentHistoryLine {
|
|
34
|
+
ID: string;
|
|
35
|
+
Purpose: string;
|
|
36
|
+
RequestingOrganization: string | null;
|
|
37
|
+
ConsentStatusAt: Date;
|
|
38
|
+
NewConsentStatus: ContactConsentStatus;
|
|
39
|
+
ConsentSource: ContactConsentSource;
|
|
40
|
+
ConsentDetails: string | null;
|
|
23
41
|
}
|
|
42
|
+
/** The form key for a method's general consent: the row with no purpose, which answers for anything. */
|
|
43
|
+
export declare const GENERAL_CONSENT_KEY = "general";
|
|
24
44
|
/**
|
|
25
45
|
* Displays and manages contact methods (email, phone, social, etc.) for a
|
|
26
|
-
* Person or Organization record.
|
|
46
|
+
* Person or Organization record, with each method's consents.
|
|
27
47
|
*
|
|
28
48
|
* Contact methods are loaded from the `MJ_BizApps_Common: Contact Methods`
|
|
29
49
|
* entity, filtered by either {@link PersonID}, {@link OrganizationID}, or
|
|
@@ -31,6 +51,10 @@ interface ContactFormData {
|
|
|
31
51
|
* The component provides inline add, edit, delete, set-primary, copy-to-clipboard,
|
|
32
52
|
* and open-link functionality.
|
|
33
53
|
*
|
|
54
|
+
* Consent hangs off each method as `MJ_BizApps_Common: Contact Consents` rows, one per purpose
|
|
55
|
+
* and optional organization. Every channel type (email, phone) shows a badge per consent, with
|
|
56
|
+
* the method's consent history on hover, and the edit row offers a dropdown per active purpose.
|
|
57
|
+
*
|
|
34
58
|
* Primary management is scoped per contact type -- setting a contact as primary
|
|
35
59
|
* only demotes other primaries of the **same** type.
|
|
36
60
|
*
|
|
@@ -51,6 +75,15 @@ export declare class ContactMethodListComponent {
|
|
|
51
75
|
* Copy and open-link actions remain available regardless of this setting.
|
|
52
76
|
*/
|
|
53
77
|
EditMode: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* The metadata provider to read and write through. Defaults to the global provider, which is
|
|
80
|
+
* right for a single-server Explorer; a host on several providers passes its own.
|
|
81
|
+
*/
|
|
82
|
+
Provider?: IMetadataProvider;
|
|
83
|
+
/** The provider this component reads and writes with. */
|
|
84
|
+
get ProviderToUse(): IMetadataProvider;
|
|
85
|
+
/** The same provider for RunView, when it serves views; otherwise RunView's own default. */
|
|
86
|
+
private get runViewToUse();
|
|
54
87
|
/** Emitted after any mutation (save, delete, set-primary) so the parent can refresh derived data. */
|
|
55
88
|
DataChanged: EventEmitter<void>;
|
|
56
89
|
private _collection?;
|
|
@@ -93,6 +126,14 @@ export declare class ContactMethodListComponent {
|
|
|
93
126
|
* Loaded from `MJ_BizApps_Common: Contact Types`, sorted by `DisplayRank ASC`.
|
|
94
127
|
*/
|
|
95
128
|
ContactTypes: mjBizAppsCommonContactTypeEntity[];
|
|
129
|
+
/** The active consent purposes, by display rank: one dropdown each on the add and edit rows. */
|
|
130
|
+
ConsentPurposes: mjBizAppsCommonConsentPurposeEntity[];
|
|
131
|
+
/** The consent choices offered per purpose, in the order the CHECK constraint lists them. */
|
|
132
|
+
ConsentStatuses: readonly ["Not Specified", "Opted In", "Opted Out"];
|
|
133
|
+
/** The form key of the general (any purpose) consent, for the template. */
|
|
134
|
+
GeneralKey: string;
|
|
135
|
+
/** Each loaded method's consent rows (every purpose and organization), keyed by contact method ID. */
|
|
136
|
+
private consentsByMethod;
|
|
96
137
|
/**
|
|
97
138
|
* The ID of the contact method currently being edited, or `null` when
|
|
98
139
|
* not in edit mode.
|
|
@@ -123,6 +164,14 @@ export declare class ContactMethodListComponent {
|
|
|
123
164
|
* Reset to defaults each time the add form is opened.
|
|
124
165
|
*/
|
|
125
166
|
AddForm: ContactFormData;
|
|
167
|
+
/** The contact method whose consent history is open under its badges, or `null`. */
|
|
168
|
+
ConsentHistoryFor: string | null;
|
|
169
|
+
/** The history lines shown for {@link ConsentHistoryFor}, newest first, across the method's consents. */
|
|
170
|
+
ConsentHistory: ConsentHistoryLine[];
|
|
171
|
+
/** True while the history for {@link ConsentHistoryFor} is being read. */
|
|
172
|
+
ConsentHistoryLoading: boolean;
|
|
173
|
+
/** History already read this session, by contact method ID; dropped for a row when it is saved. */
|
|
174
|
+
private consentHistoryCache;
|
|
126
175
|
/** Maps lowercase contact type names to CSS icon-color classes. */
|
|
127
176
|
private iconColorMap;
|
|
128
177
|
/** Contact type names (lowercase) that represent clickable URLs rather than copyable values. */
|
|
@@ -130,10 +179,16 @@ export declare class ContactMethodListComponent {
|
|
|
130
179
|
/** Creates a blank {@link ContactFormData} with empty defaults. */
|
|
131
180
|
private createEmptyForm;
|
|
132
181
|
/**
|
|
133
|
-
* Loads contact methods
|
|
182
|
+
* Loads contact methods, contact types, consent purposes and the methods' consents.
|
|
134
183
|
* Resets editing state before loading.
|
|
135
184
|
*/
|
|
136
185
|
private loadData;
|
|
186
|
+
/** Reads contact types and consent purposes once, in one round trip. */
|
|
187
|
+
private loadLookups;
|
|
188
|
+
/** Reads the person's or organization's contact methods when no collection was bound. */
|
|
189
|
+
private loadStandaloneMethods;
|
|
190
|
+
/** Reads every consent row of the loaded (saved) methods in one query and groups them by method. */
|
|
191
|
+
private loadConsents;
|
|
137
192
|
private sortContactMethods;
|
|
138
193
|
/** Returns the DisplayRank for a contact type, defaulting to 999 if not found. */
|
|
139
194
|
private getTypeRank;
|
|
@@ -181,6 +236,46 @@ export declare class ContactMethodListComponent {
|
|
|
181
236
|
* @returns `true` for LinkedIn, Twitter/X, and Website types; `false` otherwise
|
|
182
237
|
*/
|
|
183
238
|
isLinkType(typeID: string): boolean;
|
|
239
|
+
/**
|
|
240
|
+
* Whether a contact type carries consent: it maps to one of MJ's communication channels
|
|
241
|
+
* (Email, Phone, SMS). LinkedIn, Website and the like do not, so they show no badges.
|
|
242
|
+
*
|
|
243
|
+
* @param typeID - The ContactType record ID to check
|
|
244
|
+
*/
|
|
245
|
+
isConsentType(typeID: string): boolean;
|
|
246
|
+
/** The consent rows a method has, in purpose order, general and installation-wide rows first. */
|
|
247
|
+
getConsents(cm: mjBizAppsCommonContactMethodEntity): mjBizAppsCommonContactMethodConsentEntity[];
|
|
248
|
+
/**
|
|
249
|
+
* Where a method's consents are read from. Once the method's own `Consents` collection holds
|
|
250
|
+
* rows, it is the source: inside a Person form an edit stays there, unsaved, until the form is
|
|
251
|
+
* saved, and the badges must show it rather than what was loaded when the list opened.
|
|
252
|
+
* Otherwise, the rows loaded with the list.
|
|
253
|
+
*/
|
|
254
|
+
private consentRowsFor;
|
|
255
|
+
/** Returns the Sequence for a consent purpose; the general row (no purpose) sorts first. */
|
|
256
|
+
private getPurposeRank;
|
|
257
|
+
/**
|
|
258
|
+
* A purpose's name, or General for the row with no purpose. Read from the purpose lookup, not
|
|
259
|
+
* the consent's own denormalized name, which an unsaved row does not have yet.
|
|
260
|
+
*/
|
|
261
|
+
private purposeName;
|
|
262
|
+
/** The badge text for a consent row: its purpose (or General), and the requesting organization when there is one. */
|
|
263
|
+
getConsentBadgeText(consent: mjBizAppsCommonContactMethodConsentEntity): string;
|
|
264
|
+
/** The badge colour class for a consent status. */
|
|
265
|
+
getConsentBadgeClass(status: ContactConsentStatus): string;
|
|
266
|
+
/** The Font Awesome icon for a consent status. */
|
|
267
|
+
getConsentIcon(status: ContactConsentStatus): string;
|
|
268
|
+
/**
|
|
269
|
+
* Opens the consent history under a row's badges, reading it on first hover and reusing it
|
|
270
|
+
* afterwards until that row is saved again.
|
|
271
|
+
*
|
|
272
|
+
* @param cm - The contact method whose badges are being hovered
|
|
273
|
+
*/
|
|
274
|
+
onShowConsentHistory(cm: mjBizAppsCommonContactMethodEntity): Promise<void>;
|
|
275
|
+
/** Closes the consent history. */
|
|
276
|
+
onHideConsentHistory(): void;
|
|
277
|
+
/** Reads the history of every saved consent a method has, newest change first, labelled with its purpose. */
|
|
278
|
+
private loadConsentHistory;
|
|
184
279
|
/**
|
|
185
280
|
* Copies the given string value to the system clipboard.
|
|
186
281
|
*
|
|
@@ -216,7 +311,7 @@ export declare class ContactMethodListComponent {
|
|
|
216
311
|
*/
|
|
217
312
|
onCancelAdd(): void;
|
|
218
313
|
/**
|
|
219
|
-
* Persists the new contact method from the add form.
|
|
314
|
+
* Persists the new contact method from the add form, with any consents chosen for it.
|
|
220
315
|
*
|
|
221
316
|
* When the "Primary" flag is set, other primaries of the same contact
|
|
222
317
|
* type are demoted first. The contact list is reloaded after saving.
|
|
@@ -224,7 +319,7 @@ export declare class ContactMethodListComponent {
|
|
|
224
319
|
onSaveAdd(): Promise<void>;
|
|
225
320
|
/**
|
|
226
321
|
* Opens the inline edit form for an existing contact method, populating
|
|
227
|
-
* the form fields from the current entity data.
|
|
322
|
+
* the form fields from the current entity data and its installation-wide consents.
|
|
228
323
|
*
|
|
229
324
|
* Closes the add form if it is currently open.
|
|
230
325
|
*
|
|
@@ -236,12 +331,21 @@ export declare class ContactMethodListComponent {
|
|
|
236
331
|
*/
|
|
237
332
|
onCancelEdit(): void;
|
|
238
333
|
/**
|
|
239
|
-
* Persists the edited contact method from the edit form.
|
|
334
|
+
* Persists the edited contact method from the edit form, with its consents.
|
|
240
335
|
*
|
|
241
336
|
* When the "Primary" flag is newly set, other primaries of the same
|
|
242
337
|
* contact type are demoted first. The contact list is reloaded after saving.
|
|
243
338
|
*/
|
|
244
339
|
onSaveEdit(): Promise<void>;
|
|
340
|
+
/** The method's installation-wide consent row for a purpose (null = the general row), including an unsaved edit, or null. */
|
|
341
|
+
private findUnscopedConsent;
|
|
342
|
+
/**
|
|
343
|
+
* Writes the form's per-purpose choices onto the method's `Consents` collection, so they save
|
|
344
|
+
* with the method: an existing installation-wide row is updated when its status changed, and
|
|
345
|
+
* a new row is created when a purpose was given a status for the first time. The consent
|
|
346
|
+
* entity's own Save adds the history row for each change.
|
|
347
|
+
*/
|
|
348
|
+
private applyConsentsFromForm;
|
|
245
349
|
/**
|
|
246
350
|
* Promotes the given contact method to primary for its contact type,
|
|
247
351
|
* demoting all other primaries of the same type.
|
|
@@ -262,7 +366,7 @@ export declare class ContactMethodListComponent {
|
|
|
262
366
|
/** Removes the primary flag from all contact methods of the given type. */
|
|
263
367
|
private clearPrimariesForType;
|
|
264
368
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContactMethodListComponent, never>;
|
|
265
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ContactMethodListComponent, "bizapps-contact-method-list", never, { "EditMode": { "alias": "EditMode"; "required": false; }; "Collection": { "alias": "Collection"; "required": false; }; "PersonID": { "alias": "PersonID"; "required": false; }; "OrganizationID": { "alias": "OrganizationID"; "required": false; }; }, { "DataChanged": "DataChanged"; }, never, never, true, never>;
|
|
369
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ContactMethodListComponent, "bizapps-contact-method-list", never, { "EditMode": { "alias": "EditMode"; "required": false; }; "Provider": { "alias": "Provider"; "required": false; }; "Collection": { "alias": "Collection"; "required": false; }; "PersonID": { "alias": "PersonID"; "required": false; }; "OrganizationID": { "alias": "OrganizationID"; "required": false; }; }, { "DataChanged": "DataChanged"; }, never, never, true, never>;
|
|
266
370
|
}
|
|
267
371
|
export {};
|
|
268
372
|
//# sourceMappingURL=contact-method-list.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-method-list.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/contact-method-list/contact-method-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAA6B,MAAM,eAAe,CAAC;AAGlG,OAAO,
|
|
1
|
+
{"version":3,"file":"contact-method-list.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/contact-method-list/contact-method-list.component.ts"],"names":[],"mappings":"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"}
|