@mj-biz-apps/common-ng 5.46.1 → 5.46.3
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/address-editor/__tests__/address-format.test.d.ts +2 -0
- package/dist/lib/components/address-editor/__tests__/address-format.test.d.ts.map +1 -0
- package/dist/lib/components/address-editor/__tests__/address-format.test.js +34 -0
- package/dist/lib/components/address-editor/__tests__/address-format.test.js.map +1 -0
- package/dist/lib/components/address-editor/__tests__/address-references.test.d.ts +2 -0
- package/dist/lib/components/address-editor/__tests__/address-references.test.d.ts.map +1 -0
- package/dist/lib/components/address-editor/__tests__/address-references.test.js +41 -0
- package/dist/lib/components/address-editor/__tests__/address-references.test.js.map +1 -0
- package/dist/lib/components/address-editor/address-editor.component.d.ts +30 -5
- package/dist/lib/components/address-editor/address-editor.component.d.ts.map +1 -1
- package/dist/lib/components/address-editor/address-editor.component.js +263 -180
- package/dist/lib/components/address-editor/address-editor.component.js.map +1 -1
- package/dist/lib/components/address-editor/address-references.d.ts +29 -0
- package/dist/lib/components/address-editor/address-references.d.ts.map +1 -0
- package/dist/lib/components/address-editor/address-references.js +27 -0
- package/dist/lib/components/address-editor/address-references.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-format.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/address-editor/__tests__/address-format.test.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import '@angular/compiler';
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { AddressEditorComponent } from '../address-editor.component';
|
|
4
|
+
const format1 = (a) => AddressEditorComponent.prototype.formatAddressLine1.call(null, a);
|
|
5
|
+
const format2 = (a) => AddressEditorComponent.prototype.formatAddressLine2.call(null, a);
|
|
6
|
+
describe('AddressEditorComponent.formatAddressLine1', () => {
|
|
7
|
+
it('joins Line1 and Line2', () => {
|
|
8
|
+
expect(format1({ Line1: '123 Main St', Line2: 'Suite 200' })).toBe('123 Main St, Suite 200');
|
|
9
|
+
});
|
|
10
|
+
it('returns Line1 alone when Line2 is empty', () => {
|
|
11
|
+
expect(format1({ Line1: '123 Main St', Line2: null })).toBe('123 Main St');
|
|
12
|
+
});
|
|
13
|
+
it('returns Line2 without a leading separator when Line1 is empty', () => {
|
|
14
|
+
expect(format1({ Line2: 'Suite 200' })).toBe('Suite 200');
|
|
15
|
+
});
|
|
16
|
+
it('returns an empty string for a location-only address', () => {
|
|
17
|
+
expect(format1({ Line1: '', Line2: null })).toBe('');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('AddressEditorComponent.formatAddressLine2', () => {
|
|
21
|
+
it('joins city, region, postal code and country', () => {
|
|
22
|
+
expect(format2({ City: 'Austin', StateProvince: 'TX', PostalCode: '78701', Country: 'US' })).toBe('Austin, TX, 78701, US');
|
|
23
|
+
});
|
|
24
|
+
it('returns country without a leading separator when it is the only part', () => {
|
|
25
|
+
expect(format2({ Country: 'US' })).toBe('US');
|
|
26
|
+
});
|
|
27
|
+
it('skips missing parts', () => {
|
|
28
|
+
expect(format2({ PostalCode: '78701', Country: 'US' })).toBe('78701, US');
|
|
29
|
+
});
|
|
30
|
+
it('returns an empty string when no location parts are set', () => {
|
|
31
|
+
expect(format2({})).toBe('');
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=address-format.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-format.test.js","sourceRoot":"","sources":["../../../../../src/lib/components/address-editor/__tests__/address-format.test.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,OAAO,GAAG,CAAC,CAAwC,EAAE,EAAE,CACzD,sBAAsB,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAiC,CAAC,CAAC;AACtG,MAAM,OAAO,GAAG,CAAC,CAAwC,EAAE,EAAE,CACzD,sBAAsB,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAiC,CAAC,CAAC;AAEtG,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-references.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/address-editor/__tests__/address-references.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { CompositeKey } from '@memberjunction/core';
|
|
3
|
+
import { otherAddressReferences } from '../address-references';
|
|
4
|
+
const LINK_ID = '7F3A2C1E-0000-4000-8000-000000000001';
|
|
5
|
+
const OTHER_LINK_ID = '7F3A2C1E-0000-4000-8000-000000000002';
|
|
6
|
+
/** Server-provider shape: the dependent record's key is a CompositeKey in `PrimaryKey`. */
|
|
7
|
+
const serverRef = (entity, field, id) => ({
|
|
8
|
+
RelatedEntityName: entity,
|
|
9
|
+
FieldName: field,
|
|
10
|
+
PrimaryKey: new CompositeKey([{ FieldName: 'ID', Value: id }]),
|
|
11
|
+
});
|
|
12
|
+
/** GraphQL-client shape: the same key arrives as a plain object under `CompositeKey`. */
|
|
13
|
+
const clientRef = (entity, field, id) => ({
|
|
14
|
+
RelatedEntityName: entity,
|
|
15
|
+
FieldName: field,
|
|
16
|
+
CompositeKey: { KeyValuePairs: [{ FieldName: 'ID', Value: id }] },
|
|
17
|
+
});
|
|
18
|
+
describe('otherAddressReferences', () => {
|
|
19
|
+
it('is empty when the only reference is the link being removed', () => {
|
|
20
|
+
expect(otherAddressReferences([serverRef('MJ_BizApps_Common: Address Links', 'AddressID', LINK_ID)], LINK_ID)).toEqual([]);
|
|
21
|
+
});
|
|
22
|
+
it('recognises the removed link in the GraphQL client shape', () => {
|
|
23
|
+
expect(otherAddressReferences([clientRef('MJ_BizApps_Common: Address Links', 'AddressID', LINK_ID)], LINK_ID)).toEqual([]);
|
|
24
|
+
});
|
|
25
|
+
it('matches the link ID regardless of GUID casing', () => {
|
|
26
|
+
expect(otherAddressReferences([clientRef('MJ_BizApps_Common: Address Links', 'AddressID', LINK_ID.toLowerCase())], LINK_ID)).toEqual([]);
|
|
27
|
+
});
|
|
28
|
+
it('keeps another party\'s link to the same address', () => {
|
|
29
|
+
const other = clientRef('MJ_BizApps_Common: Address Links', 'AddressID', OTHER_LINK_ID);
|
|
30
|
+
const refs = [clientRef('MJ_BizApps_Common: Address Links', 'AddressID', LINK_ID), other];
|
|
31
|
+
expect(otherAddressReferences(refs, LINK_ID)).toEqual([other]);
|
|
32
|
+
});
|
|
33
|
+
it('keeps a direct reference from another entity, even when its ID equals the link ID', () => {
|
|
34
|
+
const order = clientRef('MJ_BizApps_Orders: Order Headers', 'ShipToAddressID', LINK_ID);
|
|
35
|
+
expect(otherAddressReferences([order], LINK_ID)).toEqual([order]);
|
|
36
|
+
});
|
|
37
|
+
it('is empty when there are no references', () => {
|
|
38
|
+
expect(otherAddressReferences([], LINK_ID)).toEqual([]);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=address-references.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-references.test.js","sourceRoot":"","sources":["../../../../../src/lib/components/address-editor/__tests__/address-references.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,6 +142,11 @@ export declare class AddressEditorComponent {
|
|
|
142
142
|
* so a misconfiguration surfaces as a visible message instead of a failed INSERT.
|
|
143
143
|
*/
|
|
144
144
|
LoadError: string | null;
|
|
145
|
+
/**
|
|
146
|
+
* Set when a delete is refused or fails. Rendered above the list, which stays visible,
|
|
147
|
+
* and cleared by the next delete attempt.
|
|
148
|
+
*/
|
|
149
|
+
ActionError: string | null;
|
|
145
150
|
/** Cached action ID for the Postal Code Lookup action. */
|
|
146
151
|
private postalCodeLookupActionID;
|
|
147
152
|
/** Whether a postal code lookup is currently in progress. */
|
|
@@ -198,10 +203,11 @@ export declare class AddressEditorComponent {
|
|
|
198
203
|
/**
|
|
199
204
|
* Formats the first line of an address display string.
|
|
200
205
|
*
|
|
201
|
-
* Combines Line1 and Line2
|
|
206
|
+
* Combines whichever of Line1 and Line2 are present with a comma separator.
|
|
202
207
|
*
|
|
203
208
|
* @param address - The Address entity to format
|
|
204
|
-
* @returns A formatted string such as `'123 Main St, Suite 200'`
|
|
209
|
+
* @returns A formatted string such as `'123 Main St, Suite 200'`, or `''` for a
|
|
210
|
+
* location-only address with no street lines
|
|
205
211
|
*/
|
|
206
212
|
formatAddressLine1(address: mjBizAppsCommonAddressEntity): string;
|
|
207
213
|
/**
|
|
@@ -257,14 +263,33 @@ export declare class AddressEditorComponent {
|
|
|
257
263
|
*/
|
|
258
264
|
onSetPrimary(index: number): Promise<void>;
|
|
259
265
|
/**
|
|
260
|
-
*
|
|
261
|
-
* and the orphaned Address record.
|
|
266
|
+
* Removes the address at the given index from this record.
|
|
262
267
|
*
|
|
263
|
-
*
|
|
268
|
+
* The AddressLink is always deleted. The Address row is deleted with it only when
|
|
269
|
+
* nothing else references it — another party's link, or a direct reference from
|
|
270
|
+
* another entity — and then both deletes run in one transaction so neither is left
|
|
271
|
+
* behind alone. If the references cannot be checked, only the link is deleted.
|
|
272
|
+
* A refused or failed delete is shown in {@link ActionError}.
|
|
264
273
|
*
|
|
265
274
|
* @param index - The zero-based index of the address item in {@link AddressItems}
|
|
266
275
|
*/
|
|
267
276
|
onDelete(index: number): Promise<void>;
|
|
277
|
+
/**
|
|
278
|
+
* Deletes the link, and the Address too when nothing else references it.
|
|
279
|
+
* @returns `null` on success, otherwise the reason the delete was refused
|
|
280
|
+
*/
|
|
281
|
+
private deleteItem;
|
|
282
|
+
/**
|
|
283
|
+
* Whether nothing but this item's link references its Address.
|
|
284
|
+
*
|
|
285
|
+
* Returns `false` when the check itself fails, so the caller keeps the Address row: an
|
|
286
|
+
* unused row left behind is harmless, a deleted row something still points at is not.
|
|
287
|
+
* The check fails on any host without a read-only database connection, because MJ's
|
|
288
|
+
* GetRecordDependencies resolver uses only that connection.
|
|
289
|
+
*/
|
|
290
|
+
private isAddressUnreferenced;
|
|
291
|
+
/** Builds the user-facing reason for a refused delete from the entity's latest result. */
|
|
292
|
+
private deleteFailure;
|
|
268
293
|
static ɵfac: i0.ɵɵFactoryDeclaration<AddressEditorComponent, never>;
|
|
269
294
|
static ɵcmp: i0.ɵɵComponentDeclaration<AddressEditorComponent, "bizapps-address-editor", never, { "EditMode": { "alias": "EditMode"; "required": false; }; "EntityName": { "alias": "EntityName"; "required": false; }; "RecordID": { "alias": "RecordID"; "required": false; }; }, { "DataChanged": "DataChanged"; }, never, never, true, never>;
|
|
270
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-editor.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/address-editor/address-editor.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAA6B,MAAM,eAAe,CAAC;AAMlG,OAAO,EACH,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EACnC,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"address-editor.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/address-editor/address-editor.component.ts"],"names":[],"mappings":"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"}
|