diff --git a/src/components/data-table/ha-data-table.ts b/src/components/data-table/ha-data-table.ts
index 19136ce94e..ad3f1d0a2c 100644
--- a/src/components/data-table/ha-data-table.ts
+++ b/src/components/data-table/ha-data-table.ts
@@ -622,8 +622,20 @@ export class HaDataTable extends LitElement {
.mdc-data-table__header-cell--icon-button,
.mdc-data-table__cell--icon-button {
- width: 40px;
- padding: 4px;
+ width: 56px;
+ padding: 8px;
+ }
+
+ .mdc-data-table__header-cell--icon-button:first-child,
+ .mdc-data-table__cell--icon-button:first-child {
+ width: 64px;
+ padding-left: 16px;
+ }
+
+ .mdc-data-table__header-cell--icon-button:last-child,
+ .mdc-data-table__cell--icon-button:last-child {
+ width: 64px;
+ padding-right: 16px;
}
.mdc-data-table__cell--icon-button a {
diff --git a/src/dialogs/generic/dialog-box.ts b/src/dialogs/generic/dialog-box.ts
index ff19b3d4bb..1301347f7e 100644
--- a/src/dialogs/generic/dialog-box.ts
+++ b/src/dialogs/generic/dialog-box.ts
@@ -142,6 +142,9 @@ class DialogBox extends LitElement {
min-width: initial;
}
}
+ a {
+ color: var(--primary-color);
+ }
p {
margin: 0;
padding-top: 6px;
diff --git a/src/panels/config/areas/ha-config-areas-dashboard.ts b/src/panels/config/areas/ha-config-areas-dashboard.ts
index 25abaa7a17..81256f562a 100644
--- a/src/panels/config/areas/ha-config-areas-dashboard.ts
+++ b/src/panels/config/areas/ha-config-areas-dashboard.ts
@@ -172,29 +172,12 @@ export class HaConfigAreasDashboard extends LitElement {
--app-header-background-color: var(--sidebar-background-color);
--app-header-text-color: var(--sidebar-text-color);
}
- a {
- color: var(--primary-color);
- }
- ha-card {
- max-width: 600px;
- margin: 16px auto;
- overflow: hidden;
- }
- .empty {
- text-align: center;
- }
- paper-item {
- cursor: pointer;
- padding-top: 4px;
- padding-bottom: 4px;
- }
ha-fab {
position: fixed;
bottom: 16px;
right: 16px;
z-index: 1;
}
-
ha-fab[is-wide] {
bottom: 24px;
right: 24px;
diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts
index 02ca4cd905..bee4982244 100644
--- a/src/panels/config/devices/ha-config-device-page.ts
+++ b/src/panels/config/devices/ha-config-device-page.ts
@@ -198,6 +198,7 @@ export class HaConfigDevicePage extends LitElement {
integrations[0]
}/logo@2x.png 2x
"
+ referrerpolicy="no-referrer"
@load=${this._onImageLoad}
@error=${this._onImageError}
/>
diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts
index ae56c4e188..bc2cee95fe 100644
--- a/src/panels/config/script/ha-script-picker.ts
+++ b/src/panels/config/script/ha-script-picker.ts
@@ -1,31 +1,28 @@
-import {
- LitElement,
- html,
- CSSResultArray,
- css,
- TemplateResult,
- property,
- customElement,
-} from "lit-element";
import "@polymer/paper-icon-button/paper-icon-button";
-import "@polymer/paper-item/paper-item-body";
import { HassEntity } from "home-assistant-js-websocket";
-
-import "../../../layouts/hass-tabs-subpage";
-
-import { computeRTL } from "../../../common/util/compute_rtl";
-
-import "../../../components/ha-card";
-import "../../../components/ha-fab";
-
-import "../ha-config-section";
-
+import {
+ css,
+ CSSResultArray,
+ customElement,
+ html,
+ LitElement,
+ property,
+ TemplateResult,
+} from "lit-element";
+import memoizeOne from "memoize-one";
+import { formatDateTime } from "../../../common/datetime/format_date_time";
+import { fireEvent } from "../../../common/dom/fire_event";
import { computeStateName } from "../../../common/entity/compute_state_name";
+import { computeRTL } from "../../../common/util/compute_rtl";
+import { DataTableColumnContainer } from "../../../components/data-table/ha-data-table";
+import "../../../components/ha-fab";
+import { triggerScript } from "../../../data/script";
+import "../../../layouts/hass-tabs-subpage-data-table";
import { haStyle } from "../../../resources/styles";
import { HomeAssistant, Route } from "../../../types";
-import { triggerScript } from "../../../data/script";
import { showToast } from "../../../util/toast";
import { configSections } from "../ha-panel-config";
+import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box";
@customElement("ha-script-picker")
class HaScriptPicker extends LitElement {
@@ -35,91 +32,123 @@ class HaScriptPicker extends LitElement {
@property() public narrow!: boolean;
@property() public route!: Route;
+ private _scripts = memoizeOne((scripts: HassEntity[]) => {
+ return scripts.map((script) => {
+ return {
+ ...script,
+ name: computeStateName(script),
+ };
+ });
+ });
+
+ private _columns = memoizeOne(
+ (_language): DataTableColumnContainer => {
+ return {
+ activate: {
+ title: "",
+ type: "icon-button",
+ template: (_toggle, script) =>
+ html`
+
- - ${this.hass.localize( - "ui.panel.config.script.picker.learn_more" - )} - -
-- ${this.hass.localize( - "ui.panel.config.script.picker.no_scripts" - )} -
-+ + ${this.hass.localize("ui.panel.config.script.picker.learn_more")} + +
+ `, + }); + } + static get styles(): CSSResultArray { return [ haStyle, css` - :host { - display: block; - } - - ha-card { - margin-bottom: 56px; - } - - .script { - display: flex; - flex-direction: horizontal; - align-items: center; - padding: 0 8px 0 16px; - } - - .script > *:first-child { - margin-right: 8px; - } - - .script a[href], - paper-icon-button { - color: var(--primary-text-color); - } - - .actions { - display: flex; - } - ha-fab { position: fixed; bottom: 16px; @@ -187,10 +212,6 @@ class HaScriptPicker extends LitElement { right: auto; left: 24px; } - - a { - color: var(--primary-color); - } `, ]; } diff --git a/src/translations/en.json b/src/translations/en.json index 961a86dc8b..74f55b6c0a 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1230,7 +1230,10 @@ "no_scripts": "We couldn’t find any editable scripts", "add_script": "Add script", "trigger_script": "Trigger script", - "edit_script": "Edit script" + "edit_script": "Edit script", + "headers": { + "name": "Name" + } }, "editor": { "alias": "Name",