ngx-modialog-11
Version:
Modal / Dialog for Angular
28 lines • 3.68 kB
JavaScript
const vcRefCollection = {};
function getVCRef(key) {
return vcRefCollection[key] ? vcRefCollection[key].slice() : [];
}
function setVCRef(key, vcRef) {
if (!vcRefCollection.hasOwnProperty(key)) {
vcRefCollection[key] = [];
}
vcRefCollection[key].push(vcRef);
}
function delVCRef(key, vcRef) {
if (!vcRef) {
vcRefCollection[key] = [];
}
else {
const coll = vcRefCollection[key] || [], idx = coll.indexOf(vcRef);
if (idx > -1) {
coll.splice(idx, 1);
}
}
}
/**
* A Simple store that holds a reference to ViewContainerRef instances by a user defined key.
* This, with the OverlayTarget directive makes it easy to block the overlay inside an element
* without having to use the angular query boilerplate.
*/
export const vcRefStore = { getVCRef, setVCRef, delVCRef };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtcmVmLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1vZGlhbG9nLTExL3NyYy9saWIvbW9kZWxzL3ZjLXJlZi1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGVBQWUsR0FBMEMsRUFBRSxDQUFDO0FBR2xFLFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDM0IsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBdUI7SUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUMzQjtJQUNELGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUF3QjtJQUNyRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUMzQjtTQUFNO1FBQ0wsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFDckMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyQjtLQUNGO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuY29uc3QgdmNSZWZDb2xsZWN0aW9uOiB7IFtrZXk6IHN0cmluZ106IFZpZXdDb250YWluZXJSZWZbXSB9ID0ge307XHJcblxyXG5cclxuZnVuY3Rpb24gZ2V0VkNSZWYoa2V5OiBzdHJpbmcpOiBWaWV3Q29udGFpbmVyUmVmW10ge1xyXG4gIHJldHVybiB2Y1JlZkNvbGxlY3Rpb25ba2V5XSA/IHZjUmVmQ29sbGVjdGlvbltrZXldLnNsaWNlKCkgOiBbXTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2V0VkNSZWYoa2V5OiBzdHJpbmcsIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XHJcbiAgaWYgKCF2Y1JlZkNvbGxlY3Rpb24uaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgdmNSZWZDb2xsZWN0aW9uW2tleV0gPSBbXTtcclxuICB9XHJcbiAgdmNSZWZDb2xsZWN0aW9uW2tleV0ucHVzaCh2Y1JlZik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlbFZDUmVmKGtleTogc3RyaW5nLCB2Y1JlZj86IFZpZXdDb250YWluZXJSZWYpOiB2b2lkIHtcclxuICBpZiAoIXZjUmVmKSB7XHJcbiAgICB2Y1JlZkNvbGxlY3Rpb25ba2V5XSA9IFtdO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCBjb2xsID0gdmNSZWZDb2xsZWN0aW9uW2tleV0gfHwgW10sXHJcbiAgICAgIGlkeCA9IGNvbGwuaW5kZXhPZih2Y1JlZik7XHJcbiAgICBpZiAoaWR4ID4gLTEpIHtcclxuICAgICAgY29sbC5zcGxpY2UoaWR4LCAxKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIFNpbXBsZSBzdG9yZSB0aGF0IGhvbGRzIGEgcmVmZXJlbmNlIHRvIFZpZXdDb250YWluZXJSZWYgaW5zdGFuY2VzIGJ5IGEgdXNlciBkZWZpbmVkIGtleS5cclxuICogVGhpcywgd2l0aCB0aGUgT3ZlcmxheVRhcmdldCBkaXJlY3RpdmUgbWFrZXMgaXQgZWFzeSB0byBibG9jayB0aGUgb3ZlcmxheSBpbnNpZGUgYW4gZWxlbWVudFxyXG4gKiB3aXRob3V0IGhhdmluZyB0byB1c2UgdGhlIGFuZ3VsYXIgcXVlcnkgYm9pbGVycGxhdGUuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdmNSZWZTdG9yZSA9IHtnZXRWQ1JlZiwgc2V0VkNSZWYsIGRlbFZDUmVmfTtcclxuIl19