mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-21 16:26:43 +00:00
Reorder configuration (#10817)
This commit is contained in:
parent
2459477ec4
commit
5c78b74005
@ -224,7 +224,7 @@ class HaBlueprintOverview extends LitElement {
|
|||||||
.narrow=${this.narrow}
|
.narrow=${this.narrow}
|
||||||
back-path="/config"
|
back-path="/config"
|
||||||
.route=${this.route}
|
.route=${this.route}
|
||||||
.tabs=${configSections.automations}
|
.tabs=${configSections.blueprints}
|
||||||
.columns=${this._columns(this.narrow, this.hass.language)}
|
.columns=${this._columns(this.narrow, this.hass.language)}
|
||||||
.data=${this._processedBlueprints(this.blueprints)}
|
.data=${this._processedBlueprints(this.blueprints)}
|
||||||
id="entity_id"
|
id="entity_id"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { mdiCellphoneCog, mdiCloudLock } from "@mdi/js";
|
import { mdiCloudLock } from "@mdi/js";
|
||||||
import "@polymer/app-layout/app-header/app-header";
|
import "@polymer/app-layout/app-header/app-header";
|
||||||
import "@polymer/app-layout/app-toolbar/app-toolbar";
|
import "@polymer/app-layout/app-toolbar/app-toolbar";
|
||||||
import {
|
import {
|
||||||
@ -110,29 +110,10 @@ class HaConfigDashboard extends LitElement {
|
|||||||
></ha-config-navigation>
|
></ha-config-navigation>
|
||||||
`
|
`
|
||||||
: ""}
|
: ""}
|
||||||
${this._externalConfig?.hasSettingsScreen
|
|
||||||
? html`
|
|
||||||
<ha-config-navigation
|
|
||||||
.hass=${this.hass}
|
|
||||||
.narrow=${this.narrow}
|
|
||||||
.showAdvanced=${this.showAdvanced}
|
|
||||||
.pages=${[
|
|
||||||
{
|
|
||||||
path: "#external-app-configuration",
|
|
||||||
name: "Companion App",
|
|
||||||
description: "Location and notifications",
|
|
||||||
iconPath: mdiCellphoneCog,
|
|
||||||
iconColor: "#37474F",
|
|
||||||
core: true,
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
@click=${this._handleExternalAppConfiguration}
|
|
||||||
></ha-config-navigation>
|
|
||||||
`
|
|
||||||
: ""}
|
|
||||||
<ha-config-navigation
|
<ha-config-navigation
|
||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.narrow=${this.narrow}
|
.narrow=${this.narrow}
|
||||||
|
.externalConfig=${this._externalConfig}
|
||||||
.showAdvanced=${this.showAdvanced}
|
.showAdvanced=${this.showAdvanced}
|
||||||
.pages=${configSections.dashboard}
|
.pages=${configSections.dashboard}
|
||||||
></ha-config-navigation>
|
></ha-config-navigation>
|
||||||
@ -142,13 +123,6 @@ class HaConfigDashboard extends LitElement {
|
|||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
private _handleExternalAppConfiguration(ev: Event) {
|
|
||||||
ev.preventDefault();
|
|
||||||
this.hass.auth.external!.fireMessage({
|
|
||||||
type: "config_screen/show",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
static get styles(): CSSResultGroup {
|
static get styles(): CSSResultGroup {
|
||||||
return [
|
return [
|
||||||
haStyle,
|
haStyle,
|
||||||
|
@ -6,6 +6,7 @@ import { canShowPage } from "../../../common/config/can_show_page";
|
|||||||
import "../../../components/ha-card";
|
import "../../../components/ha-card";
|
||||||
import "../../../components/ha-icon-next";
|
import "../../../components/ha-icon-next";
|
||||||
import { CloudStatus, CloudStatusLoggedIn } from "../../../data/cloud";
|
import { CloudStatus, CloudStatusLoggedIn } from "../../../data/cloud";
|
||||||
|
import { ExternalConfig } from "../../../external_app/external_config";
|
||||||
import { PageNavigation } from "../../../layouts/hass-tabs-subpage";
|
import { PageNavigation } from "../../../layouts/hass-tabs-subpage";
|
||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
|
|
||||||
@ -19,10 +20,16 @@ class HaConfigNavigation extends LitElement {
|
|||||||
|
|
||||||
@property() public pages!: PageNavigation[];
|
@property() public pages!: PageNavigation[];
|
||||||
|
|
||||||
|
@property() public externalConfig?: ExternalConfig;
|
||||||
|
|
||||||
protected render(): TemplateResult {
|
protected render(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
${this.pages.map((page) =>
|
${this.pages.map((page) =>
|
||||||
canShowPage(this.hass, page)
|
(
|
||||||
|
page.path === "#external-app-configuration"
|
||||||
|
? this.externalConfig?.hasSettingsScreen
|
||||||
|
: canShowPage(this.hass, page)
|
||||||
|
)
|
||||||
? html`
|
? html`
|
||||||
<a href=${page.path} aria-role="option" tabindex="-1">
|
<a href=${page.path} aria-role="option" tabindex="-1">
|
||||||
<paper-icon-item @click=${this._entryClicked}>
|
<paper-icon-item @click=${this._entryClicked}>
|
||||||
@ -77,6 +84,16 @@ class HaConfigNavigation extends LitElement {
|
|||||||
|
|
||||||
private _entryClicked(ev) {
|
private _entryClicked(ev) {
|
||||||
ev.currentTarget.blur();
|
ev.currentTarget.blur();
|
||||||
|
if (
|
||||||
|
ev.currentTarget.parentElement.href.endsWith(
|
||||||
|
"#external-app-configuration"
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
ev.preventDefault();
|
||||||
|
this.hass.auth.external!.fireMessage({
|
||||||
|
type: "config_screen/show",
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static get styles(): CSSResultGroup {
|
static get styles(): CSSResultGroup {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
mdiAccount,
|
mdiAccount,
|
||||||
mdiBadgeAccountHorizontal,
|
mdiBadgeAccountHorizontal,
|
||||||
|
mdiCellphoneCog,
|
||||||
mdiCog,
|
mdiCog,
|
||||||
mdiDevices,
|
mdiDevices,
|
||||||
mdiHomeAssistant,
|
mdiHomeAssistant,
|
||||||
@ -57,22 +58,22 @@ export const configSections: { [name: string]: PageNavigation[] } = {
|
|||||||
{
|
{
|
||||||
path: "/config/automation",
|
path: "/config/automation",
|
||||||
name: "Automations & Scenes",
|
name: "Automations & Scenes",
|
||||||
description: "Automations, blueprints, scenes and scripts",
|
description: "Manage automations, scenes, scripts and helpers",
|
||||||
iconPath: mdiRobot,
|
iconPath: mdiRobot,
|
||||||
iconColor: "#518C43",
|
iconColor: "#518C43",
|
||||||
components: ["automation", "blueprint", "scene", "script"],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/config/helpers",
|
|
||||||
name: "Automation Helpers",
|
|
||||||
description: "Elements that help build automations",
|
|
||||||
iconPath: mdiTools,
|
|
||||||
iconColor: "#4D2EA4",
|
|
||||||
core: true,
|
core: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/config/blueprint",
|
||||||
|
name: "Blueprints",
|
||||||
|
description: "Manage blueprints",
|
||||||
|
iconPath: mdiPaletteSwatch,
|
||||||
|
iconColor: "#64B5F6",
|
||||||
|
component: "blueprint",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/hassio",
|
path: "/hassio",
|
||||||
name: "Add-ons & Backups (Supervisor)",
|
name: "Add-ons, Backups & Supervisor",
|
||||||
description: "Create backups, check logs or reboot your system",
|
description: "Create backups, check logs or reboot your system",
|
||||||
iconPath: mdiHomeAssistant,
|
iconPath: mdiHomeAssistant,
|
||||||
iconColor: "#4084CD",
|
iconColor: "#4084CD",
|
||||||
@ -111,6 +112,13 @@ export const configSections: { [name: string]: PageNavigation[] } = {
|
|||||||
iconColor: "#E48629",
|
iconColor: "#E48629",
|
||||||
components: ["person", "zone", "users"],
|
components: ["person", "zone", "users"],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "#external-app-configuration",
|
||||||
|
name: "Companion App",
|
||||||
|
description: "Location and notifications",
|
||||||
|
iconPath: mdiCellphoneCog,
|
||||||
|
iconColor: "#8E24AA",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/config/core",
|
path: "/config/core",
|
||||||
name: "Settings",
|
name: "Settings",
|
||||||
@ -155,13 +163,6 @@ export const configSections: { [name: string]: PageNavigation[] } = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
automations: [
|
automations: [
|
||||||
{
|
|
||||||
component: "blueprint",
|
|
||||||
path: "/config/blueprint",
|
|
||||||
translationKey: "ui.panel.config.blueprint.caption",
|
|
||||||
iconPath: mdiPaletteSwatch,
|
|
||||||
iconColor: "#518C43",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
component: "automation",
|
component: "automation",
|
||||||
path: "/config/automation",
|
path: "/config/automation",
|
||||||
@ -183,8 +184,6 @@ export const configSections: { [name: string]: PageNavigation[] } = {
|
|||||||
iconPath: mdiScriptText,
|
iconPath: mdiScriptText,
|
||||||
iconColor: "#518C43",
|
iconColor: "#518C43",
|
||||||
},
|
},
|
||||||
],
|
|
||||||
helpers: [
|
|
||||||
{
|
{
|
||||||
component: "helpers",
|
component: "helpers",
|
||||||
path: "/config/helpers",
|
path: "/config/helpers",
|
||||||
@ -194,6 +193,15 @@ export const configSections: { [name: string]: PageNavigation[] } = {
|
|||||||
core: true,
|
core: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
blueprints: [
|
||||||
|
{
|
||||||
|
component: "blueprint",
|
||||||
|
path: "/config/blueprint",
|
||||||
|
translationKey: "ui.panel.config.blueprint.caption",
|
||||||
|
iconPath: mdiPaletteSwatch,
|
||||||
|
iconColor: "#518C43",
|
||||||
|
},
|
||||||
|
],
|
||||||
tags: [
|
tags: [
|
||||||
{
|
{
|
||||||
component: "tag",
|
component: "tag",
|
||||||
|
@ -132,7 +132,7 @@ export class HaConfigHelpers extends LitElement {
|
|||||||
.narrow=${this.narrow}
|
.narrow=${this.narrow}
|
||||||
back-path="/config"
|
back-path="/config"
|
||||||
.route=${this.route}
|
.route=${this.route}
|
||||||
.tabs=${configSections.helpers}
|
.tabs=${configSections.automations}
|
||||||
.columns=${this._columns(this.narrow, this.hass.language)}
|
.columns=${this._columns(this.narrow, this.hass.language)}
|
||||||
.data=${this._getItems(this._stateItems)}
|
.data=${this._getItems(this._stateItems)}
|
||||||
@row-click=${this._openEditDialog}
|
@row-click=${this._openEditDialog}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user