homebridge-plugin-utils 1.26.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/eslint-rules.mjs +25 -23
- package/dist/featureoptions.d.ts +2 -0
- package/dist/featureoptions.js.map +1 -1
- package/dist/ffmpeg/codecs.d.ts +1 -1
- package/dist/ffmpeg/codecs.js +1 -1
- package/dist/ffmpeg/options.d.ts +3 -3
- package/dist/ffmpeg/options.js +4 -4
- package/dist/ffmpeg/options.js.map +1 -1
- package/dist/ffmpeg/record.js.map +1 -1
- package/dist/ffmpeg/rtp.js.map +1 -1
- package/dist/ui/featureoptions.js.map +1 -1
- package/dist/ui/webUi-featureoptions.mjs +3200 -549
- package/dist/ui/webUi.mjs +13 -5
- package/dist/util.js.map +1 -1
- package/package.json +9 -9
package/dist/ui/webUi.mjs
CHANGED
|
@@ -57,7 +57,7 @@ export class webUi {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
// Show the first run user experience if
|
|
60
|
+
// Show the first run user experience if needed.
|
|
61
61
|
async #showFirstRun() {
|
|
62
62
|
|
|
63
63
|
const buttonFirstRun = document.getElementById("firstRun");
|
|
@@ -68,6 +68,9 @@ export class webUi {
|
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
// We disable saving any settings until we configure the plugin.
|
|
72
|
+
homebridge.disableSaveButton();
|
|
73
|
+
|
|
71
74
|
// First run user experience.
|
|
72
75
|
buttonFirstRun.addEventListener("click", async () => {
|
|
73
76
|
|
|
@@ -80,10 +83,13 @@ export class webUi {
|
|
|
80
83
|
return;
|
|
81
84
|
}
|
|
82
85
|
|
|
83
|
-
// Create our UI.
|
|
86
|
+
// Create our UI and allow users to save the configuration.
|
|
84
87
|
document.getElementById("pageFirstRun").style.display = "none";
|
|
85
88
|
document.getElementById("menuWrapper").style.display = "inline-flex";
|
|
86
|
-
|
|
89
|
+
|
|
90
|
+
await this.featureOptions.show();
|
|
91
|
+
|
|
92
|
+
homebridge.enableSaveButton();
|
|
87
93
|
|
|
88
94
|
// All done. Let the user interact with us, although in practice, we shouldn't get here.
|
|
89
95
|
// homebridge.hideSpinner();
|
|
@@ -97,6 +103,7 @@ export class webUi {
|
|
|
97
103
|
|
|
98
104
|
// Show the beachball while we setup.
|
|
99
105
|
homebridge.showSpinner();
|
|
106
|
+
this.featureOptions.hide();
|
|
100
107
|
|
|
101
108
|
// Highlight the tab in our UI.
|
|
102
109
|
this.#toggleClasses("menuHome", "btn-elegant", "btn-primary");
|
|
@@ -118,6 +125,7 @@ export class webUi {
|
|
|
118
125
|
// Show the beachball while we setup.
|
|
119
126
|
homebridge.showSpinner();
|
|
120
127
|
homebridge.hideSchemaForm();
|
|
128
|
+
this.featureOptions.hide();
|
|
121
129
|
|
|
122
130
|
// Highlight the tab in our UI.
|
|
123
131
|
this.#toggleClasses("menuHome", "btn-primary", "btn-elegant");
|
|
@@ -139,14 +147,14 @@ export class webUi {
|
|
|
139
147
|
|
|
140
148
|
// Add our event listeners to animate the UI.
|
|
141
149
|
document.getElementById("menuHome").addEventListener("click", () => this.#showSupport());
|
|
142
|
-
document.getElementById("menuFeatureOptions").addEventListener("click", () => this.featureOptions.show());
|
|
150
|
+
document.getElementById("menuFeatureOptions").addEventListener("click", async () => await this.featureOptions.show());
|
|
143
151
|
document.getElementById("menuSettings").addEventListener("click", () => this.#showSettings());
|
|
144
152
|
|
|
145
153
|
// If we've got devices detected, we launch our feature option UI. Otherwise, we launch our first run UI.
|
|
146
154
|
if(this.featureOptions.currentConfig.length && !(await this.#processHandler(this.#firstRun.isRequired))) {
|
|
147
155
|
|
|
148
156
|
document.getElementById("menuWrapper").style.display = "inline-flex";
|
|
149
|
-
this.featureOptions.show();
|
|
157
|
+
await this.featureOptions.show();
|
|
150
158
|
|
|
151
159
|
return;
|
|
152
160
|
}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgLH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IAErC,4BAA4B;IAC5B,IAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QAEhB,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,kCAAkC;IAClC,IAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAE1B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1E,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;IAE7B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,SAAiC,EAAE,aAAqB,EAAE,YAAqB;IAEzG,IAAG,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;QAEvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,IAAG,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;QAExB,4FAA4F;QAC5F,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACpG,CAAC;IAED,mCAAmC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,OAAmB,EAAE,OAAe;IAE1E,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,OAAO,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgLH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IAErC,4BAA4B;IAC5B,IAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QAEhB,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,kCAAkC;IAClC,IAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAE1B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1E,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;IAE7B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,SAAiC,EAAE,aAAqB,EAAE,YAAqB;IAEzG,IAAG,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;QAEvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,IAAG,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;QAExB,4FAA4F;QAC5F,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACpG,CAAC;IAED,mCAAmC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,OAAmB,EAAE,OAAe;IAE1E,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,OAAO,EAAE,cAAc,CAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,UAAkB;IAE5C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IAEvC,iEAAiE;IACjE,EAAE;IACF,mEAAmE;IACnE,uCAAuC;IACvC,0DAA0D;IAC1D,2CAA2C;IAC3C,sDAAsD;IACtD,sEAAsE;IACtE,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;QACxI,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IAEvC,OAAO,qGAAqG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1H,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-plugin-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"displayName": "Homebridge Plugin Utilities",
|
|
5
5
|
"description": "Opinionated utilities to provide common capabilities and create rich configuration webUI experiences for Homebridge plugins.",
|
|
6
6
|
"author": {
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
},
|
|
41
41
|
"main": "dist/index.js",
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@stylistic/eslint-plugin": "5.
|
|
44
|
-
"@types/node": "24.
|
|
45
|
-
"eslint": "9.
|
|
43
|
+
"@stylistic/eslint-plugin": "5.2.3",
|
|
44
|
+
"@types/node": "24.2.1",
|
|
45
|
+
"eslint": "9.32.0",
|
|
46
46
|
"homebridge": "1.11.0",
|
|
47
47
|
"shx": "0.4.0",
|
|
48
|
-
"typedoc": "0.28.
|
|
49
|
-
"typedoc-plugin-markdown": "4.
|
|
50
|
-
"typescript": "5.
|
|
51
|
-
"typescript-eslint": "8.
|
|
48
|
+
"typedoc": "0.28.9",
|
|
49
|
+
"typedoc-plugin-markdown": "4.8.0",
|
|
50
|
+
"typescript": "5.9.2",
|
|
51
|
+
"typescript-eslint": "8.39.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"mqtt": "5.
|
|
54
|
+
"mqtt": "5.14.0"
|
|
55
55
|
}
|
|
56
56
|
}
|