homebridge-config-ui-x 4.55.2-beta.21 → 4.55.2-beta.23
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/CHANGELOG.md +1 -0
- package/package.json +1 -1
- package/public/{320.8d7625019676195b.js → 320.dd637566b736ebf9.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main.587607d9c840a9db.js → main.f6f0f30dd2b7d02c.js} +1 -1
- package/public/{runtime.e2e379b8b3654a39.js → runtime.055ec50cca8b1e80.js} +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -21,6 +21,7 @@ All notable changes to homebridge-config-ui-x will be documented in this file.
|
|
|
21
21
|
- updates to uk.json language file (#1978) (#1979) (@xrust83)
|
|
22
22
|
- updates to th.json language file (#1982) (@tomzt)
|
|
23
23
|
- updates to fr.json language file (#1991) (@SonnyT72)
|
|
24
|
+
- updates to ja.json language file (@yima0913)
|
|
24
25
|
|
|
25
26
|
### Other Changes
|
|
26
27
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-config-ui-x",
|
|
3
3
|
"displayName": "Homebridge UI",
|
|
4
|
-
"version": "4.55.2-beta.
|
|
4
|
+
"version": "4.55.2-beta.23",
|
|
5
5
|
"description": "A web based management, configuration and control platform for Homebridge.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "oznu <dev@oz.nu>",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[320],{1320:(vn,m,s)=>{s.r(m),s.d(m,{PluginsModule:()=>Cn});var u=s(6895),c=s(4006),g=s(8304),f=s(4463),P=s(294),T=s(3991),_=s(7750),d=s(5861),n=s(4650),h=s(9274),b=s(7588),C=s(2503),x=s(7185),I=s(8703),Z=s(1862),w=s(9355),v=s(778),k=s(1976),A=s(3008);function y(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",15),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.activeModal.dismiss("Dismiss"))}),n._uU(1),n.ALo(2,"translate"),n.qZA()}2&e&&(n.xp6(1),n.hij(" ",n.lcZ(2,1,"form.button_close")," "))}function $(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",15),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.activeModal.dismiss("Dismiss"))}),n._uU(1),n.ALo(2,"translate"),n.qZA()}2&e&&(n.xp6(1),n.hij(" ",n.lcZ(2,1,"form.button_close")," "))}function B(e,l){if(1&e&&(n.TgZ(0,"a",16),n._uU(1),n.ALo(2,"translate"),n._UZ(3,"i",17),n.qZA()),2&e){const i=n.oxw();n.s9C("href",i.plugin.links.homepage||i.plugin.links.npm,n.LSH),n.xp6(1),n.hij(" ",n.lcZ(2,2,"plugins.button_homepage")," ")}}let U=(()=>{class e{activeModal;plugin;defaultIcon="assets/hb-icon.png";constructor(i){this.activeModal=i}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(a){return new(a||e)(n.Y36(g.Kz))};static \u0275cmp=n.Xpm({type:e,selectors:[["app-plugin-info"]],inputs:{plugin:"plugin"},decls:26,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon",3,"src","error"],[1,"my-3"],[1,"m-0","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"click",4,"ngIf"],[1,"text-center"],[1,"text-right"],["class","btn btn-primary text-decoration-none","target","_blank","rel","noopener noreferrer",3,"href",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(a,t){1&a&&(n.TgZ(0,"div",0)(1,"div",1)(2,"h5",2),n._uU(3),n.ALo(4,"translate"),n.qZA(),n.TgZ(5,"button",3),n.NdJ("click",function(){return t.activeModal.dismiss("Dismiss")}),n.ALo(6,"translate"),n.TgZ(7,"span",4),n._uU(8,"\xd7"),n.qZA()()(),n.TgZ(9,"div",5)(10,"img",6),n.NdJ("error",function(){return t.handleIconError()}),n.qZA(),n.TgZ(11,"h4"),n._uU(12),n.qZA(),n.TgZ(13,"p",7),n._uU(14),n.qZA(),n.TgZ(15,"p",8),n._uU(16),n.qZA(),n.TgZ(17,"p",8),n._uU(18),n.qZA()(),n.TgZ(19,"div",9)(20,"div",10),n.YNc(21,y,3,3,"button",11),n.qZA(),n.TgZ(22,"div",12),n.YNc(23,$,3,3,"button",11),n.qZA(),n.TgZ(24,"div",13),n.YNc(25,B,4,4,"a",14),n.qZA()()()),2&a&&(n.xp6(3),n.Oqu(n.lcZ(4,10,"plugins.manage.information")),n.xp6(2),n.uIk("aria-label",n.lcZ(6,12,"form.button_close")),n.xp6(5),n.Q6J("src",t.plugin.icon,n.LSH),n.xp6(2),n.Oqu(t.plugin.displayName||t.plugin.name),n.xp6(2),n.Oqu(t.plugin.description),n.xp6(2),n.Oqu(t.plugin.name),n.xp6(2),n.hij("@",t.plugin.author,""),n.xp6(3),n.Q6J("ngIf",t.plugin.links.homepage||t.plugin.links.npm),n.xp6(2),n.Q6J("ngIf",!t.plugin.links.homepage&&!t.plugin.links.npm),n.xp6(2),n.Q6J("ngIf",t.plugin.links.homepage||t.plugin.links.npm))},dependencies:[u.O5,f.X$],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return e})();var J=s(5241),N=s(8605);function M(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.updatePlugin(t.plugin,t.plugin.updateTag||"latest"))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",28),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"plugins.button_update")),n.uIk("aria-label",n.lcZ(2,4,"plugins.button_update")))}function Q(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.settings(t.plugin))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",29),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"plugins.button_set_up")),n.uIk("aria-label",n.lcZ(2,4,"plugins.button_set_up")))}function Y(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",30),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"child_bridge.label_child_setup")),n.uIk("aria-label",n.lcZ(2,4,"child_bridge.label_child_setup")))}function j(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",31),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"child_bridge.label_bridge_connect_to_homekit")),n.uIk("aria-label",n.lcZ(2,4,"child_bridge.label_bridge_connect_to_homekit")))}const q=function(e,l){return{"fa-bridge-circle-exclamation orange-text":e,"fa-bridge-circle-xmark red-text":l}};function L(e,l){if(1&e&&n._UZ(0,"i",32),2&e){const i=n.oxw();n.Q6J("ngClass",n.WLB(1,q,"pending"===i.childBridgeStatus,"down"===i.childBridgeStatus))}}function F(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"p",18)(1,"a",33),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.openVerifiedModal())}),n._UZ(2,"i",34),n.TgZ(3,"span",16),n._uU(4),n.ALo(5,"translate"),n.qZA()()()}2&e&&(n.xp6(4),n.Oqu(n.lcZ(5,1,"plugins.donate.button_verified")))}function S(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"p",18)(1,"a",35),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.openVerifiedModal())}),n._UZ(2,"i",36),n.TgZ(3,"span",16),n._uU(4),n.ALo(5,"translate"),n.qZA()()()}2&e&&(n.xp6(4),n.Oqu(n.lcZ(5,1,"plugins.donate.button_not_verified")))}function E(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",37),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.openFundingModal(t.plugin))}),n._UZ(1,"i",38),n.TgZ(2,"span",16),n._uU(3),n.qZA()()}if(2&e){const i=n.oxw();n.xp6(3),n.hij("@",i.plugin.author,"")}}function O(e,l){if(1&e&&(n.TgZ(0,"span",16),n._UZ(1,"i",39),n._uU(2),n.qZA()),2&e){const i=n.oxw();n.xp6(2),n.hij("@",i.plugin.author," ")}}function H(e,l){if(1&e&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"date"),n.qZA()),2&e){const i=n.oxw(2);n.xp6(1),n.hij("(",n.xi3(2,1,i.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function G(e,l){if(1&e&&(n.TgZ(0,"span"),n._UZ(1,"i",40),n.TgZ(2,"span",16),n._uU(3),n.YNc(4,H,3,4,"span",22),n.qZA()()),2&e){const i=n.oxw();n.xp6(3),n.hij("v",i.plugin.latestVersion," "),n.xp6(1),n.Q6J("ngIf",i.plugin.lastUpdated)}}function K(e,l){if(1&e&&(n.TgZ(0,"span"),n._UZ(1,"i",41),n._uU(2),n.qZA()),2&e){const i=n.oxw();n.xp6(2),n.hij("v",i.plugin.installedVersion," ")}}function V(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",42),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.doChildBridgeAction("restart"))}),n.ALo(1,"translate"),n._UZ(2,"i",43),n.qZA()}if(2&e){const i=n.oxw();n.Q6J("ngbTooltip",i.setChildBridges.length>1?"child_bridge.label_child_restart_plural":n.lcZ(1,1,"child_bridge.label_child_restart"))}}function D(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",44),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.enablePlugin(t.plugin))}),n._UZ(1,"i",45),n.ALo(2,"translate"),n.qZA()}2&e&&(n.xp6(1),n.Q6J("ngbTooltip",n.lcZ(2,1,"plugins.status_disabled")))}function R(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",46),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.installPreviousVersion(t.plugin))}),n._UZ(1,"i",47),n.qZA()}}function z(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.viewPluginLog(t.plugin))}),n._UZ(1,"i",56),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.plugin_logs")," "))}function X(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.installPreviousVersion(t.plugin))}),n._UZ(1,"i",57),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.message_install_alternate_version")," "))}function W(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.jsonEditor(t.plugin))}),n._UZ(1,"i",58),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.json_config")," "))}function nn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.disablePlugin(t.plugin))}),n._UZ(1,"i",59),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.disable")," "))}function tn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.enablePlugin(t.plugin))}),n._UZ(1,"i",60),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.enable")," "))}function en(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.uninstallPlugin(t.plugin))}),n._UZ(1,"i",61),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.button_uninstall")," "))}function an(e,l){1&e&&n._UZ(0,"div",62)}function ln(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(3);return n.KtG(t.doChildBridgeAction("restart"))}),n._UZ(1,"i",64),n._uU(2),n.ALo(3,"translate"),n.qZA()}if(2&e){const i=n.oxw(3);n.xp6(2),n.hij(" ",i.setChildBridges.length>1?"child_bridge.label_child_restart_plural":n.lcZ(3,1,"child_bridge.label_child_restart")," ")}}function on(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(3);return n.KtG(t.doChildBridgeAction("stop"))}),n._UZ(1,"i",65),n._uU(2),n.ALo(3,"translate"),n.qZA()}if(2&e){const i=n.oxw(3);n.xp6(2),n.hij(" ",i.setChildBridges.length>1?"child_bridge.label_child_stop_plural":n.lcZ(3,1,"child_bridge.label_child_stop")," ")}}function sn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(3);return n.KtG(t.doChildBridgeAction("start"))}),n._UZ(1,"i",66),n._uU(2),n.ALo(3,"translate"),n.qZA()}if(2&e){const i=n.oxw(3);n.xp6(2),n.hij(" ",i.setChildBridges.length>1?"child_bridge.label_child_start_plural":n.lcZ(3,1,"child_bridge.label_child_start")," ")}}function rn(e,l){if(1&e){const i=n.EpF();n.ynx(0),n.TgZ(1,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n._UZ(2,"i",63),n._uU(3),n.ALo(4,"translate"),n.qZA(),n.YNc(5,ln,4,3,"button",54),n.YNc(6,on,4,3,"button",54),n.YNc(7,sn,4,3,"button",54),n.BQk()}if(2&e){const i=n.oxw(2);n.xp6(3),n.hij(" ",n.lcZ(4,4,"child_bridge.label_bridge_settings")," "),n.xp6(2),n.Q6J("ngIf",!i.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",!i.allChildBridgesStopped),n.xp6(1),n.Q6J("ngIf",i.allChildBridgesStopped)}}function cn(e,l){1&e&&n._UZ(0,"div",62)}function gn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n._UZ(1,"i",67),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"child_bridge.label_child_setup")," "))}function dn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"span",48)(1,"a",49),n._UZ(2,"i",50),n.qZA(),n.TgZ(3,"div",51)(4,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.settings(t.plugin))}),n._UZ(5,"i",53),n._uU(6),n.ALo(7,"translate"),n.qZA(),n.YNc(8,z,4,3,"button",54),n.YNc(9,X,4,3,"button",54),n.YNc(10,W,4,3,"button",54),n.YNc(11,nn,4,3,"button",54),n.YNc(12,tn,4,3,"button",54),n.YNc(13,en,4,3,"button",54),n.YNc(14,an,1,0,"div",55),n.YNc(15,rn,8,6,"ng-container",22),n.YNc(16,cn,1,0,"div",55),n.YNc(17,gn,4,3,"button",54),n.qZA()()}if(2&e){const i=n.oxw();n.xp6(1),n.uIk("aria-label","Plugin Actions Dropdown"),n.xp6(5),n.hij(" ",n.lcZ(7,12,"plugins.button_settings")," "),n.xp6(2),n.Q6J("ngIf",i.plugin.isConfigured),n.xp6(1),n.Q6J("ngIf",i.plugin.publicPackage),n.xp6(1),n.Q6J("ngIf",!i.isMobile&&"homebridge-config-ui-x"!==i.plugin.name),n.xp6(1),n.Q6J("ngIf","homebridge-config-ui-x"!==i.plugin.name&&!i.plugin.disabled),n.xp6(1),n.Q6J("ngIf","homebridge-config-ui-x"!==i.plugin.name&&i.plugin.disabled),n.xp6(1),n.Q6J("ngIf","homebridge-config-ui-x"!==i.plugin.name),n.xp6(1),n.Q6J("ngIf",!i.plugin.disabled&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&i.plugin.installedVersion&&"homebridge-config-ui-x"!==i.plugin.name),n.xp6(1),n.Q6J("ngIf",i.plugin.hasChildBridges&&!i.plugin.disabled),n.xp6(1),n.Q6J("ngIf",i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&!i.plugin.recommendChildBridge),n.xp6(1),n.Q6J("ngIf",i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&!i.plugin.recommendChildBridge)}}let pn=(()=>{class e{$plugin;$api;$ws;$translate;$modal;$toastr;$md;$settings;plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];prettyDisplayName="";io;constructor(i,a,t,o,r,p,xn,Zn){this.$plugin=i,this.$api=a,this.$ws=t,this.$translate=o,this.$modal=r,this.$toastr=p,this.$md=xn,this.$settings=Zn}set childBridges(i){this.hasChildBridges=i.length>0,this.hasUnpairedChildBridges=i.filter(a=>!1===a.paired).length>0,this.allChildBridgesStopped=i.filter(a=>!0===a.manuallyStopped).length===i.length,this.hasChildBridges&&(i.some(a=>"down"===a.status)?this.childBridgeStatus="down":i.some(a=>"pending"===a.status)?this.childBridgeStatus="pending":i.some(a=>"ok"===a.status)&&(this.childBridgeStatus="ok")),this.setChildBridges=i}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.prettyDisplayName=this.prettifyName(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(i){this.$modal.open(k.S,{size:"lg",backdrop:"static"}).componentInstance.plugin=i}openVerifiedModal(){const i=this.$modal.open(w.x,{size:"lg",backdrop:"static"});this.plugin.verifiedPlugin||this.plugin.verifiedPlusPlugin?(i.componentInstance.title=this.$translate.instant("plugins.manage.modal_verified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.modal_verified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.modal_verified_message"),i.componentInstance.faIconClass="fa-shield-alt green-text"):(i.componentInstance.title=this.$translate.instant("plugins.manage.modal_unverified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.modal_unverified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.modal_unverified_message"),i.componentInstance.faIconClass="fa-shield-alt grey-text"),i.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),i.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/verified-Plugins"}pluginInfoModal(i){this.$modal.open(U,{size:"lg",backdrop:"static"}).componentInstance.plugin=i}disablePlugin(i){var a=this;const t=this.$modal.open(Z.X,{size:"lg",backdrop:"static"});t.componentInstance.title=`${this.$translate.instant("plugins.manage.disable")}: ${i.name}`,t.componentInstance.message=this.$translate.instant("plugins.manage.message_confirm_disable",{pluginName:i.name}),t.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.disable"),t.componentInstance.faIconClass="fa-circle-pause primary-text",t.result.then((0,d.Z)(function*(){try{yield a.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/disable`,{}).toPromise(),i.disabled=!0,a.hasChildBridges&&a.doChildBridgeAction("stop"),a.$modal.open(v.Q,{size:"lg",backdrop:"static"})}catch(o){a.$toastr.error(`Failed to disable plugin: ${o.message}`,a.$translate.instant("toast.title_error"))}})).finally(()=>{})}enablePlugin(i){var a=this;const t=this.$modal.open(Z.X,{size:"lg",backdrop:"static"});t.componentInstance.title=`${this.$translate.instant("plugins.manage.enable")}: ${i.name}`,t.componentInstance.message=this.$translate.instant("plugins.manage.message_confirm_enable",{pluginName:i.name}),t.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),t.componentInstance.faIconClass="fa-circle-play primary-text",t.result.then((0,d.Z)(function*(){try{yield a.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/enable`,{}).toPromise(),i.disabled=!1,a.hasChildBridges&&(yield a.doChildBridgeAction("start")),a.$modal.open(v.Q,{size:"lg",backdrop:"static"})}catch(o){a.$toastr.error(`Failed to enable plugin: ${o.message}`,a.$translate.instant("toast.title_error"))}})).finally(()=>{})}viewPluginLog(i){this.$modal.open(A.o,{size:"xl",backdrop:"static"}).componentInstance.plugin=i}doChildBridgeAction(i){var a=this;return(0,d.Z)(function*(){a.childBridgeRestartInProgress=!0;try{for(const t of a.setChildBridges)yield a.io.request(i+"-child-bridge",t.username).toPromise()}catch(t){a.$toastr.error(`Failed to ${i} bridges: `+(null==t?void 0:t.message),a.$translate.instant("toast.title_error")),a.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{a.childBridgeRestartInProgress=!1},"restart"===i?12e3:"stop"===i?6e3:1e3)}})()}handleIconError(){this.plugin.icon=this.defaultIcon}prettifyName(){let i=this.plugin.displayName||("@"===this.plugin.name.charAt(0)?this.plugin.name.split("/")[1]:this.plugin.name);return i=i.replace(/-/g," "),this.isMobile&&i.toLowerCase().startsWith("homebridge ")&&(i=i.replace(new RegExp("^homebridge ","i"),"")),this.plugin.displayName||(i=i.replace(/\w\S*/g,a=>a.charAt(0).toUpperCase()+a.substr(1).toLowerCase())),i}static \u0275fac=function(a){return new(a||e)(n.Y36(J.r),n.Y36(h.s),n.Y36(b.r),n.Y36(f.sK),n.Y36(g.FF),n.Y36(x._W),n.Y36(N.L),n.Y36(C.g))};static \u0275cmp=n.Xpm({type:e,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:36,vars:19,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"src","error"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ml-auto"],["href","javascript:void(0)","class","card-link","container","body",3,"ngbTooltip","click",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ml-3",3,"hidden"],["class","fas fa-fw fa-lg ml-3",3,"ngClass",4,"ngIf"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link","grey-text",3,"click"],[1,"fas","fa-fw","fa-info-circle","fa-lg"],[1,"grey-text"],["class","card-text mb-2",4,"ngIf"],[1,"card-text","mb-2"],["href","javascript:void(0)","class","card-link pink-text",3,"click",4,"ngIf"],["class","grey-text",4,"ngIf"],[1,"card-text","mb-0","grey-text"],[4,"ngIf"],["href","javascript:void(0)","class","card-link",3,"ngbTooltip","click",4,"ngIf"],["href","javascript:void(0)","class","card-link red-text",3,"click",4,"ngIf"],["href","javascript:void(0)",3,"click",4,"ngIf"],["ngbDropdown","","placement","left","class","d-inline-block ml-3 mt-auto",4,"ngIf"],["href","javascript:void(0)","container","body",1,"card-link",3,"ngbTooltip","click"],[1,"fas","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],["href","javascript:void(0)",1,"card-link","green-text",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",2,"opacity","0.25"],["href","javascript:void(0)",1,"card-link","pink-text",3,"click"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"ngbTooltip","click"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["ngbDropdown","","placement","left",1,"d-inline-block","ml-3","mt-auto"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem","",3,"click",4,"ngIf"],["class","dropdown-divider",4,"ngIf"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-history"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"dropdown-divider"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"icon-button","fas","fa-fw","fa-bridge"]],template:function(a,t){1&a&&(n.TgZ(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),n.NdJ("error",function(){return t.handleIconError()}),n.qZA()(),n.TgZ(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),n._uU(9),n.qZA(),n.TgZ(10,"div",9),n.YNc(11,M,4,6,"a",10),n.YNc(12,Q,4,6,"a",10),n.YNc(13,Y,4,6,"a",10),n.YNc(14,j,4,6,"a",10),n._UZ(15,"i",11),n.YNc(16,L,1,4,"i",12),n.qZA()(),n.TgZ(17,"p",13)(18,"a",14),n.NdJ("click",function(){return t.pluginInfoModal(t.plugin)}),n._UZ(19,"i",15),n.TgZ(20,"span",16),n._uU(21),n.qZA()()(),n.YNc(22,F,6,3,"p",17),n.YNc(23,S,6,3,"p",17),n.TgZ(24,"p",18),n.YNc(25,E,4,1,"a",19),n.YNc(26,O,3,1,"span",20),n.qZA(),n.TgZ(27,"div",7)(28,"p",21),n.YNc(29,G,5,2,"span",22),n.YNc(30,K,3,1,"span",22),n.qZA(),n.TgZ(31,"div",9),n.YNc(32,V,3,3,"a",23),n.YNc(33,D,3,3,"a",24),n.YNc(34,R,2,0,"a",25),n.YNc(35,dn,18,14,"span",26),n.qZA()()()()()()()),2&a&&(n.xp6(3),n.Q6J("src",t.plugin.icon,n.LSH),n.xp6(6),n.hij(" ",t.prettyDisplayName," "),n.xp6(2),n.Q6J("ngIf",t.plugin.installedVersion&&t.plugin.updateAvailable&&!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&!t.plugin.isConfigured&&!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&t.plugin.isConfigured&&!t.plugin.hasChildBridges&&!t.plugin.disabled&&t.plugin.recommendChildBridge&&!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&t.plugin.isConfigured&&t.plugin.hasChildBridges&&!t.childBridgeRestartInProgress&&t.hasUnpairedChildBridges&&"ok"===t.childBridgeStatus&&!t.plugin.disabled),n.xp6(1),n.Q6J("hidden",!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&t.plugin.isConfigured&&t.plugin.hasChildBridges&&!t.childBridgeRestartInProgress&&!t.hasUnpairedChildBridges&&"ok"!==t.childBridgeStatus&&!t.plugin.disabled),n.xp6(5),n.hij(" ",t.plugin.name,""),n.xp6(1),n.Q6J("ngIf",t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin),n.xp6(1),n.Q6J("ngIf",!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin),n.xp6(2),n.Q6J("ngIf",!((t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)&&t.plugin.funding)),n.xp6(1),n.Q6J("ngIf",(t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)&&t.plugin.funding),n.xp6(3),n.Q6J("ngIf",t.plugin.publicPackage&&!t.plugin.installedVersion),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion),n.xp6(2),n.Q6J("ngIf",!t.plugin.disabled&&t.plugin.hasChildBridges&&"ok"===t.childBridgeStatus),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&t.plugin.disabled),n.xp6(1),n.Q6J("ngIf",t.plugin.publicPackage&&!t.plugin.installedVersion),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion))},dependencies:[u.mk,u.O5,g.jt,g.iD,g.Vi,g.TH,g._L,u.uU,f.X$],styles:[".dropdown-menu.show[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:10px}.dropup[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:none}"]})}return e})();function un(e,l){1&e&&n._UZ(0,"app-spinner")}function fn(e,l){1&e&&n._UZ(0,"i",13)}function _n(e,l){if(1&e&&(n.TgZ(0,"div",14),n._UZ(1,"app-plugin-card",15),n.qZA()),2&e){const i=l.$implicit,a=n.oxw();n.xp6(1),n.Q6J("plugin",i)("childBridges",a.getPluginChildBridges(i))}}function mn(e,l){1&e&&(n.TgZ(0,"div",16),n._UZ(1,"i",17),n.TgZ(2,"p"),n._uU(3),n.ALo(4,"translate"),n.qZA()()),2&e&&(n.xp6(3),n.Oqu(n.lcZ(4,1,"plugins.placeholder_search_first")))}const hn=[{path:"",component:(()=>{class e{$api;$ws;$router;$settings;$toastr;$translate;loading=!0;installedPlugins=[];childBridges=[];form=new c.cw({query:new c.NI("",[c.kI.required])});io;navigationSubscription;constructor(i,a,t,o,r,p){this.$api=i,this.$ws=a,this.$router=t,this.$settings=o,this.$toastr=r,this.$translate=p}ngOnInit(){var i=this;return(0,d.Z)(function*(){i.io=i.$ws.connectToNamespace("child-bridges"),i.io.connected.subscribe((0,d.Z)(function*(){i.getChildBridgeMetadata(),i.io.socket.emit("monitor-child-bridge-status"),yield i.loadInstalledPlugins()})),i.io.socket.on("child-bridge-status-update",a=>{const t=i.childBridges.find(o=>o.username===a.username);t?Object.assign(t,a):i.childBridges.push(a)}),i.navigationSubscription=i.$router.events.subscribe(a=>{a instanceof _.m2&&i.loadInstalledPlugins()})})()}loadInstalledPlugins(){var i=this;return(0,d.Z)(function*(){i.form.setValue({query:""}),i.installedPlugins=[],i.loading=!0;try{const a=yield i.$api.get("/plugins").toPromise();i.installedPlugins=a.filter(o=>"homebridge-config-ui-x"!==o.name),yield i.appendMetaInfo();const t=i.installedPlugins.sort((o,r)=>o.updateAvailable!==r.updateAvailable?o.updateAvailable?-1:1:o.disabled!==r.disabled?o.disabled?1:-1:o.isConfigured!==r.isConfigured?o.isConfigured?1:-1:o.hasChildBridgesUnpaired!==r.hasChildBridgesUnpaired?o.hasChildBridgesUnpaired?-1:1:o.hasChildBridges!==r.hasChildBridges&&i.$settings.env.recommendChildBridges?o.hasChildBridges?1:-1:o.name.localeCompare(r.name));return i.loading=!1,t}catch(a){i.$toastr.error(`${i.$translate.instant("plugins.toast_failed_to_load_plugins")}: ${a.message}`,i.$translate.instant("toast.title_error"))}})()}appendMetaInfo(){var i=this;return(0,d.Z)(function*(){yield Promise.all(i.installedPlugins.filter(a=>a.installedVersion).map(function(){var a=(0,d.Z)(function*(t){try{const o=yield i.$api.get(`/config-editor/plugin/${encodeURIComponent(t.name)}`).toPromise();t.isConfigured=o.length>0,t.recommendChildBridge=t.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform")&&i.$settings.env.recommendChildBridges&&i.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(t.name),t.hasChildBridges=t.isConfigured&&o.some(p=>p._bridge&&p._bridge.username);const r=i.getPluginChildBridges(t);t.hasChildBridgesUnpaired=r.some(p=>!p.paired)}catch{t.isConfigured=!0,t.hasChildBridges=!0}});return function(t){return a.apply(this,arguments)}}()))})()}search(){this.installedPlugins=[],this.loading=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe(i=>{this.installedPlugins=i.filter(a=>"homebridge-config-ui-x"!==a.name),this.appendMetaInfo(),this.loading=!1},i=>{this.loading=!1,this.$toastr.error(`${i.error.message||i.message}`,"Error"),this.loadInstalledPlugins()})}onClearSearch(){this.form.setValue({query:""}),this.loadInstalledPlugins()}onSubmit({value:i}){i.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(i=>{this.childBridges=i})}getPluginChildBridges(i){return this.childBridges.filter(a=>a.plugin===i.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(a){return new(a||e)(n.Y36(h.s),n.Y36(b.r),n.Y36(_.F0),n.Y36(C.g),n.Y36(x._W),n.Y36(f.sK))};static \u0275cmp=n.Xpm({type:e,selectors:[["app-plugins"]],decls:16,vars:11,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"formGroup","ngSubmit"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],["class","far fa-fw fa-times-circle",4,"ngIf"],[1,"d-flex","flex-wrap","justify-content-between"],["class","hb-plugin-space-between",4,"ngFor","ngForOf"],["class","alert alert-info mt-4 text-center w-100",4,"ngIf"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[3,"plugin","childBridges"],[1,"alert","alert-info","mt-4","text-center","w-100"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(a,t){1&a&&(n.YNc(0,un,1,0,"app-spinner",0),n.TgZ(1,"div",1)(2,"div",2)(3,"h3",3),n._uU(4),n.ALo(5,"translate"),n.qZA()()(),n.TgZ(6,"div",4)(7,"div",5)(8,"form",6),n.NdJ("ngSubmit",function(){return t.onSubmit(t.form)}),n._UZ(9,"input",7),n.ALo(10,"translate"),n.TgZ(11,"a",8),n.NdJ("click",function(){return t.onClearSearch()}),n.YNc(12,fn,1,0,"i",9),n.qZA()()()(),n.TgZ(13,"div",10),n.YNc(14,_n,2,2,"div",11),n.YNc(15,mn,5,3,"div",12),n.qZA()),2&a&&(n.Q6J("ngIf",t.loading),n.xp6(4),n.Oqu(n.lcZ(5,7,"menu.label_plugins")),n.xp6(4),n.Q6J("formGroup",t.form),n.xp6(1),n.Q6J("placeholder",n.lcZ(10,9,"plugins.placeholder_search_plugin")),n.xp6(3),n.Q6J("ngIf",t.form.controls.query.value),n.xp6(2),n.Q6J("ngForOf",t.installedPlugins),n.xp6(1),n.Q6J("ngIf",0===t.installedPlugins.length&&!t.loading))},dependencies:[u.sg,u.O5,c._Y,c.Fj,c.JJ,c.JL,c.sg,c.u,I.O,pn,f.X$],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]})}return e})()}];let bn=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=n.oAB({type:e});static \u0275inj=n.cJS({imports:[_.Bz.forChild(hn),_.Bz]})}return e})(),Cn=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=n.oAB({type:e});static \u0275inj=n.cJS({imports:[u.ez,c.u5,c.UX,f.aw.forChild(),g.IJ,P.I,T.E,bn]})}return e})()}}]);
|
|
1
|
+
"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[320],{1320:(vn,m,s)=>{s.r(m),s.d(m,{PluginsModule:()=>Cn});var u=s(6895),c=s(4006),g=s(8304),f=s(4463),P=s(294),T=s(3991),_=s(7750),d=s(5861),n=s(4650),h=s(9274),b=s(7588),C=s(2503),x=s(7185),I=s(8703),Z=s(1862),w=s(9355),v=s(778),k=s(1976),A=s(3008);function y(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",15),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.activeModal.dismiss("Dismiss"))}),n._uU(1),n.ALo(2,"translate"),n.qZA()}2&e&&(n.xp6(1),n.hij(" ",n.lcZ(2,1,"form.button_close")," "))}function $(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",15),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.activeModal.dismiss("Dismiss"))}),n._uU(1),n.ALo(2,"translate"),n.qZA()}2&e&&(n.xp6(1),n.hij(" ",n.lcZ(2,1,"form.button_close")," "))}function B(e,l){if(1&e&&(n.TgZ(0,"a",16),n._uU(1),n.ALo(2,"translate"),n._UZ(3,"i",17),n.qZA()),2&e){const i=n.oxw();n.s9C("href",i.plugin.links.homepage||i.plugin.links.npm,n.LSH),n.xp6(1),n.hij(" ",n.lcZ(2,2,"plugins.button_homepage")," ")}}let U=(()=>{class e{activeModal;plugin;defaultIcon="assets/hb-icon.png";constructor(i){this.activeModal=i}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(a){return new(a||e)(n.Y36(g.Kz))};static \u0275cmp=n.Xpm({type:e,selectors:[["app-plugin-info"]],inputs:{plugin:"plugin"},decls:26,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon",3,"src","error"],[1,"my-3"],[1,"m-0","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"click",4,"ngIf"],[1,"text-center"],[1,"text-right"],["class","btn btn-primary text-decoration-none","target","_blank","rel","noopener noreferrer",3,"href",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(a,t){1&a&&(n.TgZ(0,"div",0)(1,"div",1)(2,"h5",2),n._uU(3),n.ALo(4,"translate"),n.qZA(),n.TgZ(5,"button",3),n.NdJ("click",function(){return t.activeModal.dismiss("Dismiss")}),n.ALo(6,"translate"),n.TgZ(7,"span",4),n._uU(8,"\xd7"),n.qZA()()(),n.TgZ(9,"div",5)(10,"img",6),n.NdJ("error",function(){return t.handleIconError()}),n.qZA(),n.TgZ(11,"h4"),n._uU(12),n.qZA(),n.TgZ(13,"p",7),n._uU(14),n.qZA(),n.TgZ(15,"p",8),n._uU(16),n.qZA(),n.TgZ(17,"p",8),n._uU(18),n.qZA()(),n.TgZ(19,"div",9)(20,"div",10),n.YNc(21,y,3,3,"button",11),n.qZA(),n.TgZ(22,"div",12),n.YNc(23,$,3,3,"button",11),n.qZA(),n.TgZ(24,"div",13),n.YNc(25,B,4,4,"a",14),n.qZA()()()),2&a&&(n.xp6(3),n.Oqu(n.lcZ(4,10,"plugins.manage.information")),n.xp6(2),n.uIk("aria-label",n.lcZ(6,12,"form.button_close")),n.xp6(5),n.Q6J("src",t.plugin.icon,n.LSH),n.xp6(2),n.Oqu(t.plugin.displayName||t.plugin.name),n.xp6(2),n.Oqu(t.plugin.description),n.xp6(2),n.Oqu(t.plugin.name),n.xp6(2),n.hij("@",t.plugin.author,""),n.xp6(3),n.Q6J("ngIf",t.plugin.links.homepage||t.plugin.links.npm),n.xp6(2),n.Q6J("ngIf",!t.plugin.links.homepage&&!t.plugin.links.npm),n.xp6(2),n.Q6J("ngIf",t.plugin.links.homepage||t.plugin.links.npm))},dependencies:[u.O5,f.X$],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return e})();var J=s(5241),N=s(8605);function M(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.updatePlugin(t.plugin,t.plugin.updateTag||"latest"))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",28),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"plugins.button_update")),n.uIk("aria-label",n.lcZ(2,4,"plugins.button_update")))}function Q(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.settings(t.plugin))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",29),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"plugins.button_set_up")),n.uIk("aria-label",n.lcZ(2,4,"plugins.button_set_up")))}function Y(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",30),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"child_bridge.label_child_setup")),n.uIk("aria-label",n.lcZ(2,4,"child_bridge.label_child_setup")))}function j(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",27),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n.ALo(1,"translate"),n.ALo(2,"translate"),n._UZ(3,"i",31),n.qZA()}2&e&&(n.Q6J("ngbTooltip",n.lcZ(1,2,"child_bridge.label_bridge_connect_to_homekit")),n.uIk("aria-label",n.lcZ(2,4,"child_bridge.label_bridge_connect_to_homekit")))}const q=function(e,l){return{"fa-bridge-circle-exclamation orange-text":e,"fa-bridge-circle-xmark red-text":l}};function L(e,l){if(1&e&&n._UZ(0,"i",32),2&e){const i=n.oxw();n.Q6J("ngClass",n.WLB(1,q,"pending"===i.childBridgeStatus,"down"===i.childBridgeStatus))}}function F(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"p",18)(1,"a",33),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.openVerifiedModal())}),n._UZ(2,"i",34),n.TgZ(3,"span",16),n._uU(4),n.ALo(5,"translate"),n.qZA()()()}2&e&&(n.xp6(4),n.Oqu(n.lcZ(5,1,"plugins.donate.button_verified")))}function S(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"p",18)(1,"a",35),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.openVerifiedModal())}),n._UZ(2,"i",36),n.TgZ(3,"span",16),n._uU(4),n.ALo(5,"translate"),n.qZA()()()}2&e&&(n.xp6(4),n.Oqu(n.lcZ(5,1,"plugins.donate.button_not_verified")))}function E(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",37),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.openFundingModal(t.plugin))}),n._UZ(1,"i",38),n.TgZ(2,"span",16),n._uU(3),n.qZA()()}if(2&e){const i=n.oxw();n.xp6(3),n.hij("@",i.plugin.author,"")}}function O(e,l){if(1&e&&(n.TgZ(0,"span",16),n._UZ(1,"i",39),n._uU(2),n.qZA()),2&e){const i=n.oxw();n.xp6(2),n.hij("@",i.plugin.author," ")}}function H(e,l){if(1&e&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"date"),n.qZA()),2&e){const i=n.oxw(2);n.xp6(1),n.hij("(",n.xi3(2,1,i.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function G(e,l){if(1&e&&(n.TgZ(0,"span"),n._UZ(1,"i",40),n.TgZ(2,"span",16),n._uU(3),n.YNc(4,H,3,4,"span",22),n.qZA()()),2&e){const i=n.oxw();n.xp6(3),n.hij("v",i.plugin.latestVersion," "),n.xp6(1),n.Q6J("ngIf",i.plugin.lastUpdated)}}function K(e,l){if(1&e&&(n.TgZ(0,"span"),n._UZ(1,"i",41),n._uU(2),n.qZA()),2&e){const i=n.oxw();n.xp6(2),n.hij("v",i.plugin.installedVersion," ")}}function V(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",42),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.doChildBridgeAction("restart"))}),n.ALo(1,"translate"),n._UZ(2,"i",43),n.qZA()}if(2&e){const i=n.oxw();n.Q6J("ngbTooltip",i.setChildBridges.length>1?"child_bridge.label_child_restart_plural":n.lcZ(1,1,"child_bridge.label_child_restart"))}}function D(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",44),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.enablePlugin(t.plugin))}),n._UZ(1,"i",45),n.ALo(2,"translate"),n.qZA()}2&e&&(n.xp6(1),n.Q6J("ngbTooltip",n.lcZ(2,1,"plugins.status_disabled")))}function R(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"a",46),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.installPreviousVersion(t.plugin))}),n._UZ(1,"i",47),n.qZA()}}function z(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.viewPluginLog(t.plugin))}),n._UZ(1,"i",56),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.plugin_logs")," "))}function X(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.installPreviousVersion(t.plugin))}),n._UZ(1,"i",57),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.message_install_alternate_version")," "))}function W(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.jsonEditor(t.plugin))}),n._UZ(1,"i",58),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.json_config")," "))}function nn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.disablePlugin(t.plugin))}),n._UZ(1,"i",59),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.disable")," "))}function tn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.enablePlugin(t.plugin))}),n._UZ(1,"i",60),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.manage.enable")," "))}function en(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.uninstallPlugin(t.plugin))}),n._UZ(1,"i",61),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"plugins.button_uninstall")," "))}function an(e,l){1&e&&n._UZ(0,"div",62)}function ln(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(3);return n.KtG(t.doChildBridgeAction("restart"))}),n._UZ(1,"i",64),n._uU(2),n.ALo(3,"translate"),n.qZA()}if(2&e){const i=n.oxw(3);n.xp6(2),n.hij(" ",i.setChildBridges.length>1?"child_bridge.label_child_restart_plural":n.lcZ(3,1,"child_bridge.label_child_restart")," ")}}function on(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(3);return n.KtG(t.doChildBridgeAction("stop"))}),n._UZ(1,"i",65),n._uU(2),n.ALo(3,"translate"),n.qZA()}if(2&e){const i=n.oxw(3);n.xp6(2),n.hij(" ",i.setChildBridges.length>1?"child_bridge.label_child_stop_plural":n.lcZ(3,1,"child_bridge.label_child_stop")," ")}}function sn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(3);return n.KtG(t.doChildBridgeAction("start"))}),n._UZ(1,"i",66),n._uU(2),n.ALo(3,"translate"),n.qZA()}if(2&e){const i=n.oxw(3);n.xp6(2),n.hij(" ",i.setChildBridges.length>1?"child_bridge.label_child_start_plural":n.lcZ(3,1,"child_bridge.label_child_start")," ")}}function rn(e,l){if(1&e){const i=n.EpF();n.ynx(0),n.TgZ(1,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n._UZ(2,"i",63),n._uU(3),n.ALo(4,"translate"),n.qZA(),n.YNc(5,ln,4,3,"button",54),n.YNc(6,on,4,3,"button",54),n.YNc(7,sn,4,3,"button",54),n.BQk()}if(2&e){const i=n.oxw(2);n.xp6(3),n.hij(" ",n.lcZ(4,4,"child_bridge.label_bridge_settings")," "),n.xp6(2),n.Q6J("ngIf",!i.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",!i.allChildBridgesStopped),n.xp6(1),n.Q6J("ngIf",i.allChildBridgesStopped)}}function cn(e,l){1&e&&n._UZ(0,"div",62)}function gn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw(2);return n.KtG(t.$plugin.bridgeSettings(t.plugin))}),n._UZ(1,"i",67),n._uU(2),n.ALo(3,"translate"),n.qZA()}2&e&&(n.xp6(2),n.hij(" ",n.lcZ(3,1,"child_bridge.label_child_setup")," "))}function dn(e,l){if(1&e){const i=n.EpF();n.TgZ(0,"span",48)(1,"a",49),n._UZ(2,"i",50),n.qZA(),n.TgZ(3,"div",51)(4,"button",52),n.NdJ("click",function(){n.CHM(i);const t=n.oxw();return n.KtG(t.$plugin.settings(t.plugin))}),n._UZ(5,"i",53),n._uU(6),n.ALo(7,"translate"),n.qZA(),n.YNc(8,z,4,3,"button",54),n.YNc(9,X,4,3,"button",54),n.YNc(10,W,4,3,"button",54),n.YNc(11,nn,4,3,"button",54),n.YNc(12,tn,4,3,"button",54),n.YNc(13,en,4,3,"button",54),n.YNc(14,an,1,0,"div",55),n.YNc(15,rn,8,6,"ng-container",22),n.YNc(16,cn,1,0,"div",55),n.YNc(17,gn,4,3,"button",54),n.qZA()()}if(2&e){const i=n.oxw();n.xp6(1),n.uIk("aria-label","Plugin Actions Dropdown"),n.xp6(5),n.hij(" ",n.lcZ(7,12,"plugins.button_settings")," "),n.xp6(2),n.Q6J("ngIf",i.plugin.isConfigured),n.xp6(1),n.Q6J("ngIf",i.plugin.publicPackage),n.xp6(1),n.Q6J("ngIf",!i.isMobile&&"homebridge-config-ui-x"!==i.plugin.name),n.xp6(1),n.Q6J("ngIf","homebridge-config-ui-x"!==i.plugin.name&&!i.plugin.disabled),n.xp6(1),n.Q6J("ngIf","homebridge-config-ui-x"!==i.plugin.name&&i.plugin.disabled),n.xp6(1),n.Q6J("ngIf","homebridge-config-ui-x"!==i.plugin.name),n.xp6(1),n.Q6J("ngIf",!i.plugin.disabled&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&i.plugin.installedVersion&&"homebridge-config-ui-x"!==i.plugin.name),n.xp6(1),n.Q6J("ngIf",i.plugin.hasChildBridges&&!i.plugin.disabled),n.xp6(1),n.Q6J("ngIf",i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&!i.plugin.recommendChildBridge),n.xp6(1),n.Q6J("ngIf",i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&!i.plugin.recommendChildBridge)}}let pn=(()=>{class e{$plugin;$api;$ws;$translate;$modal;$toastr;$md;$settings;plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];prettyDisplayName="";io;constructor(i,a,t,o,r,p,xn,Zn){this.$plugin=i,this.$api=a,this.$ws=t,this.$translate=o,this.$modal=r,this.$toastr=p,this.$md=xn,this.$settings=Zn}set childBridges(i){this.hasChildBridges=i.length>0,this.hasUnpairedChildBridges=i.filter(a=>!1===a.paired).length>0,this.allChildBridgesStopped=i.filter(a=>!0===a.manuallyStopped).length===i.length,this.hasChildBridges&&(i.some(a=>"down"===a.status)?this.childBridgeStatus="down":i.some(a=>"pending"===a.status)?this.childBridgeStatus="pending":i.some(a=>"ok"===a.status)&&(this.childBridgeStatus="ok")),this.setChildBridges=i}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.prettyDisplayName=this.prettifyName(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(i){this.$modal.open(k.S,{size:"lg",backdrop:"static"}).componentInstance.plugin=i}openVerifiedModal(){const i=this.$modal.open(w.x,{size:"lg",backdrop:"static"});this.plugin.verifiedPlugin||this.plugin.verifiedPlusPlugin?(i.componentInstance.title=this.$translate.instant("plugins.manage.modal_verified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.modal_verified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.modal_verified_message"),i.componentInstance.faIconClass="fa-shield-alt green-text"):(i.componentInstance.title=this.$translate.instant("plugins.manage.modal_unverified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.modal_unverified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.modal_unverified_message"),i.componentInstance.faIconClass="fa-shield-alt grey-text"),i.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),i.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/verified-Plugins"}pluginInfoModal(i){this.$modal.open(U,{size:"lg",backdrop:"static"}).componentInstance.plugin=i}disablePlugin(i){var a=this;const t=this.$modal.open(Z.X,{size:"lg",backdrop:"static"});t.componentInstance.title=`${this.$translate.instant("plugins.manage.disable")}: ${i.name}`,t.componentInstance.message=this.$translate.instant("plugins.manage.message_confirm_disable",{pluginName:i.name}),t.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.disable"),t.componentInstance.faIconClass="fa-circle-pause primary-text",t.result.then((0,d.Z)(function*(){try{yield a.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/disable`,{}).toPromise(),i.disabled=!0,a.hasChildBridges&&a.doChildBridgeAction("stop"),a.$modal.open(v.Q,{size:"lg",backdrop:"static"})}catch(o){a.$toastr.error(`Failed to disable plugin: ${o.message}`,a.$translate.instant("toast.title_error"))}})).finally(()=>{})}enablePlugin(i){var a=this;const t=this.$modal.open(Z.X,{size:"lg",backdrop:"static"});t.componentInstance.title=`${this.$translate.instant("plugins.manage.enable")}: ${i.name}`,t.componentInstance.message=this.$translate.instant("plugins.manage.message_confirm_enable",{pluginName:i.name}),t.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),t.componentInstance.faIconClass="fa-circle-play primary-text",t.result.then((0,d.Z)(function*(){try{yield a.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/enable`,{}).toPromise(),i.disabled=!1,a.hasChildBridges&&(yield a.doChildBridgeAction("start")),a.$modal.open(v.Q,{size:"lg",backdrop:"static"})}catch(o){a.$toastr.error(`Failed to enable plugin: ${o.message}`,a.$translate.instant("toast.title_error"))}})).finally(()=>{})}viewPluginLog(i){this.$modal.open(A.o,{size:"xl",backdrop:"static"}).componentInstance.plugin=i}doChildBridgeAction(i){var a=this;return(0,d.Z)(function*(){a.childBridgeRestartInProgress=!0;try{for(const t of a.setChildBridges)yield a.io.request(i+"-child-bridge",t.username).toPromise()}catch(t){a.$toastr.error(`Failed to ${i} bridges: `+(null==t?void 0:t.message),a.$translate.instant("toast.title_error")),a.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{a.childBridgeRestartInProgress=!1},"restart"===i?12e3:"stop"===i?6e3:1e3)}})()}handleIconError(){this.plugin.icon=this.defaultIcon}prettifyName(){let i=this.plugin.displayName||("@"===this.plugin.name.charAt(0)?this.plugin.name.split("/")[1]:this.plugin.name);return i=i.replace(/-/g," "),this.isMobile&&i.toLowerCase().startsWith("homebridge ")&&(i=i.replace(new RegExp("^homebridge ","i"),"")),this.plugin.displayName||(i=i.replace(/\w\S*/g,a=>a.charAt(0).toUpperCase()+a.substr(1).toLowerCase())),i}static \u0275fac=function(a){return new(a||e)(n.Y36(J.r),n.Y36(h.s),n.Y36(b.r),n.Y36(f.sK),n.Y36(g.FF),n.Y36(x._W),n.Y36(N.L),n.Y36(C.g))};static \u0275cmp=n.Xpm({type:e,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:36,vars:19,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"src","error"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ml-auto"],["href","javascript:void(0)","class","card-link","container","body",3,"ngbTooltip","click",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ml-3",3,"hidden"],["class","fas fa-fw fa-lg ml-3",3,"ngClass",4,"ngIf"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link","grey-text",3,"click"],[1,"fas","fa-fw","fa-info-circle","fa-lg"],[1,"grey-text"],["class","card-text mb-2",4,"ngIf"],[1,"card-text","mb-2"],["href","javascript:void(0)","class","card-link pink-text",3,"click",4,"ngIf"],["class","grey-text",4,"ngIf"],[1,"card-text","mb-0","grey-text"],[4,"ngIf"],["href","javascript:void(0)","class","card-link",3,"ngbTooltip","click",4,"ngIf"],["href","javascript:void(0)","class","card-link red-text",3,"click",4,"ngIf"],["href","javascript:void(0)",3,"click",4,"ngIf"],["ngbDropdown","","placement","left","class","d-inline-block ml-3 mt-auto",4,"ngIf"],["href","javascript:void(0)","container","body",1,"card-link",3,"ngbTooltip","click"],[1,"fas","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],["href","javascript:void(0)",1,"card-link","green-text",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",2,"opacity","0.25"],["href","javascript:void(0)",1,"card-link","pink-text",3,"click"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"ngbTooltip","click"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["ngbDropdown","","placement","left",1,"d-inline-block","ml-3","mt-auto"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem","",3,"click",4,"ngIf"],["class","dropdown-divider",4,"ngIf"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-history"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"dropdown-divider"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"icon-button","fas","fa-fw","fa-bridge"]],template:function(a,t){1&a&&(n.TgZ(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),n.NdJ("error",function(){return t.handleIconError()}),n.qZA()(),n.TgZ(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),n._uU(9),n.qZA(),n.TgZ(10,"div",9),n.YNc(11,M,4,6,"a",10),n.YNc(12,Q,4,6,"a",10),n.YNc(13,Y,4,6,"a",10),n.YNc(14,j,4,6,"a",10),n._UZ(15,"i",11),n.YNc(16,L,1,4,"i",12),n.qZA()(),n.TgZ(17,"p",13)(18,"a",14),n.NdJ("click",function(){return t.pluginInfoModal(t.plugin)}),n._UZ(19,"i",15),n.TgZ(20,"span",16),n._uU(21),n.qZA()()(),n.YNc(22,F,6,3,"p",17),n.YNc(23,S,6,3,"p",17),n.TgZ(24,"p",18),n.YNc(25,E,4,1,"a",19),n.YNc(26,O,3,1,"span",20),n.qZA(),n.TgZ(27,"div",7)(28,"p",21),n.YNc(29,G,5,2,"span",22),n.YNc(30,K,3,1,"span",22),n.qZA(),n.TgZ(31,"div",9),n.YNc(32,V,3,3,"a",23),n.YNc(33,D,3,3,"a",24),n.YNc(34,R,2,0,"a",25),n.YNc(35,dn,18,14,"span",26),n.qZA()()()()()()()),2&a&&(n.xp6(3),n.Q6J("src",t.plugin.icon,n.LSH),n.xp6(6),n.hij(" ",t.prettyDisplayName," "),n.xp6(2),n.Q6J("ngIf",t.plugin.installedVersion&&t.plugin.updateAvailable&&!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&!t.plugin.isConfigured&&!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&t.plugin.isConfigured&&!t.plugin.hasChildBridges&&!t.plugin.disabled&&t.plugin.recommendChildBridge&&!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&t.plugin.isConfigured&&t.plugin.hasChildBridges&&!t.childBridgeRestartInProgress&&t.hasUnpairedChildBridges&&"ok"===t.childBridgeStatus&&!t.plugin.disabled),n.xp6(1),n.Q6J("hidden",!t.childBridgeRestartInProgress),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&!t.plugin.updateAvailable&&t.plugin.isConfigured&&t.plugin.hasChildBridges&&!t.childBridgeRestartInProgress&&!t.hasUnpairedChildBridges&&"ok"!==t.childBridgeStatus&&!t.plugin.disabled),n.xp6(5),n.hij(" ",t.plugin.name,""),n.xp6(1),n.Q6J("ngIf",t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin),n.xp6(1),n.Q6J("ngIf",!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin),n.xp6(2),n.Q6J("ngIf",(t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)&&t.plugin.funding),n.xp6(1),n.Q6J("ngIf",!((t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)&&t.plugin.funding)),n.xp6(3),n.Q6J("ngIf",t.plugin.publicPackage&&!t.plugin.installedVersion),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion),n.xp6(2),n.Q6J("ngIf",!t.plugin.disabled&&t.plugin.hasChildBridges&&"ok"===t.childBridgeStatus),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion&&t.plugin.disabled),n.xp6(1),n.Q6J("ngIf",t.plugin.publicPackage&&!t.plugin.installedVersion),n.xp6(1),n.Q6J("ngIf",t.plugin.installedVersion))},dependencies:[u.mk,u.O5,g.jt,g.iD,g.Vi,g.TH,g._L,u.uU,f.X$],styles:[".dropdown-menu.show[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:10px}.dropup[_ngcontent-%COMP%] .dropdown-toggle[_ngcontent-%COMP%]:after{display:none}"]})}return e})();function un(e,l){1&e&&n._UZ(0,"app-spinner")}function fn(e,l){1&e&&n._UZ(0,"i",13)}function _n(e,l){if(1&e&&(n.TgZ(0,"div",14),n._UZ(1,"app-plugin-card",15),n.qZA()),2&e){const i=l.$implicit,a=n.oxw();n.xp6(1),n.Q6J("plugin",i)("childBridges",a.getPluginChildBridges(i))}}function mn(e,l){1&e&&(n.TgZ(0,"div",16),n._UZ(1,"i",17),n.TgZ(2,"p"),n._uU(3),n.ALo(4,"translate"),n.qZA()()),2&e&&(n.xp6(3),n.Oqu(n.lcZ(4,1,"plugins.placeholder_search_first")))}const hn=[{path:"",component:(()=>{class e{$api;$ws;$router;$settings;$toastr;$translate;loading=!0;installedPlugins=[];childBridges=[];form=new c.cw({query:new c.NI("",[c.kI.required])});io;navigationSubscription;constructor(i,a,t,o,r,p){this.$api=i,this.$ws=a,this.$router=t,this.$settings=o,this.$toastr=r,this.$translate=p}ngOnInit(){var i=this;return(0,d.Z)(function*(){i.io=i.$ws.connectToNamespace("child-bridges"),i.io.connected.subscribe((0,d.Z)(function*(){i.getChildBridgeMetadata(),i.io.socket.emit("monitor-child-bridge-status"),yield i.loadInstalledPlugins()})),i.io.socket.on("child-bridge-status-update",a=>{const t=i.childBridges.find(o=>o.username===a.username);t?Object.assign(t,a):i.childBridges.push(a)}),i.navigationSubscription=i.$router.events.subscribe(a=>{a instanceof _.m2&&i.loadInstalledPlugins()})})()}loadInstalledPlugins(){var i=this;return(0,d.Z)(function*(){i.form.setValue({query:""}),i.installedPlugins=[],i.loading=!0;try{const a=yield i.$api.get("/plugins").toPromise();i.installedPlugins=a.filter(o=>"homebridge-config-ui-x"!==o.name),yield i.appendMetaInfo();const t=i.installedPlugins.sort((o,r)=>o.updateAvailable!==r.updateAvailable?o.updateAvailable?-1:1:o.disabled!==r.disabled?o.disabled?1:-1:o.isConfigured!==r.isConfigured?o.isConfigured?1:-1:o.hasChildBridgesUnpaired!==r.hasChildBridgesUnpaired?o.hasChildBridgesUnpaired?-1:1:o.hasChildBridges!==r.hasChildBridges&&i.$settings.env.recommendChildBridges?o.hasChildBridges?1:-1:o.name.localeCompare(r.name));return i.loading=!1,t}catch(a){i.$toastr.error(`${i.$translate.instant("plugins.toast_failed_to_load_plugins")}: ${a.message}`,i.$translate.instant("toast.title_error"))}})()}appendMetaInfo(){var i=this;return(0,d.Z)(function*(){yield Promise.all(i.installedPlugins.filter(a=>a.installedVersion).map(function(){var a=(0,d.Z)(function*(t){try{const o=yield i.$api.get(`/config-editor/plugin/${encodeURIComponent(t.name)}`).toPromise();t.isConfigured=o.length>0,t.recommendChildBridge=t.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform")&&i.$settings.env.recommendChildBridges&&i.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(t.name),t.hasChildBridges=t.isConfigured&&o.some(p=>p._bridge&&p._bridge.username);const r=i.getPluginChildBridges(t);t.hasChildBridgesUnpaired=r.some(p=>!p.paired)}catch{t.isConfigured=!0,t.hasChildBridges=!0}});return function(t){return a.apply(this,arguments)}}()))})()}search(){this.installedPlugins=[],this.loading=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe(i=>{this.installedPlugins=i.filter(a=>"homebridge-config-ui-x"!==a.name),this.appendMetaInfo(),this.loading=!1},i=>{this.loading=!1,this.$toastr.error(`${i.error.message||i.message}`,"Error"),this.loadInstalledPlugins()})}onClearSearch(){this.form.setValue({query:""}),this.loadInstalledPlugins()}onSubmit({value:i}){i.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(i=>{this.childBridges=i})}getPluginChildBridges(i){return this.childBridges.filter(a=>a.plugin===i.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(a){return new(a||e)(n.Y36(h.s),n.Y36(b.r),n.Y36(_.F0),n.Y36(C.g),n.Y36(x._W),n.Y36(f.sK))};static \u0275cmp=n.Xpm({type:e,selectors:[["app-plugins"]],decls:16,vars:11,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"formGroup","ngSubmit"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],["class","far fa-fw fa-times-circle",4,"ngIf"],[1,"d-flex","flex-wrap","justify-content-between"],["class","hb-plugin-space-between",4,"ngFor","ngForOf"],["class","alert alert-info mt-4 text-center w-100",4,"ngIf"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[3,"plugin","childBridges"],[1,"alert","alert-info","mt-4","text-center","w-100"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(a,t){1&a&&(n.YNc(0,un,1,0,"app-spinner",0),n.TgZ(1,"div",1)(2,"div",2)(3,"h3",3),n._uU(4),n.ALo(5,"translate"),n.qZA()()(),n.TgZ(6,"div",4)(7,"div",5)(8,"form",6),n.NdJ("ngSubmit",function(){return t.onSubmit(t.form)}),n._UZ(9,"input",7),n.ALo(10,"translate"),n.TgZ(11,"a",8),n.NdJ("click",function(){return t.onClearSearch()}),n.YNc(12,fn,1,0,"i",9),n.qZA()()()(),n.TgZ(13,"div",10),n.YNc(14,_n,2,2,"div",11),n.YNc(15,mn,5,3,"div",12),n.qZA()),2&a&&(n.Q6J("ngIf",t.loading),n.xp6(4),n.Oqu(n.lcZ(5,7,"menu.label_plugins")),n.xp6(4),n.Q6J("formGroup",t.form),n.xp6(1),n.Q6J("placeholder",n.lcZ(10,9,"plugins.placeholder_search_plugin")),n.xp6(3),n.Q6J("ngIf",t.form.controls.query.value),n.xp6(2),n.Q6J("ngForOf",t.installedPlugins),n.xp6(1),n.Q6J("ngIf",0===t.installedPlugins.length&&!t.loading))},dependencies:[u.sg,u.O5,c._Y,c.Fj,c.JJ,c.JL,c.sg,c.u,I.O,pn,f.X$],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]})}return e})()}];let bn=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=n.oAB({type:e});static \u0275inj=n.cJS({imports:[_.Bz.forChild(hn),_.Bz]})}return e})(),Cn=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=n.oAB({type:e});static \u0275inj=n.cJS({imports:[u.ez,c.u5,c.UX,f.aw.forChild(),g.IJ,P.I,T.E,bn]})}return e})()}}]);
|
package/public/index.html
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
<body class="body-top-padding">
|
|
21
21
|
<app-root></app-root>
|
|
22
|
-
<script src="runtime.
|
|
22
|
+
<script src="runtime.055ec50cca8b1e80.js" type="module" crossorigin="use-credentials"></script><script src="polyfills.985044b7a7399140.js" type="module" crossorigin="use-credentials"></script><script src="scripts.a3c9ccae4e478a7d.js" defer crossorigin="use-credentials"></script><script src="main.f6f0f30dd2b7d02c.js" type="module" crossorigin="use-credentials"></script>
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
</body></html>
|