@junte/ui
Version:
Quality Angular UI components kit
42 lines • 4.8 kB
JavaScript
import { __decorate } from "tslib";
import { EventEmitter, Injectable } from '@angular/core';
import * as i0 from "@angular/core";
// TODO: move to interface and check ngc warnings
export class PopoverInstance {
}
let PopoverService = class PopoverService {
constructor() {
this.attached = new EventEmitter();
}
register(popover) {
this.popover = popover;
}
checkRegistration() {
if (!this.popover) {
throw new Error('popover component is not registered');
}
}
show(target, options) {
this.checkRegistration();
this.target = target;
this.popover.show(target, options);
this.attached.emit(target);
return {
hide: () => this.hide(target),
picked: (path) => this.popover.picked(path),
update: () => this.popover.update()
};
}
hide(target = null) {
if (!this.target || this.target === target) {
this.popover.hide();
this.attached.emit(null);
}
}
};
PopoverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PopoverService_Factory() { return new PopoverService(); }, token: PopoverService, providedIn: "root" });
PopoverService = __decorate([
Injectable({ providedIn: 'root' })
], PopoverService);
export { PopoverService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL292ZXJsYXlzL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHckUsaURBQWlEO0FBQ2pELE1BQU0sT0FBTyxlQUFlO0NBSTNCO0FBR0QsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUEzQjtRQUlFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0tBZ0MzQztJQTlCQyxRQUFRLENBQUMsT0FBeUI7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWtCLEVBQUUsT0FBZ0M7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNCLE9BQU87WUFDTCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDN0IsTUFBTSxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQzFELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtTQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVPLElBQUksQ0FBQyxTQUFxQixJQUFJO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0NBRUYsQ0FBQTs7QUFwQ1ksY0FBYztJQUQxQixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7R0FDcEIsY0FBYyxDQW9DMUI7U0FwQ1ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3Zlck9wdGlvbnMgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuLy8gVE9ETzogbW92ZSB0byBpbnRlcmZhY2UgYW5kIGNoZWNrIG5nYyB3YXJuaW5nc1xuZXhwb3J0IGNsYXNzIFBvcG92ZXJJbnN0YW5jZSB7XG4gIGhpZGU6ICgpID0+IHZvaWQ7XG4gIHBpY2tlZDogKHBhdGg6IEhUTUxFbGVtZW50W10pID0+IGJvb2xlYW47XG4gIHVwZGF0ZTogKCkgPT4gdm9pZDtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUG9wb3ZlclNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcbiAgcHJpdmF0ZSB0YXJnZXQ6IEVsZW1lbnRSZWY7XG4gIGF0dGFjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50UmVmPigpO1xuXG4gIHJlZ2lzdGVyKHBvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSBwb3BvdmVyO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1JlZ2lzdHJhdGlvbigpIHtcbiAgICBpZiAoIXRoaXMucG9wb3Zlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwb3BvdmVyIGNvbXBvbmVudCBpcyBub3QgcmVnaXN0ZXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHNob3codGFyZ2V0OiBFbGVtZW50UmVmLCBvcHRpb25zOiBQYXJ0aWFsPFBvcG92ZXJPcHRpb25zPik6IFBvcG92ZXJJbnN0YW5jZSB7XG4gICAgdGhpcy5jaGVja1JlZ2lzdHJhdGlvbigpO1xuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICAgIHRoaXMucG9wb3Zlci5zaG93KHRhcmdldCwgb3B0aW9ucyk7XG4gICAgdGhpcy5hdHRhY2hlZC5lbWl0KHRhcmdldCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaGlkZTogKCkgPT4gdGhpcy5oaWRlKHRhcmdldCksXG4gICAgICBwaWNrZWQ6IChwYXRoOiBIVE1MRWxlbWVudFtdKSA9PiB0aGlzLnBvcG92ZXIucGlja2VkKHBhdGgpLFxuICAgICAgdXBkYXRlOiAoKSA9PiB0aGlzLnBvcG92ZXIudXBkYXRlKClcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlKHRhcmdldDogRWxlbWVudFJlZiA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMudGFyZ2V0IHx8IHRoaXMudGFyZ2V0ID09PSB0YXJnZXQpIHtcbiAgICAgIHRoaXMucG9wb3Zlci5oaWRlKCk7XG4gICAgICB0aGlzLmF0dGFjaGVkLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==