Skip to content

Commit

Permalink
Revert "Allow to move card from other view to section view"
Browse files Browse the repository at this point in the history
This reverts commit 203d900.
  • Loading branch information
piitaya committed Oct 16, 2024
1 parent 203d900 commit e01e313
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 28 deletions.
32 changes: 6 additions & 26 deletions src/panels/lovelace/components/hui-card-options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,7 @@ import "../../../components/ha-icon-button";
import "../../../components/ha-list-item";
import { LovelaceCardConfig } from "../../../data/lovelace/config/card";
import { saveConfig } from "../../../data/lovelace/config/types";
import {
isStrategyView,
LovelaceViewConfig,
} from "../../../data/lovelace/config/view";
import { isStrategyView } from "../../../data/lovelace/config/view";
import {
showAlertDialog,
showPromptDialog,
Expand All @@ -43,14 +40,12 @@ import { computeCardSize } from "../common/compute-card-size";
import { showEditCardDialog } from "../editor/card-editor/show-edit-card-dialog";
import {
addCard,
addSection,
deleteCard,
moveCardToContainer,
moveCardToIndex,
} from "../editor/config-util";
import {
LovelaceCardPath,
LovelaceContainerPath,
findLovelaceItems,
getLovelaceContainerPath,
parseLovelaceCardPath,
Expand Down Expand Up @@ -358,49 +353,34 @@ export class HuiCardOptions extends LitElement {
allowDashboardChange: true,
header: this.hass!.localize("ui.panel.lovelace.editor.move_card.header"),
viewSelectedCallback: async (urlPath, selectedDashConfig, viewIndex) => {
let view = selectedDashConfig.views[viewIndex];
let newConfig = selectedDashConfig;
const view = selectedDashConfig.views[viewIndex];

if (isStrategyView(view)) {
if (!isStrategyView(view) && view.type === SECTION_VIEW_LAYOUT) {
showAlertDialog(this, {
title: this.hass!.localize(
"ui.panel.lovelace.editor.move_card.error_title"
),
text: this.hass!.localize(
"ui.panel.lovelace.editor.move_card.error_text_strategy"
"ui.panel.lovelace.editor.move_card.error_text_section"
),
warning: true,
});
return;
}

const isSectionView = view.type === SECTION_VIEW_LAYOUT;

// If the view is a section view and has no sections, add a default section.
if (isSectionView && !view.sections?.length) {
const newSection = { type: "grid", cards: [] };
newConfig = addSection(selectedDashConfig, viewIndex, newSection);
view = newConfig.views[viewIndex] as LovelaceViewConfig;
}

const toPath: LovelaceContainerPath = isSectionView
? [viewIndex, view.sections!.length - 1]
: [viewIndex];

if (urlPath === this.lovelace!.urlPath) {
this.lovelace!.saveConfig(
moveCardToContainer(newConfig, this.path!, toPath)
moveCardToContainer(this.lovelace!.config, this.path!, [viewIndex])
);
showSaveSuccessToast(this, this.hass!);
return;
}
try {
const { cardIndex } = parseLovelaceCardPath(this.path!);
const card = this._cards[cardIndex];
await saveConfig(
this.hass!,
urlPath,
addCard(newConfig, toPath, card)
addCard(selectedDashConfig, [viewIndex], this._cards[cardIndex])
);
this.lovelace!.saveConfig(
deleteCard(this.lovelace!.config, this.path!)
Expand Down
4 changes: 2 additions & 2 deletions src/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -5682,8 +5682,8 @@
},
"move_card": {
"header": "Choose a view to move the card to",
"strategy_error_title": "Impossible to move the card",
"strategy_error_text_strategy": "Moving a card to a strategy view is not supported."
"error_title": "Impossible to move the card",
"error_text_section": "Moving a card to a section view is not supported yet. Use copy/cut/paste instead."
},
"change_position": {
"title": "Change card position",
Expand Down

0 comments on commit e01e313

Please sign in to comment.