diff --git a/platypush/backend/http/webapp/src/Utils.vue b/platypush/backend/http/webapp/src/Utils.vue
index bafc3aa873..17069fbee5 100644
--- a/platypush/backend/http/webapp/src/Utils.vue
+++ b/platypush/backend/http/webapp/src/Utils.vue
@@ -4,7 +4,7 @@ import Clipboard from "@/utils/Clipboard";
import Cookies from "@/utils/Cookies";
import DateTime from "@/utils/DateTime";
import Events from "@/utils/Events";
-import Integrations from "@/utils/Integrations";
+import Extensions from "@/utils/Extensions";
import Notification from "@/utils/Notification";
import Screen from "@/utils/Screen";
import Text from "@/utils/Text";
@@ -19,7 +19,7 @@ export default {
DateTime,
Events,
Notification,
- Integrations,
+ Extensions,
Screen,
Text,
Types,
diff --git a/platypush/backend/http/webapp/src/assets/icons.json b/platypush/backend/http/webapp/src/assets/icons.json
index a0594746c9..6b7d050cae 100644
--- a/platypush/backend/http/webapp/src/assets/icons.json
+++ b/platypush/backend/http/webapp/src/assets/icons.json
@@ -29,6 +29,9 @@
"execute": {
"class": "fa fa-play"
},
+ "extensions": {
+ "class": "fas fa-puzzle-piece"
+ },
"light.hue": {
"class": "fas fa-lightbulb"
},
diff --git a/platypush/backend/http/webapp/src/components/Nav.vue b/platypush/backend/http/webapp/src/components/Nav.vue
index 74ffa87f3f..48d9447f8e 100644
--- a/platypush/backend/http/webapp/src/components/Nav.vue
+++ b/platypush/backend/http/webapp/src/components/Nav.vue
@@ -101,10 +101,11 @@ export default {
return names
}
- let panelNames = Object.keys(this.panels)
+ let panelNames = Object.keys(this.panels).sort()
+ panelNames = prepend(panelNames, 'extensions')
panelNames = prepend(panelNames, 'execute')
panelNames = prepend(panelNames, 'entities')
- return panelNames.sort()
+ return panelNames
},
collapsedDefault() {
@@ -125,6 +126,8 @@ export default {
return 'Home'
if (name === 'execute')
return 'Execute'
+ if (name === 'extensions')
+ return 'Extensions'
return name
},
@@ -252,12 +255,12 @@ nav {
}
.plugins {
- height: calc(100% - #{$toggler-height} - #{$footer-expanded-height} - 1em);
+ height: calc(100% - #{$toggler-height} - #{$footer-expanded-height} - 1.5em);
overflow: auto;
}
.footer {
- height: $footer-expanded-height;
+ height: calc($footer-expanded-height + 0.4em);
background: $nav-footer-bg;
padding: 0;
margin: 0;
diff --git a/platypush/backend/http/webapp/src/components/panels/Extensions/Doc.vue b/platypush/backend/http/webapp/src/components/panels/Extensions/Doc.vue
new file mode 100644
index 0000000000..dc85249304
--- /dev/null
+++ b/platypush/backend/http/webapp/src/components/panels/Extensions/Doc.vue
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
diff --git a/platypush/backend/http/webapp/src/components/panels/Extensions/Extension.vue b/platypush/backend/http/webapp/src/components/panels/Extensions/Extension.vue
new file mode 100644
index 0000000000..8a560edb10
--- /dev/null
+++ b/platypush/backend/http/webapp/src/components/panels/Extensions/Extension.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+ Documentation
+
+
+
+ Install
+
+
+
+ Configuration
+
+
+
+ Actions
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/platypush/backend/http/webapp/src/components/panels/Extensions/Index.vue b/platypush/backend/http/webapp/src/components/panels/Extensions/Index.vue
new file mode 100644
index 0000000000..1a45eeaf04
--- /dev/null
+++ b/platypush/backend/http/webapp/src/components/panels/Extensions/Index.vue
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
diff --git a/platypush/backend/http/webapp/src/components/panels/Settings/Index.vue b/platypush/backend/http/webapp/src/components/panels/Settings/Index.vue
index 521689ad61..baabc173ab 100644
--- a/platypush/backend/http/webapp/src/components/panels/Settings/Index.vue
+++ b/platypush/backend/http/webapp/src/components/panels/Settings/Index.vue
@@ -5,7 +5,6 @@
v-if="selectedPanel === 'users' && currentUser" />
-
@@ -13,12 +12,11 @@
-
-
diff --git a/platypush/backend/http/webapp/src/components/panels/Settings/sections.json b/platypush/backend/http/webapp/src/components/panels/Settings/sections.json
index 7f8dfe768e..fc6adc452a 100644
--- a/platypush/backend/http/webapp/src/components/panels/Settings/sections.json
+++ b/platypush/backend/http/webapp/src/components/panels/Settings/sections.json
@@ -11,12 +11,5 @@
"icon": {
"class": "fas fa-key"
}
- },
-
- "integrations": {
- "name": "Integrations",
- "icon": {
- "class": "fas fa-puzzle-piece"
- }
}
}
diff --git a/platypush/backend/http/webapp/src/utils/Integrations.vue b/platypush/backend/http/webapp/src/utils/Extensions.vue
similarity index 93%
rename from platypush/backend/http/webapp/src/utils/Integrations.vue
rename to platypush/backend/http/webapp/src/utils/Extensions.vue
index 0a55f93618..7bbf40ce8c 100644
--- a/platypush/backend/http/webapp/src/utils/Integrations.vue
+++ b/platypush/backend/http/webapp/src/utils/Extensions.vue
@@ -1,6 +1,6 @@