iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 13.7 kB
JavaScript
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([[4570],{24381:function(e,t,n){"use strict";n.d(t,{Q:function(){return r}});var r=function(e,t){return e?t.map((function(t){return t in e.attributes?"has-"+t:""})).filter((function(e){return""!==e})).join(" "):""}},1090:function(e,t,n){"use strict";n(8878),n(30879),n(53973),n(51095);var r=n(50856);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <style>\n :host {\n display: block;\n @apply --paper-font-common-base;\n }\n\n paper-input {\n width: 30px;\n text-align: center;\n --paper-input-container-input: {\n /* Damn you firefox\n * Needed to hide spin num in firefox\n * http://stackoverflow.com/questions/3790935/can-i-hide-the-html5-number-input-s-spin-box\n */\n -moz-appearance: textfield;\n @apply --paper-time-input-cotnainer;\n }\n --paper-input-container-input-webkit-spinner: {\n -webkit-appearance: none;\n margin: 0;\n display: none;\n }\n --paper-input-container-shared-input-style_-_-webkit-appearance: textfield;\n }\n\n paper-dropdown-menu {\n width: 55px;\n padding: 0;\n /* Force ripple to use the whole container */\n --paper-dropdown-menu-ripple: {\n color: var(\n --paper-time-input-dropdown-ripple-color,\n var(--primary-color)\n );\n }\n --paper-input-container-input: {\n @apply --paper-font-button;\n text-align: center;\n padding-left: 5px;\n @apply --paper-time-dropdown-input-cotnainer;\n }\n --paper-input-container-underline: {\n border-color: transparent;\n }\n --paper-input-container-underline-focus: {\n border-color: transparent;\n }\n }\n\n paper-item {\n cursor: pointer;\n text-align: center;\n font-size: 14px;\n }\n\n paper-listbox {\n padding: 0;\n }\n\n label {\n @apply --paper-font-caption;\n color: var(\n --paper-input-container-color,\n var(--secondary-text-color)\n );\n }\n\n .time-input-wrap {\n @apply --layout-horizontal;\n @apply --layout-no-wrap;\n }\n\n [hidden] {\n display: none !important;\n }\n </style>\n\n <label hidden$="[[hideLabel]]">[[label]]</label>\n <div class="time-input-wrap">\n \x3c!-- Hour Input --\x3e\n <paper-input\n id="hour"\n type="number"\n value="{{hour}}"\n label="[[hourLabel]]"\n on-change="_shouldFormatHour"\n on-focus="_onFocus"\n required\n prevent-invalid-input\n auto-validate="[[autoValidate]]"\n maxlength="2"\n max="[[_computeHourMax(format)]]"\n min="0"\n no-label-float$="[[!floatInputLabels]]"\n always-float-label$="[[alwaysFloatInputLabels]]"\n disabled="[[disabled]]"\n >\n <span suffix="" slot="suffix">:</span>\n </paper-input>\n\n \x3c!-- Min Input --\x3e\n <paper-input\n id="min"\n type="number"\n value="{{min}}"\n label="[[minLabel]]"\n on-change="_formatMin"\n on-focus="_onFocus"\n required\n auto-validate="[[autoValidate]]"\n prevent-invalid-input\n maxlength="2"\n max="59"\n min="0"\n no-label-float$="[[!floatInputLabels]]"\n always-float-label$="[[alwaysFloatInputLabels]]"\n disabled="[[disabled]]"\n >\n <span hidden$="[[!enableSecond]]" suffix slot="suffix">:</span>\n </paper-input>\n\n \x3c!-- Sec Input --\x3e\n <paper-input\n id="sec"\n type="number"\n value="{{sec}}"\n label="[[secLabel]]"\n on-change="_formatSec"\n on-focus="_onFocus"\n required\n auto-validate="[[autoValidate]]"\n prevent-invalid-input\n maxlength="2"\n max="59"\n min="0"\n no-label-float$="[[!floatInputLabels]]"\n always-float-label$="[[alwaysFloatInputLabels]]"\n disabled="[[disabled]]"\n hidden$="[[!enableSecond]]"\n >\n </paper-input>\n\n \x3c!-- Dropdown Menu --\x3e\n <paper-dropdown-menu\n id="dropdown"\n required=""\n hidden$="[[_equal(format, 24)]]"\n no-label-float=""\n disabled="[[disabled]]"\n >\n <paper-listbox\n attr-for-selected="name"\n selected="{{amPm}}"\n slot="dropdown-content"\n >\n <paper-item name="AM">AM</paper-item>\n <paper-item name="PM">PM</paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n </div>\n ']);return i=function(){return e},e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=c(e);if(t){var a=c(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return s(this,n)}}function s(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(c,e);var t,n,a,s=p(c);function c(){return o(this,c),s.apply(this,arguments)}return t=c,a=[{key:"template",get:function(){return(0,r.d)(i())}},{key:"properties",get:function(){return{label:{type:String,value:"Time"},autoValidate:{type:Boolean,value:!0},hideLabel:{type:Boolean,value:!1},floatInputLabels:{type:Boolean,value:!1},alwaysFloatInputLabels:{type:Boolean,value:!1},format:{type:Number,value:12},disabled:{type:Boolean,value:!1},hour:{type:String,notify:!0},min:{type:String,notify:!0},sec:{type:String,notify:!0},hourLabel:{type:String,value:""},minLabel:{type:String,value:":"},secLabel:{type:String,value:""},enableSecond:{type:Boolean,value:!1},noHoursLimit:{type:Boolean,value:!1},amPm:{type:String,notify:!0,value:"AM"},value:{type:String,notify:!0,readOnly:!0,computed:"_computeTime(min, hour, sec, amPm)"}}}}],(n=[{key:"validate",value:function(){var e=!0;return this.$.hour.validate()&&this.$.min.validate()||(e=!1),this.enableSecond&&!this.$.sec.validate()&&(e=!1),12!==this.format||this.$.dropdown.validate()||(e=!1),e}},{key:"_computeTime",value:function(e,t,n,r){var a;return(t||e||n&&this.enableSecond)&&(n=n||"00",a=(t=t||"00")+":"+(e=e||"00"),this.enableSecond&&n&&(a=a+":"+n),12===this.format&&(a=a+" "+r)),a}},{key:"_onFocus",value:function(e){e.target.inputElement.inputElement.select()}},{key:"_formatSec",value:function(){1===this.sec.toString().length&&(this.sec=this.sec.toString().padStart(2,"0"))}},{key:"_formatMin",value:function(){1===this.min.toString().length&&(this.min=this.min.toString().padStart(2,"0"))}},{key:"_shouldFormatHour",value:function(){24===this.format&&1===this.hour.toString().length&&(this.hour=this.hour.toString().padStart(2,"0"))}},{key:"_computeHourMax",value:function(e){return this.noHoursLimit?null:12===e?e:23}},{key:"_equal",value:function(e,t){return e===t}}])&&u(t.prototype,n),a&&u(t,a),c}(n(28426).H3);customElements.define("paper-time-input",f)},24570:function(e,t,n){"use strict";n.r(t);n(21157),n(30879);var r=n(50856),a=n(28426),i=(n(37576),n(24381));n(32075),n(1090);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <div class$="[[computeClassNames(stateObj)]]">\n <template is="dom-if" if="[[doesHaveDate(stateObj)]]" restamp="">\n <div>\n <vaadin-date-picker\n id="dateInput"\n on-value-changed="dateTimeChanged"\n label="Date"\n value="{{selectedDate}}"\n ></vaadin-date-picker>\n </div>\n </template>\n <template is="dom-if" if="[[doesHaveTime(stateObj)]]" restamp="">\n <div>\n <paper-time-input\n hour="{{selectedHour}}"\n min="{{selectedMinute}}"\n format="24"\n ></paper-time-input>\n </div>\n </template>\n </div>\n ']);return u=function(){return e},e}function l(e,t,n){return(l="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=b(e)););return e}(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(n):a.value}})(e,t,n||e)}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=b(e);if(t){var a=b(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return d(this,n)}}function d(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(n,e);var t=f(n);function n(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(e=t.call(this)).is_ready=!1,e}return s(n,null,[{key:"template",get:function(){return(0,r.d)(u())}}]),s(n,[{key:"ready",value:function(){l(b(n.prototype),"ready",this).call(this),this.is_ready=!0}},{key:"getDateString",value:function(e){return"unknown"===e.state?"":(t=e.attributes.month<10?"0":"",n=e.attributes.day<10?"0":"",e.attributes.year+"-"+t+e.attributes.month+"-"+n+e.attributes.day);var t,n}},{key:"dateTimeChanged",value:function(){if(this.is_ready){var e,t=!1,n={entity_id:this.stateObj.entity_id};if(this.stateObj.attributes.has_time){t=(t=t||parseInt(this.selectedMinute)!==this.stateObj.attributes.minute)||parseInt(this.selectedHour)!==this.stateObj.attributes.hour,e=this.selectedMinute<10?"0":"";var r=this.selectedHour+":"+e+this.selectedMinute;n.time=r}if(this.stateObj.attributes.has_date){if(0===this.selectedDate.length)return;var a=new Date(this.selectedDate),i=new Date(this.stateObj.attributes.year,this.stateObj.attributes.month-1,this.stateObj.attributes.day);t=t||i!==a,n.date=this.selectedDate}t&&this.hass.callService("input_datetime","set_datetime",n)}}},{key:"stateObjChanged",value:function(e){this.is_ready=!1,e.attributes.has_time&&(this.selectedHour=e.attributes.hour,this.selectedMinute=e.attributes.minute),e.attributes.has_date&&(this.selectedDate=this.getDateString(e)),this.is_ready=!0}},{key:"doesHaveDate",value:function(e){return e.attributes.has_date}},{key:"doesHaveTime",value:function(e){return e.attributes.has_time}},{key:"computeClassNames",value:function(e){return"more-info-input_datetime "+(0,i.Q)(e,["has_time","has_date"])}}],[{key:"properties",get:function(){return{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},selectedDate:{type:String,observer:"dateTimeChanged"},selectedHour:{type:Number,observer:"dateTimeChanged"},selectedMinute:{type:Number,observer:"dateTimeChanged"}}}}]),n}(a.H3);customElements.define("more-info-input_datetime",y)}}]);
//# sourceMappingURL=chunk.bf6cffe9cfdbc521679a.js.map