diff --git a/platypush/backend/http/webapp/src/components/Nav.vue b/platypush/backend/http/webapp/src/components/Nav.vue index 649bf6ad..3a551ed2 100644 --- a/platypush/backend/http/webapp/src/components/Nav.vue +++ b/platypush/backend/http/webapp/src/components/Nav.vue @@ -6,7 +6,7 @@ @@ -66,6 +66,16 @@ export default { }, }, + computed: { + panelNames() { + let panelNames = Object.keys(this.panels) + const homeIdx = panelNames.indexOf('entities') + if (homeIdx >= 0) + return ['entities'].concat((panelNames.slice(0, homeIdx).concat(panelNames.slice(homeIdx+1))).sort()) + return panelNames.sort() + }, + }, + methods: { onItemClick(name) { this.$emit('select', name) diff --git a/platypush/backend/http/webapp/src/components/panels/Entities/Entity.vue b/platypush/backend/http/webapp/src/components/panels/Entities/Entity.vue new file mode 100644 index 00000000..dd241798 --- /dev/null +++ b/platypush/backend/http/webapp/src/components/panels/Entities/Entity.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/platypush/backend/http/webapp/src/components/panels/Entities/Index.vue b/platypush/backend/http/webapp/src/components/panels/Entities/Index.vue new file mode 100644 index 00000000..714928da --- /dev/null +++ b/platypush/backend/http/webapp/src/components/panels/Entities/Index.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/platypush/backend/http/webapp/src/components/panels/Entities/Selector.vue b/platypush/backend/http/webapp/src/components/panels/Entities/Selector.vue new file mode 100644 index 00000000..3d737ae0 --- /dev/null +++ b/platypush/backend/http/webapp/src/components/panels/Entities/Selector.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/platypush/backend/http/webapp/src/components/panels/Entities/Switch.vue b/platypush/backend/http/webapp/src/components/panels/Entities/Switch.vue new file mode 100644 index 00000000..e8fcf1c9 --- /dev/null +++ b/platypush/backend/http/webapp/src/components/panels/Entities/Switch.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/platypush/backend/http/webapp/src/components/panels/Entities/meta.json b/platypush/backend/http/webapp/src/components/panels/Entities/meta.json new file mode 100644 index 00000000..e4eafd8f --- /dev/null +++ b/platypush/backend/http/webapp/src/components/panels/Entities/meta.json @@ -0,0 +1,33 @@ +{ + "entity": { + "name": "Entity", + "name_plural": "Entities", + "icon": { + "class": "fas fa-circle-question" + } + }, + + "device": { + "name": "Device", + "name_plural": "Devices", + "icon": { + "class": "fas fa-gear" + } + }, + + "switch": { + "name": "Switch", + "name_plural": "Switches", + "icon": { + "class": "fas fa-toggle-on" + } + }, + + "light": { + "name": "Light", + "name_plural": "Lights", + "icon": { + "class": "fas fa-lightbulb" + } + } +} diff --git a/platypush/backend/http/webapp/src/components/panels/Entities/vars.scss b/platypush/backend/http/webapp/src/components/panels/Entities/vars.scss new file mode 100644 index 00000000..388ce259 --- /dev/null +++ b/platypush/backend/http/webapp/src/components/panels/Entities/vars.scss @@ -0,0 +1,2 @@ +$main-margin: 1em; +$selector-height: 2.5em; diff --git a/platypush/backend/http/webapp/src/style/items.scss b/platypush/backend/http/webapp/src/style/items.scss index ae1adf67..db6e7b47 100644 --- a/platypush/backend/http/webapp/src/style/items.scss +++ b/platypush/backend/http/webapp/src/style/items.scss @@ -1,3 +1,5 @@ +$header-height: 3.5em; + .item { display: flex; align-items: center; diff --git a/platypush/backend/http/webapp/src/style/themes/light.scss b/platypush/backend/http/webapp/src/style/themes/light.scss index c7f62176..b3e79337 100644 --- a/platypush/backend/http/webapp/src/style/themes/light.scss +++ b/platypush/backend/http/webapp/src/style/themes/light.scss @@ -10,6 +10,7 @@ $default-bg-7: #e4e4e4 !default; $default-fg: black !default; $default-fg-2: #23513a !default; $default-fg-3: #195331b3 !default; +$header-bg: linear-gradient(0deg, #c0e8e4, #e4f8f4) !default; //// Notifications $notification-bg: rgba(185, 255, 193, 0.9) !default; @@ -51,6 +52,8 @@ $border-shadow-bottom: 0 3px 2px -1px $default-shadow-color; $border-shadow-left: -2.5px 0 4px 0 $default-shadow-color; $border-shadow-right: 2.5px 0 4px 0 $default-shadow-color; $border-shadow-bottom-right: 2.5px 2.5px 3px 0 $default-shadow-color; +$header-shadow: 0px 1px 3px 1px #bbb !default; +$group-shadow: 3px -2px 6px 1px #98b0a0; //// Modals $modal-header-bg: #e0e0e0 !default; @@ -141,5 +144,5 @@ $dropdown-shadow: 1px 1px 1px #bbb !default; //// Scrollbars $scrollbar-track-bg: $slider-bg !default; $scrollbar-track-shadow: inset 1px 0px 3px 0 $slider-track-shadow !default; -$scrollbar-thumb-bg: #50ca80 !default; +$scrollbar-thumb-bg: #a5a2a2 !default; diff --git a/platypush/backend/http/webapp/src/views/Panel.vue b/platypush/backend/http/webapp/src/views/Panel.vue index e143b04a..78a6cdbe 100644 --- a/platypush/backend/http/webapp/src/views/Panel.vue +++ b/platypush/backend/http/webapp/src/views/Panel.vue @@ -90,7 +90,7 @@ export default { initializeDefaultViews() { this.plugins.execute = {} - this.plugins.switches = {} + this.plugins.entities = {} }, },