platypush/platypush/backend/http/webapp/dist/static/js/9892-legacy.810d8db8.js.map

1 line
61 KiB
Plaintext

{"version":3,"file":"static/js/9892-legacy.810d8db8.js","mappings":"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","sources":["webpack://platypush/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://platypush/./node_modules/core-js/internals/not-a-regexp.js","webpack://platypush/./node_modules/core-js/modules/es.string.starts-with.js","webpack://platypush/./src/components/panels/Entities/Entity.vue","webpack://platypush/./src/components/panels/Entities/Entity.vue?6f8a","webpack://platypush/./src/components/panels/Entities/EntityMixin.vue","webpack://platypush/./src/components/panels/Entities/EntityMixin.vue?a9b3","webpack://platypush/./src/components/panels/Entities/Index.vue","webpack://platypush/./src/components/elements/NoItems.vue","webpack://platypush/./src/components/elements/NoItems.vue?70de","webpack://platypush/./src/components/panels/Entities/Index.vue?4523","webpack://platypush/./src/components/panels/Entities/Modal.vue","webpack://platypush/./src/components/elements/ConfirmDialog.vue","webpack://platypush/./src/components/elements/ConfirmDialog.vue?f384","webpack://platypush/./src/components/elements/EditButton.vue","webpack://platypush/./src/components/elements/EditButton.vue?fb20","webpack://platypush/./src/components/elements/NameEditor.vue","webpack://platypush/./src/components/elements/NameEditor.vue?34cf","webpack://platypush/./src/components/panels/Entities/Modal.vue?d45a","webpack://platypush/./src/components/panels/Entities/Selector.vue","webpack://platypush/./src/components/panels/Entities/Selector.vue?bf8b","webpack://platypush/./src/components/panels/Entities|lazy|/^\\.\\/.*$/|groupOptions: {}|namespace object"],"sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","<template>\n <div class=\"row item entity-container\">\n <component :is=\"component\"\n :value=\"value\"\n :loading=\"loading\"\n :error=\"error || value?.reachable == false\"\n @input=\"$emit('input', $event)\"\n @loading=\"$emit('loading', $event)\"\n />\n </div>\n</template>\n\n<script>\nimport { defineAsyncComponent } from 'vue'\nimport EntityMixin from \"./EntityMixin\"\n\nexport default {\n name: \"Entity\",\n mixins: [EntityMixin],\n emits: ['input', 'loading'],\n\n data() {\n return {\n component: null,\n }\n },\n\n mounted() {\n if (this.type !== 'Entity')\n this.component = defineAsyncComponent(\n () => import(`@/components/panels/Entities/${this.type}`)\n )\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"common\";\n\n.entity-container {\n width: 100%;\n position: relative;\n padding: 0 !important;\n}\n</style>\n","import { render } from \"./Entity.vue?vue&type=template&id=3c242632&scoped=true\"\nimport script from \"./Entity.vue?vue&type=script&lang=js\"\nexport * from \"./Entity.vue?vue&type=script&lang=js\"\n\nimport \"./Entity.vue?vue&type=style&index=0&id=3c242632&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c242632\"]])\n\nexport default __exports__","<script>\nimport Utils from \"@/Utils\"\n\nexport default {\n name: \"EntityMixin\",\n mixins: [Utils],\n emits: ['input'],\n props: {\n loading: {\n type: Boolean,\n default: false,\n },\n\n error: {\n type: Boolean,\n default: false,\n },\n\n value: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n modalVisible: false,\n }\n },\n\n computed: {\n type() {\n let entityType = (this.value.type || '')\n return entityType.charAt(0).toUpperCase() + entityType.slice(1)\n },\n },\n}\n</script>\n","import script from \"./EntityMixin.vue?vue&type=script&lang=js\"\nexport * from \"./EntityMixin.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <div class=\"row plugin entities-container\">\n <Loading v-if=\"loading\" />\n\n <header>\n <div class=\"col-11 left\">\n <Selector :entity-groups=\"entityGroups\" :value=\"selector\" @input=\"selector = $event\" />\n </div>\n\n <div class=\"col-1 right\">\n <button title=\"Refresh\" @click=\"refresh(null)\">\n <i class=\"fa fa-sync-alt\" />\n </button>\n </div>\n </header>\n\n <div class=\"groups-canvas\">\n <EntityModal :entity=\"entities[modalEntityId]\"\n :visible=\"modalVisible\" @close=\"onEntityModal(null)\"\n v-if=\"modalEntityId\"\n />\n\n <NoItems v-if=\"!Object.keys(displayGroups || {})?.length\">No entities found</NoItems>\n\n <div class=\"groups-container\" v-else>\n <div class=\"group fade-in\" v-for=\"group in displayGroups\" :key=\"group.name\">\n <div class=\"frame\">\n <div class=\"header\">\n <span class=\"section left\">\n <Icon v-bind=\"entitiesMeta[group.name].icon || {}\"\n v-if=\"selector.grouping === 'type' && entitiesMeta[group.name]\" />\n <Icon :class=\"pluginIcons[group.name]?.class\" :url=\"pluginIcons[group.name]?.imgUrl\"\n v-else-if=\"selector.grouping === 'plugin' && pluginIcons[group.name]\" />\n </span>\n\n <span class=\"section center\">\n <div class=\"title\" v-text=\"entitiesMeta[group.name].name_plural\"\n v-if=\"selector.grouping === 'type' && entitiesMeta[group.name]\"/>\n <div class=\"title\" v-text=\"group.name\" v-else-if=\"selector.grouping === 'plugin'\"/>\n </span>\n\n <span class=\"section right\">\n <button title=\"Refresh\" @click=\"refresh(group)\">\n <i class=\"fa fa-sync-alt\" />\n </button>\n </span>\n </div>\n\n <div class=\"body\">\n <div class=\"entity-frame\" @click=\"onEntityModal(entity.id)\"\n v-for=\"entity in group.entities\" :key=\"entity.id\">\n <Entity\n :value=\"entity\"\n @input=\"onEntityInput\"\n :error=\"!!errorEntities[entity.id]\"\n :loading=\"!!loadingEntities[entity.id]\"\n @loading=\"loadingEntities[entity.id] = $event\"\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\"\nimport Loading from \"@/components/Loading\";\nimport Icon from \"@/components/elements/Icon\";\nimport NoItems from \"@/components/elements/NoItems\";\nimport Entity from \"./Entity.vue\";\nimport Selector from \"./Selector.vue\";\nimport EntityModal from \"./Modal\"\nimport icons from '@/assets/icons.json'\nimport meta from './meta.json'\n\nexport default {\n name: \"Entities\",\n components: {Loading, Icon, Entity, Selector, NoItems, EntityModal},\n mixins: [Utils],\n\n props: {\n // Entity scan timeout in seconds\n entityScanTimeout: {\n type: Number,\n default: 30,\n },\n },\n\n data() {\n return {\n loading: false,\n loadingEntities: {},\n errorEntities: {},\n entityTimeouts: {},\n entities: {},\n modalEntityId: null,\n modalVisible: false,\n selector: {\n grouping: 'type',\n selectedEntities: {},\n },\n }\n },\n\n computed: {\n entitiesMeta() {\n return meta\n },\n\n pluginIcons() {\n return icons\n },\n\n entityGroups() {\n return {\n 'id': Object.entries(this.groupEntities('id')).reduce((obj, [id, entities]) => {\n obj[id] = entities[0]\n return obj\n }, {}),\n 'type': this.groupEntities('type'),\n 'plugin': this.groupEntities('plugin'),\n }\n },\n\n displayGroups() {\n return Object.entries(this.entityGroups[this.selector.grouping]).filter(\n (entry) => entry[1].filter(\n (e) => !!this.selector.selectedEntities[e.id]\n ).length > 0\n ).sort((a, b) => a[0].localeCompare(b[0])).map(\n ([grouping, entities]) => {\n return {\n name: grouping,\n entities: entities.filter(\n (e) => e.id in this.selector.selectedEntities\n ),\n }\n }\n )\n },\n },\n\n methods: {\n groupEntities(attr) {\n return Object.values(this.entities).reduce((obj, entity) => {\n const entities = obj[entity[attr]] || {}\n entities[entity.id] = entity\n obj[entity[attr]] = Object.values(entities).sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n return obj\n }, {})\n },\n\n async refresh(group) {\n const entities = (group ? group.entities : this.entities) || {}\n const args = {}\n if (group)\n args.plugins = Object.keys(entities.reduce((obj, entity) => {\n obj[entity.plugin] = true\n return obj\n }, {}))\n\n this.loadingEntities = Object.values(entities).reduce((obj, entity) => {\n const self = this\n const id = entity.id\n if (this.entityTimeouts[id])\n clearTimeout(this.entityTimeouts[id])\n\n this.entityTimeouts[id] = setTimeout(() => {\n if (self.loadingEntities[id])\n delete self.loadingEntities[id]\n if (self.entityTimeouts[id])\n delete self.entityTimeouts[id]\n\n self.errorEntities[id] = entity\n self.notify({\n error: true,\n title: entity.plugin,\n text: `Scan timeout for ${entity.name}`,\n })\n }, this.entityScanTimeout * 1000)\n\n obj[id] = true\n return obj\n }, {})\n\n await this.request('entities.scan', args)\n },\n\n async sync() {\n this.loading = true\n\n try {\n this.entities = (await this.request('entities.get')).reduce((obj, entity) => {\n entity.name = entity?.meta?.name_override || entity.name\n entity.meta = {\n ...(meta[entity.type] || {}),\n ...(entity.meta || {}),\n }\n\n obj[entity.id] = entity\n return obj\n }, {})\n\n this.selector.selectedEntities = this.entityGroups.id\n } finally {\n this.loading = false\n }\n },\n\n clearEntityTimeouts(entityId) {\n if (this.errorEntities[entityId])\n delete this.errorEntities[entityId]\n if (this.loadingEntities[entityId])\n delete this.loadingEntities[entityId]\n if (this.entityTimeouts[entityId]) {\n clearTimeout(this.entityTimeouts[entityId])\n delete this.entityTimeouts[entityId]\n }\n },\n\n onEntityInput(entity) {\n this.entities[entity.id] = entity\n this.clearEntityTimeouts(entity.id)\n if (this.loadingEntities[entity.id])\n delete this.loadingEntities[entity.id]\n },\n\n onEntityUpdate(event) {\n const entityId = event.entity.id\n if (entityId == null)\n return\n\n this.clearEntityTimeouts(entityId)\n const entity = {...event.entity}\n if (event.entity?.state == null)\n entity.state = this.entities[entityId]?.state\n if (entity.meta?.name_override?.length)\n entity.name = entity.meta.name_override\n else if (this.entities[entityId]?.meta?.name_override?.length)\n entity.name = this.entities[entityId].meta.name_override\n else\n entity.name = event.entity?.name || this.entities[entityId]?.name\n\n entity.meta = {\n ...(meta[event.entity.type] || {}),\n ...(this.entities[entityId]?.meta || {}),\n ...(event.entity?.meta || {}),\n }\n\n this.entities[entityId] = entity\n },\n\n onEntityDelete(event) {\n const entityId = event.entity?.id\n if (entityId == null)\n return\n if (entityId === this.modalEntityId)\n this.modalEntityId = null\n if (this.entities[entityId])\n delete this.entities[entityId]\n },\n\n onEntityModal(entityId) {\n if (entityId) {\n this.modalEntityId = entityId\n this.modalVisible = true\n } else {\n this.modalEntityId = null\n this.modalVisible = false\n }\n },\n },\n\n async mounted() {\n this.subscribe(\n this.onEntityUpdate,\n 'on-entity-update',\n 'platypush.message.event.entities.EntityUpdateEvent'\n )\n\n this.subscribe(\n this.onEntityDelete,\n 'on-entity-delete',\n 'platypush.message.event.entities.EntityDeleteEvent'\n )\n\n await this.sync()\n await this.refresh()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"vars\";\n@import \"~@/style/items\";\n\n.entities-container {\n --groups-per-row: 1;\n\n @include from($desktop) {\n --groups-per-row: 2;\n }\n\n @include from($fullhd) {\n --groups-per-row: 3;\n }\n\n width: 100%;\n height: 100%;\n overflow: auto;\n color: $default-fg-2;\n font-weight: 400;\n\n button {\n background: #ffffff00;\n border: 0;\n\n &:hover {\n color: $default-hover-fg;\n }\n }\n\n header {\n width: 100%;\n height: $selector-height;\n display: flex;\n background: $default-bg-2;\n box-shadow: $border-shadow-bottom;\n position: relative;\n\n .right {\n position: absolute;\n right: 0;\n text-align: right;\n margin-right: 0.5em;\n padding-right: 0.5em;\n\n button {\n padding: 0.5em 0;\n }\n }\n }\n\n .groups-canvas {\n width: 100%;\n height: calc(100% - #{$selector-height});\n overflow: auto;\n }\n\n .groups-container {\n @include from($desktop) {\n column-count: var(--groups-per-row);\n }\n }\n\n .group {\n width: 100%;\n max-height: 100%;\n position: relative;\n padding: $main-margin 0;\n display: flex;\n break-inside: avoid;\n\n @include from ($tablet) {\n padding: $main-margin;\n }\n\n .frame {\n @include from($desktop) {\n max-height: calc(100vh - #{$header-height} - #{$main-margin});\n }\n\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n position: relative;\n box-shadow: $group-shadow;\n border-radius: 1em;\n }\n\n .header {\n width: 100%;\n height: $header-height;\n display: table;\n background: $header-bg;\n box-shadow: $header-shadow;\n border-radius: 1em 1em 0 0;\n\n .section {\n height: 100%;\n display: table-cell;\n vertical-align: middle;\n\n &.left, &.right {\n width: 10%;\n }\n\n &.right {\n text-align: right;\n }\n\n &.center {\n width: 80%;\n text-align: center;\n }\n }\n }\n\n .body {\n background: $default-bg-2;\n max-height: calc(100% - #{$header-height});\n overflow: auto;\n flex-grow: 1;\n\n .entity-frame:last-child {\n border-radius: 0 0 1em 1em;\n }\n }\n }\n\n :deep(.modal) {\n @include until($tablet) {\n width: 95%;\n }\n\n .content {\n @include until($tablet) {\n width: 100%;\n }\n\n @include from($tablet) {\n min-width: 30em;\n }\n\n .body {\n padding: 0;\n\n .table-row {\n padding: 0.5em;\n }\n }\n }\n }\n}\n</style>\n","<template>\n<div class=\"no-items-container\">\n <div class=\"no-items fade-in\">\n <slot />\n </div>\n</div>\n</template>\n\n<script>\nexport default {\n name: \"NoItems\",\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.no-items-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .no-items {\n min-width: 100%;\n max-width: 100%;\n\n @include from($tablet) {\n min-width: 80%;\n }\n\n @include from($desktop) {\n min-width: 50%;\n max-width: 35em;\n }\n\n @include from($fullhd) {\n min-width: 33%;\n }\n\n background: $background-color;\n margin: 1em;\n padding: 1em;\n font-size: 1.5em;\n color: $no-items-color;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 1em;\n box-shadow: $border-shadow-bottom;\n }\n}\n</style>\n","import { render } from \"./NoItems.vue?vue&type=template&id=6fec32b5&scoped=true\"\nimport script from \"./NoItems.vue?vue&type=script&lang=js\"\nexport * from \"./NoItems.vue?vue&type=script&lang=js\"\n\nimport \"./NoItems.vue?vue&type=style&index=0&id=6fec32b5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6fec32b5\"]])\n\nexport default __exports__","import { render } from \"./Index.vue?vue&type=template&id=fef021ee&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=fef021ee&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fef021ee\"]])\n\nexport default __exports__","<template>\n <Modal :visible=\"visible\" :title=\"entity.name || entity.external_id\">\n <ConfirmDialog ref=\"deleteConfirmDiag\" title=\"Confirm entity deletion\" @input=\"onDelete\">\n Are you <b>sure</b> that you want to delete this entity? <br/><br/>\n Note: you should only delete an entity if its plugin has been disabled\n or the entity is no longer reachable.<br/><br/>\n Otherwise, the entity will simply be created again upon the next scan.\n </ConfirmDialog>\n\n <div class=\"table-row\">\n <div class=\"title\">\n Name\n <EditButton @click=\"editName = true\" v-if=\"!editName\" />\n </div>\n <div class=\"value\">\n <NameEditor :value=\"entity.name\" @input=\"onRename\"\n @cancel=\"editName = false\" :disabled=\"loading\" v-if=\"editName\" />\n <span v-text=\"entity.name\" v-else />\n </div>\n </div>\n\n <div class=\"table-row\">\n <div class=\"title\">\n Icon\n <EditButton @click=\"editIcon = true\" v-if=\"!editIcon\" />\n </div>\n <div class=\"value icon-canvas\">\n <span class=\"icon-editor\" v-if=\"editIcon\">\n <NameEditor :value=\"entity.meta?.icon?.class || entity.meta?.icon?.url\" @input=\"onIconEdit\"\n @cancel=\"editIcon = false\" :disabled=\"loading\">\n <button type=\"button\" title=\"Reset\" @click=\"onIconEdit(null)\"\n @touch=\"onIconEdit(null)\">\n <i class=\"fas fa-rotate-left\" />\n </button>\n </NameEditor>\n <span class=\"help\">\n Supported: image URLs or\n <a href=\"https://fontawesome.com/icons\" target=\"_blank\">FontAwesome icon classes</a>.\n </span>\n </span>\n\n <Icon v-bind=\"entity?.meta?.icon || {}\" v-else />\n </div>\n </div>\n\n <div class=\"table-row\">\n <div class=\"title\">\n Icon color\n </div>\n <div class=\"value icon-color-picker\">\n <input type=\"color\" :value=\"entity.meta?.icon?.color\" @change=\"onIconColorEdit\">\n <button type=\"button\" title=\"Reset\" @click=\"onIconColorEdit(null)\"\n @touch=\"onIconColorEdit(null)\">\n <i class=\"fas fa-rotate-left\" />\n </button>\n </div>\n </div>\n\n <div class=\"table-row\">\n <div class=\"title\">Plugin</div>\n <div class=\"value\" v-text=\"entity.plugin\" />\n </div>\n\n <div class=\"table-row\">\n <div class=\"title\">Internal ID</div>\n <div class=\"value\" v-text=\"entity.id\" />\n </div>\n\n <div class=\"table-row\" v-if=\"entity.external_id\">\n <div class=\"title\">External ID</div>\n <div class=\"value\" v-text=\"entity.external_id\" />\n </div>\n\n <div class=\"table-row\" v-if=\"entity.description\">\n <div class=\"title\">Description</div>\n <div class=\"value\" v-text=\"entity.description\" />\n </div>\n\n <div v-for=\"value, attr in entity.data || {}\" :key=\"attr\">\n <div class=\"table-row\" v-if=\"value != null\">\n <div class=\"title\" v-text=\"prettify(attr)\" />\n <div class=\"value\" v-text=\"'' + value\" />\n </div>\n </div>\n\n <div class=\"table-row\" v-if=\"entity.created_at\">\n <div class=\"title\">Created at</div>\n <div class=\"value\" v-text=\"formatDateTime(entity.created_at)\" />\n </div>\n\n <div class=\"table-row\" v-if=\"entity.updated_at\">\n <div class=\"title\">Updated at</div>\n <div class=\"value\" v-text=\"formatDateTime(entity.updated_at)\" />\n </div>\n\n <div class=\"table-row delete-entity-container\">\n <div class=\"title\">Delete Entity</div>\n <div class=\"value\">\n <button @click=\"$refs.deleteConfirmDiag.show()\">\n <i class=\"fas fa-trash\" />\n </button>\n </div>\n </div>\n </Modal>\n</template>\n\n<script>\nimport Modal from \"@/components/Modal\";\nimport Icon from \"@/components/elements/Icon\";\nimport ConfirmDialog from \"@/components/elements/ConfirmDialog\";\nimport EditButton from \"@/components/elements/EditButton\";\nimport NameEditor from \"@/components/elements/NameEditor\";\nimport Utils from \"@/Utils\";\nimport meta from './meta.json'\n\nexport default {\n name: \"Entity\",\n components: {Modal, EditButton, NameEditor, Icon, ConfirmDialog},\n mixins: [Utils],\n emits: ['input', 'loading'],\n props: {\n entity: {\n type: Object,\n required: true,\n },\n\n visible: {\n type: Boolean,\n default: false,\n },\n },\n\n data() {\n return {\n loading: false,\n editName: false,\n editIcon: false,\n }\n },\n\n methods: {\n async onRename(newName) {\n this.loading = true\n\n try {\n const req = {}\n req[this.entity.id] = newName\n await this.request('entities.rename', req)\n } finally {\n this.loading = false\n this.editName = false\n }\n },\n\n async onDelete() {\n this.loading = true\n\n try {\n await this.request('entities.delete', [this.entity.id])\n } finally {\n this.loading = false\n }\n },\n\n async onIconEdit(newIcon) {\n this.loading = true\n\n try {\n const icon = {url: null, class: null}\n if (newIcon?.length) {\n if (newIcon.startsWith('http'))\n icon.url = newIcon\n else\n icon.class = newIcon\n } else {\n icon.url = (meta[this.entity.type] || {})?.icon?.url\n icon.class = (meta[this.entity.type] || {})?.icon?.['class']\n }\n\n const req = {}\n req[this.entity.id] = {icon: icon}\n await this.request('entities.set_meta', req)\n } finally {\n this.loading = false\n this.editIcon = false\n }\n },\n\n async onIconColorEdit(event) {\n this.loading = true\n\n try {\n const icon = this.entity.meta?.icon || {}\n if (event)\n icon.color = event.target.value\n else\n icon.color = null\n\n const req = {}\n req[this.entity.id] = {icon: icon}\n await this.request('entities.set_meta', req)\n } finally {\n this.loading = false\n this.editIcon = false\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n:deep(.modal) {\n .icon-canvas {\n display: inline-flex;\n align-items: center;\n\n @include until($tablet) {\n .icon-container {\n justify-content: left;\n }\n }\n\n @include from($tablet) {\n .icon-container {\n justify-content: right;\n }\n }\n }\n\n .icon-editor {\n display: flex;\n flex-direction: column;\n }\n\n button {\n border: none;\n background: none;\n padding: 0 0.5em;\n }\n\n .help {\n font-size: 0.75em;\n }\n\n .delete-entity-container {\n color: $error-fg;\n button {\n color: $error-fg;\n }\n }\n}\n</style>\n","<template>\n <Modal ref=\"modal\" :title=\"title\">\n <div class=\"dialog-content\">\n <slot />\n </div>\n\n <form class=\"buttons\" @submit.prevent=\"onConfirm\">\n <button type=\"submit\" class=\"ok-btn\" @click=\"onConfirm\" @touch=\"onConfirm\">\n <i class=\"fas fa-check\" /> &nbsp; {{ confirmText }}\n </button>\n <button type=\"button\" class=\"cancel-btn\" @click=\"close\" @touch=\"close\">\n <i class=\"fas fa-xmark\" /> &nbsp; {{ cancelText }}\n </button>\n </form>\n </Modal>\n</template>\n\n<script>\nimport Modal from \"@/components/Modal\";\n\nexport default {\n emits: ['input', 'click', 'touch'],\n components: {Modal},\n props: {\n title: {\n type: String,\n },\n\n confirmText: {\n type: String,\n default: \"OK\",\n },\n\n cancelText: {\n type: String,\n default: \"Cancel\",\n },\n },\n\n methods: {\n onConfirm() {\n this.$emit('input')\n this.close()\n },\n\n show() {\n this.$refs.modal.show()\n },\n\n close() {\n this.$refs.modal.hide()\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n:deep(.modal) {\n .dialog-content {\n padding: 1em;\n }\n\n .buttons {\n display: flex;\n flex-direction: row;\n justify-content: right;\n padding: 1em 0 1em 1em;\n border: 0;\n border-radius: 0;\n box-shadow: 0 -1px 2px 0 $default-shadow-color;\n\n button {\n margin-right: 1em;\n padding: 0.5em 1em;\n border: 1px solid $border-color-2;\n border-radius: 1em;\n\n &:hover {\n background: $hover-bg;\n }\n }\n }\n}\n</style>\n","import { render } from \"./ConfirmDialog.vue?vue&type=template&id=d543b3e4&scoped=true\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\n\nimport \"./ConfirmDialog.vue?vue&type=style&index=0&id=d543b3e4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d543b3e4\"]])\n\nexport default __exports__","<template>\n <button class=\"edit-btn\"\n @click=\"proxy($event)\" @touch=\"proxy($event)\" @input=\"proxy($event)\"\n >\n <i class=\"fas fa-pen-to-square\" />\n </button>\n</template>\n\n<script>\nexport default {\n emits: ['input', 'click', 'touch'],\n methods: {\n proxy(e) {\n this.$emit(e.type, e)\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.edit-btn {\n border: 0;\n background: none;\n padding: 0 0.25em;\n margin-left: 0.25em;\n border: 1px solid rgba(0, 0, 0, 0);\n\n &:hover {\n background: $hover-bg;\n border: 1px solid $selected-fg;\n }\n}\n</style>\n","import { render } from \"./EditButton.vue?vue&type=template&id=3344f2bf&scoped=true\"\nimport script from \"./EditButton.vue?vue&type=script&lang=js\"\nexport * from \"./EditButton.vue?vue&type=script&lang=js\"\n\nimport \"./EditButton.vue?vue&type=style&index=0&id=3344f2bf&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3344f2bf\"]])\n\nexport default __exports__","<template>\n <form @submit.prevent=\"submit\" class=\"name-editor\">\n <input type=\"text\" v-model=\"text\" :disabled=\"disabled\">\n <button type=\"submit\">\n <i class=\"fas fa-circle-check\" />\n </button>\n <button class=\"cancel\" @click=\"$emit('cancel')\" @touch=\"$emit('cancel')\">\n <i class=\"fas fa-ban\" />\n </button>\n <slot />\n </form>\n</template>\n\n<script>\nexport default {\n emits: ['input', 'cancel'],\n props: {\n value: {\n type: String,\n },\n\n disabled: {\n type: Boolean,\n deafult: false,\n },\n },\n\n data() {\n return {\n text: null,\n }\n },\n\n methods: {\n proxy(e) {\n this.$emit(e.type, e)\n },\n\n submit() {\n this.$emit('input', this.text)\n return false\n },\n },\n\n mounted() {\n this.text = this.value\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.name-editor {\n background: #00000000;\n display: inline-flex;\n flex-direction: row;\n padding: 0;\n border: 0;\n border-radius: 0;\n box-shadow: none;\n\n button {\n border: none;\n background: none;\n padding: 0 0.5em;\n\n &.confirm {\n color: $selected-fg;\n }\n\n &.cancel {\n color: $error-fg;\n }\n }\n}\n</style>\n","import { render } from \"./NameEditor.vue?vue&type=template&id=1405d90f&scoped=true\"\nimport script from \"./NameEditor.vue?vue&type=script&lang=js\"\nexport * from \"./NameEditor.vue?vue&type=script&lang=js\"\n\nimport \"./NameEditor.vue?vue&type=style&index=0&id=1405d90f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1405d90f\"]])\n\nexport default __exports__","import { render } from \"./Modal.vue?vue&type=template&id=ada8d74e&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=ada8d74e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ada8d74e\"]])\n\nexport default __exports__","<template>\n <div class=\"entities-selectors-container\">\n <div class=\"selector\">\n <Dropdown title=\"Group by\" icon-class=\"fas fa-eye\" ref=\"groupingSelector\">\n <DropdownItem v-for=\"g in visibleGroupings\" :key=\"g\" :text=\"prettifyGroupingName(g)\"\n :item-class=\"{selected: value?.grouping === g}\"\n @click=\"onGroupingChanged(g)\" />\n </Dropdown>\n </div>\n\n <div class=\"selector\" :class=\"{active: isGroupFilterActive}\" v-if=\"value?.grouping\">\n <Dropdown title=\"Filter by\" icon-class=\"fas fa-filter\" ref=\"groupSelector\"\n keep-open-on-item-click>\n <DropdownItem v-for=\"g in sortedGroups\" :key=\"g\" :text=\"g\"\n v-bind=\"iconForGroup(g)\" :item-class=\"{selected: !!selectedGroups[g]}\"\n @click.stop=\"toggleGroup(g)\" />\n </Dropdown>\n </div>\n\n <div class=\"selector\" v-if=\"Object.keys(entityGroups.id || {}).length\">\n <input ref=\"search\" type=\"text\" class=\"search-bar\" placeholder=\"🔎\" v-model=\"searchTerm\">\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from '@/Utils'\nimport Dropdown from \"@/components/elements/Dropdown\";\nimport DropdownItem from \"@/components/elements/DropdownItem\";\nimport meta from './meta.json'\nimport pluginIcons from '@/assets/icons.json'\n\nexport default {\n name: \"Selector\",\n emits: ['input'],\n mixins: [Utils],\n components: {Dropdown, DropdownItem},\n props: {\n entityGroups: {\n type: Object,\n required: true,\n },\n\n value: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n selectedGroups: {},\n searchTerm: '',\n }\n },\n\n computed: {\n visibleGroupings() {\n return Object.keys(this.entityGroups).filter(\n (grouping) => grouping !== 'id'\n )\n },\n\n sortedGroups() {\n return Object.keys(this.entityGroups[this.value?.grouping] || {}).sort()\n },\n\n typesMeta() {\n return meta\n },\n\n isGroupFilterActive() {\n return Object.keys(this.selectedGroups).length !== this.sortedGroups.length\n },\n\n selectedEntities() {\n return Object.values(this.entityGroups.id).filter((entity) => {\n if (!this.selectedGroups[entity[this.value?.grouping]])\n return false\n\n if (this.searchTerm?.length) {\n const searchTerm = this.searchTerm.toLowerCase()\n return (\n ((entity.name || '').toLowerCase()).indexOf(searchTerm) >= 0 ||\n ((entity.plugin || '').toLowerCase()).indexOf(searchTerm) >= 0 ||\n ((entity.external_id || '').toLowerCase()).indexOf(searchTerm) >= 0 ||\n (entity.id || 0).toString() == searchTerm\n )\n }\n\n return true\n }).reduce((obj, entity) => {\n obj[entity.id] = entity\n return obj\n }, {})\n },\n },\n\n methods: {\n prettifyGroupingName(name) {\n return name ? this.prettify(name) + 's' : ''\n },\n\n iconForGroup(group) {\n if (this.value.grouping === 'plugin' && pluginIcons[group]) {\n const icon = pluginIcons[group]\n return {\n 'icon-class': icon['class']?.length || !icon.imgUrl?.length ?\n icon['class'] : 'fas fa-gears',\n 'icon-url': icon.imgUrl,\n }\n }\n\n return {}\n },\n\n synchronizeSelectedEntities() {\n const value = {...this.value}\n value.selectedEntities = this.selectedEntities\n this.$emit('input', value)\n },\n\n updateSearchTerm() {\n const value = {...this.value}\n value.searchTerm = this.searchTerm\n value.selectedEntities = this.selectedEntities\n this.$emit('input', value)\n },\n\n refreshGroupFilter(reset) {\n if (reset)\n this.selectedGroups = Object.keys(\n this.entityGroups[this.value?.grouping] || {}\n ).reduce(\n (obj, group) => {\n obj[group] = true\n return obj\n }, {}\n )\n else {\n for (const group of Object.keys(this.entityGroups[this.value?.grouping]))\n if (this.selectedGroups[group] == null)\n this.selectedGroups[group] = true\n }\n\n this.synchronizeSelectedEntities()\n },\n\n toggleGroup(group) {\n this.selectedGroups[group] = !this.selectedGroups[group]\n this.synchronizeSelectedEntities()\n },\n\n onGroupingChanged(grouping) {\n if (!this.entityGroups[grouping] || grouping === this.value?.grouping)\n return false\n\n const value = {...this.value}\n value.grouping = grouping\n this.$emit('input', value)\n },\n },\n\n mounted() {\n this.refreshGroupFilter(true)\n this.$watch(() => this.value?.grouping, () => { this.refreshGroupFilter(true) })\n this.$watch(() => this.searchTerm, this.updateSearchTerm)\n this.$watch(() => this.entityGroups, () => { this.refreshGroupFilter(false) })\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.entities-selectors-container {\n width: 100%;\n display: flex;\n align-items: center;\n\n .selector {\n height: 100%;\n display: inline-flex;\n\n &.active {\n :deep(.dropdown-container) {\n button {\n color: $default-hover-fg;\n }\n }\n }\n }\n\n @media (max-width: 330px) {\n .search-bar {\n display: none;\n }\n }\n\n :deep(.dropdown-container) {\n height: 100%;\n display: flex;\n\n button {\n height: 100%;\n background: $default-bg-2;\n border: 0;\n padding: 0.5em;\n\n &:hover {\n color: $default-hover-fg;\n }\n }\n\n .item {\n padding: 0.5em 4em 0.5em 0.5em;\n border: 0;\n box-shadow: none;\n\n .col-1.icon {\n width: 1.5em;\n }\n\n &.selected {\n font-weight: bold;\n background: #ffffff00;\n }\n\n &:hover {\n background: $hover-bg;\n }\n }\n }\n}\n</style>\n","import { render } from \"./Selector.vue?vue&type=template&id=63b80935&scoped=true\"\nimport script from \"./Selector.vue?vue&type=script&lang=js\"\nexport * from \"./Selector.vue?vue&type=script&lang=js\"\n\nimport \"./Selector.vue?vue&type=style&index=0&id=63b80935&lang=scss&scoped=true\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-63b80935\"]])\n\nexport default __exports__","var map = {\n\t\"./Entity\": [\n\t\t9892,\n\t\t9\n\t],\n\t\"./Entity.vue\": [\n\t\t9892,\n\t\t9\n\t],\n\t\"./EntityIcon\": [\n\t\t3499,\n\t\t9,\n\t\t8729,\n\t\t3499\n\t],\n\t\"./EntityIcon.vue\": [\n\t\t3499,\n\t\t9,\n\t\t8729,\n\t\t3499\n\t],\n\t\"./EntityMixin\": [\n\t\t7909,\n\t\t9\n\t],\n\t\"./EntityMixin.vue\": [\n\t\t7909,\n\t\t9\n\t],\n\t\"./Index\": [\n\t\t914,\n\t\t9\n\t],\n\t\"./Index.vue\": [\n\t\t914,\n\t\t9\n\t],\n\t\"./Light\": [\n\t\t1155,\n\t\t9,\n\t\t3490,\n\t\t3803,\n\t\t8729,\n\t\t1155\n\t],\n\t\"./Light.vue\": [\n\t\t1155,\n\t\t9,\n\t\t3490,\n\t\t3803,\n\t\t8729,\n\t\t1155\n\t],\n\t\"./Modal\": [\n\t\t4117,\n\t\t9\n\t],\n\t\"./Modal.vue\": [\n\t\t4117,\n\t\t9\n\t],\n\t\"./Selector\": [\n\t\t6647,\n\t\t9\n\t],\n\t\"./Selector.vue\": [\n\t\t6647,\n\t\t9\n\t],\n\t\"./Switch\": [\n\t\t518,\n\t\t9,\n\t\t3490,\n\t\t8729,\n\t\t518\n\t],\n\t\"./Switch.vue\": [\n\t\t518,\n\t\t9,\n\t\t3490,\n\t\t8729,\n\t\t518\n\t],\n\t\"./common.scss\": [\n\t\t65,\n\t\t9,\n\t\t4981,\n\t\t65\n\t],\n\t\"./meta\": [\n\t\t7369,\n\t\t3\n\t],\n\t\"./meta.json\": [\n\t\t7369,\n\t\t3\n\t],\n\t\"./vars.scss\": [\n\t\t5207,\n\t\t9,\n\t\t4981,\n\t\t5207\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1] | 16)\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 7243;\nmodule.exports = webpackAsyncContext;"],"names":["wellKnownSymbol","MATCH","module","exports","METHOD_NAME","regexp","error1","error2","isRegExp","$TypeError","TypeError","it","$","uncurryThis","getOwnPropertyDescriptor","toLength","toString","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","un$StartsWith","startsWith","stringSlice","slice","min","Math","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","String","prototype","writable","target","proto","forced","searchString","that","this","index","arguments","length","undefined","search","class","component","value","loading","error","reachable","$emit","$event","name","mixins","EntityMixin","emits","data","mounted","type","__exports__","render","Utils","props","Boolean","default","Object","required","modalVisible","computed","entityType","charAt","toUpperCase","entityGroups","selector","title","refresh","modalEntityId","entity","entities","visible","onEntityModal","keys","displayGroups","group","key","grouping","entitiesMeta","icon","pluginIcons","url","imgUrl","name_plural","id","onEntityInput","errorEntities","loadingEntities","components","Loading","Icon","Entity","Selector","NoItems","EntityModal","entityScanTimeout","Number","entityTimeouts","selectedEntities","meta","icons","entries","groupEntities","reduce","obj","filter","entry","e","sort","a","b","localeCompare","map","methods","attr","values","args","plugins","plugin","self","clearTimeout","setTimeout","notify","text","request","sync","name_override","clearEntityTimeouts","entityId","onEntityUpdate","event","state","onEntityDelete","subscribe","href","external_id","ref","onDelete","editName","onRename","disabled","editIcon","onIconEdit","color","onIconColorEdit","description","created_at","updated_at","$refs","deleteConfirmDiag","show","onConfirm","confirmText","close","cancelText","Modal","modal","hide","proxy","submit","deafult","EditButton","NameEditor","ConfirmDialog","newName","req","newIcon","visibleGroupings","g","prettifyGroupingName","onGroupingChanged","isGroupFilterActive","sortedGroups","iconForGroup","selectedGroups","toggleGroup","placeholder","searchTerm","Dropdown","DropdownItem","typesMeta","toLowerCase","indexOf","prettify","synchronizeSelectedEntities","updateSearchTerm","refreshGroupFilter","reset","$watch","webpackAsyncContext","__webpack_require__","o","Promise","resolve","then","Error","code","ids","all","t"],"sourceRoot":""}