mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-16 05:46:35 +00:00
Show if a custom integration overwrites a core integration (#22295)
This commit is contained in:
parent
dcafbcb06c
commit
82ec308be0
@ -22,6 +22,7 @@ export type IntegrationType =
|
||||
|
||||
export interface IntegrationManifest {
|
||||
is_built_in: boolean;
|
||||
overwrites_built_in?: boolean;
|
||||
domain: string;
|
||||
name: string;
|
||||
config_flow: boolean;
|
||||
|
@ -11,6 +11,7 @@ export interface Integration {
|
||||
iot_class?: string;
|
||||
supported_by?: string;
|
||||
is_built_in?: boolean;
|
||||
overwrites_built_in?: boolean;
|
||||
single_config_entry?: boolean;
|
||||
}
|
||||
|
||||
@ -23,6 +24,7 @@ export interface Brand {
|
||||
integrations?: Integrations;
|
||||
iot_standards?: IotStandards[];
|
||||
is_built_in?: boolean;
|
||||
overwrites_built_in?: boolean;
|
||||
}
|
||||
|
||||
export interface Brands {
|
||||
|
@ -69,6 +69,7 @@ export interface IntegrationListItem {
|
||||
supported_by?: string;
|
||||
cloud?: boolean;
|
||||
is_built_in?: boolean;
|
||||
overwrites_built_in?: boolean;
|
||||
is_add?: boolean;
|
||||
single_config_entry?: boolean;
|
||||
}
|
||||
@ -211,6 +212,7 @@ class AddIntegrationDialog extends LitElement {
|
||||
iot_standards: supportedIntegration.iot_standards,
|
||||
supported_by: integration.supported_by,
|
||||
is_built_in: supportedIntegration.is_built_in !== false,
|
||||
overwrites_built_in: integration.overwrites_built_in,
|
||||
cloud: supportedIntegration.iot_class?.startsWith("cloud_"),
|
||||
single_config_entry: integration.single_config_entry,
|
||||
});
|
||||
@ -232,6 +234,7 @@ class AddIntegrationDialog extends LitElement {
|
||||
? Object.keys(integration.integrations)
|
||||
: undefined,
|
||||
is_built_in: integration.is_built_in !== false,
|
||||
overwrites_built_in: integration.overwrites_built_in,
|
||||
});
|
||||
} else if (filter && "integration_type" in integration) {
|
||||
// Integration without a config flow
|
||||
@ -240,6 +243,7 @@ class AddIntegrationDialog extends LitElement {
|
||||
name: integration.name || domainToName(localize, domain),
|
||||
config_flow: integration.config_flow,
|
||||
is_built_in: integration.is_built_in !== false,
|
||||
overwrites_built_in: integration.overwrites_built_in,
|
||||
cloud: integration.iot_class?.startsWith("cloud_"),
|
||||
});
|
||||
}
|
||||
|
@ -161,14 +161,20 @@ export class HaIntegrationCard extends LitElement {
|
||||
: html`<div class="spacer"></div>`}
|
||||
<div class="icons">
|
||||
${this.manifest && !this.manifest.is_built_in
|
||||
? html`<span class="icon custom">
|
||||
? html`<span
|
||||
class="icon ${this.manifest.overwrites_built_in
|
||||
? "overwrites"
|
||||
: "custom"}"
|
||||
>
|
||||
<ha-svg-icon .path=${mdiPackageVariant}></ha-svg-icon>
|
||||
<simple-tooltip
|
||||
animation-delay="0"
|
||||
.position=${computeRTL(this.hass) ? "right" : "left"}
|
||||
offset="4"
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.integrations.config_entry.custom_integration"
|
||||
this.manifest.overwrites_built_in
|
||||
? "ui.panel.config.integrations.config_entry.custom_overwrites_core"
|
||||
: "ui.panel.config.integrations.config_entry.custom_integration"
|
||||
)}</simple-tooltip
|
||||
>
|
||||
</span>`
|
||||
@ -361,6 +367,9 @@ export class HaIntegrationCard extends LitElement {
|
||||
.icon.custom {
|
||||
background: var(--warning-color);
|
||||
}
|
||||
.icon.overwrites {
|
||||
background: var(--error-color);
|
||||
}
|
||||
.icon.yaml {
|
||||
background: var(--label-badge-grey);
|
||||
}
|
||||
|
@ -85,7 +85,9 @@ export class HaIntegrationListItem extends ListItemBase {
|
||||
><ha-svg-icon .path=${mdiPackageVariant}></ha-svg-icon
|
||||
><simple-tooltip animation-delay="0" position="left"
|
||||
>${this.hass.localize(
|
||||
"ui.panel.config.integrations.config_entry.custom_integration"
|
||||
this.integration.overwrites_built_in
|
||||
? "ui.panel.config.integrations.config_entry.custom_overwrites_core"
|
||||
: "ui.panel.config.integrations.config_entry.custom_integration"
|
||||
)}</simple-tooltip
|
||||
></span
|
||||
>`
|
||||
|
@ -4404,6 +4404,7 @@
|
||||
}
|
||||
},
|
||||
"custom_integration": "Custom integration",
|
||||
"custom_overwrites_core": "Custom integration that replaces a core component",
|
||||
"depends_on_cloud": "Depends on the cloud",
|
||||
"yaml_only": "Needs manual configuration",
|
||||
"no_config_flow": "This integration was not set up from the UI",
|
||||
|
Loading…
x
Reference in New Issue
Block a user