@memberjunction/ng-link-directives 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.
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { ElementRef, Renderer2, OnInit } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
2
|
import { BaseEntity, EntityField } from '@memberjunction/core';
|
|
3
|
+
import { NavigationService } from '@memberjunction/ng-shared';
|
|
4
4
|
import { BaseLink } from './ng-base-link';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class FieldLink extends BaseLink implements OnInit {
|
|
7
7
|
private el;
|
|
8
8
|
private renderer;
|
|
9
|
-
private
|
|
10
|
-
private router;
|
|
9
|
+
private navigationService;
|
|
11
10
|
record: BaseEntity;
|
|
12
11
|
fieldName: string;
|
|
13
12
|
replaceText: boolean;
|
|
14
13
|
private _targetEntity;
|
|
15
14
|
private _targetEntityInfo;
|
|
16
15
|
private _targetRecordID;
|
|
17
|
-
constructor(el: ElementRef, renderer: Renderer2,
|
|
16
|
+
constructor(el: ElementRef, renderer: Renderer2, navigationService: NavigationService);
|
|
18
17
|
get field(): EntityField;
|
|
19
18
|
ngOnInit(): void;
|
|
20
19
|
onClick(event: Event): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-field-link.d.ts","sourceRoot":"","sources":["../../src/lib/ng-field-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,SAAS,EAAS,MAAM,EAAgB,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ng-field-link.d.ts","sourceRoot":"","sources":["../../src/lib/ng-field-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,SAAS,EAAS,MAAM,EAAgB,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAgB,WAAW,EAAmC,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;;AAE1C,qBAGa,SAAU,SAAQ,QAAS,YAAW,MAAM;IAWrD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,iBAAiB;IAXV,MAAM,EAAG,UAAU,CAAC;IACjB,SAAS,EAAG,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAS;IAEnD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,eAAe,CAAa;gBAG1B,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,SAAS,EACnB,iBAAiB,EAAE,iBAAiB;IAK9C,IAAW,KAAK,IAAI,WAAW,CAM9B;IAED,QAAQ;IA6CR,OAAO,CAAC,KAAK,EAAE,KAAK;yCAvET,SAAS;2CAAT,SAAS;CAqFrB"}
|
|
@@ -1,37 +1,23 @@
|
|
|
1
1
|
import { Directive, Input, HostListener } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { CompositeKey, LogError, LogStatus, Metadata } from '@memberjunction/core';
|
|
2
|
+
import { CompositeKey, LogStatus, Metadata } from '@memberjunction/core';
|
|
4
3
|
import { BaseLink } from './ng-base-link';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@
|
|
5
|
+
import * as i1 from "@memberjunction/ng-shared";
|
|
7
6
|
export class FieldLink extends BaseLink {
|
|
8
7
|
el;
|
|
9
8
|
renderer;
|
|
10
|
-
|
|
11
|
-
router;
|
|
9
|
+
navigationService;
|
|
12
10
|
record; // Input variable to get the entity record
|
|
13
11
|
fieldName; // Input variable to get the fieldInfo
|
|
14
12
|
replaceText = true; //
|
|
15
13
|
_targetEntity = '';
|
|
16
14
|
_targetEntityInfo;
|
|
17
15
|
_targetRecordID = 0;
|
|
18
|
-
constructor(el, renderer,
|
|
16
|
+
constructor(el, renderer, navigationService) {
|
|
19
17
|
super();
|
|
20
18
|
this.el = el;
|
|
21
19
|
this.renderer = renderer;
|
|
22
|
-
this.
|
|
23
|
-
this.router = router;
|
|
24
|
-
this.router.events.subscribe(event => {
|
|
25
|
-
if (event instanceof NavigationEnd) {
|
|
26
|
-
console.log('NavigationEnd:', event.url);
|
|
27
|
-
}
|
|
28
|
-
if (event instanceof NavigationError) {
|
|
29
|
-
LogError(`NavigationError: ${event.error}`);
|
|
30
|
-
}
|
|
31
|
-
if (event instanceof NavigationCancel) {
|
|
32
|
-
LogError(`NavigationCancel: ${event.reason}`);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
20
|
+
this.navigationService = navigationService;
|
|
35
21
|
}
|
|
36
22
|
get field() {
|
|
37
23
|
if (!this.record)
|
|
@@ -86,17 +72,15 @@ export class FieldLink extends BaseLink {
|
|
|
86
72
|
event.preventDefault();
|
|
87
73
|
if (!this._targetEntityInfo)
|
|
88
74
|
throw new Error('targetEntityInfo not set');
|
|
89
|
-
//
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
LogError(`Error navigating to ${newURLString}: ${err}`);
|
|
97
|
-
});
|
|
75
|
+
// Create CompositeKey for navigation - we only support foreign keys with a single value at present
|
|
76
|
+
const compositeKey = new CompositeKey([{
|
|
77
|
+
FieldName: this._targetEntityInfo.FirstPrimaryKey.Name,
|
|
78
|
+
Value: this._targetRecordID
|
|
79
|
+
}]);
|
|
80
|
+
// Use NavigationService for consistent navigation behavior
|
|
81
|
+
this.navigationService.OpenEntityRecord(this._targetEntity, compositeKey);
|
|
98
82
|
}
|
|
99
|
-
static ɵfac = function FieldLink_Factory(t) { return new (t || FieldLink)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.
|
|
83
|
+
static ɵfac = function FieldLink_Factory(t) { return new (t || FieldLink)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.NavigationService)); };
|
|
100
84
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FieldLink, selectors: [["", "mjFieldLink", ""]], hostBindings: function FieldLink_HostBindings(rf, ctx) { if (rf & 1) {
|
|
101
85
|
i0.ɵɵlistener("click", function FieldLink_click_HostBindingHandler($event) { return ctx.onClick($event); });
|
|
102
86
|
} }, inputs: { record: "record", fieldName: "fieldName", replaceText: "replaceText" }, features: [i0.ɵɵInheritDefinitionFeature] });
|
|
@@ -106,7 +90,7 @@ export class FieldLink extends BaseLink {
|
|
|
106
90
|
args: [{
|
|
107
91
|
selector: '[mjFieldLink]'
|
|
108
92
|
}]
|
|
109
|
-
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.
|
|
93
|
+
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.NavigationService }], { record: [{
|
|
110
94
|
type: Input,
|
|
111
95
|
args: ['record']
|
|
112
96
|
}], fieldName: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-field-link.js","sourceRoot":"","sources":["../../src/lib/ng-field-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,KAAK,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,
|
|
1
|
+
{"version":3,"file":"ng-field-link.js","sourceRoot":"","sources":["../../src/lib/ng-field-link.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-link-directives",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.122.0",
|
|
4
4
|
"description": "MemberJunction: Angular Link Directives for turning an element in an angular app into an email, web, or record link",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"tslib": "^2.3.0",
|
|
33
|
-
"@memberjunction/core": "2.
|
|
33
|
+
"@memberjunction/core": "2.122.0",
|
|
34
|
+
"@memberjunction/ng-shared": "2.122.0"
|
|
34
35
|
},
|
|
35
36
|
"sideEffects": false,
|
|
36
37
|
"repository": {
|