mirror of
https://github.com/home-assistant/frontend.git
synced 2026-02-04 01:10:33 -06:00
Add AppSelector following the Add-ons->Apps rename (#29209)
This commit is contained in:
parent
91c12605d3
commit
c2c4e06915
45
src/components/ha-selector/ha-selector-app.ts
Normal file
45
src/components/ha-selector/ha-selector-app.ts
Normal file
@ -0,0 +1,45 @@
|
||||
import { css, html, LitElement } from "lit";
|
||||
import { customElement, property } from "lit/decorators";
|
||||
import type { AppSelector } from "../../data/selector";
|
||||
import type { HomeAssistant } from "../../types";
|
||||
import "../ha-addon-picker";
|
||||
|
||||
@customElement("ha-selector-app")
|
||||
export class HaAppSelector extends LitElement {
|
||||
@property({ attribute: false }) public hass!: HomeAssistant;
|
||||
|
||||
@property({ attribute: false }) public selector!: AppSelector;
|
||||
|
||||
@property() public value?: any;
|
||||
|
||||
@property() public label?: string;
|
||||
|
||||
@property() public helper?: string;
|
||||
|
||||
@property({ type: Boolean }) public disabled = false;
|
||||
|
||||
@property({ type: Boolean }) public required = true;
|
||||
|
||||
protected render() {
|
||||
return html`<ha-addon-picker
|
||||
.hass=${this.hass}
|
||||
.value=${this.value}
|
||||
.label=${this.label}
|
||||
.helper=${this.helper}
|
||||
.disabled=${this.disabled}
|
||||
.required=${this.required}
|
||||
></ha-addon-picker>`;
|
||||
}
|
||||
|
||||
static styles = css`
|
||||
ha-addon-picker {
|
||||
width: 100%;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"ha-selector-app": HaAppSelector;
|
||||
}
|
||||
}
|
||||
@ -13,6 +13,7 @@ import type { HomeAssistant } from "../../types";
|
||||
const LOAD_ELEMENTS = {
|
||||
action: () => import("./ha-selector-action"),
|
||||
addon: () => import("./ha-selector-addon"),
|
||||
app: () => import("./ha-selector-app"),
|
||||
area: () => import("./ha-selector-area"),
|
||||
areas_display: () => import("./ha-selector-areas-display"),
|
||||
attribute: () => import("./ha-selector-attribute"),
|
||||
|
||||
@ -25,6 +25,7 @@ import type { EntitySources } from "./entity/entity_sources";
|
||||
export type Selector =
|
||||
| ActionSelector
|
||||
| AddonSelector
|
||||
| AppSelector
|
||||
| AreaSelector
|
||||
| AreasDisplaySelector
|
||||
| AttributeSelector
|
||||
@ -90,6 +91,13 @@ export interface AddonSelector {
|
||||
} | null;
|
||||
}
|
||||
|
||||
export interface AppSelector {
|
||||
app: {
|
||||
name?: string;
|
||||
slug?: string;
|
||||
} | null;
|
||||
}
|
||||
|
||||
export interface AreaSelector {
|
||||
area: {
|
||||
entity?: EntitySelectorFilter | readonly EntitySelectorFilter[];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user