@larva.io/webcomponents
Version:
Fentrica SmartUnits WebComponents package
57 lines (52 loc) • 3.53 kB
JavaScript
/*!
* (C) Fentrica http://fentrica.com - Seee LICENSE.md
*/
;
var index = require('./index-B0SElCD3.js');
var sortBy = require('./sortBy-Qx6X8Z-M.js');
var groupBy = require('./groupBy-CvyCo_8L.js');
require('./_baseMap-JOWSgF8Y.js');
require('./_getAllKeys-BC9TlVD6.js');
require('./_isIndex-B1e9x--S.js');
require('./isLength-CPPfDVFI.js');
require('./isObjectLike-DYIul5Fz.js');
require('./global-C03WvntH.js');
require('./isObject-BbrqXeY4.js');
require('./isArray-D5T3FFPp.js');
require('./_getTag-BnylOe-u.js');
require('./_hasPath-Da_vD6kJ.js');
require('./_setToString-CLmf6rll.js');
require('./_defineProperty-iQdktGFd.js');
require('./_baseAssignValue-ccaUD9ve.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) {
index.registerInstance(this, hostRef);
}
render() {
const zones = [];
const sortedZones = sortBy.sortBy(JSON.parse(this.zones), 'group');
const groupedZones = groupBy.groupBy(sortedZones, 'group');
sortBy.forOwn(groupedZones, (groupedZonesOwn, group) => {
zones.push(index.h("lar-list-header", null, index.h("lar-translate", { t: group })));
sortBy.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(index.h("lar-list-item", null, index.h("div", { slot: "start", class: "circle" }, index.h("lar-icon", { icon: zone.type, color: color })), index.h("div", null, index.h("h4", null, index.h("lar-translate", { t: zone.name })), index.h("lar-badge", { color: color }, index.h("lar-translate", { t: 'area.zone_state.' + zone.state })), zone.overridden &&
index.h("span", null, "\u00A0", index.h("lar-badge", { color: "danger" }, index.h("lar-translate", { t: 'area.zone_state.bypassed' }))))));
});
});
return index.h("div", { key: '42622775d0f8c8a4c589826f8a2456da463d0c91', class: "zone-list" }, zones);
}
};
AreaZones.style = areaCss;
exports.lar_area_zones = AreaZones;
//# sourceMappingURL=lar-area-zones.entry.cjs.js.map