Refactor main types.ts .
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ import {
|
||||
FrigateCardCustomAction,
|
||||
frigateCardCustomActionSchema,
|
||||
ViewDisplayMode,
|
||||
} from '../types.js';
|
||||
} from '../config/types.js';
|
||||
|
||||
/**
|
||||
* Convert a generic Action to a FrigateCardCustomAction if it parses correctly.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { CameraManager } from '../camera-manager/manager.js';
|
||||
import { CameraConfig, RawFrigateCardConfig } from '../types.js';
|
||||
import { CameraConfig, RawFrigateCardConfig } from '../config/types.js';
|
||||
|
||||
/**
|
||||
* Get a camera id.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
import {
|
||||
Actions,
|
||||
ActionsConfig, FrigateCardCustomAction, FRIGATE_CARD_VIEW_DEFAULT
|
||||
} from '../../types.js';
|
||||
ActionsConfig,
|
||||
FRIGATE_CARD_VIEW_DEFAULT,
|
||||
FrigateCardCustomAction
|
||||
} from '../../config/types.js';
|
||||
import {
|
||||
convertActionToFrigateCardCustomAction,
|
||||
frigateCardHandleActionConfig,
|
||||
@@ -9,6 +11,8 @@ import {
|
||||
} from '../action.js';
|
||||
import { getStreamCameraID } from '../substream.js';
|
||||
import { CardActionsManagerAPI } from './types.js';
|
||||
import { getStreamCameraID } from '../substream.js';
|
||||
import { CardActionsManagerAPI } from './types.js';
|
||||
|
||||
export class ActionsManager {
|
||||
protected _api: CardActionsManagerAPI;
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
import { Automation, AutomationActions, Automations } from '../../config/types.js';
|
||||
import { localize } from '../../localize/localize.js';
|
||||
import {
|
||||
Automation,
|
||||
AutomationActions,
|
||||
Automations,
|
||||
} from '../../types.js';
|
||||
import { frigateCardHandleAction } from '../action.js';
|
||||
import { CardAutomationsAPI } from './types.js';
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import {
|
||||
frigateConditionalSchema,
|
||||
OverrideConfigurationKey,
|
||||
RawFrigateCardConfig,
|
||||
ViewDisplayMode,
|
||||
} from '../../types';
|
||||
ViewDisplayMode
|
||||
} from '../../config/types';
|
||||
import { CardConditionAPI } from './types';
|
||||
|
||||
interface ConditionState {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import isEqual from 'lodash-es/isEqual';
|
||||
import { isConfigUpgradeable } from '../../config-mgmt';
|
||||
import { localize } from '../../localize/localize';
|
||||
import { setLowPerformanceProfile } from '../../performance.js';
|
||||
import {
|
||||
CardWideConfig,
|
||||
FrigateCardConfig,
|
||||
frigateCardConfigSchema,
|
||||
RawFrigateCardConfig,
|
||||
} from '../../types';
|
||||
RawFrigateCardConfig
|
||||
} from '../../config/types';
|
||||
import { localize } from '../../localize/localize';
|
||||
import { setLowPerformanceProfile } from '../../performance.js';
|
||||
import { getParseErrorPaths } from '../zod.js';
|
||||
import { getOverriddenConfig } from './conditions-manager';
|
||||
import { InitializationAspect } from './initialization-manager';
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
// TODO: executeMediaQueryForView should not need a HTMLElement host parameter see the view-manager.ts call in particular.
|
||||
// TODO: Split out zod schema and add tests for config parsing (e.g. view.scan.show_status argument was missing)
|
||||
|
||||
import { LovelaceCardEditor } from 'custom-card-helpers';
|
||||
import { ReactiveController } from 'lit';
|
||||
import { CameraManager } from '../../camera-manager/manager';
|
||||
import { FrigateCardConfig } from '../../types';
|
||||
import { FrigateCardConfig } from '../../config/types';
|
||||
import { EntityRegistryManager } from '../ha/entity-registry';
|
||||
import { EntityCache } from '../ha/entity-registry/cache';
|
||||
import { ResolvedMediaCache } from '../ha/resolved-media';
|
||||
@@ -35,8 +32,8 @@ import { StyleManager } from './style-manager';
|
||||
import { TriggersManager } from './triggers-manager';
|
||||
import {
|
||||
CardActionsManagerAPI,
|
||||
CardAutomationsAPI,
|
||||
CardAutoRefreshAPI,
|
||||
CardAutomationsAPI,
|
||||
CardCameraAPI,
|
||||
CardCameraURLAPI,
|
||||
CardConditionAPI,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { localize } from '../../localize/localize';
|
||||
import { CameraConfig, ExtendedHomeAssistant } from '../../types';
|
||||
import { ExtendedHomeAssistant } from '../../types';
|
||||
import { hasHAConnectionStateChanged, isHassDifferent } from '../ha';
|
||||
import { CardHASSAPI } from './types';
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { FrigateCardCustomAction, FrigateCardViewAction } from '../../types';
|
||||
import { FrigateCardCustomAction, FrigateCardViewAction } from '../../config/types';
|
||||
import { createFrigateCardCustomAction } from '../action.js';
|
||||
import { CardQueryStringAPI } from './types';
|
||||
import { ViewManagerSetViewParameters } from './view-manager';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { FrigateCardConfig } from '../../config/types';
|
||||
import { setPerformanceCSSStyles } from '../../performance';
|
||||
import { FrigateCardConfig } from '../../types';
|
||||
import { View } from '../../view/view';
|
||||
import { setOrRemoveAttribute } from '../basic';
|
||||
import { CardStyleAPI } from './types';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ViewContext } from 'view';
|
||||
import { FrigateCardConfig, FrigateCardView, ViewDisplayMode } from '../../types';
|
||||
import { FrigateCardConfig, FrigateCardView, ViewDisplayMode } from '../../config/types';
|
||||
import { View } from '../../view/view';
|
||||
import { getAllDependentCameras } from '../camera';
|
||||
import { log } from '../debug';
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import { CardWideConfig } from '../types';
|
||||
import { CardWideConfig } from '../config/types';
|
||||
|
||||
export const log = (cardWideConfig?: CardWideConfig | null, ...args: unknown[]) => {
|
||||
if (cardWideConfig?.debug?.logging) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { HomeAssistant } from 'custom-card-helpers';
|
||||
import pkg from '../../package.json';
|
||||
import { RawFrigateCardConfig } from '../config/types';
|
||||
import { getLanguage } from '../localize/localize';
|
||||
import { RawFrigateCardConfig } from '../types';
|
||||
import { DeviceList, getAllDevices } from './ha/device-registry';
|
||||
|
||||
type FrigateVersions = Record<string, string>;
|
||||
|
||||
@@ -2,7 +2,7 @@ import EmblaCarousel, { EmblaCarouselType } from 'embla-carousel';
|
||||
import { WheelGesturesPlugin } from 'embla-carousel-wheel-gestures';
|
||||
import { CreatePluginType, LoosePluginType } from 'embla-carousel/components/Plugins';
|
||||
import isEqual from 'lodash-es/isEqual';
|
||||
import { TransitionEffect } from '../../types';
|
||||
import { TransitionEffect } from '../../config/types';
|
||||
import { dispatchFrigateCardEvent, getChildrenFromElement } from '../basic.js';
|
||||
|
||||
export interface CarouselSelected {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { EmblaCarouselType, EmblaEventType } from 'embla-carousel';
|
||||
import { CreateOptionsType } from 'embla-carousel/components/Options';
|
||||
import { OptionsHandlerType } from 'embla-carousel/components/OptionsHandler';
|
||||
import { CreatePluginType, LoosePluginType } from 'embla-carousel/components/Plugins';
|
||||
import { LazyUnloadCondition } from '../../../../types';
|
||||
import { LazyUnloadCondition } from '../../../../config/types';
|
||||
|
||||
declare module 'embla-carousel/components/Plugins' {
|
||||
interface EmblaPluginsType {
|
||||
|
||||
@@ -7,8 +7,8 @@ import {
|
||||
AutoPauseCondition,
|
||||
AutoPlayCondition,
|
||||
AutoUnmuteCondition,
|
||||
FrigateCardMediaPlayer,
|
||||
} from '../../../../types.js';
|
||||
} from '../../../../config/types.js';
|
||||
import { FrigateCardMediaPlayer } from '../../../../types.js';
|
||||
|
||||
declare module 'embla-carousel/components/Plugins' {
|
||||
interface EmblaPluginsType {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import isEqual from 'lodash-es/isEqual';
|
||||
import throttle from 'lodash-es/throttle';
|
||||
import Masonry from 'masonry-layout';
|
||||
import { MediaLoadedInfo, ViewDisplayConfig } from '../types';
|
||||
import { ViewDisplayConfig } from '../config/types';
|
||||
import { MediaLoadedInfo } from '../types';
|
||||
import {
|
||||
dispatchFrigateCardEvent,
|
||||
getChildrenFromElement,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { MediaLayoutConfig } from '../types';
|
||||
import { MediaLayoutConfig } from '../config/types';
|
||||
|
||||
/**
|
||||
* Update element style from a media configuration.
|
||||
|
||||
@@ -2,8 +2,9 @@ import { ViewContext } from 'view';
|
||||
import { CameraManager } from '../camera-manager/manager';
|
||||
import { MediaQuery } from '../camera-manager/types';
|
||||
import { dispatchFrigateCardErrorEvent } from '../components/message';
|
||||
import { CardWideConfig, FrigateCardView } from '../config/types';
|
||||
import { MEDIA_CHUNK_SIZE_DEFAULT } from '../const';
|
||||
import { CardWideConfig, ClipsOrSnapshotsOrAll, FrigateCardView } from '../types';
|
||||
import { ClipsOrSnapshotsOrAll } from '../types';
|
||||
import { ViewMedia } from '../view/media';
|
||||
import {
|
||||
EventMediaQueries,
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
import { HomeAssistant } from 'custom-card-helpers';
|
||||
import { StyleInfo } from 'lit/directives/style-map';
|
||||
import { CameraManager } from '../camera-manager/manager';
|
||||
import {
|
||||
FRIGATE_CARD_VIEWS_USER_SPECIFIED,
|
||||
FrigateCardConfig,
|
||||
FrigateCardCustomAction,
|
||||
MenuItem
|
||||
} from '../config/types';
|
||||
import { FRIGATE_BUTTON_MENU_ICON } from '../const';
|
||||
import { localize } from '../localize/localize.js';
|
||||
import {
|
||||
FrigateCardConfig,
|
||||
FrigateCardCustomAction,
|
||||
FRIGATE_CARD_VIEWS_USER_SPECIFIED,
|
||||
MediaLoadedInfo,
|
||||
MenuButton,
|
||||
} from '../types';
|
||||
import { View } from '../view/view';
|
||||
import { createFrigateCardCustomAction } from './action';
|
||||
import { getAllDependentCameras } from './camera';
|
||||
import { getEntityIcon, getEntityTitle } from './ha';
|
||||
import { MediaPlayerManager } from './card-controller/media-player-manager';
|
||||
import { MicrophoneManager } from './card-controller/microphone-manager';
|
||||
import { getEntityIcon, getEntityTitle } from './ha';
|
||||
import { hasSubstream } from './substream';
|
||||
|
||||
export interface MenuButtonControllerOptions {
|
||||
currentMediaLoadedInfo?: MediaLoadedInfo | null;
|
||||
showCameraUIButton?: boolean;
|
||||
@@ -29,15 +30,15 @@ export interface MenuButtonControllerOptions {
|
||||
|
||||
export class MenuButtonController {
|
||||
// Array of dynamic menu buttons to be added to menu.
|
||||
protected _dynamicMenuButtons: MenuButton[] = [];
|
||||
protected _dynamicMenuButtons: MenuItem[] = [];
|
||||
|
||||
public addDynamicMenuButton(button: MenuButton): void {
|
||||
public addDynamicMenuButton(button: MenuItem): void {
|
||||
if (!this._dynamicMenuButtons.includes(button)) {
|
||||
this._dynamicMenuButtons.push(button);
|
||||
}
|
||||
}
|
||||
|
||||
public removeDynamicMenuButton(button: MenuButton): void {
|
||||
public removeDynamicMenuButton(button: MenuItem): void {
|
||||
this._dynamicMenuButtons = this._dynamicMenuButtons.filter(
|
||||
(existingButton) => existingButton != button,
|
||||
);
|
||||
@@ -53,7 +54,7 @@ export class MenuButtonController {
|
||||
cameraManager: CameraManager,
|
||||
view: View,
|
||||
options?: MenuButtonControllerOptions,
|
||||
): MenuButton[] {
|
||||
): MenuItem[] {
|
||||
const visibleCameras = cameraManager.getStore().getVisibleCameras();
|
||||
const selectedCameraID = view.camera;
|
||||
const selectedCameraConfig = cameraManager
|
||||
@@ -68,7 +69,7 @@ export class MenuButtonController {
|
||||
? cameraManager?.getMediaCapabilities(selectedMedia)
|
||||
: null;
|
||||
|
||||
const buttons: MenuButton[] = [];
|
||||
const buttons: MenuItem[] = [];
|
||||
buttons.push({
|
||||
// Use a magic icon value that the menu will use to render the custom
|
||||
// Frigate icon.
|
||||
@@ -451,7 +452,7 @@ export class MenuButtonController {
|
||||
protected _getStyleFromActions(
|
||||
config: FrigateCardConfig,
|
||||
view: View,
|
||||
button: MenuButton,
|
||||
button: MenuItem,
|
||||
options?: MenuButtonControllerOptions,
|
||||
): StyleInfo {
|
||||
for (const actionSet of [
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import {
|
||||
dispatchFrigateCardErrorEvent,
|
||||
renderProgressIndicator,
|
||||
} from '../components/message';
|
||||
import { CardWideConfig } from '../types';
|
||||
import { CardWideConfig } from '../config/types';
|
||||
import { errorToConsole } from './basic';
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user