@memberjunction/ng-shared 2.121.0 → 2.122.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/base-dashboard.d.ts +65 -0
- package/dist/lib/base-dashboard.d.ts.map +1 -0
- package/dist/lib/base-dashboard.js +74 -0
- package/dist/lib/base-dashboard.js.map +1 -0
- package/dist/lib/base-resource-component.d.ts +3 -1
- package/dist/lib/base-resource-component.d.ts.map +1 -1
- package/dist/lib/base-resource-component.js +7 -1
- package/dist/lib/base-resource-component.js.map +1 -1
- package/dist/lib/navigation.interfaces.d.ts +28 -0
- package/dist/lib/navigation.interfaces.d.ts.map +1 -0
- package/dist/lib/navigation.interfaces.js +2 -0
- package/dist/lib/navigation.interfaces.js.map +1 -0
- package/dist/lib/navigation.service.d.ts +115 -0
- package/dist/lib/navigation.service.d.ts.map +1 -0
- package/dist/lib/navigation.service.js +518 -0
- package/dist/lib/navigation.service.js.map +1 -0
- package/dist/lib/shared.service.d.ts +17 -4
- package/dist/lib/shared.service.d.ts.map +1 -1
- package/dist/lib/shared.service.js +31 -7
- package/dist/lib/shared.service.js.map +1 -1
- package/dist/lib/title.service.d.ts +64 -0
- package/dist/lib/title.service.d.ts.map +1 -0
- package/dist/lib/title.service.js +114 -0
- package/dist/lib/title.service.js.map +1 -0
- package/dist/public-api.d.ts +6 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +7 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +7 -6
|
@@ -5,24 +5,25 @@ import { MJEventType, MJGlobal, ConvertMarkdownStringToHtmlList, InvokeManualRes
|
|
|
5
5
|
import { Subject, BehaviorSubject, firstValueFrom } from 'rxjs';
|
|
6
6
|
import { first, tap } from 'rxjs/operators';
|
|
7
7
|
import { MJNotificationService } from '@memberjunction/ng-notifications';
|
|
8
|
+
import { NavigationService } from './navigation.service';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@progress/kendo-angular-notification";
|
|
10
11
|
import * as i2 from "@memberjunction/ng-notifications";
|
|
11
|
-
import * as i3 from "@angular/router";
|
|
12
12
|
export class SharedService {
|
|
13
13
|
notificationService;
|
|
14
14
|
mjNotificationsService;
|
|
15
|
-
|
|
15
|
+
injector;
|
|
16
16
|
static _instance;
|
|
17
17
|
static _loaded = false;
|
|
18
18
|
static _resourceTypes = [];
|
|
19
19
|
static isLoading$ = new BehaviorSubject(false);
|
|
20
20
|
tabChange = new Subject();
|
|
21
21
|
tabChange$ = this.tabChange.asObservable();
|
|
22
|
-
|
|
22
|
+
_navigationService = null;
|
|
23
|
+
constructor(notificationService, mjNotificationsService, injector) {
|
|
23
24
|
this.notificationService = notificationService;
|
|
24
25
|
this.mjNotificationsService = mjNotificationsService;
|
|
25
|
-
this.
|
|
26
|
+
this.injector = injector;
|
|
26
27
|
if (SharedService._instance) {
|
|
27
28
|
// return existing instance which will short circuit the creation of a new instance
|
|
28
29
|
return SharedService._instance;
|
|
@@ -44,6 +45,22 @@ export class SharedService {
|
|
|
44
45
|
static get Instance() {
|
|
45
46
|
return SharedService._instance;
|
|
46
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Get the NavigationService singleton instance
|
|
50
|
+
* Lazy-loaded to avoid circular dependency issues
|
|
51
|
+
*/
|
|
52
|
+
get navigationService() {
|
|
53
|
+
if (!this._navigationService) {
|
|
54
|
+
this._navigationService = this.injector.get(NavigationService);
|
|
55
|
+
}
|
|
56
|
+
return this._navigationService;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get the neutral color used for system-wide resources
|
|
60
|
+
*/
|
|
61
|
+
get ExplorerAppColor() {
|
|
62
|
+
return this.navigationService.ExplorerAppColor;
|
|
63
|
+
}
|
|
47
64
|
/**
|
|
48
65
|
* Returns the current session ID, which is automatically created when the service is instantiated.
|
|
49
66
|
*/
|
|
@@ -234,15 +251,22 @@ export class SharedService {
|
|
|
234
251
|
else
|
|
235
252
|
return null;
|
|
236
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Opens an entity record in a new or existing tab
|
|
256
|
+
* Uses the modern NavigationService for tab-based navigation
|
|
257
|
+
*/
|
|
237
258
|
OpenEntityRecord(entityName, recordPkey) {
|
|
238
259
|
try {
|
|
239
|
-
|
|
260
|
+
console.log('SharedService.OpenEntityRecord called:', entityName, recordPkey.ToURLSegment());
|
|
261
|
+
// Use NavigationService to open in new tab-based UX
|
|
262
|
+
this.navigationService.OpenEntityRecord(entityName, recordPkey);
|
|
240
263
|
}
|
|
241
264
|
catch (e) {
|
|
265
|
+
console.error('Error in OpenEntityRecord:', e);
|
|
242
266
|
LogError(e);
|
|
243
267
|
}
|
|
244
268
|
}
|
|
245
|
-
static ɵfac = function SharedService_Factory(t) { return new (t || SharedService)(i0.ɵɵinject(i1.NotificationService), i0.ɵɵinject(i2.MJNotificationService), i0.ɵɵinject(
|
|
269
|
+
static ɵfac = function SharedService_Factory(t) { return new (t || SharedService)(i0.ɵɵinject(i1.NotificationService), i0.ɵɵinject(i2.MJNotificationService), i0.ɵɵinject(i0.Injector)); };
|
|
246
270
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SharedService, factory: SharedService.ɵfac, providedIn: 'root' });
|
|
247
271
|
}
|
|
248
272
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SharedService, [{
|
|
@@ -250,7 +274,7 @@ export class SharedService {
|
|
|
250
274
|
args: [{
|
|
251
275
|
providedIn: 'root'
|
|
252
276
|
}]
|
|
253
|
-
}], () => [{ type: i1.NotificationService }, { type: i2.MJNotificationService }, { type:
|
|
277
|
+
}], () => [{ type: i1.NotificationService }, { type: i2.MJNotificationService }, { type: i0.Injector }], null); })();
|
|
254
278
|
export const HtmlListType = {
|
|
255
279
|
Unordered: 'Unordered',
|
|
256
280
|
Ordered: 'Ordered',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.service.js","sourceRoot":"","sources":["../../src/lib/shared.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,
|
|
1
|
+
{"version":3,"file":"shared.service.js","sourceRoot":"","sources":["../../src/lib/shared.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAY,MAAM,eAAe,CAAC;AACjE,OAAO,EAAgB,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAA8D,MAAM,+BAA+B,CAAC;AACrI,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEpH,OAAO,EAAE,OAAO,EAAc,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;;;;AAKzD,MAAM,OAAO,aAAa;IAUd;IACA;IACA;IAXF,MAAM,CAAC,SAAS,CAAgB;IAChC,MAAM,CAAC,OAAO,GAAY,KAAK,CAAC;IAChC,MAAM,CAAC,cAAc,GAAyB,EAAE,CAAC;IACjD,MAAM,CAAC,UAAU,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;IACxD,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;IAClC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACnC,kBAAkB,GAA6B,IAAI,CAAC;IAE5D,YACU,mBAAwC,EACxC,sBAA6C,EAC7C,QAAkB;QAFlB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,2BAAsB,GAAtB,sBAAsB,CAAuB;QAC7C,aAAQ,GAAR,QAAQ,CAAU;QAE1B,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,mFAAmF;YACnF,OAAO,aAAa,CAAC,SAAS,CAAC;QACjC,CAAC;QACD,sFAAsF;QACtF,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QAE/B,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACjE,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpB,KAAK,WAAW,CAAC,QAAQ;oBACvB,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAG,CAAC;wBACrC,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAC5C,MAAM,EAAE,GAAG,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,wDAAwD;wBAC/G,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC9B,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,KAAK,QAAQ;QACxB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,IAAY,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAA6B,QAAQ,CAAC,QAAS,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,cAAc,CAAC;IACtC,CAAC;IACD,IAAW,gBAAgB;QACzB,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAE,CAAC;IACjG,CAAC;IACD,IAAW,kBAAkB;QAC3B,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAE,CAAC;IAC9F,CAAC;IACD,IAAW,qBAAqB;QAC9B,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAE,CAAC;IACjG,CAAC;IACD,IAAW,kBAAkB;QAC3B,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAE,CAAC;IAC9F,CAAC;IACD,IAAW,yBAAyB;QAClC,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAE,CAAC;IACrG,CAAC;IACD,IAAW,gBAAgB;QACzB,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAE,CAAC;IAC5F,CAAC;IACM,gBAAgB,CAAC,EAAU;QAChC,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IACM,kBAAkB,CAAC,IAAY;QACpC,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,eAAwB,KAAK;QAC3D,IAAI,YAAY,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAC/C,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAC9B,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,2EAA2E;YAC3E,4DAA4D;YAC5D,IAAI,YAAY,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC;YAExC,iBAAiB;YACjB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,0CAA0C;YAC1C,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,iBAAiB;QACpC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAE1B,MAAM,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,iCAAiC;QACnF,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC;QAEtE,MAAM,aAAa,CAAC,wBAAwB,EAAE,CAAC;IACjD,CAAC;IAED,iBAAiB,CAAC,GAAmB,EAAE,KAAU,EAAE,YAAoB,CAAC,EAAE,gBAAwB,KAAK;QACrG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YACvC,OAAO,KAAK,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,SAAS,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;gBACtD,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC;;gBAEtD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,+BAA+B,CAAC,QAAsB,EAAE,IAAY;QACzE,OAAO,+BAA+B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAGM,kBAAkB,CAAC,QAAgB,EAAE;QAC1C,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,iBAAiB;QACtB,MAAM,EAAE,GAA6C,QAAQ,CAAC,QAAQ,CAAC;QACvE,OAAO,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAChC,CAAC;IAEO,iBAAiB,GAAkB,kBAAkB,CAAC;IAC9D,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,gBAAgB,CAAC,KAAoB;QAC9C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,KAAK,iBAAiB;QACjC,OAAO,qBAAqB,CAAC,iBAAiB,CAAC;IACjD,CAAC;IACD;;OAEG;IACI,MAAM,KAAK,uBAAuB;QACvC,OAAO,qBAAqB,CAAC,uBAAuB,CAAC;IACvD,CAAC;IACD;;OAEG;IACI,MAAM,KAAK,2BAA2B;QAC3C,OAAO,qBAAqB,CAAC,2BAA2B,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,MAAkB,EAAE,KAAiB;QAC9D,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACnE,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;YAC1C,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;gBACpB,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAGD;;;;;;;;;OASG;IACI,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,OAAe,EAAE,cAA6B,EAAE,gBAA+B,EAAE,qBAAiC,EAAE,gBAA0B,IAAI;QAC/L,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAChJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,wBAAwB;QAC1C,qBAAqB,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,wBAAwB,CAAC,OAAe,EAAE,QAA2D,SAAS,EAAE,SAAkB;QACvI,OAAO,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACzF,CAAC;IAIO,gBAAgB,GAAG;QACzB,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;QAC5C,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAClD,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1C,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE;QACjD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;KAExC,CAAA;IACD;;;;OAIG;IACI,iCAAiC,CAAC,gBAAwB;QAC/D,MAAM,IAAI,GAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvH,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,YAAY,CAAC;;YAEzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,iCAAiC,CAAC,oBAA4B;QACnE,MAAM,IAAI,GAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,oBAAoB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACnI,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,IAAI,CAAC;;YAEjB,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,UAAkB,EAAE,UAAwB;QAClE,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,UAAU,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7F,oDAAoD;YACpD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;uEAnSU,aAAa;gEAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;iFAEP,aAAa;cAHzB,UAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;AAuSD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACV,CAAC;AAKX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,wBAAwB,EAAE,0BAA0B;IACpD,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;CACtB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Title } from '@angular/platform-browser';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Service for managing browser tab titles.
|
|
5
|
+
* Provides a hierarchical naming scheme: "App Name - Resource/Page Name"
|
|
6
|
+
* Useful for bookmarks and browser history.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TitleService {
|
|
9
|
+
private titleService;
|
|
10
|
+
private baseTitle;
|
|
11
|
+
private currentAppName;
|
|
12
|
+
private currentResourceName;
|
|
13
|
+
constructor(titleService: Title);
|
|
14
|
+
/**
|
|
15
|
+
* Set the base application title (e.g., "MemberJunction" or "Skip")
|
|
16
|
+
*/
|
|
17
|
+
setBaseTitle(title: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get the current base title
|
|
20
|
+
*/
|
|
21
|
+
getBaseTitle(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Set the current app name (e.g., "Sales", "Marketing")
|
|
24
|
+
* Pass null to clear the app context
|
|
25
|
+
*/
|
|
26
|
+
setAppName(appName: string | null): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get the current app name
|
|
29
|
+
*/
|
|
30
|
+
getAppName(): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Set the current resource/page name (e.g., "Accounts", "Contact: John Doe")
|
|
33
|
+
* Pass null to show only the app name
|
|
34
|
+
*/
|
|
35
|
+
setResourceName(resourceName: string | null): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get the current resource name
|
|
38
|
+
*/
|
|
39
|
+
getResourceName(): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* Set both app and resource in one call
|
|
42
|
+
*/
|
|
43
|
+
setContext(appName: string | null, resourceName: string | null): void;
|
|
44
|
+
/**
|
|
45
|
+
* Reset to just the base title
|
|
46
|
+
*/
|
|
47
|
+
reset(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Get the full current title
|
|
50
|
+
*/
|
|
51
|
+
getFullTitle(): string;
|
|
52
|
+
/**
|
|
53
|
+
* Build the title string based on current context
|
|
54
|
+
* Format: "BaseTitle - AppName - ResourceName" (with optional parts)
|
|
55
|
+
*/
|
|
56
|
+
private buildTitle;
|
|
57
|
+
/**
|
|
58
|
+
* Update the browser tab title
|
|
59
|
+
*/
|
|
60
|
+
private updateTitle;
|
|
61
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TitleService, never>;
|
|
62
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TitleService>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=title.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.service.d.ts","sourceRoot":"","sources":["../../src/lib/title.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;;AAElD;;;;GAIG;AACH,qBAGa,YAAY;IAKX,OAAO,CAAC,YAAY;IAJhC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,mBAAmB,CAAuB;gBAE9B,YAAY,EAAE,KAAK;IAEvC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKxC;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKlD;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMrE;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,WAAW;yCAzGR,YAAY;6CAAZ,YAAY;CA6GxB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
/**
|
|
5
|
+
* Service for managing browser tab titles.
|
|
6
|
+
* Provides a hierarchical naming scheme: "App Name - Resource/Page Name"
|
|
7
|
+
* Useful for bookmarks and browser history.
|
|
8
|
+
*/
|
|
9
|
+
export class TitleService {
|
|
10
|
+
titleService;
|
|
11
|
+
baseTitle = 'MemberJunction';
|
|
12
|
+
currentAppName = null;
|
|
13
|
+
currentResourceName = null;
|
|
14
|
+
constructor(titleService) {
|
|
15
|
+
this.titleService = titleService;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Set the base application title (e.g., "MemberJunction" or "Skip")
|
|
19
|
+
*/
|
|
20
|
+
setBaseTitle(title) {
|
|
21
|
+
this.baseTitle = title;
|
|
22
|
+
this.updateTitle();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the current base title
|
|
26
|
+
*/
|
|
27
|
+
getBaseTitle() {
|
|
28
|
+
return this.baseTitle;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set the current app name (e.g., "Sales", "Marketing")
|
|
32
|
+
* Pass null to clear the app context
|
|
33
|
+
*/
|
|
34
|
+
setAppName(appName) {
|
|
35
|
+
this.currentAppName = appName;
|
|
36
|
+
this.updateTitle();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get the current app name
|
|
40
|
+
*/
|
|
41
|
+
getAppName() {
|
|
42
|
+
return this.currentAppName;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Set the current resource/page name (e.g., "Accounts", "Contact: John Doe")
|
|
46
|
+
* Pass null to show only the app name
|
|
47
|
+
*/
|
|
48
|
+
setResourceName(resourceName) {
|
|
49
|
+
this.currentResourceName = resourceName;
|
|
50
|
+
this.updateTitle();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the current resource name
|
|
54
|
+
*/
|
|
55
|
+
getResourceName() {
|
|
56
|
+
return this.currentResourceName;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Set both app and resource in one call
|
|
60
|
+
*/
|
|
61
|
+
setContext(appName, resourceName) {
|
|
62
|
+
this.currentAppName = appName;
|
|
63
|
+
this.currentResourceName = resourceName;
|
|
64
|
+
this.updateTitle();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Reset to just the base title
|
|
68
|
+
*/
|
|
69
|
+
reset() {
|
|
70
|
+
this.currentAppName = null;
|
|
71
|
+
this.currentResourceName = null;
|
|
72
|
+
this.updateTitle();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get the full current title
|
|
76
|
+
*/
|
|
77
|
+
getFullTitle() {
|
|
78
|
+
return this.buildTitle();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Build the title string based on current context
|
|
82
|
+
* Format: "BaseTitle - AppName - ResourceName" (with optional parts)
|
|
83
|
+
*/
|
|
84
|
+
buildTitle() {
|
|
85
|
+
const parts = [];
|
|
86
|
+
// Resource name first for better visibility in browser tabs (most specific first)
|
|
87
|
+
if (this.currentResourceName) {
|
|
88
|
+
parts.push(this.currentResourceName);
|
|
89
|
+
}
|
|
90
|
+
// App name next
|
|
91
|
+
if (this.currentAppName) {
|
|
92
|
+
parts.push(this.currentAppName);
|
|
93
|
+
}
|
|
94
|
+
// Base title last (least specific)
|
|
95
|
+
parts.push(this.baseTitle);
|
|
96
|
+
return parts.join(' - ');
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Update the browser tab title
|
|
100
|
+
*/
|
|
101
|
+
updateTitle() {
|
|
102
|
+
const title = this.buildTitle();
|
|
103
|
+
this.titleService.setTitle(title);
|
|
104
|
+
}
|
|
105
|
+
static ɵfac = function TitleService_Factory(t) { return new (t || TitleService)(i0.ɵɵinject(i1.Title)); };
|
|
106
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TitleService, factory: TitleService.ɵfac, providedIn: 'root' });
|
|
107
|
+
}
|
|
108
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TitleService, [{
|
|
109
|
+
type: Injectable,
|
|
110
|
+
args: [{
|
|
111
|
+
providedIn: 'root'
|
|
112
|
+
}]
|
|
113
|
+
}], () => [{ type: i1.Title }], null); })();
|
|
114
|
+
//# sourceMappingURL=title.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.service.js","sourceRoot":"","sources":["../../src/lib/title.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;;AAG3C;;;;GAIG;AAIH,MAAM,OAAO,YAAY;IAKH;IAJZ,SAAS,GAAW,gBAAgB,CAAC;IACrC,cAAc,GAAkB,IAAI,CAAC;IACrC,mBAAmB,GAAkB,IAAI,CAAC;IAElD,YAAoB,YAAmB;QAAnB,iBAAY,GAAZ,YAAY,CAAO;IAAG,CAAC;IAE3C;;OAEG;IACH,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAAsB;QAC/B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,YAA2B;QACzC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAsB,EAAE,YAA2B;QAC5D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,UAAU;QAChB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,kFAAkF;QAClF,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QAED,mCAAmC;QACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;sEA5GU,YAAY;gEAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;iFAEP,YAAY;cAHxB,UAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB"}
|
package/dist/public-api.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export * from './lib/urlPipe';
|
|
2
|
+
export * from './lib/base-dashboard';
|
|
2
3
|
export * from './lib/simpleTextFormat';
|
|
3
4
|
export * from './lib/shared.service';
|
|
4
5
|
export * from './lib/base-resource-component';
|
|
5
6
|
export * from './lib/base-navigation-component';
|
|
7
|
+
export * from './lib/navigation.service';
|
|
8
|
+
export * from './lib/navigation.interfaces';
|
|
9
|
+
export * from './lib/title.service';
|
|
10
|
+
export { SYSTEM_APP_ID } from './lib/navigation.service';
|
|
11
|
+
export * from '@memberjunction/ng-shared-generic';
|
|
6
12
|
export * from './module';
|
|
7
13
|
//# sourceMappingURL=public-api.d.ts.map
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,UAAU,CAAC"}
|
package/dist/public-api.js
CHANGED
|
@@ -2,9 +2,16 @@
|
|
|
2
2
|
* Public API Surface
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/urlPipe';
|
|
5
|
+
export * from './lib/base-dashboard';
|
|
5
6
|
export * from './lib/simpleTextFormat';
|
|
6
7
|
export * from './lib/shared.service';
|
|
7
8
|
export * from './lib/base-resource-component';
|
|
8
9
|
export * from './lib/base-navigation-component';
|
|
10
|
+
export * from './lib/navigation.service';
|
|
11
|
+
export * from './lib/navigation.interfaces';
|
|
12
|
+
export * from './lib/title.service';
|
|
13
|
+
export { SYSTEM_APP_ID } from './lib/navigation.service';
|
|
14
|
+
// Re-export from ng-shared-generic for backwards compatibility
|
|
15
|
+
export * from '@memberjunction/ng-shared-generic';
|
|
9
16
|
export * from './module';
|
|
10
17
|
//# sourceMappingURL=public-api.js.map
|
package/dist/public-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,+DAA+D;AAC/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-shared",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.122.0",
|
|
4
4
|
"description": "MemberJunction: MJ Explorer Angular Shared Package - utility functions and other reusable elements used across other MJ Angular packages within the MJ Explorer App - do not use outside of MJ Explorer.",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -28,11 +28,12 @@
|
|
|
28
28
|
"rxjs": "^7.8.1"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@memberjunction/core": "2.
|
|
32
|
-
"@memberjunction/core-entities": "2.
|
|
33
|
-
"@memberjunction/ng-notifications": "2.
|
|
34
|
-
"@memberjunction/ng-base-types": "2.
|
|
35
|
-
"@memberjunction/
|
|
31
|
+
"@memberjunction/core": "2.122.0",
|
|
32
|
+
"@memberjunction/core-entities": "2.122.0",
|
|
33
|
+
"@memberjunction/ng-notifications": "2.122.0",
|
|
34
|
+
"@memberjunction/ng-base-types": "2.122.0",
|
|
35
|
+
"@memberjunction/ng-shared-generic": "2.122.0",
|
|
36
|
+
"@memberjunction/graphql-dataprovider": "2.122.0",
|
|
36
37
|
"@progress/kendo-angular-notification": "16.2.0",
|
|
37
38
|
"tslib": "^2.3.0"
|
|
38
39
|
},
|