@ni/nimble-angular 16.8.7 → 16.8.8
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/esm2020/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.mjs +49 -0
- package/esm2020/table-column/anchor/nimble-table-column-anchor.module.mjs +5 -6
- package/esm2020/table-column/anchor/public-api.mjs +2 -3
- package/fesm2015/ni-nimble-angular-table-column-anchor.mjs +33 -42
- package/fesm2015/ni-nimble-angular-table-column-anchor.mjs.map +1 -1
- package/fesm2020/ni-nimble-angular-table-column-anchor.mjs +33 -42
- package/fesm2020/ni-nimble-angular-table-column-anchor.mjs.map +1 -1
- package/package.json +1 -1
- package/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.d.ts +15 -0
- package/table-column/anchor/nimble-table-column-anchor.module.d.ts +3 -4
- package/table-column/anchor/public-api.d.ts +1 -2
- package/esm2020/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.mjs +0 -41
- package/esm2020/table-column/anchor/nimble-table-column-anchor-router-link.directive.mjs +0 -19
- package/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.d.ts +0 -13
- package/table-column/anchor/nimble-table-column-anchor-router-link.directive.d.ts +0 -11
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Directive to allow client to intercept anchor clicks and do router navigation instead of
|
|
5
|
+
* letting the default action handle the navigation. The client supplies a function which is
|
|
6
|
+
* expected to build the proper url and call one of the router's navigation functions, passing
|
|
7
|
+
* the url and any navigation options. If the router successfully navigated, the function should
|
|
8
|
+
* return false to prevent the link's default click handler from also performing the navigation.
|
|
9
|
+
*/
|
|
10
|
+
export class NimbleTableColumnAnchorNavigationGuardDirective {
|
|
11
|
+
onDelegatedEvent(delegatedEvent, recordId) {
|
|
12
|
+
if (delegatedEvent.type !== 'click') {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const clickEvent = delegatedEvent;
|
|
16
|
+
// Only call the navigationGuard for plain left clicks.
|
|
17
|
+
// Those are the only ones that should potentially use the router.
|
|
18
|
+
// Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453
|
|
19
|
+
if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const cellView = delegatedEvent.target;
|
|
23
|
+
// Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457
|
|
24
|
+
if (typeof cellView.columnConfig.target === 'string' && cellView.columnConfig.target !== '_self') {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const href = cellView.cellRecord.href;
|
|
28
|
+
if (!href) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (this.navigationGuard && !this.navigationGuard(recordId)) {
|
|
32
|
+
clickEvent.preventDefault();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
NimbleTableColumnAnchorNavigationGuardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorNavigationGuardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
NimbleTableColumnAnchorNavigationGuardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorNavigationGuardDirective, selector: "nimble-table-column-anchor[navigationGuard]", inputs: { navigationGuard: "navigationGuard" }, host: { listeners: { "delegated-event": "onDelegatedEvent($event.detail.originalEvent,$event.detail.recordId)" } }, ngImport: i0 });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorNavigationGuardDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: 'nimble-table-column-anchor[navigationGuard]'
|
|
42
|
+
}]
|
|
43
|
+
}], propDecorators: { navigationGuard: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], onDelegatedEvent: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId']]
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3ItbmF2aWdhdGlvbi1ndWFyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4vYW5jaG9yL25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yLW5hdmlnYXRpb24tZ3VhcmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLL0Q7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLCtDQUErQztJQUtoRCxnQkFBZ0IsQ0FBQyxjQUFxQixFQUFFLFFBQTRCO1FBQ3hFLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDakMsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBNEIsQ0FBQztRQUNoRCx1REFBdUQ7UUFDdkQsa0VBQWtFO1FBQ2xFLGdKQUFnSjtRQUNoSixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDakgsT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQW1DLENBQUM7UUFDcEUsZ0pBQWdKO1FBQ2hKLElBQUksT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFO1lBQzlGLE9BQU87U0FDVjtRQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pELFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7OzRJQWhDUSwrQ0FBK0M7Z0lBQS9DLCtDQUErQzsyRkFBL0MsK0NBQStDO2tCQUgzRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7aUJBQzFEOzhCQUdVLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUUsZ0JBQWdCO3NCQUR2QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsNkJBQTZCLEVBQUUsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVGFibGVDb2x1bW5BbmNob3JDZWxsVmlldyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vYW5jaG9yL2NlbGwtdmlldyc7XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25HdWFyZCA9IChyb3dSZWNvcmRJZDogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBhbGxvdyBjbGllbnQgdG8gaW50ZXJjZXB0IGFuY2hvciBjbGlja3MgYW5kIGRvIHJvdXRlciBuYXZpZ2F0aW9uIGluc3RlYWQgb2ZcbiAqIGxldHRpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIGhhbmRsZSB0aGUgbmF2aWdhdGlvbi4gVGhlIGNsaWVudCBzdXBwbGllcyBhIGZ1bmN0aW9uIHdoaWNoIGlzXG4gKiBleHBlY3RlZCB0byBidWlsZCB0aGUgcHJvcGVyIHVybCBhbmQgY2FsbCBvbmUgb2YgdGhlIHJvdXRlcidzIG5hdmlnYXRpb24gZnVuY3Rpb25zLCBwYXNzaW5nXG4gKiB0aGUgdXJsIGFuZCBhbnkgbmF2aWdhdGlvbiBvcHRpb25zLiBJZiB0aGUgcm91dGVyIHN1Y2Nlc3NmdWxseSBuYXZpZ2F0ZWQsIHRoZSBmdW5jdGlvbiBzaG91bGRcbiAqIHJldHVybiBmYWxzZSB0byBwcmV2ZW50IHRoZSBsaW5rJ3MgZGVmYXVsdCBjbGljayBoYW5kbGVyIGZyb20gYWxzbyBwZXJmb3JtaW5nIHRoZSBuYXZpZ2F0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yW25hdmlnYXRpb25HdWFyZF0nXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQW5jaG9yTmF2aWdhdGlvbkd1YXJkRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYXZpZ2F0aW9uR3VhcmQ/OiBOYXZpZ2F0aW9uR3VhcmQ7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkZWxlZ2F0ZWQtZXZlbnQnLCBbJyRldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudCcsICckZXZlbnQuZGV0YWlsLnJlY29yZElkJ10pXG4gICAgcHJpdmF0ZSBvbkRlbGVnYXRlZEV2ZW50KGRlbGVnYXRlZEV2ZW50OiBFdmVudCwgcmVjb3JkSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAoZGVsZWdhdGVkRXZlbnQudHlwZSAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xpY2tFdmVudCA9IGRlbGVnYXRlZEV2ZW50IGFzIE1vdXNlRXZlbnQ7XG4gICAgICAgIC8vIE9ubHkgY2FsbCB0aGUgbmF2aWdhdGlvbkd1YXJkIGZvciBwbGFpbiBsZWZ0IGNsaWNrcy5cbiAgICAgICAgLy8gVGhvc2UgYXJlIHRoZSBvbmx5IG9uZXMgdGhhdCBzaG91bGQgcG90ZW50aWFsbHkgdXNlIHRoZSByb3V0ZXIuXG4gICAgICAgIC8vIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMzVhM2ZkZTViNzFlZjNiNTAyODJmZTZmN2IzN2NhMWM5MmI4ZDJhMC9wYWNrYWdlcy9yb3V0ZXIvc3JjL2RpcmVjdGl2ZXMvcm91dGVyX2xpbmsudHMjTDQ1M1xuICAgICAgICBpZiAoY2xpY2tFdmVudC5idXR0b24gIT09IDAgfHwgY2xpY2tFdmVudC5jdHJsS2V5IHx8IGNsaWNrRXZlbnQuc2hpZnRLZXkgfHwgY2xpY2tFdmVudC5hbHRLZXkgfHwgY2xpY2tFdmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjZWxsVmlldyA9IGRlbGVnYXRlZEV2ZW50LnRhcmdldCBhcyBUYWJsZUNvbHVtbkFuY2hvckNlbGxWaWV3O1xuICAgICAgICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzM1YTNmZGU1YjcxZWYzYjUwMjgyZmU2ZjdiMzdjYTFjOTJiOGQyYTAvcGFja2FnZXMvcm91dGVyL3NyYy9kaXJlY3RpdmVzL3JvdXRlcl9saW5rLnRzI0w0NTdcbiAgICAgICAgaWYgKHR5cGVvZiBjZWxsVmlldy5jb2x1bW5Db25maWcudGFyZ2V0ID09PSAnc3RyaW5nJyAmJiBjZWxsVmlldy5jb2x1bW5Db25maWcudGFyZ2V0ICE9PSAnX3NlbGYnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBocmVmID0gY2VsbFZpZXcuY2VsbFJlY29yZC5ocmVmO1xuICAgICAgICBpZiAoIWhyZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25HdWFyZCAmJiAhdGhpcy5uYXZpZ2F0aW9uR3VhcmQocmVjb3JkSWQpKSB7XG4gICAgICAgICAgICBjbGlja0V2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';
|
|
4
|
-
import {
|
|
5
|
-
import { NimbleTableColumnAnchorRouterLinkDirective } from './nimble-table-column-anchor-router-link.directive';
|
|
4
|
+
import { NimbleTableColumnAnchorNavigationGuardDirective } from './nimble-table-column-anchor-navigation-guard.directive';
|
|
6
5
|
import '@ni/nimble-components/dist/esm/table-column/anchor';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export class NimbleTableColumnAnchorModule {
|
|
9
8
|
}
|
|
10
9
|
NimbleTableColumnAnchorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
-
NimbleTableColumnAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, declarations: [NimbleTableColumnAnchorDirective,
|
|
10
|
+
NimbleTableColumnAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective], imports: [CommonModule], exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective] });
|
|
12
11
|
NimbleTableColumnAnchorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, imports: [CommonModule] });
|
|
13
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, decorators: [{
|
|
14
13
|
type: NgModule,
|
|
15
14
|
args: [{
|
|
16
|
-
declarations: [NimbleTableColumnAnchorDirective,
|
|
15
|
+
declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],
|
|
17
16
|
imports: [CommonModule],
|
|
18
|
-
exports: [NimbleTableColumnAnchorDirective,
|
|
17
|
+
exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]
|
|
19
18
|
}]
|
|
20
19
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmkvbmltYmxlLWFuZ3VsYXIvdGFibGUtY29sdW1uL2FuY2hvci9uaW1ibGUtdGFibGUtY29sdW1uLWFuY2hvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFFMUgsT0FBTyxvREFBb0QsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2QjsySEFBN0IsNkJBQTZCLGlCQUp2QixnQ0FBZ0MsRUFBRSwrQ0FBK0MsYUFDdEYsWUFBWSxhQUNaLGdDQUFnQyxFQUFFLCtDQUErQzsySEFFbEYsNkJBQTZCLFlBSDVCLFlBQVk7MkZBR2IsNkJBQTZCO2tCQUx6QyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGdDQUFnQyxFQUFFLCtDQUErQyxDQUFDO29CQUNqRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGdDQUFnQyxFQUFFLCtDQUErQyxDQUFDO2lCQUMvRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmltYmxlVGFibGVDb2x1bW5BbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOaW1ibGVUYWJsZUNvbHVtbkFuY2hvck5hdmlnYXRpb25HdWFyZERpcmVjdGl2ZSB9IGZyb20gJy4vbmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3ItbmF2aWdhdGlvbi1ndWFyZC5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vYW5jaG9yJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOaW1ibGVUYWJsZUNvbHVtbkFuY2hvckRpcmVjdGl2ZSwgTmltYmxlVGFibGVDb2x1bW5BbmNob3JOYXZpZ2F0aW9uR3VhcmREaXJlY3RpdmVdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtOaW1ibGVUYWJsZUNvbHVtbkFuY2hvckRpcmVjdGl2ZSwgTmltYmxlVGFibGVDb2x1bW5BbmNob3JOYXZpZ2F0aW9uR3VhcmREaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQW5jaG9yTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export * from './nimble-table-column-anchor-
|
|
2
|
-
export * from './nimble-table-column-anchor-router-link.directive';
|
|
1
|
+
export * from './nimble-table-column-anchor-navigation-guard.directive';
|
|
3
2
|
export * from './nimble-table-column-anchor.directive';
|
|
4
3
|
export * from './nimble-table-column-anchor.module';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9hbmNob3IvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3ItbmF2aWdhdGlvbi1ndWFyZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9uaW1ibGUtdGFibGUtY29sdW1uLWFuY2hvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9uaW1ibGUtdGFibGUtY29sdW1uLWFuY2hvci5tb2R1bGUnOyJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive,
|
|
3
|
-
import { RouterLinkWithHref } from '@angular/router';
|
|
2
|
+
import { Directive, Input, HostListener, NgModule } from '@angular/core';
|
|
4
3
|
export { tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';
|
|
5
4
|
export { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';
|
|
6
5
|
import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
|
|
@@ -8,60 +7,52 @@ import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column'
|
|
|
8
7
|
import { CommonModule } from '@angular/common';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
|
-
* Directive to
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Directive to allow client to intercept anchor clicks and do router navigation instead of
|
|
11
|
+
* letting the default action handle the navigation. The client supplies a function which is
|
|
12
|
+
* expected to build the proper url and call one of the router's navigation functions, passing
|
|
13
|
+
* the url and any navigation options. If the router successfully navigated, the function should
|
|
14
|
+
* return false to prevent the link's default click handler from also performing the navigation.
|
|
14
15
|
*/
|
|
15
|
-
class
|
|
16
|
-
|
|
17
|
-
throw new Error('Directly configuring the routerLink url is not supported. The router url is configured via the href-field-name of the column.');
|
|
18
|
-
}
|
|
19
|
-
onDelegatedEvent(delegatedEvent) {
|
|
16
|
+
class NimbleTableColumnAnchorNavigationGuardDirective {
|
|
17
|
+
onDelegatedEvent(delegatedEvent, recordId) {
|
|
20
18
|
if (delegatedEvent.type !== 'click') {
|
|
21
19
|
return;
|
|
22
20
|
}
|
|
23
21
|
const clickEvent = delegatedEvent;
|
|
24
|
-
|
|
22
|
+
// Only call the navigationGuard for plain left clicks.
|
|
23
|
+
// Those are the only ones that should potentially use the router.
|
|
24
|
+
// Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453
|
|
25
|
+
if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const cellView = delegatedEvent.target;
|
|
29
|
+
// Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457
|
|
30
|
+
if (typeof cellView.columnConfig.target === 'string' && cellView.columnConfig.target !== '_self') {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const href = cellView.cellRecord.href;
|
|
25
34
|
if (!href) {
|
|
26
35
|
return;
|
|
27
36
|
}
|
|
28
|
-
|
|
29
|
-
super.routerLink = href;
|
|
30
|
-
if (!this.onClick(clickEvent.button, clickEvent.ctrlKey, clickEvent.shiftKey, clickEvent.altKey, clickEvent.metaKey)) {
|
|
37
|
+
if (this.navigationGuard && !this.navigationGuard(recordId)) {
|
|
31
38
|
clickEvent.preventDefault();
|
|
32
39
|
}
|
|
33
|
-
super.routerLink = null;
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type:
|
|
42
|
+
NimbleTableColumnAnchorNavigationGuardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorNavigationGuardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
NimbleTableColumnAnchorNavigationGuardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorNavigationGuardDirective, selector: "nimble-table-column-anchor[navigationGuard]", inputs: { navigationGuard: "navigationGuard" }, host: { listeners: { "delegated-event": "onDelegatedEvent($event.detail.originalEvent,$event.detail.recordId)" } }, ngImport: i0 });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorNavigationGuardDirective, decorators: [{
|
|
39
45
|
type: Directive,
|
|
40
46
|
args: [{
|
|
41
|
-
selector: 'nimble-table-column-anchor[
|
|
47
|
+
selector: 'nimble-table-column-anchor[navigationGuard]'
|
|
42
48
|
}]
|
|
43
|
-
}], propDecorators: {
|
|
49
|
+
}], propDecorators: { navigationGuard: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], onDelegatedEvent: [{
|
|
44
52
|
type: HostListener,
|
|
45
|
-
args: ['delegated-event', ['$event.detail.originalEvent']]
|
|
53
|
+
args: ['delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId']]
|
|
46
54
|
}] } });
|
|
47
55
|
|
|
48
|
-
/**
|
|
49
|
-
* Directive used solely to point consumers to use [nimbleRouterLink] / NimbleTableColumnAnchorRouterLinkWithHrefDirective.
|
|
50
|
-
*
|
|
51
|
-
* @see NimbleTableColumnAnchorRouterLinkWithHrefDirective
|
|
52
|
-
*/
|
|
53
|
-
class NimbleTableColumnAnchorRouterLinkDirective {
|
|
54
|
-
constructor() {
|
|
55
|
-
throw new Error('Use [nimbleRouterLink] instead of [routerLink].');
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
NimbleTableColumnAnchorRouterLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
-
NimbleTableColumnAnchorRouterLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorRouterLinkDirective, selector: "nimble-table-column-anchor[routerLink]", ngImport: i0 });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkDirective, decorators: [{
|
|
61
|
-
type: Directive,
|
|
62
|
-
args: [{ selector: 'nimble-table-column-anchor[routerLink]' }]
|
|
63
|
-
}], ctorParameters: function () { return []; } });
|
|
64
|
-
|
|
65
56
|
/**
|
|
66
57
|
* Directive to provide Angular integration for the table column element for links.
|
|
67
58
|
*/
|
|
@@ -223,14 +214,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
223
214
|
class NimbleTableColumnAnchorModule {
|
|
224
215
|
}
|
|
225
216
|
NimbleTableColumnAnchorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
226
|
-
NimbleTableColumnAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, declarations: [NimbleTableColumnAnchorDirective,
|
|
217
|
+
NimbleTableColumnAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective], imports: [CommonModule], exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective] });
|
|
227
218
|
NimbleTableColumnAnchorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, imports: [CommonModule] });
|
|
228
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, decorators: [{
|
|
229
220
|
type: NgModule,
|
|
230
221
|
args: [{
|
|
231
|
-
declarations: [NimbleTableColumnAnchorDirective,
|
|
222
|
+
declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],
|
|
232
223
|
imports: [CommonModule],
|
|
233
|
-
exports: [NimbleTableColumnAnchorDirective,
|
|
224
|
+
exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]
|
|
234
225
|
}]
|
|
235
226
|
}] });
|
|
236
227
|
|
|
@@ -238,5 +229,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
238
229
|
* Generated bundle index. Do not edit.
|
|
239
230
|
*/
|
|
240
231
|
|
|
241
|
-
export { NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorModule,
|
|
232
|
+
export { NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorModule, NimbleTableColumnAnchorNavigationGuardDirective };
|
|
242
233
|
//# sourceMappingURL=ni-nimble-angular-table-column-anchor.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ni-nimble-angular-table-column-anchor.mjs","sources":["../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-router-link.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.module.ts","../../../../projects/ni/nimble-angular/table-column/anchor/ni-nimble-angular-table-column-anchor.ts"],"sourcesContent":["import { Directive, HostListener } from '@angular/core';\nimport { RouterLinkWithHref } from '@angular/router';\nimport type { TableColumnAnchorCellView } from '@ni/nimble-components/dist/esm/table-column/anchor/cell-view';\n\n/**\n * Directive to handle nimble-table-column-anchor RouterLink support.\n * Note: Clients need to use [nimbleRouterLink] instead of [routerLink], so that there\n * won't also be an active RouterLink directive incorrectly handling navigation.\n */\n@Directive({\n selector: 'nimble-table-column-anchor[nimbleRouterLink]'\n})\nexport class NimbleTableColumnAnchorRouterLinkWithHrefDirective extends RouterLinkWithHref {\n public set routerLink(_commands: unknown[] | string | null | undefined) {\n throw new Error('Directly configuring the routerLink url is not supported. The router url is configured via the href-field-name of the column.');\n }\n\n @HostListener('delegated-event', ['$event.detail.originalEvent'])\n private onDelegatedEvent(delegatedEvent: Event): void {\n if (delegatedEvent.type !== 'click') {\n return;\n }\n\n const clickEvent = delegatedEvent as MouseEvent;\n const href = (delegatedEvent.target as TableColumnAnchorCellView).cellRecord.href;\n\n if (!href) {\n return;\n }\n\n // Let the router handle this navigation\n super.routerLink = href;\n if (!this.onClick(clickEvent.button, clickEvent.ctrlKey, clickEvent.shiftKey, clickEvent.altKey, clickEvent.metaKey)) {\n clickEvent.preventDefault();\n }\n super.routerLink = null;\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive used solely to point consumers to use [nimbleRouterLink] / NimbleTableColumnAnchorRouterLinkWithHrefDirective.\n *\n * @see NimbleTableColumnAnchorRouterLinkWithHrefDirective\n */\n@Directive({ selector: 'nimble-table-column-anchor[routerLink]' })\nexport class NimbleTableColumnAnchorRouterLinkDirective {\n public constructor() {\n throw new Error('Use [nimbleRouterLink] instead of [routerLink].');\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { type TableColumnAnchor, tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';\nimport { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';\nimport { BooleanValueOrAttribute, NumberValueOrAttribute, toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';\nimport { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';\n\nexport type { TableColumnAnchor };\nexport { tableColumnAnchorTag };\nexport { AnchorAppearance };\n\n/**\n * Directive to provide Angular integration for the table column element for links.\n */\n@Directive({\n selector: 'nimble-table-column-anchor'\n})\nexport class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective<TableColumnAnchor> {\n public get labelFieldName(): string | undefined {\n return this.elementRef.nativeElement.labelFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label-field-name') public set labelFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'labelFieldName', value);\n }\n\n public get hrefFieldName(): string | undefined {\n return this.elementRef.nativeElement.hrefFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('href-field-name') public set hrefFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hrefFieldName', value);\n }\n\n public get appearance(): AnchorAppearance {\n return this.elementRef.nativeElement.appearance;\n }\n\n @Input() public set appearance(value: AnchorAppearance) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);\n }\n\n public get underlineHidden(): boolean {\n return this.elementRef.nativeElement.underlineHidden;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('underline-hidden') public set underlineHidden(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'underlineHidden', toBooleanProperty(value));\n }\n\n public get hreflang(): string | undefined {\n return this.elementRef.nativeElement.hreflang;\n }\n\n @Input() public set hreflang(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);\n }\n\n public get ping(): string | undefined {\n return this.elementRef.nativeElement.ping;\n }\n\n @Input() public set ping(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);\n }\n\n public get referrerpolicy(): string | undefined {\n return this.elementRef.nativeElement.referrerpolicy;\n }\n\n @Input() public set referrerpolicy(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);\n }\n\n public get rel(): string | undefined {\n return this.elementRef.nativeElement.rel;\n }\n\n @Input() public set rel(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);\n }\n\n public get target(): string | undefined {\n return this.elementRef.nativeElement.target;\n }\n\n @Input() public set target(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);\n }\n\n public get type(): string | undefined {\n return this.elementRef.nativeElement.type;\n }\n\n @Input() public set type(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);\n }\n\n public get download(): string | undefined {\n return this.elementRef.nativeElement.download;\n }\n\n @Input() public set download(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);\n }\n\n public get fractionalWidth(): number | null | undefined {\n return this.elementRef.nativeElement.fractionalWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('fractional-width') public set fractionalWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));\n }\n\n public get minPixelWidth(): number | null | undefined {\n return this.elementRef.nativeElement.minPixelWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('min-pixel-width') public set minPixelWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));\n }\n\n public get groupIndex(): number | null | undefined {\n return this.elementRef.nativeElement.groupIndex;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('group-index') public set groupIndex(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));\n }\n\n public get groupingDisabled(): boolean {\n return this.elementRef.nativeElement.groupingDisabled;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('grouping-disabled') public set groupingDisabled(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));\n }\n\n public constructor(renderer: Renderer2, elementRef: ElementRef<TableColumnAnchor>) {\n super(renderer, elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';\nimport { NimbleTableColumnAnchorRouterLinkWithHrefDirective } from './nimble-table-column-anchor-router-link-with-href.directive';\nimport { NimbleTableColumnAnchorRouterLinkDirective } from './nimble-table-column-anchor-router-link.directive';\n\nimport '@ni/nimble-components/dist/esm/table-column/anchor';\n\n@NgModule({\n declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorRouterLinkDirective, NimbleTableColumnAnchorRouterLinkWithHrefDirective],\n imports: [CommonModule],\n exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorRouterLinkDirective, NimbleTableColumnAnchorRouterLinkWithHrefDirective]\n})\nexport class NimbleTableColumnAnchorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ni-nimble-angular-table-column-anchor.mjs","sources":["../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.module.ts","../../../../projects/ni/nimble-angular/table-column/anchor/ni-nimble-angular-table-column-anchor.ts"],"sourcesContent":["import { Directive, HostListener, Input } from '@angular/core';\nimport type { TableColumnAnchorCellView } from '@ni/nimble-components/dist/esm/table-column/anchor/cell-view';\n\nexport type NavigationGuard = (rowRecordId: string | undefined) => boolean;\n\n/**\n * Directive to allow client to intercept anchor clicks and do router navigation instead of\n * letting the default action handle the navigation. The client supplies a function which is\n * expected to build the proper url and call one of the router's navigation functions, passing\n * the url and any navigation options. If the router successfully navigated, the function should\n * return false to prevent the link's default click handler from also performing the navigation.\n */\n@Directive({\n selector: 'nimble-table-column-anchor[navigationGuard]'\n})\nexport class NimbleTableColumnAnchorNavigationGuardDirective {\n @Input()\n public navigationGuard?: NavigationGuard;\n\n @HostListener('delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId'])\n private onDelegatedEvent(delegatedEvent: Event, recordId: string | undefined): void {\n if (delegatedEvent.type !== 'click') {\n return;\n }\n\n const clickEvent = delegatedEvent as MouseEvent;\n // Only call the navigationGuard for plain left clicks.\n // Those are the only ones that should potentially use the router.\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453\n if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {\n return;\n }\n\n const cellView = delegatedEvent.target as TableColumnAnchorCellView;\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457\n if (typeof cellView.columnConfig.target === 'string' && cellView.columnConfig.target !== '_self') {\n return;\n }\n\n const href = cellView.cellRecord.href;\n if (!href) {\n return;\n }\n\n if (this.navigationGuard && !this.navigationGuard(recordId)) {\n clickEvent.preventDefault();\n }\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { type TableColumnAnchor, tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';\nimport { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';\nimport { BooleanValueOrAttribute, NumberValueOrAttribute, toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';\nimport { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';\n\nexport type { TableColumnAnchor };\nexport { tableColumnAnchorTag };\nexport { AnchorAppearance };\n\n/**\n * Directive to provide Angular integration for the table column element for links.\n */\n@Directive({\n selector: 'nimble-table-column-anchor'\n})\nexport class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective<TableColumnAnchor> {\n public get labelFieldName(): string | undefined {\n return this.elementRef.nativeElement.labelFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label-field-name') public set labelFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'labelFieldName', value);\n }\n\n public get hrefFieldName(): string | undefined {\n return this.elementRef.nativeElement.hrefFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('href-field-name') public set hrefFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hrefFieldName', value);\n }\n\n public get appearance(): AnchorAppearance {\n return this.elementRef.nativeElement.appearance;\n }\n\n @Input() public set appearance(value: AnchorAppearance) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);\n }\n\n public get underlineHidden(): boolean {\n return this.elementRef.nativeElement.underlineHidden;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('underline-hidden') public set underlineHidden(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'underlineHidden', toBooleanProperty(value));\n }\n\n public get hreflang(): string | undefined {\n return this.elementRef.nativeElement.hreflang;\n }\n\n @Input() public set hreflang(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);\n }\n\n public get ping(): string | undefined {\n return this.elementRef.nativeElement.ping;\n }\n\n @Input() public set ping(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);\n }\n\n public get referrerpolicy(): string | undefined {\n return this.elementRef.nativeElement.referrerpolicy;\n }\n\n @Input() public set referrerpolicy(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);\n }\n\n public get rel(): string | undefined {\n return this.elementRef.nativeElement.rel;\n }\n\n @Input() public set rel(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);\n }\n\n public get target(): string | undefined {\n return this.elementRef.nativeElement.target;\n }\n\n @Input() public set target(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);\n }\n\n public get type(): string | undefined {\n return this.elementRef.nativeElement.type;\n }\n\n @Input() public set type(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);\n }\n\n public get download(): string | undefined {\n return this.elementRef.nativeElement.download;\n }\n\n @Input() public set download(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);\n }\n\n public get fractionalWidth(): number | null | undefined {\n return this.elementRef.nativeElement.fractionalWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('fractional-width') public set fractionalWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));\n }\n\n public get minPixelWidth(): number | null | undefined {\n return this.elementRef.nativeElement.minPixelWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('min-pixel-width') public set minPixelWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));\n }\n\n public get groupIndex(): number | null | undefined {\n return this.elementRef.nativeElement.groupIndex;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('group-index') public set groupIndex(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));\n }\n\n public get groupingDisabled(): boolean {\n return this.elementRef.nativeElement.groupingDisabled;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('grouping-disabled') public set groupingDisabled(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));\n }\n\n public constructor(renderer: Renderer2, elementRef: ElementRef<TableColumnAnchor>) {\n super(renderer, elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';\nimport { NimbleTableColumnAnchorNavigationGuardDirective } from './nimble-table-column-anchor-navigation-guard.directive';\n\nimport '@ni/nimble-components/dist/esm/table-column/anchor';\n\n@NgModule({\n declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],\n imports: [CommonModule],\n exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]\n})\nexport class NimbleTableColumnAnchorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive,
|
|
3
|
-
import { RouterLinkWithHref } from '@angular/router';
|
|
2
|
+
import { Directive, Input, HostListener, NgModule } from '@angular/core';
|
|
4
3
|
export { tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';
|
|
5
4
|
export { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';
|
|
6
5
|
import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
|
|
@@ -8,60 +7,52 @@ import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column'
|
|
|
8
7
|
import { CommonModule } from '@angular/common';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
|
-
* Directive to
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Directive to allow client to intercept anchor clicks and do router navigation instead of
|
|
11
|
+
* letting the default action handle the navigation. The client supplies a function which is
|
|
12
|
+
* expected to build the proper url and call one of the router's navigation functions, passing
|
|
13
|
+
* the url and any navigation options. If the router successfully navigated, the function should
|
|
14
|
+
* return false to prevent the link's default click handler from also performing the navigation.
|
|
14
15
|
*/
|
|
15
|
-
class
|
|
16
|
-
|
|
17
|
-
throw new Error('Directly configuring the routerLink url is not supported. The router url is configured via the href-field-name of the column.');
|
|
18
|
-
}
|
|
19
|
-
onDelegatedEvent(delegatedEvent) {
|
|
16
|
+
class NimbleTableColumnAnchorNavigationGuardDirective {
|
|
17
|
+
onDelegatedEvent(delegatedEvent, recordId) {
|
|
20
18
|
if (delegatedEvent.type !== 'click') {
|
|
21
19
|
return;
|
|
22
20
|
}
|
|
23
21
|
const clickEvent = delegatedEvent;
|
|
24
|
-
|
|
22
|
+
// Only call the navigationGuard for plain left clicks.
|
|
23
|
+
// Those are the only ones that should potentially use the router.
|
|
24
|
+
// Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453
|
|
25
|
+
if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const cellView = delegatedEvent.target;
|
|
29
|
+
// Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457
|
|
30
|
+
if (typeof cellView.columnConfig.target === 'string' && cellView.columnConfig.target !== '_self') {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const href = cellView.cellRecord.href;
|
|
25
34
|
if (!href) {
|
|
26
35
|
return;
|
|
27
36
|
}
|
|
28
|
-
|
|
29
|
-
super.routerLink = href;
|
|
30
|
-
if (!this.onClick(clickEvent.button, clickEvent.ctrlKey, clickEvent.shiftKey, clickEvent.altKey, clickEvent.metaKey)) {
|
|
37
|
+
if (this.navigationGuard && !this.navigationGuard(recordId)) {
|
|
31
38
|
clickEvent.preventDefault();
|
|
32
39
|
}
|
|
33
|
-
super.routerLink = null;
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type:
|
|
42
|
+
NimbleTableColumnAnchorNavigationGuardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorNavigationGuardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
NimbleTableColumnAnchorNavigationGuardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorNavigationGuardDirective, selector: "nimble-table-column-anchor[navigationGuard]", inputs: { navigationGuard: "navigationGuard" }, host: { listeners: { "delegated-event": "onDelegatedEvent($event.detail.originalEvent,$event.detail.recordId)" } }, ngImport: i0 });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorNavigationGuardDirective, decorators: [{
|
|
39
45
|
type: Directive,
|
|
40
46
|
args: [{
|
|
41
|
-
selector: 'nimble-table-column-anchor[
|
|
47
|
+
selector: 'nimble-table-column-anchor[navigationGuard]'
|
|
42
48
|
}]
|
|
43
|
-
}], propDecorators: {
|
|
49
|
+
}], propDecorators: { navigationGuard: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], onDelegatedEvent: [{
|
|
44
52
|
type: HostListener,
|
|
45
|
-
args: ['delegated-event', ['$event.detail.originalEvent']]
|
|
53
|
+
args: ['delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId']]
|
|
46
54
|
}] } });
|
|
47
55
|
|
|
48
|
-
/**
|
|
49
|
-
* Directive used solely to point consumers to use [nimbleRouterLink] / NimbleTableColumnAnchorRouterLinkWithHrefDirective.
|
|
50
|
-
*
|
|
51
|
-
* @see NimbleTableColumnAnchorRouterLinkWithHrefDirective
|
|
52
|
-
*/
|
|
53
|
-
class NimbleTableColumnAnchorRouterLinkDirective {
|
|
54
|
-
constructor() {
|
|
55
|
-
throw new Error('Use [nimbleRouterLink] instead of [routerLink].');
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
NimbleTableColumnAnchorRouterLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
-
NimbleTableColumnAnchorRouterLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorRouterLinkDirective, selector: "nimble-table-column-anchor[routerLink]", ngImport: i0 });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkDirective, decorators: [{
|
|
61
|
-
type: Directive,
|
|
62
|
-
args: [{ selector: 'nimble-table-column-anchor[routerLink]' }]
|
|
63
|
-
}], ctorParameters: function () { return []; } });
|
|
64
|
-
|
|
65
56
|
/**
|
|
66
57
|
* Directive to provide Angular integration for the table column element for links.
|
|
67
58
|
*/
|
|
@@ -223,14 +214,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
223
214
|
class NimbleTableColumnAnchorModule {
|
|
224
215
|
}
|
|
225
216
|
NimbleTableColumnAnchorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
226
|
-
NimbleTableColumnAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, declarations: [NimbleTableColumnAnchorDirective,
|
|
217
|
+
NimbleTableColumnAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective], imports: [CommonModule], exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective] });
|
|
227
218
|
NimbleTableColumnAnchorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, imports: [CommonModule] });
|
|
228
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorModule, decorators: [{
|
|
229
220
|
type: NgModule,
|
|
230
221
|
args: [{
|
|
231
|
-
declarations: [NimbleTableColumnAnchorDirective,
|
|
222
|
+
declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],
|
|
232
223
|
imports: [CommonModule],
|
|
233
|
-
exports: [NimbleTableColumnAnchorDirective,
|
|
224
|
+
exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]
|
|
234
225
|
}]
|
|
235
226
|
}] });
|
|
236
227
|
|
|
@@ -238,5 +229,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
238
229
|
* Generated bundle index. Do not edit.
|
|
239
230
|
*/
|
|
240
231
|
|
|
241
|
-
export { NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorModule,
|
|
232
|
+
export { NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorModule, NimbleTableColumnAnchorNavigationGuardDirective };
|
|
242
233
|
//# sourceMappingURL=ni-nimble-angular-table-column-anchor.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ni-nimble-angular-table-column-anchor.mjs","sources":["../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-router-link.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.module.ts","../../../../projects/ni/nimble-angular/table-column/anchor/ni-nimble-angular-table-column-anchor.ts"],"sourcesContent":["import { Directive, HostListener } from '@angular/core';\nimport { RouterLinkWithHref } from '@angular/router';\nimport type { TableColumnAnchorCellView } from '@ni/nimble-components/dist/esm/table-column/anchor/cell-view';\n\n/**\n * Directive to handle nimble-table-column-anchor RouterLink support.\n * Note: Clients need to use [nimbleRouterLink] instead of [routerLink], so that there\n * won't also be an active RouterLink directive incorrectly handling navigation.\n */\n@Directive({\n selector: 'nimble-table-column-anchor[nimbleRouterLink]'\n})\nexport class NimbleTableColumnAnchorRouterLinkWithHrefDirective extends RouterLinkWithHref {\n public set routerLink(_commands: unknown[] | string | null | undefined) {\n throw new Error('Directly configuring the routerLink url is not supported. The router url is configured via the href-field-name of the column.');\n }\n\n @HostListener('delegated-event', ['$event.detail.originalEvent'])\n private onDelegatedEvent(delegatedEvent: Event): void {\n if (delegatedEvent.type !== 'click') {\n return;\n }\n\n const clickEvent = delegatedEvent as MouseEvent;\n const href = (delegatedEvent.target as TableColumnAnchorCellView).cellRecord.href;\n\n if (!href) {\n return;\n }\n\n // Let the router handle this navigation\n super.routerLink = href;\n if (!this.onClick(clickEvent.button, clickEvent.ctrlKey, clickEvent.shiftKey, clickEvent.altKey, clickEvent.metaKey)) {\n clickEvent.preventDefault();\n }\n super.routerLink = null;\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive used solely to point consumers to use [nimbleRouterLink] / NimbleTableColumnAnchorRouterLinkWithHrefDirective.\n *\n * @see NimbleTableColumnAnchorRouterLinkWithHrefDirective\n */\n@Directive({ selector: 'nimble-table-column-anchor[routerLink]' })\nexport class NimbleTableColumnAnchorRouterLinkDirective {\n public constructor() {\n throw new Error('Use [nimbleRouterLink] instead of [routerLink].');\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { type TableColumnAnchor, tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';\nimport { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';\nimport { BooleanValueOrAttribute, NumberValueOrAttribute, toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';\nimport { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';\n\nexport type { TableColumnAnchor };\nexport { tableColumnAnchorTag };\nexport { AnchorAppearance };\n\n/**\n * Directive to provide Angular integration for the table column element for links.\n */\n@Directive({\n selector: 'nimble-table-column-anchor'\n})\nexport class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective<TableColumnAnchor> {\n public get labelFieldName(): string | undefined {\n return this.elementRef.nativeElement.labelFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label-field-name') public set labelFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'labelFieldName', value);\n }\n\n public get hrefFieldName(): string | undefined {\n return this.elementRef.nativeElement.hrefFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('href-field-name') public set hrefFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hrefFieldName', value);\n }\n\n public get appearance(): AnchorAppearance {\n return this.elementRef.nativeElement.appearance;\n }\n\n @Input() public set appearance(value: AnchorAppearance) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);\n }\n\n public get underlineHidden(): boolean {\n return this.elementRef.nativeElement.underlineHidden;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('underline-hidden') public set underlineHidden(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'underlineHidden', toBooleanProperty(value));\n }\n\n public get hreflang(): string | undefined {\n return this.elementRef.nativeElement.hreflang;\n }\n\n @Input() public set hreflang(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);\n }\n\n public get ping(): string | undefined {\n return this.elementRef.nativeElement.ping;\n }\n\n @Input() public set ping(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);\n }\n\n public get referrerpolicy(): string | undefined {\n return this.elementRef.nativeElement.referrerpolicy;\n }\n\n @Input() public set referrerpolicy(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);\n }\n\n public get rel(): string | undefined {\n return this.elementRef.nativeElement.rel;\n }\n\n @Input() public set rel(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);\n }\n\n public get target(): string | undefined {\n return this.elementRef.nativeElement.target;\n }\n\n @Input() public set target(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);\n }\n\n public get type(): string | undefined {\n return this.elementRef.nativeElement.type;\n }\n\n @Input() public set type(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);\n }\n\n public get download(): string | undefined {\n return this.elementRef.nativeElement.download;\n }\n\n @Input() public set download(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);\n }\n\n public get fractionalWidth(): number | null | undefined {\n return this.elementRef.nativeElement.fractionalWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('fractional-width') public set fractionalWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));\n }\n\n public get minPixelWidth(): number | null | undefined {\n return this.elementRef.nativeElement.minPixelWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('min-pixel-width') public set minPixelWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));\n }\n\n public get groupIndex(): number | null | undefined {\n return this.elementRef.nativeElement.groupIndex;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('group-index') public set groupIndex(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));\n }\n\n public get groupingDisabled(): boolean {\n return this.elementRef.nativeElement.groupingDisabled;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('grouping-disabled') public set groupingDisabled(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));\n }\n\n public constructor(renderer: Renderer2, elementRef: ElementRef<TableColumnAnchor>) {\n super(renderer, elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';\nimport { NimbleTableColumnAnchorRouterLinkWithHrefDirective } from './nimble-table-column-anchor-router-link-with-href.directive';\nimport { NimbleTableColumnAnchorRouterLinkDirective } from './nimble-table-column-anchor-router-link.directive';\n\nimport '@ni/nimble-components/dist/esm/table-column/anchor';\n\n@NgModule({\n declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorRouterLinkDirective, NimbleTableColumnAnchorRouterLinkWithHrefDirective],\n imports: [CommonModule],\n exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorRouterLinkDirective, NimbleTableColumnAnchorRouterLinkWithHrefDirective]\n})\nexport class NimbleTableColumnAnchorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ni-nimble-angular-table-column-anchor.mjs","sources":["../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.module.ts","../../../../projects/ni/nimble-angular/table-column/anchor/ni-nimble-angular-table-column-anchor.ts"],"sourcesContent":["import { Directive, HostListener, Input } from '@angular/core';\nimport type { TableColumnAnchorCellView } from '@ni/nimble-components/dist/esm/table-column/anchor/cell-view';\n\nexport type NavigationGuard = (rowRecordId: string | undefined) => boolean;\n\n/**\n * Directive to allow client to intercept anchor clicks and do router navigation instead of\n * letting the default action handle the navigation. The client supplies a function which is\n * expected to build the proper url and call one of the router's navigation functions, passing\n * the url and any navigation options. If the router successfully navigated, the function should\n * return false to prevent the link's default click handler from also performing the navigation.\n */\n@Directive({\n selector: 'nimble-table-column-anchor[navigationGuard]'\n})\nexport class NimbleTableColumnAnchorNavigationGuardDirective {\n @Input()\n public navigationGuard?: NavigationGuard;\n\n @HostListener('delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId'])\n private onDelegatedEvent(delegatedEvent: Event, recordId: string | undefined): void {\n if (delegatedEvent.type !== 'click') {\n return;\n }\n\n const clickEvent = delegatedEvent as MouseEvent;\n // Only call the navigationGuard for plain left clicks.\n // Those are the only ones that should potentially use the router.\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453\n if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {\n return;\n }\n\n const cellView = delegatedEvent.target as TableColumnAnchorCellView;\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457\n if (typeof cellView.columnConfig.target === 'string' && cellView.columnConfig.target !== '_self') {\n return;\n }\n\n const href = cellView.cellRecord.href;\n if (!href) {\n return;\n }\n\n if (this.navigationGuard && !this.navigationGuard(recordId)) {\n clickEvent.preventDefault();\n }\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { type TableColumnAnchor, tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';\nimport { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';\nimport { BooleanValueOrAttribute, NumberValueOrAttribute, toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';\nimport { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';\n\nexport type { TableColumnAnchor };\nexport { tableColumnAnchorTag };\nexport { AnchorAppearance };\n\n/**\n * Directive to provide Angular integration for the table column element for links.\n */\n@Directive({\n selector: 'nimble-table-column-anchor'\n})\nexport class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective<TableColumnAnchor> {\n public get labelFieldName(): string | undefined {\n return this.elementRef.nativeElement.labelFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label-field-name') public set labelFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'labelFieldName', value);\n }\n\n public get hrefFieldName(): string | undefined {\n return this.elementRef.nativeElement.hrefFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('href-field-name') public set hrefFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hrefFieldName', value);\n }\n\n public get appearance(): AnchorAppearance {\n return this.elementRef.nativeElement.appearance;\n }\n\n @Input() public set appearance(value: AnchorAppearance) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);\n }\n\n public get underlineHidden(): boolean {\n return this.elementRef.nativeElement.underlineHidden;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('underline-hidden') public set underlineHidden(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'underlineHidden', toBooleanProperty(value));\n }\n\n public get hreflang(): string | undefined {\n return this.elementRef.nativeElement.hreflang;\n }\n\n @Input() public set hreflang(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);\n }\n\n public get ping(): string | undefined {\n return this.elementRef.nativeElement.ping;\n }\n\n @Input() public set ping(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);\n }\n\n public get referrerpolicy(): string | undefined {\n return this.elementRef.nativeElement.referrerpolicy;\n }\n\n @Input() public set referrerpolicy(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);\n }\n\n public get rel(): string | undefined {\n return this.elementRef.nativeElement.rel;\n }\n\n @Input() public set rel(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);\n }\n\n public get target(): string | undefined {\n return this.elementRef.nativeElement.target;\n }\n\n @Input() public set target(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);\n }\n\n public get type(): string | undefined {\n return this.elementRef.nativeElement.type;\n }\n\n @Input() public set type(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);\n }\n\n public get download(): string | undefined {\n return this.elementRef.nativeElement.download;\n }\n\n @Input() public set download(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);\n }\n\n public get fractionalWidth(): number | null | undefined {\n return this.elementRef.nativeElement.fractionalWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('fractional-width') public set fractionalWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));\n }\n\n public get minPixelWidth(): number | null | undefined {\n return this.elementRef.nativeElement.minPixelWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('min-pixel-width') public set minPixelWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));\n }\n\n public get groupIndex(): number | null | undefined {\n return this.elementRef.nativeElement.groupIndex;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('group-index') public set groupIndex(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));\n }\n\n public get groupingDisabled(): boolean {\n return this.elementRef.nativeElement.groupingDisabled;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('grouping-disabled') public set groupingDisabled(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));\n }\n\n public constructor(renderer: Renderer2, elementRef: ElementRef<TableColumnAnchor>) {\n super(renderer, elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';\nimport { NimbleTableColumnAnchorNavigationGuardDirective } from './nimble-table-column-anchor-navigation-guard.directive';\n\nimport '@ni/nimble-components/dist/esm/table-column/anchor';\n\n@NgModule({\n declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],\n imports: [CommonModule],\n exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]\n})\nexport class NimbleTableColumnAnchorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare type NavigationGuard = (rowRecordId: string | undefined) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Directive to allow client to intercept anchor clicks and do router navigation instead of
|
|
5
|
+
* letting the default action handle the navigation. The client supplies a function which is
|
|
6
|
+
* expected to build the proper url and call one of the router's navigation functions, passing
|
|
7
|
+
* the url and any navigation options. If the router successfully navigated, the function should
|
|
8
|
+
* return false to prevent the link's default click handler from also performing the navigation.
|
|
9
|
+
*/
|
|
10
|
+
export declare class NimbleTableColumnAnchorNavigationGuardDirective {
|
|
11
|
+
navigationGuard?: NavigationGuard;
|
|
12
|
+
private onDelegatedEvent;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableColumnAnchorNavigationGuardDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableColumnAnchorNavigationGuardDirective, "nimble-table-column-anchor[navigationGuard]", never, { "navigationGuard": "navigationGuard"; }, {}, never, never, false>;
|
|
15
|
+
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import '@ni/nimble-components/dist/esm/table-column/anchor';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "./nimble-table-column-anchor.directive";
|
|
4
|
-
import * as i2 from "./nimble-table-column-anchor-
|
|
5
|
-
import * as i3 from "
|
|
6
|
-
import * as i4 from "@angular/common";
|
|
4
|
+
import * as i2 from "./nimble-table-column-anchor-navigation-guard.directive";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
7
6
|
export declare class NimbleTableColumnAnchorModule {
|
|
8
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableColumnAnchorModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NimbleTableColumnAnchorModule, [typeof i1.NimbleTableColumnAnchorDirective, typeof i2.
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NimbleTableColumnAnchorModule, [typeof i1.NimbleTableColumnAnchorDirective, typeof i2.NimbleTableColumnAnchorNavigationGuardDirective], [typeof i3.CommonModule], [typeof i1.NimbleTableColumnAnchorDirective, typeof i2.NimbleTableColumnAnchorNavigationGuardDirective]>;
|
|
10
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<NimbleTableColumnAnchorModule>;
|
|
11
10
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './nimble-table-column-anchor-
|
|
2
|
-
export * from './nimble-table-column-anchor-router-link.directive';
|
|
1
|
+
export * from './nimble-table-column-anchor-navigation-guard.directive';
|
|
3
2
|
export * from './nimble-table-column-anchor.directive';
|
|
4
3
|
export * from './nimble-table-column-anchor.module';
|
package/esm2020/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.mjs
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
|
2
|
-
import { RouterLinkWithHref } from '@angular/router';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Directive to handle nimble-table-column-anchor RouterLink support.
|
|
6
|
-
* Note: Clients need to use [nimbleRouterLink] instead of [routerLink], so that there
|
|
7
|
-
* won't also be an active RouterLink directive incorrectly handling navigation.
|
|
8
|
-
*/
|
|
9
|
-
export class NimbleTableColumnAnchorRouterLinkWithHrefDirective extends RouterLinkWithHref {
|
|
10
|
-
set routerLink(_commands) {
|
|
11
|
-
throw new Error('Directly configuring the routerLink url is not supported. The router url is configured via the href-field-name of the column.');
|
|
12
|
-
}
|
|
13
|
-
onDelegatedEvent(delegatedEvent) {
|
|
14
|
-
if (delegatedEvent.type !== 'click') {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const clickEvent = delegatedEvent;
|
|
18
|
-
const href = delegatedEvent.target.cellRecord.href;
|
|
19
|
-
if (!href) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
// Let the router handle this navigation
|
|
23
|
-
super.routerLink = href;
|
|
24
|
-
if (!this.onClick(clickEvent.button, clickEvent.ctrlKey, clickEvent.shiftKey, clickEvent.altKey, clickEvent.metaKey)) {
|
|
25
|
-
clickEvent.preventDefault();
|
|
26
|
-
}
|
|
27
|
-
super.routerLink = null;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
NimbleTableColumnAnchorRouterLinkWithHrefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkWithHrefDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
-
NimbleTableColumnAnchorRouterLinkWithHrefDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorRouterLinkWithHrefDirective, selector: "nimble-table-column-anchor[nimbleRouterLink]", host: { listeners: { "delegated-event": "onDelegatedEvent($event.detail.originalEvent)" } }, usesInheritance: true, ngImport: i0 });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkWithHrefDirective, decorators: [{
|
|
33
|
-
type: Directive,
|
|
34
|
-
args: [{
|
|
35
|
-
selector: 'nimble-table-column-anchor[nimbleRouterLink]'
|
|
36
|
-
}]
|
|
37
|
-
}], propDecorators: { onDelegatedEvent: [{
|
|
38
|
-
type: HostListener,
|
|
39
|
-
args: ['delegated-event', ['$event.detail.originalEvent']]
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3Itcm91dGVyLWxpbmstd2l0aC1ocmVmLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9hbmNob3IvbmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3Itcm91dGVyLWxpbmstd2l0aC1ocmVmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHckQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxrREFBbUQsU0FBUSxrQkFBa0I7SUFDdEYsSUFBVyxVQUFVLENBQUMsU0FBZ0Q7UUFDbEUsTUFBTSxJQUFJLEtBQUssQ0FBQywrSEFBK0gsQ0FBQyxDQUFDO0lBQ3JKLENBQUM7SUFHTyxnQkFBZ0IsQ0FBQyxjQUFxQjtRQUMxQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2pDLE9BQU87U0FDVjtRQUVELE1BQU0sVUFBVSxHQUFHLGNBQTRCLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUksY0FBYyxDQUFDLE1BQW9DLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUVsRixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTztTQUNWO1FBRUQsd0NBQXdDO1FBQ3hDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xILFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMvQjtRQUNELEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7OytJQXhCUSxrREFBa0Q7bUlBQWxELGtEQUFrRDsyRkFBbEQsa0RBQWtEO2tCQUg5RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4Q0FBOEM7aUJBQzNEOzhCQU9XLGdCQUFnQjtzQkFEdkIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmtXaXRoSHJlZiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uQW5jaG9yQ2VsbFZpZXcgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL2FuY2hvci9jZWxsLXZpZXcnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBoYW5kbGUgbmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3IgUm91dGVyTGluayBzdXBwb3J0LlxuICogTm90ZTogQ2xpZW50cyBuZWVkIHRvIHVzZSBbbmltYmxlUm91dGVyTGlua10gaW5zdGVhZCBvZiBbcm91dGVyTGlua10sIHNvIHRoYXQgdGhlcmVcbiAqIHdvbid0IGFsc28gYmUgYW4gYWN0aXZlIFJvdXRlckxpbmsgZGlyZWN0aXZlIGluY29ycmVjdGx5IGhhbmRsaW5nIG5hdmlnYXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3JbbmltYmxlUm91dGVyTGlua10nXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQW5jaG9yUm91dGVyTGlua1dpdGhIcmVmRGlyZWN0aXZlIGV4dGVuZHMgUm91dGVyTGlua1dpdGhIcmVmIHtcbiAgICBwdWJsaWMgc2V0IHJvdXRlckxpbmsoX2NvbW1hbmRzOiB1bmtub3duW10gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRGlyZWN0bHkgY29uZmlndXJpbmcgdGhlIHJvdXRlckxpbmsgdXJsIGlzIG5vdCBzdXBwb3J0ZWQuIFRoZSByb3V0ZXIgdXJsIGlzIGNvbmZpZ3VyZWQgdmlhIHRoZSBocmVmLWZpZWxkLW5hbWUgb2YgdGhlIGNvbHVtbi4nKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkZWxlZ2F0ZWQtZXZlbnQnLCBbJyRldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudCddKVxuICAgIHByaXZhdGUgb25EZWxlZ2F0ZWRFdmVudChkZWxlZ2F0ZWRFdmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGRlbGVnYXRlZEV2ZW50LnR5cGUgIT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsaWNrRXZlbnQgPSBkZWxlZ2F0ZWRFdmVudCBhcyBNb3VzZUV2ZW50O1xuICAgICAgICBjb25zdCBocmVmID0gKGRlbGVnYXRlZEV2ZW50LnRhcmdldCBhcyBUYWJsZUNvbHVtbkFuY2hvckNlbGxWaWV3KS5jZWxsUmVjb3JkLmhyZWY7XG5cbiAgICAgICAgaWYgKCFocmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMZXQgdGhlIHJvdXRlciBoYW5kbGUgdGhpcyBuYXZpZ2F0aW9uXG4gICAgICAgIHN1cGVyLnJvdXRlckxpbmsgPSBocmVmO1xuICAgICAgICBpZiAoIXRoaXMub25DbGljayhjbGlja0V2ZW50LmJ1dHRvbiwgY2xpY2tFdmVudC5jdHJsS2V5LCBjbGlja0V2ZW50LnNoaWZ0S2V5LCBjbGlja0V2ZW50LmFsdEtleSwgY2xpY2tFdmVudC5tZXRhS2V5KSkge1xuICAgICAgICAgICAgY2xpY2tFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLnJvdXRlckxpbmsgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive used solely to point consumers to use [nimbleRouterLink] / NimbleTableColumnAnchorRouterLinkWithHrefDirective.
|
|
5
|
-
*
|
|
6
|
-
* @see NimbleTableColumnAnchorRouterLinkWithHrefDirective
|
|
7
|
-
*/
|
|
8
|
-
export class NimbleTableColumnAnchorRouterLinkDirective {
|
|
9
|
-
constructor() {
|
|
10
|
-
throw new Error('Use [nimbleRouterLink] instead of [routerLink].');
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
NimbleTableColumnAnchorRouterLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
NimbleTableColumnAnchorRouterLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorRouterLinkDirective, selector: "nimble-table-column-anchor[routerLink]", ngImport: i0 });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorRouterLinkDirective, decorators: [{
|
|
16
|
-
type: Directive,
|
|
17
|
-
args: [{ selector: 'nimble-table-column-anchor[routerLink]' }]
|
|
18
|
-
}], ctorParameters: function () { return []; } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3Itcm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmkvbmltYmxlLWFuZ3VsYXIvdGFibGUtY29sdW1uL2FuY2hvci9uaW1ibGUtdGFibGUtY29sdW1uLWFuY2hvci1yb3V0ZXItbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUM7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQ0FBMEM7SUFDbkQ7UUFDSSxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7dUlBSFEsMENBQTBDOzJIQUExQywwQ0FBMEM7MkZBQTFDLDBDQUEwQztrQkFEdEQsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx3Q0FBd0MsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VkIHNvbGVseSB0byBwb2ludCBjb25zdW1lcnMgdG8gdXNlIFtuaW1ibGVSb3V0ZXJMaW5rXSAvIE5pbWJsZVRhYmxlQ29sdW1uQW5jaG9yUm91dGVyTGlua1dpdGhIcmVmRGlyZWN0aXZlLlxuICpcbiAqIEBzZWUgTmltYmxlVGFibGVDb2x1bW5BbmNob3JSb3V0ZXJMaW5rV2l0aEhyZWZEaXJlY3RpdmVcbiAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3Jbcm91dGVyTGlua10nIH0pXG5leHBvcnQgY2xhc3MgTmltYmxlVGFibGVDb2x1bW5BbmNob3JSb3V0ZXJMaW5rRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVXNlIFtuaW1ibGVSb3V0ZXJMaW5rXSBpbnN0ZWFkIG9mIFtyb3V0ZXJMaW5rXS4nKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { RouterLinkWithHref } from '@angular/router';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive to handle nimble-table-column-anchor RouterLink support.
|
|
5
|
-
* Note: Clients need to use [nimbleRouterLink] instead of [routerLink], so that there
|
|
6
|
-
* won't also be an active RouterLink directive incorrectly handling navigation.
|
|
7
|
-
*/
|
|
8
|
-
export declare class NimbleTableColumnAnchorRouterLinkWithHrefDirective extends RouterLinkWithHref {
|
|
9
|
-
set routerLink(_commands: unknown[] | string | null | undefined);
|
|
10
|
-
private onDelegatedEvent;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableColumnAnchorRouterLinkWithHrefDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableColumnAnchorRouterLinkWithHrefDirective, "nimble-table-column-anchor[nimbleRouterLink]", never, {}, {}, never, never, false>;
|
|
13
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Directive used solely to point consumers to use [nimbleRouterLink] / NimbleTableColumnAnchorRouterLinkWithHrefDirective.
|
|
4
|
-
*
|
|
5
|
-
* @see NimbleTableColumnAnchorRouterLinkWithHrefDirective
|
|
6
|
-
*/
|
|
7
|
-
export declare class NimbleTableColumnAnchorRouterLinkDirective {
|
|
8
|
-
constructor();
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableColumnAnchorRouterLinkDirective, never>;
|
|
10
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableColumnAnchorRouterLinkDirective, "nimble-table-column-anchor[routerLink]", never, {}, {}, never, never, false>;
|
|
11
|
-
}
|