@homebridge/plugin-ui-utils
Version:
A tool to help plugins provide custom UI screens in the Homebridge UI.
104 lines • 2.96 kB
JavaScript
/* eslint-disable unused-imports/no-unused-vars */
export class MockHomebridgePluginUi extends EventTarget {
mockPluginConfig = [];
mockPluginSchema = {
pluginAlias: 'HomebridgeTest',
pluginType: 'platform',
};
plugin = {
name: 'homebridge-test',
description: 'description sample text',
verifiedPlugin: false,
installPath: '/path/to/plugin',
latestVersion: 'v1.0.0',
installedVersion: 'v1.0.0',
updateAvailable: false,
globalInstall: true,
settingsSchema: true,
publicPackage: true,
links: [],
funding: [],
};
serverEnv = {
env: {
ableToConfigureSelf: true,
enableAccessories: true,
enableTerminalAccess: true,
homebridgeInstanceName: 'Homebridge 1B77',
nodeVersion: 'v14.15.0',
packageName: 'homebridge-config-ui-x',
packageVersion: '4.32.1',
platform: 'darwin',
runningInDocker: false,
runningInLinux: false,
dockerOfflineUpdate: false,
serviceMode: true,
temperatureUnits: 'c',
lang: null,
instanceId: 'eca2e929f20e8a1292893a2852cba6c10d5efb1a77e20238ce9fe2da8da75b88',
},
formAuth: true,
theme: 'auto',
serverTimestamp: new Date().toISOString(),
};
constructor() {
super();
this.dispatchEvent(new Event('ready'));
}
toast = new MockHomebridgeUiToastHelper();
fixScrollHeight() { }
closeSettings() { }
showSpinner() { }
hideSpinner() { }
disableSaveButton() { }
enableSaveButton() { }
showSchemaForm() { }
hideSchemaForm() { }
endForm() { }
createForm(schema, data) {
return new MockHomebridgeUiFormHelper(this, schema, data);
}
async getPluginConfig() {
return this.mockPluginConfig;
}
async updatePluginConfig(pluginConfig) {
this.mockPluginConfig = pluginConfig;
return this.mockPluginConfig;
}
async savePluginConfig() { }
async getPluginConfigSchema() {
return this.mockPluginSchema;
}
async request(path, body) {
return {};
}
async userCurrentLightingMode() {
return 'light';
}
async i18nCurrentLang() {
return 'en';
}
async i18nGetTranslation() {
return {};
}
async getCachedAccessories() {
return [];
}
async getCachedMatterAccessories() {
return [];
}
}
export class MockHomebridgeUiToastHelper {
success(message, title) { }
error(message, title) { }
warning(message, title) { }
info(message, title) { }
}
export class MockHomebridgeUiFormHelper {
constructor(parent, schema, data, submitButton, cancelButton) { }
end() { }
onChange(fn) { }
onSubmit(fn) { }
onCancel(fn) { }
}
//# sourceMappingURL=ui.mock.js.map