113 lines
2.8 KiB
TypeScript
113 lines
2.8 KiB
TypeScript
import "./browser-player";
|
|
|
|
import { ConnectionMixin } from "./connection";
|
|
import { ScreenSaverMixin } from "./screensaver";
|
|
import { MediaPlayerMixin } from "./mediaPlayer";
|
|
import { CameraMixin } from "./camera";
|
|
import { RequireInteractMixin } from "./require-interact";
|
|
import { FullyMixin } from "./fullyKiosk";
|
|
import { BrowserStateMixin } from "./browser";
|
|
import { ServicesMixin } from "./services";
|
|
import { ActivityMixin } from "./activity";
|
|
import "./popups";
|
|
import { PopupMixin } from "./popups";
|
|
import pjson from "../../package.json";
|
|
import "./popup-card";
|
|
import { AutoSettingsMixin } from "./frontend-settings";
|
|
import { BrowserIDMixin } from "./browserID";
|
|
|
|
/*
|
|
TODO:
|
|
- More pictures for documentation
|
|
x Fix nomenclature
|
|
x Command -> Service
|
|
x Device -> Browser
|
|
- Popups
|
|
X Basic popups
|
|
x Styling
|
|
X Timeout
|
|
X Fullscreen
|
|
x Popup-card
|
|
x Auto-close
|
|
x Forms that are forwarded to service calls
|
|
x Motion/occupancy tracker
|
|
x Information about interaction requirement
|
|
x Information about fullykiosk
|
|
- Commands
|
|
x Change targets from the frontend
|
|
x Send browser ID to the backend in service calls?
|
|
x Rename browser_mod commands to browser_mod services
|
|
x Framework
|
|
x ll-custom handling
|
|
- Commands
|
|
x popup
|
|
x close_popup
|
|
x more-info
|
|
x navigate
|
|
o lovelace-reload?
|
|
o Not needed
|
|
x window-reload
|
|
o screensaver ?
|
|
o Refer to automations instead
|
|
x sequence
|
|
x delay
|
|
x javascript eval
|
|
o toast?
|
|
o Replaced with popups with timeout
|
|
x Redesign services to target devices
|
|
x frontend editor for popup cards
|
|
o also screensavers
|
|
x Saved frontend settings
|
|
X Framework
|
|
x Save sidebar
|
|
x Kiosk mode
|
|
x Default dashboard
|
|
o Screensaver?
|
|
x Favicon templates
|
|
x Title templates
|
|
- Tweaks
|
|
- Quickbar tweaks (ctrl+enter)?
|
|
x Card-mod preload
|
|
x Video player
|
|
x Media_seek
|
|
o Screensavers
|
|
x IMPORTANT: FIX DEFAULT HIDING OF ENTITIES
|
|
o NOFIX. Home Assistant bug
|
|
X Check functionality with CAST - may need to add frontend part as a lovelace resource
|
|
*/
|
|
export class BrowserMod extends ServicesMixin(
|
|
PopupMixin(
|
|
ActivityMixin(
|
|
BrowserStateMixin(
|
|
CameraMixin(
|
|
MediaPlayerMixin(
|
|
ScreenSaverMixin(
|
|
AutoSettingsMixin(
|
|
FullyMixin(
|
|
RequireInteractMixin(
|
|
ConnectionMixin(BrowserIDMixin(EventTarget))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
) {
|
|
constructor() {
|
|
super();
|
|
this.connect();
|
|
|
|
console.info(
|
|
`%cBROWSER_MOD ${pjson.version} IS INSTALLED
|
|
%cBrowserID: ${this.browserID}`,
|
|
"color: green; font-weight: bold",
|
|
""
|
|
);
|
|
}
|
|
}
|
|
|
|
if (!window.browser_mod) window.browser_mod = new BrowserMod();
|