@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.
Files changed (88) hide show
  1. package/core/search/inventory-search.service.d.ts +4 -3
  2. package/core/search/inventory-search.service.d.ts.map +1 -1
  3. package/core/search/search-input.component.d.ts +5 -2
  4. package/core/search/search-input.component.d.ts.map +1 -1
  5. package/core/search/search.model.d.ts +4 -0
  6. package/core/search/search.model.d.ts.map +1 -1
  7. package/core/search/search.service.d.ts +2 -1
  8. package/core/search/search.service.d.ts.map +1 -1
  9. package/core/select/typeahead.component.d.ts +2 -1
  10. package/core/select/typeahead.component.d.ts.map +1 -1
  11. package/device-grid/device-grid.component.d.ts.map +1 -1
  12. package/device-grid/device-grid.service.d.ts +4 -3
  13. package/device-grid/device-grid.service.d.ts.map +1 -1
  14. package/echart/charts.component.d.ts.map +1 -1
  15. package/ecosystem/application-plugins/application-plugins.component.d.ts +3 -0
  16. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  17. package/fesm2022/c8y-ngx-components-alarms.mjs +2 -2
  18. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  19. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +2 -2
  20. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +1 -1
  22. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-device-grid.mjs +21 -13
  24. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-device-profile.mjs +1 -1
  26. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-echart.mjs +22 -70
  28. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +41 -21
  30. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
  32. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  34. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components-map.mjs +84 -26
  36. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  37. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +1 -1
  38. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  39. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +1 -1
  40. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  41. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +1 -1
  42. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  43. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +2 -2
  44. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  45. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
  46. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  47. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -2
  48. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  49. package/fesm2022/c8y-ngx-components-repository-shared.mjs +2 -2
  50. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  51. package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  53. package/fesm2022/c8y-ngx-components-search.mjs +328 -210
  54. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  55. package/fesm2022/c8y-ngx-components-sub-assets.mjs +36 -16
  56. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components.mjs +7390 -7345
  58. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  59. package/locales/de.po +27 -0
  60. package/locales/es.po +27 -0
  61. package/locales/fr.po +27 -0
  62. package/locales/ja_JP.po +27 -0
  63. package/locales/ko.po +27 -0
  64. package/locales/locales.pot +25 -3
  65. package/locales/nl.po +27 -0
  66. package/locales/pl.po +27 -0
  67. package/locales/pt_BR.po +27 -0
  68. package/locales/zh_CN.po +27 -0
  69. package/locales/zh_TW.po +27 -0
  70. package/map/map.service.d.ts +13 -10
  71. package/map/map.service.d.ts.map +1 -1
  72. package/package.json +1 -1
  73. package/search/columns/asset-type-search-grid-column.d.ts.map +1 -1
  74. package/search/search-action.component.d.ts +12 -8
  75. package/search/search-action.component.d.ts.map +1 -1
  76. package/search/search-custom-filters.component.d.ts +18 -4
  77. package/search/search-custom-filters.component.d.ts.map +1 -1
  78. package/search/search-grid.component.d.ts +14 -14
  79. package/search/search-grid.component.d.ts.map +1 -1
  80. package/search/search-results.component.d.ts +3 -1
  81. package/search/search-results.component.d.ts.map +1 -1
  82. package/search/search.module.d.ts.map +1 -1
  83. package/search/search.service.d.ts +14 -6
  84. package/search/search.service.d.ts.map +1 -1
  85. package/sub-assets/sub-assets.service.d.ts +9 -5
  86. package/sub-assets/sub-assets.service.d.ts.map +1 -1
  87. package/echart/services/custom-measurements.service.d.ts +0 -12
  88. 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
- this.isStandard$ = combineLatest([this.installedPlugins$, this.selfPlugins$]).pipe(map(([installedPlugins, selfPlugins]) => {
722
- const manifestRemotes = this.app?.manifest?.remotes || {};
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 exports = this.pluginsService.getMFExports(app, [], true);
1032
- return exports;
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);