platypush/platypush/backend/http/webapp/dist/static/js/1949.d0fd0663.js.map

1 line
8.8 KiB
Plaintext

{"version":3,"file":"static/js/1949.d0fd0663.js","mappings":"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","sources":["webpack://platypush/./src/components/panels/Alarm/Index.vue","webpack://platypush/./src/components/panels/Alarm/Index.vue?d928"],"sourcesContent":["<template>\n <Loading v-if=\"loading\" />\n\n <NoItems v-else-if=\"!Object.keys(alarms).length\">\n No alarms configured\n </NoItems>\n\n <div class=\"alarms-container\" v-else>\n <div class=\"alarms items\">\n <div class=\"item\" v-for=\"alarm in alarms\" :key=\"alarm.external_id\">\n <Entity :value=\"alarm\" @show-modal=\"selectedAlarm = alarm.external_id\" />\n </div>\n </div>\n </div>\n\n <EntityModal\n :entity=\"alarms[selectedAlarm]\"\n :visible=\"modalVisible\"\n :config-values=\"{}\"\n @close=\"selectedAlarm = null\"\n v-if=\"modalVisible\" />\n\n <Modal title=\"Add Alarm\" :visible=\"addAlarmModalVisible\" @close=\"addAlarmModalVisible = false\">\n <AlarmEditor :value=\"newAlarm\" new-alarm @input=\"addAlarm\" v-if=\"addAlarmModalVisible\" />\n </Modal>\n\n <FloatingButton icon-class=\"fa fa-stopwatch\" text=\"Add Alarm\"\n @click=\"addAlarmModalVisible = true\" />\n</template>\n\n<script>\nimport AlarmEditor from \"@/components/panels/Entities/Alarm/AlarmEditor\";\nimport Loading from \"@/components/Loading\";\nimport EntityModal from \"@/components/panels/Entities/Modal\";\nimport Entity from \"@/components/panels/Entities/Entity\";\nimport FloatingButton from \"@/components/elements/FloatingButton\";\nimport Modal from \"@/components/Modal\";\nimport NoItems from \"@/components/elements/NoItems\";\nimport Utils from \"@/Utils\";\n\nexport default {\n components: {\n AlarmEditor,\n Entity,\n EntityModal,\n FloatingButton,\n Loading,\n Modal,\n NoItems,\n },\n\n mixins: [Utils],\n props: {\n pluginName: {\n type: String,\n },\n\n config: {\n type: Object,\n default: () => {},\n },\n },\n\n data() {\n return {\n loading: false,\n addAlarmModalVisible: false,\n alarms: {},\n selectedAlarm: null,\n newAlarm: {\n condition_type: 'cron',\n when: '* * * * *',\n audio_volume: this.$root.config?.alarm?.audio_volume ?? 100,\n media_repeat: true,\n },\n }\n },\n\n computed: {\n modalVisible() {\n return this.alarms[this.selectedAlarm] != null\n },\n },\n\n methods: {\n addAlarm(alarm) {\n if (alarm.external_id == null)\n return\n\n alarm.name = alarm?.meta?.name_override || alarm.name\n alarm.meta = {\n ...alarm.meta,\n icon: {\n 'class': (alarm.meta?.icon?.['class'] || 'fas fa-stopwatch'),\n },\n }\n\n this.alarms[alarm.external_id] = alarm\n this.addAlarmModalVisible = false\n },\n\n async refresh() {\n this.$emit('loading', true)\n try {\n await this.request('alarm.status');\n (await this.request('entities.get', {plugins: [this.pluginName]})).forEach(\n entity => this.addAlarm(entity)\n )\n } finally {\n this.$emit('loading', false)\n }\n },\n\n async onEntityUpdate(msg) {\n const entity = msg?.entity\n if (entity?.plugin !== this.pluginName)\n return\n\n this.addAlarm(entity)\n },\n\n async onEntityDelete(msg) {\n const entity = msg?.entity\n if (entity?.plugin !== this.pluginName)\n return\n\n if (this.selectedAlarm === entity.external_id)\n this.selectedAlarm = null\n\n if (this.alarms[entity.external_id])\n delete this.alarms[entity.external_id]\n },\n },\n\n mounted() {\n this.refresh()\n\n this.subscribe(\n this.onEntityUpdate,\n 'on-alarm-entity-update',\n 'platypush.message.event.entities.EntityUpdateEvent'\n )\n\n this.subscribe(\n this.onEntityDelete,\n 'on-alarm-entity-delete',\n 'platypush.message.event.entities.EntityDeleteEvent'\n )\n },\n\n unmounted() {\n this.unsubscribe('on-alarm-entity-update')\n this.unsubscribe('on-alarm-entity-delete')\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.alarms-container {\n display: flex;\n height: 100%;\n background: $default-bg-6;\n flex-grow: 1;\n overflow-y: auto;\n justify-content: center;\n\n .alarms {\n @include until($tablet) {\n width: 100%;\n }\n\n @include from($tablet) {\n width: calc(100% - 2em);\n margin-top: 1em;\n border-radius: 1em;\n }\n\n max-width: 800px;\n background: $default-bg-2;\n display: flex;\n flex-direction: column;\n margin-bottom: auto;\n box-shadow: $border-shadow-bottom-right;\n\n :deep(.item) {\n .entity-container {\n &:first-child {\n border-top-left-radius: 1em;\n border-top-right-radius: 1em;\n }\n\n &:last-child {\n border-bottom-left-radius: 1em;\n border-bottom-right-radius: 1em;\n }\n }\n }\n }\n}\n\n:deep(.modal) {\n .content .body {\n padding: 0;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=52431f4a&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=52431f4a&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-52431f4a\"]])\n\nexport default __exports__"],"names":["class","$data","loading","_createBlock","_component_Loading","key","Object","keys","alarms","length","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_Fragment","_renderList","alarm","external_id","_createVNode","_component_Entity","value","onShowModal","$event","selectedAlarm","_component_NoItems","$options","modalVisible","_component_EntityModal","entity","visible","onClose","_cache","_component_Modal","title","addAlarmModalVisible","_component_AlarmEditor","newAlarm","onInput","addAlarm","_component_FloatingButton","text","onClick","components","AlarmEditor","Entity","EntityModal","FloatingButton","Loading","Modal","NoItems","mixins","Utils","props","pluginName","type","String","config","default","data","condition_type","when","audio_volume","this","$root","media_repeat","computed","methods","name","meta","name_override","icon","refresh","$emit","request","plugins","forEach","onEntityUpdate","msg","plugin","onEntityDelete","mounted","subscribe","unmounted","unsubscribe","__exports__","render"],"sourceRoot":""}