UNPKG

ontimize-web-ngx

Version:
117 lines 14.3 kB
import { Directive, ElementRef, EventEmitter, Host, HostListener, Input, Optional, Renderer2, Self } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Subscription } from 'rxjs'; import { Codes } from '../../../util/codes'; import { Util } from '../../../util/util'; import { ListItem } from './o-list-item'; import * as i0 from "@angular/core"; import * as i1 from "./o-list-item"; import * as i2 from "@angular/router"; export class OListItemDirective { constructor(listItem, _el, renderer, actRoute) { this.listItem = listItem; this._el = _el; this.renderer = renderer; this.actRoute = actRoute; this.onClick = new EventEmitter(); this.onDoubleClick = new EventEmitter(); this.selectable = false; this.subscription = new Subscription(); } ngOnInit() { this.subscription.add(this.actRoute.params.subscribe(params => this.updateActiveState(params))); } ngOnDestroy() { this.subscription.unsubscribe(); } onMouseEnter() { if (!this.selectable && this._list && this._list.detailMode !== Codes.DETAIL_MODE_NONE) { this.renderer.setStyle(this._el.nativeElement, 'cursor', 'pointer'); } } updateActiveState(params) { if (this._list) { const aKeys = this._list.getKeys(); if (this.modelData) { let _act = false; if (aKeys.length > 0) { for (let k = 0; k < aKeys.length; ++k) { const key = aKeys[k]; const id = params[key]; _act = (this.modelData[key] === id); if (_act === false) { break; } } } if (_act) { this._el.nativeElement.classList.add('mat-active'); } else { this._el.nativeElement.classList.remove('mat-active'); } } else { this._el.nativeElement.classList.remove('mat-active'); } } } onItemClicked(e) { if (!this.selectable && this._list) { this._list.onItemDetailClick(this); this.onClick.emit(this.getItemData()); } } onItemDoubleClicked(e) { if (!this.selectable && this._list) { this._list.onItemDetailDoubleClick(this); this.onDoubleClick.emit(this.getItemData()); } } isSelected() { return this._list && this._list.isItemSelected(this.modelData); } setListComponent(list) { this._list = list; } setItemData(data) { if (!Util.isDefined(this.modelData) || this.modelData !== 'object') { this.modelData = data; } if (Util.isDefined(this.listItem)) { this.listItem.setItemData(this.modelData); } } getItemData() { return this.modelData; } } OListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OListItemDirective, deps: [{ token: i1.ListItem, host: true, optional: true, self: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive }); OListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OListItemDirective, selector: "o-list-item, mat-list-item[o-list-item], mat-card[o-list-item]", inputs: { modelData: ["o-list-item", "modelData"], selectable: "selectable" }, host: { listeners: { "click": "onItemClicked($event)", "dblclick": "onItemDoubleClicked($event)", "mouseenter": "onMouseEnter()" }, properties: { "class.o-list-item": "true" } }, exportAs: ["olistitem"], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OListItemDirective, decorators: [{ type: Directive, args: [{ selector: 'o-list-item, mat-list-item[o-list-item], mat-card[o-list-item]', exportAs: 'olistitem', host: { '[class.o-list-item]': 'true', '(click)': 'onItemClicked($event)', '(dblclick)': 'onItemDoubleClicked($event)' } }] }], ctorParameters: function () { return [{ type: i1.ListItem, decorators: [{ type: Host }, { type: Self }, { type: Optional }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.ActivatedRoute }]; }, propDecorators: { modelData: [{ type: Input, args: ['o-list-item'] }], selectable: [{ type: Input }], onMouseEnter: [{ type: HostListener, args: ['mouseenter'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1saXN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0LWl0ZW0vby1saXN0LWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLEVBQ0osWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFXekMsTUFBTSxPQUFPLGtCQUFrQjtJQWM3QixZQUNxQyxRQUFrQixFQUM5QyxHQUFlLEVBQ2QsUUFBbUIsRUFDcEIsUUFBd0I7UUFISSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzlDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBaEIxQixZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU10RCxlQUFVLEdBQVksS0FBSyxDQUFDO1FBR3pCLGlCQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFPdEQsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFD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QUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBUztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOztnSEEvRlUsa0JBQWtCO29HQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFUOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0VBQWdFO29CQUMxRSxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFO3dCQUNKLHFCQUFxQixFQUFFLE1BQU07d0JBQzdCLFNBQVMsRUFBRSx1QkFBdUI7d0JBQ2xDLFlBQVksRUFBRSw2QkFBNkI7cUJBQzVDO2lCQUNGOzswQkFnQkksSUFBSTs7MEJBQUksSUFBSTs7MEJBQUksUUFBUTswSEFUcEIsU0FBUztzQkFEZixLQUFLO3VCQUFDLGFBQWE7Z0JBSWIsVUFBVTtzQkFEaEIsS0FBSztnQkFzQkMsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3QsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElMaXN0IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9vLWxpc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi9vLWxpc3QtaXRlbSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ28tbGlzdC1pdGVtLCBtYXQtbGlzdC1pdGVtW28tbGlzdC1pdGVtXSwgbWF0LWNhcmRbby1saXN0LWl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdvbGlzdGl0ZW0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLWxpc3QtaXRlbV0nOiAndHJ1ZScsXG4gICAgJyhjbGljayknOiAnb25JdGVtQ2xpY2tlZCgkZXZlbnQpJyxcbiAgICAnKGRibGNsaWNrKSc6ICdvbkl0ZW1Eb3VibGVDbGlja2VkKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT0xpc3RJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHVibGljIG9uRG91YmxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgnby1saXN0LWl0ZW0nKVxuICBwdWJsaWMgbW9kZWxEYXRhOiBhbnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgX2xpc3Q6IElMaXN0O1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBsaXN0SXRlbTogTGlzdEl0ZW0sXG4gICAgcHVibGljIF9lbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHVibGljIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5hY3RSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB0aGlzLnVwZGF0ZUFjdGl2ZVN0YXRlKHBhcmFtcykpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHB1YmxpYyBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5fbGlzdCAmJiB0aGlzLl9saXN0LmRldGFpbE1vZGUgIT09IENvZGVzLkRFVEFJTF9NT0RFX05PTkUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFjdGl2ZVN0YXRlKHBhcmFtcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9saXN0KSB7XG4gICAgICBjb25zdCBhS2V5cyA9IHRoaXMuX2xpc3QuZ2V0S2V5cygpO1xuICAgICAgaWYgKHRoaXMubW9kZWxEYXRhKSB7XG4gICAgICAgIGxldCBfYWN0ID0gZmFsc2U7XG4gICAgICAgIGlmIChhS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBhS2V5cy5sZW5ndGg7ICsraykge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gYUtleXNba107XG4gICAgICAgICAgICBjb25zdCBpZCA9IHBhcmFtc1trZXldO1xuICAgICAgICAgICAgX2FjdCA9ICh0aGlzLm1vZGVsRGF0YVtrZXldID09PSBpZCk7XG4gICAgICAgICAgICBpZiAoX2FjdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChfYWN0KSB7XG4gICAgICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtYWN0aXZlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdtYXQtYWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbWF0LWFjdGl2ZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1DbGlja2VkKGU/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWxlY3RhYmxlICYmIHRoaXMuX2xpc3QpIHtcbiAgICAgIHRoaXMuX2xpc3Qub25JdGVtRGV0YWlsQ2xpY2sodGhpcyk7XG4gICAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzLmdldEl0ZW1EYXRhKCkpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlbURvdWJsZUNsaWNrZWQoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5fbGlzdCkge1xuICAgICAgdGhpcy5fbGlzdC5vbkl0ZW1EZXRhaWxEb3VibGVDbGljayh0aGlzKTtcbiAgICAgIHRoaXMub25Eb3VibGVDbGljay5lbWl0KHRoaXMuZ2V0SXRlbURhdGEoKSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbGlzdCAmJiB0aGlzLl9saXN0LmlzSXRlbVNlbGVjdGVkKHRoaXMubW9kZWxEYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMaXN0Q29tcG9uZW50KGxpc3Q6IElMaXN0KTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdCA9IGxpc3Q7XG4gIH1cblxuICBwdWJsaWMgc2V0SXRlbURhdGEoZGF0YTogYW55KTogdm9pZCB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLm1vZGVsRGF0YSkgfHwgdGhpcy5tb2RlbERhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLm1vZGVsRGF0YSA9IGRhdGE7XG4gICAgfVxuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLmxpc3RJdGVtKSkge1xuICAgICAgdGhpcy5saXN0SXRlbS5zZXRJdGVtRGF0YSh0aGlzLm1vZGVsRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEl0ZW1EYXRhKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxEYXRhO1xuICB9XG5cbn1cbiJdfQ==