mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Add storage variables for application credentials config table (#21215)
Implement storage variables
This commit is contained in:
parent
cbc95a5e2d
commit
4a1087c969
@ -7,6 +7,7 @@ import { LocalizeFunc } from "../../../common/translations/localize";
|
|||||||
import {
|
import {
|
||||||
DataTableColumnContainer,
|
DataTableColumnContainer,
|
||||||
SelectionChangedEvent,
|
SelectionChangedEvent,
|
||||||
|
SortingChangedEvent,
|
||||||
} from "../../../components/data-table/ha-data-table";
|
} from "../../../components/data-table/ha-data-table";
|
||||||
import "../../../components/ha-fab";
|
import "../../../components/ha-fab";
|
||||||
import "../../../components/ha-help-tooltip";
|
import "../../../components/ha-help-tooltip";
|
||||||
@ -27,6 +28,7 @@ import type { HaTabsSubpageDataTable } from "../../../layouts/hass-tabs-subpage-
|
|||||||
import { HomeAssistant, Route } from "../../../types";
|
import { HomeAssistant, Route } from "../../../types";
|
||||||
import { configSections } from "../ha-panel-config";
|
import { configSections } from "../ha-panel-config";
|
||||||
import { showAddApplicationCredentialDialog } from "./show-dialog-add-application-credential";
|
import { showAddApplicationCredentialDialog } from "./show-dialog-add-application-credential";
|
||||||
|
import { storage } from "../../../common/decorators/storage";
|
||||||
|
|
||||||
@customElement("ha-config-application-credentials")
|
@customElement("ha-config-application-credentials")
|
||||||
export class HaConfigApplicationCredentials extends LitElement {
|
export class HaConfigApplicationCredentials extends LitElement {
|
||||||
@ -45,6 +47,27 @@ export class HaConfigApplicationCredentials extends LitElement {
|
|||||||
@query("hass-tabs-subpage-data-table", true)
|
@query("hass-tabs-subpage-data-table", true)
|
||||||
private _dataTable!: HaTabsSubpageDataTable;
|
private _dataTable!: HaTabsSubpageDataTable;
|
||||||
|
|
||||||
|
@storage({
|
||||||
|
key: "application-credentials-table-sort",
|
||||||
|
state: false,
|
||||||
|
subscribe: false,
|
||||||
|
})
|
||||||
|
private _activeSorting?: SortingChangedEvent;
|
||||||
|
|
||||||
|
@storage({
|
||||||
|
key: "application-credentials-table-column-order",
|
||||||
|
state: false,
|
||||||
|
subscribe: false,
|
||||||
|
})
|
||||||
|
private _activeColumnOrder?: string[];
|
||||||
|
|
||||||
|
@storage({
|
||||||
|
key: "application-credentials-table-hidden-columns",
|
||||||
|
state: false,
|
||||||
|
subscribe: false,
|
||||||
|
})
|
||||||
|
private _activeHiddenColumns?: string[];
|
||||||
|
|
||||||
private _columns = memoizeOne(
|
private _columns = memoizeOne(
|
||||||
(narrow: boolean, localize: LocalizeFunc): DataTableColumnContainer => {
|
(narrow: boolean, localize: LocalizeFunc): DataTableColumnContainer => {
|
||||||
const columns: DataTableColumnContainer<ApplicationCredential> = {
|
const columns: DataTableColumnContainer<ApplicationCredential> = {
|
||||||
@ -128,6 +151,11 @@ export class HaConfigApplicationCredentials extends LitElement {
|
|||||||
selectable
|
selectable
|
||||||
.selected=${this._selected.length}
|
.selected=${this._selected.length}
|
||||||
@selection-changed=${this._handleSelectionChanged}
|
@selection-changed=${this._handleSelectionChanged}
|
||||||
|
.initialSorting=${this._activeSorting}
|
||||||
|
.columnOrder=${this._activeColumnOrder}
|
||||||
|
.hiddenColumns=${this._activeHiddenColumns}
|
||||||
|
@columns-changed=${this._handleColumnsChanged}
|
||||||
|
@sorting-changed=${this._handleSortingChanged}
|
||||||
>
|
>
|
||||||
<div class="header-btns" slot="selection-bar">
|
<div class="header-btns" slot="selection-bar">
|
||||||
${!this.narrow
|
${!this.narrow
|
||||||
@ -252,6 +280,15 @@ export class HaConfigApplicationCredentials extends LitElement {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _handleSortingChanged(ev: CustomEvent) {
|
||||||
|
this._activeSorting = ev.detail;
|
||||||
|
}
|
||||||
|
|
||||||
|
private _handleColumnsChanged(ev: CustomEvent) {
|
||||||
|
this._activeColumnOrder = ev.detail.columnOrder;
|
||||||
|
this._activeHiddenColumns = ev.detail.hiddenColumns;
|
||||||
|
}
|
||||||
|
|
||||||
static get styles(): CSSResultGroup {
|
static get styles(): CSSResultGroup {
|
||||||
return css`
|
return css`
|
||||||
.table-header {
|
.table-header {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user