ng-block-ui
Version:
Angular Block UI
26 lines • 3.53 kB
JavaScript
import { BlockUIServiceInstance } from '../block-ui.module';
export let blockInstanceGuid = 1;
export function BlockUI(blockName, settings = {}) {
if (!settings.scopeToInstance) {
return function (target, propertyKey) {
target[propertyKey] = BlockUIServiceInstance.decorate(blockName);
};
}
return function (target, key) {
const secret = `_${key}-block-ui`;
Object.defineProperty(target, key, {
get: function () {
if (this[secret]) {
return this[secret];
}
const instanceName = `${blockName}-${blockInstanceGuid++}`;
this[secret] = BlockUIServiceInstance.decorate(instanceName);
return this[secret];
},
set: function (value) {
this[secret] = value;
},
});
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stdWkuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvYmxvY2stdWkuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzVELE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUVqQyxNQUFNLFVBQVUsT0FBTyxDQUFDLFNBQWtCLEVBQUUsV0FBcUMsRUFBRTtJQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUM3QixPQUFPLFVBQVUsTUFBWSxFQUFFLFdBQW9CO1lBQ2pELE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDO0tBQ0g7SUFHRCxPQUFPLFVBQVUsTUFBWSxFQUFFLEdBQVk7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUVsQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDakMsR0FBRyxFQUFFO2dCQUNILElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDckI7Z0JBRUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxTQUFTLElBQUksaUJBQWlCLEVBQUUsRUFBRSxDQUFDO2dCQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUU3RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixDQUFDO1lBQ0QsR0FBRyxFQUFFLFVBQVUsS0FBVTtnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJsb2NrVUlTZXJ2aWNlSW5zdGFuY2UgfSBmcm9tICcuLi9ibG9jay11aS5tb2R1bGUnO1xuaW1wb3J0IHsgQmxvY2tVSURlY29yYXRvclNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL2Jsb2NrLXVpLWRlY29yYXRvci1zZXR0aW5ncy5tb2RlbCc7XG5cbmV4cG9ydCBsZXQgYmxvY2tJbnN0YW5jZUd1aWQgPSAxO1xuXG5leHBvcnQgZnVuY3Rpb24gQmxvY2tVSShibG9ja05hbWU/OiBzdHJpbmcsIHNldHRpbmdzOiBCbG9ja1VJRGVjb3JhdG9yU2V0dGluZ3MgPSB7fSkge1xuICBpZiAoIXNldHRpbmdzLnNjb3BlVG9JbnN0YW5jZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0PzogYW55LCBwcm9wZXJ0eUtleT86IHN0cmluZykge1xuICAgICAgdGFyZ2V0W3Byb3BlcnR5S2V5XSA9IEJsb2NrVUlTZXJ2aWNlSW5zdGFuY2UuZGVjb3JhdGUoYmxvY2tOYW1lKTtcbiAgICB9O1xuICB9XG5cblxuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldD86IGFueSwga2V5Pzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VjcmV0ID0gYF8ke2tleX0tYmxvY2stdWlgO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXNbc2VjcmV0XSkge1xuICAgICAgICAgIHJldHVybiB0aGlzW3NlY3JldF07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnN0YW5jZU5hbWUgPSBgJHtibG9ja05hbWV9LSR7YmxvY2tJbnN0YW5jZUd1aWQrK31gO1xuICAgICAgICB0aGlzW3NlY3JldF0gPSBCbG9ja1VJU2VydmljZUluc3RhbmNlLmRlY29yYXRlKGluc3RhbmNlTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXNbc2VjcmV0XTtcbiAgICAgIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXNbc2VjcmV0XSA9IHZhbHVlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==