@c8y/ngx-components 1022.26.1 → 1022.28.2
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/core/search/inventory-search.service.d.ts +4 -3
- package/core/search/inventory-search.service.d.ts.map +1 -1
- package/core/search/search-input.component.d.ts +5 -2
- package/core/search/search-input.component.d.ts.map +1 -1
- package/core/search/search.model.d.ts +4 -0
- package/core/search/search.model.d.ts.map +1 -1
- package/core/search/search.service.d.ts +2 -1
- package/core/search/search.service.d.ts.map +1 -1
- package/core/select/typeahead.component.d.ts +2 -1
- package/core/select/typeahead.component.d.ts.map +1 -1
- package/device-grid/device-grid.component.d.ts.map +1 -1
- package/device-grid/device-grid.service.d.ts +4 -3
- package/device-grid/device-grid.service.d.ts.map +1 -1
- package/echart/charts.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.component.d.ts +3 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +2 -2
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +21 -13
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +22 -70
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +41 -21
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-map.mjs +84 -26
- package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +2 -2
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs +328 -210
- package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs +36 -16
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +7390 -7345
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +27 -0
- package/locales/es.po +27 -0
- package/locales/fr.po +27 -0
- package/locales/ja_JP.po +27 -0
- package/locales/ko.po +27 -0
- package/locales/locales.pot +25 -3
- package/locales/nl.po +27 -0
- package/locales/pl.po +27 -0
- package/locales/pt_BR.po +27 -0
- package/locales/zh_CN.po +27 -0
- package/locales/zh_TW.po +27 -0
- package/map/map.service.d.ts +13 -10
- package/map/map.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/search/columns/asset-type-search-grid-column.d.ts.map +1 -1
- package/search/search-action.component.d.ts +12 -8
- package/search/search-action.component.d.ts.map +1 -1
- package/search/search-custom-filters.component.d.ts +18 -4
- package/search/search-custom-filters.component.d.ts.map +1 -1
- package/search/search-grid.component.d.ts +14 -14
- package/search/search-grid.component.d.ts.map +1 -1
- package/search/search-results.component.d.ts +3 -1
- package/search/search-results.component.d.ts.map +1 -1
- package/search/search.module.d.ts.map +1 -1
- package/search/search.service.d.ts +14 -6
- package/search/search.service.d.ts.map +1 -1
- package/sub-assets/sub-assets.service.d.ts +9 -5
- package/sub-assets/sub-assets.service.d.ts.map +1 -1
- package/echart/services/custom-measurements.service.d.ts +0 -12
- package/echart/services/custom-measurements.service.d.ts.map +0 -1
|
@@ -718,25 +718,8 @@ class ApplicationPluginsComponent {
|
|
|
718
718
|
this.allAvailablePlugins$
|
|
719
719
|
]).pipe(map(([remotePlugins, allPlugins]) => this.getInstalledPlugins(allPlugins, remotePlugins)), shareReplay(1));
|
|
720
720
|
this.orphanedPlugins$ = this.installedPlugins$.pipe(map(plugins => plugins.filter(p => p.status === ApplicationPluginStatus.ORPHANED)));
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
// ensure that every installed plugin is a self plugin or a plugin from the manifest
|
|
724
|
-
const allInstalledPluginsAreSelf = installedPlugins.every(p => selfPlugins.some(selfPlugin => selfPlugin.id === p.id) ||
|
|
725
|
-
(Array.isArray(manifestRemotes[p.contextPath]) &&
|
|
726
|
-
manifestRemotes[p.contextPath].includes(p.module)));
|
|
727
|
-
// ensure that every self plugin is installed
|
|
728
|
-
const allSelfPluginsAreInstalled = selfPlugins.every(selfPlugin => installedPlugins.some(p => p.id === selfPlugin.id));
|
|
729
|
-
const configRemotes = this.app?.config?.remotes || {};
|
|
730
|
-
// ensure that every remote from the manifest is in the config
|
|
731
|
-
// if no config exists we are also all good
|
|
732
|
-
const everyRemoteFromManifestIsInConfig = !this.app?.config?.remotes ||
|
|
733
|
-
Object.keys(manifestRemotes).every(contextPath => Array.isArray(configRemotes[contextPath]) &&
|
|
734
|
-
Array.isArray(manifestRemotes[contextPath]) &&
|
|
735
|
-
manifestRemotes[contextPath].every(module => configRemotes[contextPath].includes(module)));
|
|
736
|
-
return (allInstalledPluginsAreSelf &&
|
|
737
|
-
allSelfPluginsAreInstalled &&
|
|
738
|
-
everyRemoteFromManifestIsInConfig);
|
|
739
|
-
}));
|
|
721
|
+
// only use the installedPlugins$ and selfPlugins$ as triggers
|
|
722
|
+
this.isStandard$ = combineLatest([this.installedPlugins$, this.selfPlugins$]).pipe(map(() => this.isStandard(this.app)));
|
|
740
723
|
this.title = gettext('Installed plugins');
|
|
741
724
|
this.loadMoreItemsLabel = gettext('Load more packages');
|
|
742
725
|
this.loadingItemsLabel = gettext('Loading packages…');
|
|
@@ -981,6 +964,43 @@ class ApplicationPluginsComponent {
|
|
|
981
964
|
this.destroy$.next();
|
|
982
965
|
this.destroy$.complete();
|
|
983
966
|
}
|
|
967
|
+
isStandard(app) {
|
|
968
|
+
return (
|
|
969
|
+
// ensure that every remote from the manifest is in the config
|
|
970
|
+
this.everyRemoteFromManifestIsInConfig(app) &&
|
|
971
|
+
// should not have any excluded remotes
|
|
972
|
+
Object.keys(app?.config?.excludedRemotes || {}).length === 0 &&
|
|
973
|
+
// ensure that every remote from the config is in the manifest
|
|
974
|
+
this.everyRemoteFromConfigIsInManifest(app));
|
|
975
|
+
}
|
|
976
|
+
everyRemoteFromManifestIsInConfig(app) {
|
|
977
|
+
const manifestRemotes = app?.manifest?.remotes;
|
|
978
|
+
const configRemotes = app?.config?.remotes;
|
|
979
|
+
if (!manifestRemotes || !configRemotes) {
|
|
980
|
+
return true;
|
|
981
|
+
}
|
|
982
|
+
return Object.keys(manifestRemotes).every(contextPath => {
|
|
983
|
+
return (Array.isArray(configRemotes[contextPath]) &&
|
|
984
|
+
Array.isArray(manifestRemotes[contextPath]) &&
|
|
985
|
+
manifestRemotes[contextPath].every(module => {
|
|
986
|
+
return configRemotes[contextPath].includes(module);
|
|
987
|
+
}));
|
|
988
|
+
});
|
|
989
|
+
}
|
|
990
|
+
everyRemoteFromConfigIsInManifest(app) {
|
|
991
|
+
const manifestRemotes = app?.manifest?.remotes || {};
|
|
992
|
+
const configRemotes = app?.config?.remotes;
|
|
993
|
+
if (!configRemotes) {
|
|
994
|
+
return true;
|
|
995
|
+
}
|
|
996
|
+
return Object.keys(configRemotes).every(contextPath => {
|
|
997
|
+
return (Array.isArray(configRemotes[contextPath]) &&
|
|
998
|
+
Array.isArray(manifestRemotes[contextPath]) &&
|
|
999
|
+
configRemotes[contextPath].every(module => {
|
|
1000
|
+
return manifestRemotes[contextPath].includes(module);
|
|
1001
|
+
}));
|
|
1002
|
+
});
|
|
1003
|
+
}
|
|
984
1004
|
addInstallButtonToHeaderActionControls() {
|
|
985
1005
|
if (this.appId) {
|
|
986
1006
|
this.headerActionControls = [
|
|
@@ -1028,8 +1048,8 @@ class ApplicationPluginsComponent {
|
|
|
1028
1048
|
return this.app;
|
|
1029
1049
|
}
|
|
1030
1050
|
async getApplicationMFExports(app) {
|
|
1031
|
-
const
|
|
1032
|
-
return
|
|
1051
|
+
const applicationExports = this.pluginsService.getMFExports(app, [], true);
|
|
1052
|
+
return applicationExports;
|
|
1033
1053
|
}
|
|
1034
1054
|
async getApplicationMFRemotes(app) {
|
|
1035
1055
|
const appConfigRemotes = this.pluginsService.getMFRemotes(app);
|