diff --git a/bundles/org.openhab.ui/web/src/App.vue b/bundles/org.openhab.ui/web/src/App.vue
index 038ad48860..03a34e0b9d 100644
--- a/bundles/org.openhab.ui/web/src/App.vue
+++ b/bundles/org.openhab.ui/web/src/App.vue
@@ -34,7 +34,7 @@
view=".view-main"
panel-close>
-
+
@@ -484,6 +484,7 @@ import buildInfo from '@/assets/build-info'
import routes from '@/js/routes.js'
import PanelRight from '@/pages/panel-right.vue'
+import { getPageIcon } from '@/pages/page-type'
import EmptyStatePlaceholder from '@/components/empty-state-placeholder.vue'
import { useRuntimeStore } from '@/js/stores/useRuntimeStore'
@@ -820,23 +821,7 @@ export default {
if (page.config.visibleTo.indexOf('user:' + user.name) >= 0) return true
return false
},
- pageIcon(page) {
- if (page.config && page.config.icon) return page.config.icon
- switch (page.component) {
- case 'oh-layout-page':
- return 'f7:rectangle_grid_2x2'
- case 'oh-tabs-page':
- return 'f7:squares_below_rectangle'
- case 'oh-map-page':
- return 'f7:map'
- case 'oh-plan-page':
- return 'f7:square_stack_3d_up'
- case 'oh-chart-page':
- return 'f7:graph_square'
- default:
- return 'f7:tv'
- }
- },
+ getPageIcon,
updateThemeOptions() {
if (useUIOptionsStore().visibleBreakpointDisabled) {
nextTick(() => {
diff --git a/bundles/org.openhab.ui/web/src/components/developer/developer-sidebar.vue b/bundles/org.openhab.ui/web/src/components/developer/developer-sidebar.vue
index 7bad4c3630..5e128ea555 100644
--- a/bundles/org.openhab.ui/web/src/components/developer/developer-sidebar.vue
+++ b/bundles/org.openhab.ui/web/src/components/developer/developer-sidebar.vue
@@ -636,6 +636,7 @@ import SearchResults from './search-results.vue'
import ExpressionTester from './expression-tester.vue'
import ClipboardIcon from '@/components/util/clipboard-icon.vue'
+import { getPageType } from '@/pages/page-type'
import RuleStatus from '@/components/rule/rule-status-mixin'
import ThingStatus from '@/components/thing/thing-status-mixin'
import cloneDeep from 'lodash/cloneDeep'
@@ -687,15 +688,6 @@ export default {
newCollectionName: '',
sseEvents: [],
openedItem: null,
- pageTypes: [
- { type: 'sitemap', label: 'Sitemap', componentType: 'Sitemap', icon: 'menu' },
- { type: 'layout', label: 'Layout', componentType: 'oh-layout-page', icon: 'rectangle_grid_2x2' },
- { type: 'home', label: 'Home', componentType: 'oh-home-page', icon: 'house' },
- { type: 'tabs', label: 'Tabbed', componentType: 'oh-tabs-page', icon: 'squares_below_rectangle' },
- { type: 'map', label: 'Map', componentType: 'oh-map-page', icon: 'map' },
- { type: 'plan', label: 'Floor plan', componentType: 'oh-plan-page', icon: 'square_stack_3d_up' },
- { type: 'chart', label: 'Chart', componentType: 'oh-chart-page', icon: 'graph_square' }
- ],
testExpression: '',
addThingAutocomplete: null,
theme
@@ -1023,9 +1015,7 @@ export default {
load()
}
},
- getPageType(page) {
- return this.pageTypes.find((t) => t.componentType === page.component)
- },
+ getPageType,
showItem(evt, item) {
evt.cancelBubble = true
if (this.$$(evt.target).closest('.itemlist-actions').length) return
diff --git a/bundles/org.openhab.ui/web/src/components/developer/search-results.vue b/bundles/org.openhab.ui/web/src/components/developer/search-results.vue
index e8e67ac74d..63d92608c4 100644
--- a/bundles/org.openhab.ui/web/src/components/developer/search-results.vue
+++ b/bundles/org.openhab.ui/web/src/components/developer/search-results.vue
@@ -388,6 +388,7 @@