windows-plus-utilities 0.0.45 → 0.0.47
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/context-menu/components/context-menu/context-menu.component.d.ts +13 -3
- package/context-menu/public-api.d.ts +1 -0
- package/context-menu/util/interface/main/context-menu.interface.d.ts +20 -0
- package/esm2020/context-menu/components/context-menu/context-menu.component.mjs +18 -4
- package/esm2020/context-menu/public-api.mjs +2 -1
- package/esm2020/context-menu/util/interface/main/context-menu.interface.mjs +2 -0
- package/fesm2015/windows-plus-utilities-context-menu.mjs +17 -3
- package/fesm2015/windows-plus-utilities-context-menu.mjs.map +1 -1
- package/fesm2020/windows-plus-utilities-context-menu.mjs +17 -3
- package/fesm2020/windows-plus-utilities-context-menu.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { ContextMenuItem } from '../../public-api';
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
3
2
|
import { ContextMenuPosition } from '../../util/interface/position/context-menu-positions.interface';
|
|
3
|
+
import { ContextMenuItem } from './../../util/interface/items/context-menu-items.interface';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class ContextMenuComponent implements OnChanges {
|
|
6
6
|
/**
|
|
@@ -11,6 +11,10 @@ export declare class ContextMenuComponent implements OnChanges {
|
|
|
11
11
|
* @description an object containing the required context menu position
|
|
12
12
|
*/
|
|
13
13
|
positions: ContextMenuPosition;
|
|
14
|
+
/**
|
|
15
|
+
* @description an event emitter which handles a menu item click
|
|
16
|
+
*/
|
|
17
|
+
handleClick: EventEmitter<ContextMenuItem>;
|
|
14
18
|
/**
|
|
15
19
|
* @description indicates whether the context menu is being shown
|
|
16
20
|
*/
|
|
@@ -21,6 +25,12 @@ export declare class ContextMenuComponent implements OnChanges {
|
|
|
21
25
|
* @param changes the changes to the component properties
|
|
22
26
|
*/
|
|
23
27
|
ngOnChanges(changes: SimpleChanges): void;
|
|
28
|
+
/**
|
|
29
|
+
* @author Alex Hodson
|
|
30
|
+
* @description handles a click on a menu item
|
|
31
|
+
* @param item the menu item clicked
|
|
32
|
+
*/
|
|
33
|
+
handleItemClick(item: ContextMenuItem): void;
|
|
24
34
|
/**
|
|
25
35
|
* @author Alex Hodson
|
|
26
36
|
* @description toggles the component member which indicates the context menu visibility
|
|
@@ -32,5 +42,5 @@ export declare class ContextMenuComponent implements OnChanges {
|
|
|
32
42
|
*/
|
|
33
43
|
handleClose(): void;
|
|
34
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuComponent, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuComponent, "wp-context-menu", never, { "items": "items"; "positions": "positions"; }, {}, never, never, false, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuComponent, "wp-context-menu", never, { "items": "items"; "positions": "positions"; }, { "handleClick": "handleClick"; }, never, never, false, never>;
|
|
36
46
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './components/context-menu/context-menu.component';
|
|
2
2
|
export * from './context-menu.module';
|
|
3
3
|
export * from './util/interface/items/context-menu-items.interface';
|
|
4
|
+
export * from './util/interface/main/context-menu.interface';
|
|
4
5
|
export * from './util/interface/position/context-menu-positions.interface';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ContextMenuItem } from '../items/context-menu-items.interface';
|
|
2
|
+
export interface ContextMenu {
|
|
3
|
+
/**
|
|
4
|
+
* @description an array containing the options for the context menu
|
|
5
|
+
*/
|
|
6
|
+
contextMenuItems: ContextMenuItem[];
|
|
7
|
+
/**
|
|
8
|
+
* @author Alex Hodson
|
|
9
|
+
* @description handles a batch which has been clicked
|
|
10
|
+
* @param $event the click event
|
|
11
|
+
* @param elements parameters provided by the implementation
|
|
12
|
+
*/
|
|
13
|
+
itemClicked($event: any, ...elements: any): void;
|
|
14
|
+
/**
|
|
15
|
+
* @author Alex Hodson
|
|
16
|
+
* @description triggers the handleClick callback of a context menu item
|
|
17
|
+
* @param element the clicked context menu item
|
|
18
|
+
*/
|
|
19
|
+
handleContextMenuItemClick(element: ContextMenuItem): void;
|
|
20
|
+
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { Component, HostListener, Input } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
export class ContextMenuComponent {
|
|
5
5
|
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* @description an event emitter which handles a menu item click
|
|
8
|
+
*/
|
|
9
|
+
this.handleClick = new EventEmitter();
|
|
6
10
|
/**
|
|
7
11
|
* @description indicates whether the context menu is being shown
|
|
8
12
|
*/
|
|
@@ -18,6 +22,14 @@ export class ContextMenuComponent {
|
|
|
18
22
|
this.showContextMenu = true;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* @author Alex Hodson
|
|
27
|
+
* @description handles a click on a menu item
|
|
28
|
+
* @param item the menu item clicked
|
|
29
|
+
*/
|
|
30
|
+
handleItemClick(item) {
|
|
31
|
+
this.handleClick.emit(item);
|
|
32
|
+
}
|
|
21
33
|
/**
|
|
22
34
|
* @author Alex Hodson
|
|
23
35
|
* @description toggles the component member which indicates the context menu visibility
|
|
@@ -35,14 +47,16 @@ export class ContextMenuComponent {
|
|
|
35
47
|
}
|
|
36
48
|
}
|
|
37
49
|
ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ContextMenuComponent, selector: "wp-context-menu", inputs: { items: "items", positions: "positions" }, host: { listeners: { "document:click": "handleClose()", "document:contextmenu": "handleClose($event)", "document:keyup.escape": "handleClose()" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\"
|
|
50
|
+
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ContextMenuComponent, selector: "wp-context-menu", inputs: { items: "items", positions: "positions" }, outputs: { handleClick: "handleClick" }, host: { listeners: { "document:click": "handleClose()", "document:contextmenu": "handleClose($event)", "document:keyup.escape": "handleClose()" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>", styles: ["#context-menu.show{display:block;position:absolute;left:0;right:0}#context-menu{display:none;position:relative;max-width:100px;width:100px}#context-menu #context-menu-container{border:1px solid var(--wp-lightGrey);background:#FFF;width:100%;box-shadow:0 8px 16px #0000004d}#context-menu #context-menu-container ul{list-style-type:none;padding:0;margin:0}#context-menu #context-menu-container ul li{padding:.5rem 1rem;border-bottom:1px solid var(--wp-lightGrey)}#context-menu #context-menu-container ul li:hover{background:var(--wp-lightGrey);cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
39
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
40
52
|
type: Component,
|
|
41
|
-
args: [{ selector: 'wp-context-menu', template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\"
|
|
53
|
+
args: [{ selector: 'wp-context-menu', template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>", styles: ["#context-menu.show{display:block;position:absolute;left:0;right:0}#context-menu{display:none;position:relative;max-width:100px;width:100px}#context-menu #context-menu-container{border:1px solid var(--wp-lightGrey);background:#FFF;width:100%;box-shadow:0 8px 16px #0000004d}#context-menu #context-menu-container ul{list-style-type:none;padding:0;margin:0}#context-menu #context-menu-container ul li{padding:.5rem 1rem;border-bottom:1px solid var(--wp-lightGrey)}#context-menu #context-menu-container ul li:hover{background:var(--wp-lightGrey);cursor:pointer}\n"] }]
|
|
42
54
|
}], propDecorators: { items: [{
|
|
43
55
|
type: Input
|
|
44
56
|
}], positions: [{
|
|
45
57
|
type: Input
|
|
58
|
+
}], handleClick: [{
|
|
59
|
+
type: Output
|
|
46
60
|
}], handleClose: [{
|
|
47
61
|
type: HostListener,
|
|
48
62
|
args: ['document:click']
|
|
@@ -53,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
53
67
|
type: HostListener,
|
|
54
68
|
args: ['document:keyup.escape']
|
|
55
69
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvY29udGV4dC1tZW51L2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aW5kb3dzLXBsdXMtdXRpbGl0aWVzL2NvbnRleHQtbWVudS9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFTL0csTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQWNDOztXQUVHO1FBQ08sZ0JBQVcsR0FBa0MsSUFBSSxZQUFZLEVBQW1CLENBQUE7UUFDMUY7O1dBRUc7UUFDSCxvQkFBZSxHQUFZLEtBQUssQ0FBQTtLQW9DaEM7SUFuQ0E7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtTQUMzQjtJQUNGLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLElBQXFCO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxpQkFBaUI7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0MsQ0FBQztJQUNEOzs7T0FHRztJQUlGLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7SUFDcEQsQ0FBQzs7aUhBbkRVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDhUQ1RqQyw0VUFNTTsyRkRHTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQVFuQixLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNO2dCQXFDTixXQUFXO3NCQUhYLFlBQVk7dUJBQUMsZ0JBQWdCOztzQkFDN0IsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQzlDLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbC9pbnRlcmZhY2UvcG9zaXRpb24vY29udGV4dC1tZW51LXBvc2l0aW9ucy5pbnRlcmZhY2UnXG5pbXBvcnQgeyBDb250ZXh0TWVudUl0ZW0gfSBmcm9tICcuLy4uLy4uL3V0aWwvaW50ZXJmYWNlL2l0ZW1zL2NvbnRleHQtbWVudS1pdGVtcy5pbnRlcmZhY2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dwLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50LnNhc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gYW4gYXJyYXkgY29udGFpbmluZyB0aGUgY29udGV4dCBtZW51IGl0ZW1zIHRvIGJlIGRpc3BsYXllZFxuXHQgKi9cblx0QElucHV0KCkgaXRlbXM6IENvbnRleHRNZW51SXRlbVtdXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVpcmVkIGNvbnRleHQgbWVudSBwb3NpdGlvblxuXHQgKi9cblx0QElucHV0KCkgcG9zaXRpb25zOiBDb250ZXh0TWVudVBvc2l0aW9uXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gYW4gZXZlbnQgZW1pdHRlciB3aGljaCBoYW5kbGVzIGEgbWVudSBpdGVtIGNsaWNrXG5cdCAqL1xuXHRAT3V0cHV0KCkgaGFuZGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDb250ZXh0TWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb250ZXh0TWVudUl0ZW0+KClcblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBpbmRpY2F0ZXMgd2hldGhlciB0aGUgY29udGV4dCBtZW51IGlzIGJlaW5nIHNob3duIFxuXHQgKi9cblx0c2hvd0NvbnRleHRNZW51OiBib29sZWFuID0gZmFsc2Vcblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIGhhbmRsZXMgYSBjaGFuZ2UgaW4gdGhlIGNvbXBvbmVudHMgaW5wdXQgcHJvcGVydGllc1xuXHQgKiBAcGFyYW0gY2hhbmdlcyB0aGUgY2hhbmdlcyB0byB0aGUgY29tcG9uZW50IHByb3BlcnRpZXNcblx0ICovXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoY2hhbmdlc1sncG9zaXRpb25zJ10pIHtcblx0XHRcdHRoaXMuc2hvd0NvbnRleHRNZW51ID0gdHJ1ZVxuXHRcdH1cblx0fVxuXHQvKipcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxuXHQgKiBAZGVzY3JpcHRpb24gaGFuZGxlcyBhIGNsaWNrIG9uIGEgbWVudSBpdGVtXG5cdCAqIEBwYXJhbSBpdGVtIHRoZSBtZW51IGl0ZW0gY2xpY2tlZFxuXHQgKi9cblx0aGFuZGxlSXRlbUNsaWNrKGl0ZW06IENvbnRleHRNZW51SXRlbSk6IHZvaWQge1xuXHRcdHRoaXMuaGFuZGxlQ2xpY2suZW1pdChpdGVtKVxuXHR9XG5cdC8qKlxuXHQgKiBAYXV0aG9yIEFsZXggSG9kc29uXG5cdCAqIEBkZXNjcmlwdGlvbiB0b2dnbGVzIHRoZSBjb21wb25lbnQgbWVtYmVyIHdoaWNoIGluZGljYXRlcyB0aGUgY29udGV4dCBtZW51IHZpc2liaWxpdHlcblx0ICovXG5cdHRvZ2dsZUNvbnRleHRNZW51KCk6IHZvaWQge1xuXHRcdHRoaXMuc2hvd0NvbnRleHRNZW51ID0gIXRoaXMuc2hvd0NvbnRleHRNZW51XG5cdH1cblx0LyoqXG5cdCAqIEBhdXRob3IgQWxleCBIb2Rzb25cblx0ICogQGRlc2NyaXB0aW9uIGhhbmRsZXMgYSBjbGljayBvdXRzaWRlIG9mIHRoZSBjb250ZXh0IG1lbnUgd2hpY2ggd2lsbCB0b2dnbGUgdGhlIGNvbnRleHQgbWVudSBkaXNwbGF5XG5cdCAqL1xuXHRASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycpXG5cdEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNvbnRleHRtZW51JywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAuZXNjYXBlJylcbiAgaGFuZGxlQ2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvd0NvbnRleHRNZW51KSB0aGlzLnRvZ2dsZUNvbnRleHRNZW51KClcbiAgfVxufVxuIiwiPGRpdiBpZD1cImNvbnRleHQtbWVudVwiIFtuZ0NsYXNzXT1cInsgJ3Nob3cnOiBzaG93Q29udGV4dE1lbnUgfVwiIFtuZ1N0eWxlXT1cInBvc2l0aW9uc1wiPlxuXHQ8ZGl2IGlkPVwiY29udGV4dC1tZW51LWNvbnRhaW5lclwiIGNsYXNzPVwiY29udGV4dC1tZW51XCI+XG5cdFx0PHVsIGNsYXNzPVwibWVudVwiPlxuXHRcdFx0PGxpIGNsYXNzPVwidGV4dC1ncmV5XCIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgaXRlbXNcIiAoY2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKGVsZW1lbnQpXCI+e3tlbGVtZW50LmxhYmVsfX08L2xpPlxuXHRcdDwvdWw+XG5cdDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
export * from './components/context-menu/context-menu.component';
|
|
5
5
|
export * from './context-menu.module';
|
|
6
6
|
export * from './util/interface/items/context-menu-items.interface';
|
|
7
|
+
export * from './util/interface/main/context-menu.interface';
|
|
7
8
|
export * from './util/interface/position/context-menu-positions.interface';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvY29udGV4dC1tZW51L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsNERBQTRELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygd2luZG93cy1wbHVzLXV0aWxpdGllc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tZW51Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9pbnRlcmZhY2UvaXRlbXMvY29udGV4dC1tZW51LWl0ZW1zLmludGVyZmFjZSdcclxuZXhwb3J0ICogZnJvbSAnLi91dGlsL2ludGVyZmFjZS9tYWluL2NvbnRleHQtbWVudS5pbnRlcmZhY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9pbnRlcmZhY2UvcG9zaXRpb24vY29udGV4dC1tZW51LXBvc2l0aW9ucy5pbnRlcmZhY2UnXHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpbmRvd3MtcGx1cy11dGlsaXRpZXMvY29udGV4dC1tZW51L3V0aWwvaW50ZXJmYWNlL21haW4vY29udGV4dC1tZW51LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vaXRlbXMvY29udGV4dC1tZW51LWl0ZW1zLmludGVyZmFjZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE1lbnUge1xyXG5cdC8qKlxyXG5cdCAqIEBkZXNjcmlwdGlvbiBhbiBhcnJheSBjb250YWluaW5nIHRoZSBvcHRpb25zIGZvciB0aGUgY29udGV4dCBtZW51XHJcblx0ICovXHJcblx0Y29udGV4dE1lbnVJdGVtczogQ29udGV4dE1lbnVJdGVtW11cclxuXHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiBoYW5kbGVzIGEgYmF0Y2ggd2hpY2ggaGFzIGJlZW4gY2xpY2tlZFxyXG5cdCAqIEBwYXJhbSAkZXZlbnQgdGhlIGNsaWNrIGV2ZW50XHJcblx0ICogQHBhcmFtIGVsZW1lbnRzIHBhcmFtZXRlcnMgcHJvdmlkZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uXHJcblx0ICovXHJcblx0aXRlbUNsaWNrZWQoJGV2ZW50OiBhbnksIC4uLmVsZW1lbnRzOiBhbnkpOiB2b2lkXHJcblx0LyoqXHJcblx0ICogQGF1dGhvciBBbGV4IEhvZHNvblxyXG5cdCAqIEBkZXNjcmlwdGlvbiB0cmlnZ2VycyB0aGUgaGFuZGxlQ2xpY2sgY2FsbGJhY2sgb2YgYSBjb250ZXh0IG1lbnUgaXRlbVxyXG5cdCAqIEBwYXJhbSBlbGVtZW50IHRoZSBjbGlja2VkIGNvbnRleHQgbWVudSBpdGVtXHJcblx0ICovXHJcblx0aGFuZGxlQ29udGV4dE1lbnVJdGVtQ2xpY2soZWxlbWVudDogQ29udGV4dE1lbnVJdGVtKTogdm9pZFxyXG59Il19
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
6
|
class ContextMenuComponent {
|
|
7
7
|
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* @description an event emitter which handles a menu item click
|
|
10
|
+
*/
|
|
11
|
+
this.handleClick = new EventEmitter();
|
|
8
12
|
/**
|
|
9
13
|
* @description indicates whether the context menu is being shown
|
|
10
14
|
*/
|
|
@@ -20,6 +24,14 @@ class ContextMenuComponent {
|
|
|
20
24
|
this.showContextMenu = true;
|
|
21
25
|
}
|
|
22
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* @author Alex Hodson
|
|
29
|
+
* @description handles a click on a menu item
|
|
30
|
+
* @param item the menu item clicked
|
|
31
|
+
*/
|
|
32
|
+
handleItemClick(item) {
|
|
33
|
+
this.handleClick.emit(item);
|
|
34
|
+
}
|
|
23
35
|
/**
|
|
24
36
|
* @author Alex Hodson
|
|
25
37
|
* @description toggles the component member which indicates the context menu visibility
|
|
@@ -37,14 +49,16 @@ class ContextMenuComponent {
|
|
|
37
49
|
}
|
|
38
50
|
}
|
|
39
51
|
ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ContextMenuComponent, selector: "wp-context-menu", inputs: { items: "items", positions: "positions" }, host: { listeners: { "document:click": "handleClose()", "document:contextmenu": "handleClose($event)", "document:keyup.escape": "handleClose()" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\"
|
|
52
|
+
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ContextMenuComponent, selector: "wp-context-menu", inputs: { items: "items", positions: "positions" }, outputs: { handleClick: "handleClick" }, host: { listeners: { "document:click": "handleClose()", "document:contextmenu": "handleClose($event)", "document:keyup.escape": "handleClose()" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>", styles: ["#context-menu.show{display:block;position:absolute;left:0;right:0}#context-menu{display:none;position:relative;max-width:100px;width:100px}#context-menu #context-menu-container{border:1px solid var(--wp-lightGrey);background:#FFF;width:100%;box-shadow:0 8px 16px #0000004d}#context-menu #context-menu-container ul{list-style-type:none;padding:0;margin:0}#context-menu #context-menu-container ul li{padding:.5rem 1rem;border-bottom:1px solid var(--wp-lightGrey)}#context-menu #context-menu-container ul li:hover{background:var(--wp-lightGrey);cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
41
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
42
54
|
type: Component,
|
|
43
|
-
args: [{ selector: 'wp-context-menu', template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\"
|
|
55
|
+
args: [{ selector: 'wp-context-menu', template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>", styles: ["#context-menu.show{display:block;position:absolute;left:0;right:0}#context-menu{display:none;position:relative;max-width:100px;width:100px}#context-menu #context-menu-container{border:1px solid var(--wp-lightGrey);background:#FFF;width:100%;box-shadow:0 8px 16px #0000004d}#context-menu #context-menu-container ul{list-style-type:none;padding:0;margin:0}#context-menu #context-menu-container ul li{padding:.5rem 1rem;border-bottom:1px solid var(--wp-lightGrey)}#context-menu #context-menu-container ul li:hover{background:var(--wp-lightGrey);cursor:pointer}\n"] }]
|
|
44
56
|
}], propDecorators: { items: [{
|
|
45
57
|
type: Input
|
|
46
58
|
}], positions: [{
|
|
47
59
|
type: Input
|
|
60
|
+
}], handleClick: [{
|
|
61
|
+
type: Output
|
|
48
62
|
}], handleClose: [{
|
|
49
63
|
type: HostListener,
|
|
50
64
|
args: ['document:click']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows-plus-utilities-context-menu.mjs","sources":["../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.ts","../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.html","../../../projects/windows-plus-utilities/context-menu/context-menu.module.ts","../../../projects/windows-plus-utilities/context-menu/public-api.ts","../../../projects/windows-plus-utilities/context-menu/windows-plus-utilities-context-menu.ts"],"sourcesContent":["import { Component, HostListener, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport {
|
|
1
|
+
{"version":3,"file":"windows-plus-utilities-context-menu.mjs","sources":["../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.ts","../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.html","../../../projects/windows-plus-utilities/context-menu/context-menu.module.ts","../../../projects/windows-plus-utilities/context-menu/public-api.ts","../../../projects/windows-plus-utilities/context-menu/windows-plus-utilities-context-menu.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ContextMenuPosition } from '../../util/interface/position/context-menu-positions.interface'\nimport { ContextMenuItem } from './../../util/interface/items/context-menu-items.interface'\n\n@Component({\n selector: 'wp-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.sass']\n})\nexport class ContextMenuComponent implements OnChanges {\n\t/**\n\t * @description an array containing the context menu items to be displayed\n\t */\n\t@Input() items: ContextMenuItem[]\n\t/**\n\t * @description an object containing the required context menu position\n\t */\n\t@Input() positions: ContextMenuPosition\n\t/**\n\t * @description an event emitter which handles a menu item click\n\t */\n\t@Output() handleClick: EventEmitter<ContextMenuItem> = new EventEmitter<ContextMenuItem>()\n\t/**\n\t * @description indicates whether the context menu is being shown \n\t */\n\tshowContextMenu: boolean = false\n\t/**\n\t * @author Alex Hodson\n\t * @description handles a change in the components input properties\n\t * @param changes the changes to the component properties\n\t */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['positions']) {\n\t\t\tthis.showContextMenu = true\n\t\t}\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles a click on a menu item\n\t * @param item the menu item clicked\n\t */\n\thandleItemClick(item: ContextMenuItem): void {\n\t\tthis.handleClick.emit(item)\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description toggles the component member which indicates the context menu visibility\n\t */\n\ttoggleContextMenu(): void {\n\t\tthis.showContextMenu = !this.showContextMenu\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles a click outside of the context menu which will toggle the context menu display\n\t */\n\t@HostListener('document:click')\n\t@HostListener('document:contextmenu', ['$event'])\n @HostListener('document:keyup.escape')\n handleClose(): void {\n if (this.showContextMenu) this.toggleContextMenu()\n }\n}\n","<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContextMenuComponent } from './components/context-menu/context-menu.component';\n\n\n\n@NgModule({\n declarations: [\n ContextMenuComponent\n ],\n imports: [\n CommonModule\n ],\n\texports: [\n ContextMenuComponent\n\t]\n})\nexport class ContextMenuModule { }\n","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\n\r\nexport * from './components/context-menu/context-menu.component';\r\nexport * from './context-menu.module';\r\nexport * from './util/interface/items/context-menu-items.interface'\r\nexport * from './util/interface/main/context-menu.interface'\r\nexport * from './util/interface/position/context-menu-positions.interface'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
6
|
class ContextMenuComponent {
|
|
7
7
|
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* @description an event emitter which handles a menu item click
|
|
10
|
+
*/
|
|
11
|
+
this.handleClick = new EventEmitter();
|
|
8
12
|
/**
|
|
9
13
|
* @description indicates whether the context menu is being shown
|
|
10
14
|
*/
|
|
@@ -20,6 +24,14 @@ class ContextMenuComponent {
|
|
|
20
24
|
this.showContextMenu = true;
|
|
21
25
|
}
|
|
22
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* @author Alex Hodson
|
|
29
|
+
* @description handles a click on a menu item
|
|
30
|
+
* @param item the menu item clicked
|
|
31
|
+
*/
|
|
32
|
+
handleItemClick(item) {
|
|
33
|
+
this.handleClick.emit(item);
|
|
34
|
+
}
|
|
23
35
|
/**
|
|
24
36
|
* @author Alex Hodson
|
|
25
37
|
* @description toggles the component member which indicates the context menu visibility
|
|
@@ -37,14 +49,16 @@ class ContextMenuComponent {
|
|
|
37
49
|
}
|
|
38
50
|
}
|
|
39
51
|
ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ContextMenuComponent, selector: "wp-context-menu", inputs: { items: "items", positions: "positions" }, host: { listeners: { "document:click": "handleClose()", "document:contextmenu": "handleClose($event)", "document:keyup.escape": "handleClose()" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\"
|
|
52
|
+
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ContextMenuComponent, selector: "wp-context-menu", inputs: { items: "items", positions: "positions" }, outputs: { handleClick: "handleClick" }, host: { listeners: { "document:click": "handleClose()", "document:contextmenu": "handleClose($event)", "document:keyup.escape": "handleClose()" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>", styles: ["#context-menu.show{display:block;position:absolute;left:0;right:0}#context-menu{display:none;position:relative;max-width:100px;width:100px}#context-menu #context-menu-container{border:1px solid var(--wp-lightGrey);background:#FFF;width:100%;box-shadow:0 8px 16px #0000004d}#context-menu #context-menu-container ul{list-style-type:none;padding:0;margin:0}#context-menu #context-menu-container ul li{padding:.5rem 1rem;border-bottom:1px solid var(--wp-lightGrey)}#context-menu #context-menu-container ul li:hover{background:var(--wp-lightGrey);cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
41
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
42
54
|
type: Component,
|
|
43
|
-
args: [{ selector: 'wp-context-menu', template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\"
|
|
55
|
+
args: [{ selector: 'wp-context-menu', template: "<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>", styles: ["#context-menu.show{display:block;position:absolute;left:0;right:0}#context-menu{display:none;position:relative;max-width:100px;width:100px}#context-menu #context-menu-container{border:1px solid var(--wp-lightGrey);background:#FFF;width:100%;box-shadow:0 8px 16px #0000004d}#context-menu #context-menu-container ul{list-style-type:none;padding:0;margin:0}#context-menu #context-menu-container ul li{padding:.5rem 1rem;border-bottom:1px solid var(--wp-lightGrey)}#context-menu #context-menu-container ul li:hover{background:var(--wp-lightGrey);cursor:pointer}\n"] }]
|
|
44
56
|
}], propDecorators: { items: [{
|
|
45
57
|
type: Input
|
|
46
58
|
}], positions: [{
|
|
47
59
|
type: Input
|
|
60
|
+
}], handleClick: [{
|
|
61
|
+
type: Output
|
|
48
62
|
}], handleClose: [{
|
|
49
63
|
type: HostListener,
|
|
50
64
|
args: ['document:click']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows-plus-utilities-context-menu.mjs","sources":["../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.ts","../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.html","../../../projects/windows-plus-utilities/context-menu/context-menu.module.ts","../../../projects/windows-plus-utilities/context-menu/public-api.ts","../../../projects/windows-plus-utilities/context-menu/windows-plus-utilities-context-menu.ts"],"sourcesContent":["import { Component, HostListener, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport {
|
|
1
|
+
{"version":3,"file":"windows-plus-utilities-context-menu.mjs","sources":["../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.ts","../../../projects/windows-plus-utilities/context-menu/components/context-menu/context-menu.component.html","../../../projects/windows-plus-utilities/context-menu/context-menu.module.ts","../../../projects/windows-plus-utilities/context-menu/public-api.ts","../../../projects/windows-plus-utilities/context-menu/windows-plus-utilities-context-menu.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ContextMenuPosition } from '../../util/interface/position/context-menu-positions.interface'\nimport { ContextMenuItem } from './../../util/interface/items/context-menu-items.interface'\n\n@Component({\n selector: 'wp-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.sass']\n})\nexport class ContextMenuComponent implements OnChanges {\n\t/**\n\t * @description an array containing the context menu items to be displayed\n\t */\n\t@Input() items: ContextMenuItem[]\n\t/**\n\t * @description an object containing the required context menu position\n\t */\n\t@Input() positions: ContextMenuPosition\n\t/**\n\t * @description an event emitter which handles a menu item click\n\t */\n\t@Output() handleClick: EventEmitter<ContextMenuItem> = new EventEmitter<ContextMenuItem>()\n\t/**\n\t * @description indicates whether the context menu is being shown \n\t */\n\tshowContextMenu: boolean = false\n\t/**\n\t * @author Alex Hodson\n\t * @description handles a change in the components input properties\n\t * @param changes the changes to the component properties\n\t */\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['positions']) {\n\t\t\tthis.showContextMenu = true\n\t\t}\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles a click on a menu item\n\t * @param item the menu item clicked\n\t */\n\thandleItemClick(item: ContextMenuItem): void {\n\t\tthis.handleClick.emit(item)\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description toggles the component member which indicates the context menu visibility\n\t */\n\ttoggleContextMenu(): void {\n\t\tthis.showContextMenu = !this.showContextMenu\n\t}\n\t/**\n\t * @author Alex Hodson\n\t * @description handles a click outside of the context menu which will toggle the context menu display\n\t */\n\t@HostListener('document:click')\n\t@HostListener('document:contextmenu', ['$event'])\n @HostListener('document:keyup.escape')\n handleClose(): void {\n if (this.showContextMenu) this.toggleContextMenu()\n }\n}\n","<div id=\"context-menu\" [ngClass]=\"{ 'show': showContextMenu }\" [ngStyle]=\"positions\">\n\t<div id=\"context-menu-container\" class=\"context-menu\">\n\t\t<ul class=\"menu\">\n\t\t\t<li class=\"text-grey\" *ngFor=\"let element of items\" (click)=\"handleItemClick(element)\">{{element.label}}</li>\n\t\t</ul>\n\t</div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContextMenuComponent } from './components/context-menu/context-menu.component';\n\n\n\n@NgModule({\n declarations: [\n ContextMenuComponent\n ],\n imports: [\n CommonModule\n ],\n\texports: [\n ContextMenuComponent\n\t]\n})\nexport class ContextMenuModule { }\n","/*\r\n * Public API Surface of windows-plus-utilities\r\n */\r\n\r\nexport * from './components/context-menu/context-menu.component';\r\nexport * from './context-menu.module';\r\nexport * from './util/interface/items/context-menu-items.interface'\r\nexport * from './util/interface/main/context-menu.interface'\r\nexport * from './util/interface/position/context-menu-positions.interface'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|