feat: Implement basic general folder support (#2051)

- Related: #1748
This commit is contained in:
Dermot Duffy
2025-05-21 19:59:21 -07:00
committed by GitHub
parent 2eb0d9e35e
commit c6a4c8aea2
350 changed files with 12837 additions and 4509 deletions
+3 -1
View File
@@ -1,4 +1,4 @@
import isEqual from 'lodash-es/isEqual';
import { isEqual } from 'lodash-es';
import { ConditionsManager } from '../../conditions/conditions-manager.js';
import { isConfigUpgradeable } from '../../config/management.js';
import { setProfiles } from '../../config/profiles/set-profiles.js';
@@ -15,6 +15,7 @@ import { CardConfigAPI } from '../types.js';
import { getOverriddenConfig } from './get-overridden-config.js';
import { setAutomationsFromConfig } from './load-automations.js';
import { setRemoteControlEntityFromConfig } from './load-control-entities.js';
import { setFoldersFromConfig } from './load-folders.js';
import { setKeyboardShortcutsFromConfig } from './load-keyboard-shortcuts.js';
export class ConfigManager {
@@ -136,6 +137,7 @@ export class ConfigManager {
const previousConfig = this._overriddenConfig;
this._overriddenConfig = overriddenConfig;
setFoldersFromConfig(this._api);
this._api.getStyleManager().updateFromConfig();
if (
@@ -1,6 +1,6 @@
import { CardConfigLoaderAPI } from '../types';
export const setAutomationsFromConfig = (api: CardConfigLoaderAPI) => {
export const setAutomationsFromConfig = (api: CardConfigLoaderAPI): void => {
api.getAutomationsManager().deleteAutomations();
api
.getAutomationsManager()
@@ -0,0 +1,12 @@
import { CardConfigLoaderAPI } from '../types';
export const setFoldersFromConfig = (api: CardConfigLoaderAPI): void => {
api.getFoldersManager().deleteFolders();
try {
api
.getFoldersManager()
.addFolders(api.getConfigManager().getConfig()?.folders ?? []);
} catch (ev) {
api.getMessageManager().setErrorIfHigherPriority(ev);
}
};