@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
27 lines • 8.93 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class BleRssiSignalComponent {
_colorMap;
bars = 0;
set colors(colors) {
this._colorMap = colors;
}
constructor() {
this._colorMap = ['#E51E25', '#FEC212', '#FEC212', '#0FAF4B', '#0FAF4B'];
}
get color() {
const safeIndex = Math.max(0, Math.min(this.bars, this._colorMap.length));
return this._colorMap[safeIndex];
}
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BleRssiSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BleRssiSignalComponent, selector: "tap-ble-rssi-signal", inputs: { bars: "bars", colors: "colors" }, ngImport: i0, template: "<div class=\"rssi-container\">\n <svg\n version=\"1.1\"\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"chart\"\n aria-labelledby=\"title\"\n role=\"img\"\n >\n <svg x=\"6\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"100\"\n x=\"10\"\n y=\"400\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 1 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"106\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"200\"\n x=\"10\"\n y=\"300\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 2 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"206\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"300\"\n x=\"10\"\n y=\"200\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 3 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"306\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"400\"\n x=\"10\"\n y=\"100\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 4 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"406\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"500\"\n x=\"10\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 5 ? 1 : 0\"\n ></rect>\n </svg>\n </svg>\n</div>\n", styles: [".rssi-container{display:inline-block;width:1em;height:1em;contain:strict}.bar rect{fill:currentColor;stroke:#000;stroke-width:3}\n"] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BleRssiSignalComponent, decorators: [{
type: Component,
args: [{ selector: 'tap-ble-rssi-signal', template: "<div class=\"rssi-container\">\n <svg\n version=\"1.1\"\n viewBox=\"0 0 512 512\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n class=\"chart\"\n aria-labelledby=\"title\"\n role=\"img\"\n >\n <svg x=\"6\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"100\"\n x=\"10\"\n y=\"400\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 1 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"106\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"200\"\n x=\"10\"\n y=\"300\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 2 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"206\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"300\"\n x=\"10\"\n y=\"200\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 3 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"306\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"400\"\n x=\"10\"\n y=\"100\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 4 ? 1 : 0\"\n ></rect>\n </svg>\n <svg x=\"406\" class=\"bar\" [attr.color]=\"color\">\n <rect\n height=\"500\"\n x=\"10\"\n width=\"80\"\n rx=\"30\"\n [attr.fill-opacity]=\"bars >= 5 ? 1 : 0\"\n ></rect>\n </svg>\n </svg>\n</div>\n", styles: [".rssi-container{display:inline-block;width:1em;height:1em;contain:strict}.bar rect{fill:currentColor;stroke:#000;stroke-width:3}\n"] }]
}], ctorParameters: () => [], propDecorators: { bars: [{
type: Input
}], colors: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxlLXJzc2ktc2lnbmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9zcmMvbGliL3RhcC1zY2FubmVyL3RhcC1zY2FubmVyLWNvbW1vbi9ibGUtcnNzaS1zaWduYWwvYmxlLXJzc2ktc2lnbmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9zcmMvbGliL3RhcC1zY2FubmVyL3RhcC1zY2FubmVyLWNvbW1vbi9ibGUtcnNzaS1zaWduYWwvYmxlLXJzc2ktc2lnbmFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU96RCxNQUFNLE9BQU8sc0JBQXNCO0lBQ3pCLFNBQVMsQ0FBVztJQUVuQixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLElBQWEsTUFBTSxDQUFDLE1BQWdCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFFRDtRQUNFLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7MkhBaEJVLHNCQUFzQjsrR0FBdEIsc0JBQXNCLHVHQ1BuQyw0K0NBNkRBOzs0RkR0RGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHFCQUFxQjt3REFPdEIsSUFBSTtzQkFBWixLQUFLO2dCQUVPLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFwLWJsZS1yc3NpLXNpZ25hbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibGUtcnNzaS1zaWduYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ibGUtcnNzaS1zaWduYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmxlUnNzaVNpZ25hbENvbXBvbmVudCB7XG4gIHByaXZhdGUgX2NvbG9yTWFwOiBzdHJpbmdbXTtcblxuICBASW5wdXQoKSBiYXJzID0gMDtcblxuICBASW5wdXQoKSBzZXQgY29sb3JzKGNvbG9yczogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9jb2xvck1hcCA9IGNvbG9ycztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX2NvbG9yTWFwID0gWycjRTUxRTI1JywgJyNGRUMyMTInLCAnI0ZFQzIxMicsICcjMEZBRjRCJywgJyMwRkFGNEInXTtcbiAgfVxuXG4gIGdldCBjb2xvcigpIHtcbiAgICBjb25zdCBzYWZlSW5kZXggPSBNYXRoLm1heCgwLCBNYXRoLm1pbih0aGlzLmJhcnMsIHRoaXMuX2NvbG9yTWFwLmxlbmd0aCkpO1xuICAgIHJldHVybiB0aGlzLl9jb2xvck1hcFtzYWZlSW5kZXhdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnNzaS1jb250YWluZXJcIj5cbiAgPHN2Z1xuICAgIHZlcnNpb249XCIxLjFcIlxuICAgIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICBjbGFzcz1cImNoYXJ0XCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJ0aXRsZVwiXG4gICAgcm9sZT1cImltZ1wiXG4gID5cbiAgICA8c3ZnIHg9XCI2XCIgY2xhc3M9XCJiYXJcIiBbYXR0ci5jb2xvcl09XCJjb2xvclwiPlxuICAgICAgPHJlY3RcbiAgICAgICAgaGVpZ2h0PVwiMTAwXCJcbiAgICAgICAgeD1cIjEwXCJcbiAgICAgICAgeT1cIjQwMFwiXG4gICAgICAgIHdpZHRoPVwiODBcIlxuICAgICAgICByeD1cIjMwXCJcbiAgICAgICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImJhcnMgPj0gMSA/IDEgOiAwXCJcbiAgICAgID48L3JlY3Q+XG4gICAgPC9zdmc+XG4gICAgPHN2ZyB4PVwiMTA2XCIgY2xhc3M9XCJiYXJcIiBbYXR0ci5jb2xvcl09XCJjb2xvclwiPlxuICAgICAgPHJlY3RcbiAgICAgICAgaGVpZ2h0PVwiMjAwXCJcbiAgICAgICAgeD1cIjEwXCJcbiAgICAgICAgeT1cIjMwMFwiXG4gICAgICAgIHdpZHRoPVwiODBcIlxuICAgICAgICByeD1cIjMwXCJcbiAgICAgICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImJhcnMgPj0gMiA/IDEgOiAwXCJcbiAgICAgID48L3JlY3Q+XG4gICAgPC9zdmc+XG4gICAgPHN2ZyB4PVwiMjA2XCIgY2xhc3M9XCJiYXJcIiBbYXR0ci5jb2xvcl09XCJjb2xvclwiPlxuICAgICAgPHJlY3RcbiAgICAgICAgaGVpZ2h0PVwiMzAwXCJcbiAgICAgICAgeD1cIjEwXCJcbiAgICAgICAgeT1cIjIwMFwiXG4gICAgICAgIHdpZHRoPVwiODBcIlxuICAgICAgICByeD1cIjMwXCJcbiAgICAgICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImJhcnMgPj0gMyA/IDEgOiAwXCJcbiAgICAgID48L3JlY3Q+XG4gICAgPC9zdmc+XG4gICAgPHN2ZyB4PVwiMzA2XCIgY2xhc3M9XCJiYXJcIiBbYXR0ci5jb2xvcl09XCJjb2xvclwiPlxuICAgICAgPHJlY3RcbiAgICAgICAgaGVpZ2h0PVwiNDAwXCJcbiAgICAgICAgeD1cIjEwXCJcbiAgICAgICAgeT1cIjEwMFwiXG4gICAgICAgIHdpZHRoPVwiODBcIlxuICAgICAgICByeD1cIjMwXCJcbiAgICAgICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImJhcnMgPj0gNCA/IDEgOiAwXCJcbiAgICAgID48L3JlY3Q+XG4gICAgPC9zdmc+XG4gICAgPHN2ZyB4PVwiNDA2XCIgY2xhc3M9XCJiYXJcIiBbYXR0ci5jb2xvcl09XCJjb2xvclwiPlxuICAgICAgPHJlY3RcbiAgICAgICAgaGVpZ2h0PVwiNTAwXCJcbiAgICAgICAgeD1cIjEwXCJcbiAgICAgICAgd2lkdGg9XCI4MFwiXG4gICAgICAgIHJ4PVwiMzBcIlxuICAgICAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiYmFycyA+PSA1ID8gMSA6IDBcIlxuICAgICAgPjwvcmVjdD5cbiAgICA8L3N2Zz5cbiAgPC9zdmc+XG48L2Rpdj5cbiJdfQ==