@nova-ui/dashboards
Version:
Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and
68 lines • 8.35 kB
JavaScript
// © 2022 SolarWinds Worldwide, LLC. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import { Injectable } from "@angular/core";
import * as i0 from "@angular/core";
export const DEFAULT_COMPARATORS = {
">": {
comparatorFn: (a, b) => a > b,
label: "Value is greater than",
},
"<": {
comparatorFn: (a, b) => a < b,
label: "Value is less than",
},
">=": {
comparatorFn: (a, b) => a >= b,
label: "Value is greater, or equal to",
},
"<=": {
comparatorFn: (a, b) => a <= b,
label: "Value is less than, or equal to",
},
"==": {
// eslint-disable-next-line eqeqeq
comparatorFn: (a, b) => a == b,
label: "Value is exactly",
},
};
export class KpiColorComparatorsRegistryService {
constructor() {
this.comparators = { ...DEFAULT_COMPARATORS };
}
registerComparators(comparators) {
this.comparators = {
...this.comparators,
...comparators,
};
}
clearComparators() {
this.comparators = {};
}
getComparators() {
return this.comparators;
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KpiColorComparatorsRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KpiColorComparatorsRegistryService, providedIn: "root" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KpiColorComparatorsRegistryService, decorators: [{
type: Injectable,
args: [{ providedIn: "root" }]
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLWNvbG9yLWNvbXBhcmF0b3JzLXJlZ2lzdHJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2twaS1jb2xvci1jb21wYXJhdG9ycy1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSw0REFBNEQ7QUFDNUQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSxpRkFBaUY7QUFDakYsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUVqQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBcUI7SUFDakQsR0FBRyxFQUFFO1FBQ0QsWUFBWSxFQUFFLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdkMsS0FBSyxFQUFFLHVCQUF1QjtLQUNqQztJQUNELEdBQUcsRUFBRTtRQUNELFlBQVksRUFBRSxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLEtBQUssRUFBRSxvQkFBb0I7S0FDOUI7SUFDRCxJQUFJLEVBQUU7UUFDRixZQUFZLEVBQUUsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4QyxLQUFLLEVBQUUsK0JBQStCO0tBQ3pDO0lBQ0QsSUFBSSxFQUFFO1FBQ0YsWUFBWSxFQUFFLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEMsS0FBSyxFQUFFLGlDQUFpQztLQUMzQztJQUNELElBQUksRUFBRTtRQUNGLGtDQUFrQztRQUNsQyxZQUFZLEVBQUUsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4QyxLQUFLLEVBQUUsa0JBQWtCO0tBQzVCO0NBQ0osQ0FBQztBQUdGLE1BQU0sT0FBTyxrQ0FBa0M7SUFHM0M7UUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxXQUE2QjtRQUNwRCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQixHQUFHLFdBQVc7U0FDakIsQ0FBQztJQUNOLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7a0lBcEJRLGtDQUFrQztzSUFBbEMsa0NBQWtDLGNBRHJCLE1BQU07OzRGQUNuQixrQ0FBa0M7a0JBRDlDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gwqkgMjAyMiBTb2xhcldpbmRzIFdvcmxkd2lkZSwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0b1xuLy8gIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlXG4vLyAgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yXG4vLyAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBJQ29tcGFyYXRvcnNEaWN0IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTVBBUkFUT1JTOiBJQ29tcGFyYXRvcnNEaWN0ID0ge1xuICAgIFwiPlwiOiB7XG4gICAgICAgIGNvbXBhcmF0b3JGbjogKGE6IGFueSwgYjogYW55KSA9PiBhID4gYixcbiAgICAgICAgbGFiZWw6IFwiVmFsdWUgaXMgZ3JlYXRlciB0aGFuXCIsXG4gICAgfSxcbiAgICBcIjxcIjoge1xuICAgICAgICBjb21wYXJhdG9yRm46IChhOiBhbnksIGI6IGFueSkgPT4gYSA8IGIsXG4gICAgICAgIGxhYmVsOiBcIlZhbHVlIGlzIGxlc3MgdGhhblwiLFxuICAgIH0sXG4gICAgXCI+PVwiOiB7XG4gICAgICAgIGNvbXBhcmF0b3JGbjogKGE6IGFueSwgYjogYW55KSA9PiBhID49IGIsXG4gICAgICAgIGxhYmVsOiBcIlZhbHVlIGlzIGdyZWF0ZXIsIG9yIGVxdWFsIHRvXCIsXG4gICAgfSxcbiAgICBcIjw9XCI6IHtcbiAgICAgICAgY29tcGFyYXRvckZuOiAoYTogYW55LCBiOiBhbnkpID0+IGEgPD0gYixcbiAgICAgICAgbGFiZWw6IFwiVmFsdWUgaXMgbGVzcyB0aGFuLCBvciBlcXVhbCB0b1wiLFxuICAgIH0sXG4gICAgXCI9PVwiOiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgICAgICAgY29tcGFyYXRvckZuOiAoYTogYW55LCBiOiBhbnkpID0+IGEgPT0gYixcbiAgICAgICAgbGFiZWw6IFwiVmFsdWUgaXMgZXhhY3RseVwiLFxuICAgIH0sXG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXG5leHBvcnQgY2xhc3MgS3BpQ29sb3JDb21wYXJhdG9yc1JlZ2lzdHJ5U2VydmljZSB7XG4gICAgcHJvdGVjdGVkIGNvbXBhcmF0b3JzOiBJQ29tcGFyYXRvcnNEaWN0O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY29tcGFyYXRvcnMgPSB7IC4uLkRFRkFVTFRfQ09NUEFSQVRPUlMgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJDb21wYXJhdG9ycyhjb21wYXJhdG9yczogSUNvbXBhcmF0b3JzRGljdCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBhcmF0b3JzID0ge1xuICAgICAgICAgICAgLi4udGhpcy5jb21wYXJhdG9ycyxcbiAgICAgICAgICAgIC4uLmNvbXBhcmF0b3JzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckNvbXBhcmF0b3JzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBhcmF0b3JzID0ge307XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbXBhcmF0b3JzKCk6IElDb21wYXJhdG9yc0RpY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJhdG9ycztcbiAgICB9XG59XG4iXX0=