@junte/ui
Version:
Quality Angular UI components kit
49 lines • 5.38 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
var PopoverInstance = /** @class */ (function () {
function PopoverInstance() {
}
return PopoverInstance;
}());
export { PopoverInstance };
var PopoverService = /** @class */ (function () {
function PopoverService() {
this.attached = new EventEmitter();
}
PopoverService.prototype.register = function (popover) {
this.popover = popover;
};
PopoverService.prototype.checkRegistration = function () {
if (!this.popover) {
throw new Error('popover component is not registered');
}
};
PopoverService.prototype.show = function (target, options) {
var _this = this;
this.checkRegistration();
this.target = target;
this.popover.show(target, options);
this.attached.emit(target);
return {
hide: function () { return _this.hide(target); },
picked: function (path) { return _this.popover.picked(path); },
update: function () { return _this.popover.update(); }
};
};
PopoverService.prototype.hide = function (target) {
if (target === void 0) { 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);
return PopoverService;
}());
export { PopoverService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL292ZXJsYXlzL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHckUsaURBQWlEO0FBQ2pEO0lBQUE7SUFJQSxDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQzs7QUFHRDtJQUFBO1FBSUUsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7S0FnQzNDO0lBOUJDLGlDQUFRLEdBQVIsVUFBUyxPQUF5QjtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU8sMENBQWlCLEdBQXpCO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUVELDZCQUFJLEdBQUosVUFBSyxNQUFrQixFQUFFLE9BQWdDO1FBQXpELGlCQVdDO1FBVkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNCLE9BQU87WUFDTCxJQUFJLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQWpCLENBQWlCO1lBQzdCLE1BQU0sRUFBRSxVQUFDLElBQW1CLElBQUssT0FBQSxLQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBekIsQ0FBeUI7WUFDMUQsTUFBTSxFQUFFLGNBQU0sT0FBQSxLQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFyQixDQUFxQjtTQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVPLDZCQUFJLEdBQVosVUFBYSxNQUF5QjtRQUF6Qix1QkFBQSxFQUFBLGFBQXlCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDOztJQWxDVSxjQUFjO1FBRDFCLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztPQUNwQixjQUFjLENBb0MxQjt5QkEvQ0Q7Q0ErQ0MsQUFwQ0QsSUFvQ0M7U0FwQ1ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3Zlck9wdGlvbnMgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuLy8gVE9ETzogbW92ZSB0byBpbnRlcmZhY2UgYW5kIGNoZWNrIG5nYyB3YXJuaW5nc1xuZXhwb3J0IGNsYXNzIFBvcG92ZXJJbnN0YW5jZSB7XG4gIGhpZGU6ICgpID0+IHZvaWQ7XG4gIHBpY2tlZDogKHBhdGg6IEhUTUxFbGVtZW50W10pID0+IGJvb2xlYW47XG4gIHVwZGF0ZTogKCkgPT4gdm9pZDtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUG9wb3ZlclNlcnZpY2Uge1xuXG4gIHByaXZhdGUgcG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcbiAgcHJpdmF0ZSB0YXJnZXQ6IEVsZW1lbnRSZWY7XG4gIGF0dGFjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50UmVmPigpO1xuXG4gIHJlZ2lzdGVyKHBvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSBwb3BvdmVyO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1JlZ2lzdHJhdGlvbigpIHtcbiAgICBpZiAoIXRoaXMucG9wb3Zlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwb3BvdmVyIGNvbXBvbmVudCBpcyBub3QgcmVnaXN0ZXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHNob3codGFyZ2V0OiBFbGVtZW50UmVmLCBvcHRpb25zOiBQYXJ0aWFsPFBvcG92ZXJPcHRpb25zPik6IFBvcG92ZXJJbnN0YW5jZSB7XG4gICAgdGhpcy5jaGVja1JlZ2lzdHJhdGlvbigpO1xuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICAgIHRoaXMucG9wb3Zlci5zaG93KHRhcmdldCwgb3B0aW9ucyk7XG4gICAgdGhpcy5hdHRhY2hlZC5lbWl0KHRhcmdldCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaGlkZTogKCkgPT4gdGhpcy5oaWRlKHRhcmdldCksXG4gICAgICBwaWNrZWQ6IChwYXRoOiBIVE1MRWxlbWVudFtdKSA9PiB0aGlzLnBvcG92ZXIucGlja2VkKHBhdGgpLFxuICAgICAgdXBkYXRlOiAoKSA9PiB0aGlzLnBvcG92ZXIudXBkYXRlKClcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlKHRhcmdldDogRWxlbWVudFJlZiA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMudGFyZ2V0IHx8IHRoaXMudGFyZ2V0ID09PSB0YXJnZXQpIHtcbiAgICAgIHRoaXMucG9wb3Zlci5oaWRlKCk7XG4gICAgICB0aGlzLmF0dGFjaGVkLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==