diff options
Diffstat (limited to 'catalog-ui/src/app')
8 files changed, 37 insertions, 8 deletions
diff --git a/catalog-ui/src/app/models/plugins-config.ts b/catalog-ui/src/app/models/plugins-config.ts index 3f687a3af0..e69501abb4 100644 --- a/catalog-ui/src/app/models/plugins-config.ts +++ b/catalog-ui/src/app/models/plugins-config.ts @@ -5,6 +5,7 @@ export class Plugin { pluginSourceUrl: string; pluginStateUrl: string; pluginDisplayOptions: Map<string, PluginDisplayOptions>; + isOnline: boolean; } export class PluginDisplayOptions { @@ -17,4 +18,5 @@ export type Plugins = Array<Plugin>; export class PluginsConfiguration { static plugins: Plugins; + static connectionTimeout: boolean; } diff --git a/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts b/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts index 438cf4a60c..cb3f842648 100644 --- a/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts +++ b/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts @@ -30,11 +30,15 @@ export class PluginsTabViewModel { } private initScope = ():void => { - this.$scope.isLoading = true; this.$scope.plugin = this.pluginsService.getPluginByStateUrl(this.$stateParams.path); this.$scope.version = this.cacheService.get('version'); this.$scope.user = this.cacheService.get('user'); + // Don't show the loader if the plugin isn't online + if (this.$scope.plugin.isOnline) { + this.$scope.isLoading = true; + } + this.$scope.queryParams = { userId: this.$scope.user.userId, userRole: this.$scope.user.role, diff --git a/catalog-ui/src/app/view-models/plugins/plugins-tab-view.html b/catalog-ui/src/app/view-models/plugins/plugins-tab-view.html index bc404b46d1..6ee4855a4c 100644 --- a/catalog-ui/src/app/view-models/plugins/plugins-tab-view.html +++ b/catalog-ui/src/app/view-models/plugins/plugins-tab-view.html @@ -1,5 +1,6 @@ -<div class="sdc-catalog-container"> +<div class="sdc-catalog-container plugins-tab-container"> <loader display="isLoading"></loader> <top-nav [version]="version" [hide-search]="true"></top-nav> - <plugin-frame (on-loading-done)="onLoadingDone(plugin)" [plugin]="plugin" [query-params]="queryParams"></plugin-frame> + <plugin-frame data-ng-if="plugin.isOnline" (on-loading-done)="onLoadingDone(plugin)" [plugin]="plugin" [query-params]="queryParams"></plugin-frame> + <div class="offline-plugin-message" data-ng-if="!plugin.isOnline">The plugin {{plugin.pluginId}} is offline. Please try again later</div> </div> diff --git a/catalog-ui/src/app/view-models/plugins/plugins-tab.less b/catalog-ui/src/app/view-models/plugins/plugins-tab.less new file mode 100644 index 0000000000..f821041436 --- /dev/null +++ b/catalog-ui/src/app/view-models/plugins/plugins-tab.less @@ -0,0 +1,10 @@ +.plugins-tab-container { + + text-align: center; + + .offline-plugin-message { + top: 50px; + position: relative; + display: inline-block; + } +} diff --git a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts index 550fb84c10..3e0fb44cc8 100644 --- a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts +++ b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts @@ -9,6 +9,7 @@ interface IPluginsContextViewModelScope extends IWorkspaceViewModelScope { user:IUserProperties; queryParams: Object; isLoading: boolean; + show: boolean; onLoadingDone(plugin: Plugin): void; } @@ -30,10 +31,15 @@ export class PluginsContextViewModel { } private initScope = ():void => { - this.$scope.isLoading = true; + this.$scope.show = false; this.$scope.plugin = this.pluginsService.getPluginByStateUrl(this.$stateParams.path); this.$scope.user = this.cacheService.get('user'); + // Don't show loader if the plugin isn't online + if (this.$scope.plugin.isOnline) { + this.$scope.isLoading = true; + } + this.$scope.queryParams = { userId: this.$scope.user.userId, userRole: this.$scope.user.role, diff --git a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view.html b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view.html index d70717a3ed..6c34749a28 100644 --- a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view.html +++ b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view.html @@ -1,4 +1,5 @@ <loader display="isLoading"></loader> <div class="workspace-plugins"> - <plugin-frame (on-loading-done)="onLoadingDone(plugin)" [plugin]="plugin" [query-params]="queryParams"></plugin-frame> + <plugin-frame data-ng-if="plugin.isOnline" (on-loading-done)="onLoadingDone(plugin)" [plugin]="plugin" [query-params]="queryParams"></plugin-frame> + <div class="offline-plugin-message" data-ng-if="!plugin.isOnline">The plugin {{plugin.pluginId}} is offline. Please try again later</div> </div> diff --git a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context.less b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context.less new file mode 100644 index 0000000000..dd0b751423 --- /dev/null +++ b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context.less @@ -0,0 +1,8 @@ +.workspace-plugins { + + text-align: center; + + .offline-plugin-message { + display: inline-block; + } +} diff --git a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-tab.less b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-tab.less deleted file mode 100644 index 7798e36af8..0000000000 --- a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-tab.less +++ /dev/null @@ -1,3 +0,0 @@ -.workspace-plugins { - -} |