@larva.io/webcomponents
Version:
Fentrica SmartUnits WebComponents package
55 lines (51 loc) • 3.42 kB
JavaScript
/*!
* (C) Fentrica http://fentrica.com - Seee LICENSE.md
*/
import { r as registerInstance, h } from './index-C4h1muVj.js';
import { s as sortBy, f as forOwn } from './sortBy-CwYoYzqo.js';
import { g as groupBy } from './groupBy-_4PRCRNk.js';
import './_baseMap-kP2T3hT_.js';
import './_getAllKeys-C08dM1uK.js';
import './_isIndex-DgTx77bC.js';
import './isLength-BBM_tGdM.js';
import './isObjectLike-CIR68wtF.js';
import './global-C56buD75.js';
import './isObject-C7eoH3L1.js';
import './isArray-C_HhfJYh.js';
import './_getTag-CFse-dEC.js';
import './_hasPath-BgJxJEDp.js';
import './_setToString-CpaW37bP.js';
import './_defineProperty-CWEcucM9.js';
import './_baseAssignValue-DAaC80vH.js';
const areaCss = "slot-fb[hidden],slot[hidden]{display:initial !important}.details{padding:3rem 0 0 0}.details lar-button-group{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.actions{min-height:60px}lar-list-item{background-color:var(--lar-background-color-step-100, rgb(25.5, 25.5, 25.5)) !important;color:var(--lar-text-color, #fff) !important}.spacer{margin-top:1.5rem;margin-bottom:1.5rem}.circle{background-color:var(--lar-background-color-step-200, #333333) !important;border-radius:50%;display:inline-block;padding:0.5rem;width:2rem;height:2rem;margin-right:1rem}.circle lar-icon{display:block;width:100%;height:100%}.zone-list h4{margin:0;padding:0}.zone-list h4 lar-badge{margin-top:0.2rem;margin-right:0.3rem;font-weight:normal}.zone-selectors{text-align:center;margin-bottom:1rem}.zone-selectors lar-button{margin:0.2rem}.zone-list lar-badge{margin-top:0.3rem}lar-button.zone-group{--lar-button-font-size-small:.95rem;--lar-button-padding-top-small:.4rem;--lar-button-padding-bottom-small:.4rem;--lar-button-padding-left-small:.4rem;--lar-button-padding-right-small:.4rem}.center{text-align:center}";
const AreaZones = class {
constructor(hostRef) {
registerInstance(this, hostRef);
}
render() {
const zones = [];
const sortedZones = sortBy(JSON.parse(this.zones), 'group');
const groupedZones = groupBy(sortedZones, 'group');
forOwn(groupedZones, (groupedZonesOwn, group) => {
zones.push(h("lar-list-header", null, h("lar-translate", { t: group })));
sortBy(groupedZonesOwn, 'name').forEach(zone => {
let color = 'success';
if (zone.state === 'open') {
color = 'tertiary';
}
if (zone.state === 'short_circuit') {
color = 'warning';
}
if (zone.state === 'open_circuit') {
color = 'danger';
}
zones.push(h("lar-list-item", null, h("div", { slot: "start", class: "circle" }, h("lar-icon", { icon: zone.type, color: color })), h("div", null, h("h4", null, h("lar-translate", { t: zone.name })), h("lar-badge", { color: color }, h("lar-translate", { t: 'area.zone_state.' + zone.state })), zone.overridden &&
h("span", null, "\u00A0", h("lar-badge", { color: "danger" }, h("lar-translate", { t: 'area.zone_state.bypassed' }))))));
});
});
return h("div", { key: '42622775d0f8c8a4c589826f8a2456da463d0c91', class: "zone-list" }, zones);
}
};
AreaZones.style = areaCss;
export { AreaZones as lar_area_zones };
//# sourceMappingURL=lar-area-zones.entry.js.map