[arvados-workbench2] updated: 2.5.0-29-gb676312f
git repository hosting
git at public.arvados.org
Fri Feb 10 17:02:22 UTC 2023
Summary of changes:
src/common/config.ts | 24 +++++
src/index.css | 22 ++++
src/store/banner/banner-action.ts | 29 ++++++
src/store/banner/banner-reducer.ts | 26 +++++
src/store/store.ts | 2 +
src/views-components/baner/banner.test.tsx | 63 ++++++++++++
src/views-components/baner/banner.tsx | 111 +++++++++++++++++++++
.../main-app-bar/notifications-menu.tsx | 70 ++++++++++---
src/views/workbench/workbench.test.tsx | 2 +
src/views/workbench/workbench.tsx | 2 +
10 files changed, 335 insertions(+), 16 deletions(-)
create mode 100644 src/store/banner/banner-action.ts
create mode 100644 src/store/banner/banner-reducer.ts
create mode 100644 src/views-components/baner/banner.test.tsx
create mode 100644 src/views-components/baner/banner.tsx
via b676312f840c3f12855a4392afe90b275dd25b97 (commit)
via 2cec626e679d593d5b208a0807b391ab978e0e9d (commit)
via 297ccba9513f02ebfa6e13ab8831eb0b195b6dc3 (commit)
via d3cf4aea6553f1065fc9d2312e246604653cabd8 (commit)
via 9fdaa5832115269584ff98a5b245e96b5a649d54 (commit)
from 7f857c19e38816c3323ff930d13f9f981624ed8b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit b676312f840c3f12855a4392afe90b275dd25b97
Merge: 7f857c19 2cec626e
Author: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
Date: Fri Feb 10 18:00:18 2023 +0100
Merge branch '18368-notification-banner' into main
closes #18368
Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
diff --cc src/common/config.ts
index 93197367,ff44e2ef..a6eabdad
--- a/src/common/config.ts
+++ b/src/common/config.ts
@@@ -28,82 -26,83 +28,94 @@@ export interface ClusterConfigJSON
Scheme: string
}
};
- Mail?: {
- SupportEmailAddress: string;
+ Mail?: {
+ SupportEmailAddress: string;
+ };
+ Services: {
+ Controller: {
+ ExternalURL: string;
};
- Services: {
- Controller: {
- ExternalURL: string
- }
- Workbench1: {
- ExternalURL: string
- }
- Workbench2: {
- ExternalURL: string
- }
- Websocket: {
- ExternalURL: string
- }
- WebDAV: {
- ExternalURL: string
- },
- WebDAVDownload: {
- ExternalURL: string
- },
- WebShell: {
- ExternalURL: string
- }
+ Workbench1: {
+ ExternalURL: string;
+ };
+ Workbench2: {
+ ExternalURL: string;
};
+ Workbench: {
+ DisableSharingURLsUI: boolean;
+ ArvadosDocsite: string;
+ FileViewersConfigURL: string;
+ WelcomePageHTML: string;
+ InactivePageHTML: string;
+ SSHHelpPageHTML: string;
+ SSHHelpHostSuffix: string;
+ SiteName: string;
+ IdleTimeout: string;
- BannerUUID: string;
+ };
- Login: {
- LoginCluster: string;
- Google: {
- Enable: boolean;
- }
- LDAP: {
- Enable: boolean;
- }
- OpenIDConnect: {
- Enable: boolean;
- }
- PAM: {
- Enable: boolean;
- }
- SSO: {
- Enable: boolean;
- }
- Test: {
- Enable: boolean;
- }
+ Websocket: {
+ ExternalURL: string;
};
- Collections: {
- ForwardSlashNameSubstitution: string;
- ManagedProperties?: {
- [key: string]: {
- Function: string,
- Value: string,
- Protected?: boolean,
- }
- },
- TrustAllContent: boolean
+ WebDAV: {
+ ExternalURL: string;
};
- Volumes: {
- [key: string]: {
- StorageClasses: {
- [key: string]: boolean;
- }
- }
+ WebDAVDownload: {
+ ExternalURL: string;
+ };
+ WebShell: {
+ ExternalURL: string;
+ };
+ };
+ Workbench: {
+ DisableSharingURLsUI: boolean;
+ ArvadosDocsite: string;
+ FileViewersConfigURL: string;
+ WelcomePageHTML: string;
+ InactivePageHTML: string;
+ SSHHelpPageHTML: string;
+ SSHHelpHostSuffix: string;
+ SiteName: string;
+ IdleTimeout: string;
++ BannerUUID: string;
+ };
+ Login: {
+ LoginCluster: string;
+ Google: {
+ Enable: boolean;
+ };
+ LDAP: {
+ Enable: boolean;
+ };
+ OpenIDConnect: {
+ Enable: boolean;
+ };
+ PAM: {
+ Enable: boolean;
+ };
+ SSO: {
+ Enable: boolean;
+ };
+ Test: {
+ Enable: boolean;
};
+ };
+ Collections: {
+ ForwardSlashNameSubstitution: string;
+ ManagedProperties?: {
+ [key: string]: {
+ Function: string;
+ Value: string;
+ Protected?: boolean;
+ };
+ };
+ TrustAllContent: boolean;
+ };
+ Volumes: {
+ [key: string]: {
+ StorageClasses: {
+ [key: string]: boolean;
+ };
+ };
+ };
}
export class Config {
@@@ -240,73 -219,66 +252,85 @@@ remove the entire ${varName} entry fro
};
// Maps remote cluster hosts and removes the default RemoteCluster entry
-export const mapRemoteHosts = (clusterConfigJSON: ClusterConfigJSON, config: Config) => {
- config.remoteHosts = {};
- Object.keys(clusterConfigJSON.RemoteClusters).forEach(k => { config.remoteHosts[k] = clusterConfigJSON.RemoteClusters[k].Host; });
- delete config.remoteHosts["*"];
+export const mapRemoteHosts = (
+ clusterConfigJSON: ClusterConfigJSON,
+ config: Config
+) => {
+ config.remoteHosts = {};
+ Object.keys(clusterConfigJSON.RemoteClusters).forEach((k) => {
+ config.remoteHosts[k] = clusterConfigJSON.RemoteClusters[k].Host;
+ });
+ delete config.remoteHosts['*'];
};
-export const mockClusterConfigJSON = (config: Partial<ClusterConfigJSON>): ClusterConfigJSON => ({
- API: {
- UnfreezeProjectRequiresAdmin: false,
- },
- ClusterID: "",
- RemoteClusters: {},
- Services: {
- Controller: { ExternalURL: "" },
- Workbench1: { ExternalURL: "" },
- Workbench2: { ExternalURL: "" },
- Websocket: { ExternalURL: "" },
- WebDAV: { ExternalURL: "" },
- WebDAVDownload: { ExternalURL: "" },
- WebShell: { ExternalURL: "" },
- },
+export const mockClusterConfigJSON = (
+ config: Partial<ClusterConfigJSON>
+): ClusterConfigJSON => ({
+ API: {
+ UnfreezeProjectRequiresAdmin: false,
+ MaxItemsPerResponse: 1000,
+ },
+ ClusterID: '',
+ RemoteClusters: {},
+ Services: {
+ Controller: { ExternalURL: '' },
+ Workbench1: { ExternalURL: '' },
+ Workbench2: { ExternalURL: '' },
+ Websocket: { ExternalURL: '' },
+ WebDAV: { ExternalURL: '' },
+ WebDAVDownload: { ExternalURL: '' },
+ WebShell: { ExternalURL: '' },
+ Workbench: {
+ DisableSharingURLsUI: false,
+ ArvadosDocsite: "",
+ FileViewersConfigURL: "",
+ WelcomePageHTML: "",
+ InactivePageHTML: "",
+ SSHHelpPageHTML: "",
+ SSHHelpHostSuffix: "",
+ SiteName: "",
- IdleTimeout: "0s",
- BannerUUID: "",
++ IdleTimeout: "0s"
++ }
+ },
+ Workbench: {
+ DisableSharingURLsUI: false,
+ ArvadosDocsite: '',
+ FileViewersConfigURL: '',
+ WelcomePageHTML: '',
+ InactivePageHTML: '',
+ SSHHelpPageHTML: '',
+ SSHHelpHostSuffix: '',
+ SiteName: '',
+ IdleTimeout: '0s',
++ BannerUUID: ""
+ },
+ Login: {
+ LoginCluster: '',
+ Google: {
+ Enable: false,
+ },
+ LDAP: {
+ Enable: false,
},
- Login: {
- LoginCluster: "",
- Google: {
- Enable: false,
- },
- LDAP: {
- Enable: false,
- },
- OpenIDConnect: {
- Enable: false,
- },
- PAM: {
- Enable: false,
- },
- SSO: {
- Enable: false,
- },
- Test: {
- Enable: false,
- },
+ OpenIDConnect: {
+ Enable: false,
},
- Collections: {
- ForwardSlashNameSubstitution: "",
- TrustAllContent: false,
+ PAM: {
+ Enable: false,
},
- Volumes: {},
- ...config
+ SSO: {
+ Enable: false,
+ },
+ Test: {
+ Enable: false,
+ },
+ },
+ Collections: {
+ ForwardSlashNameSubstitution: '',
+ TrustAllContent: false,
+ },
+ Volumes: {},
+ ...config,
});
export const mockConfig = (config: Partial<Config>): Config => ({
diff --cc src/store/store.ts
index 2057939e,899eb1cb..4ef5e3d0
--- a/src/store/store.ts
+++ b/src/store/store.ts
@@@ -74,7 -73,7 +74,8 @@@ import { ALL_PROCESSES_PANEL_ID } from
import { Config } from 'common/config';
import { pluginConfig } from 'plugins';
import { MiddlewareListReducer } from 'common/plugintypes';
+import { sidePanelReducer } from './side-panel/side-panel-reducer'
+ import { bannerReducer } from './banner/banner-reducer';
declare global {
interface Window {
diff --cc src/views/workbench/workbench.tsx
index 87f004b3,b6ce07ae..7103efd1
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -99,7 -99,7 +99,8 @@@ import { RestoreCollectionVersionDialo
import { WebDavS3InfoDialog } from 'views-components/webdav-s3-dialog/webdav-s3-dialog';
import { pluginConfig } from 'plugins';
import { ElementListReducer } from 'common/plugintypes';
+import { COLLAPSE_ICON_SIZE } from 'views-components/side-panel-toggle/side-panel-toggle'
+ import { Banner } from 'views-components/baner/banner';
type CssRules = 'root' | 'container' | 'splitter' | 'asidePanel' | 'contentWrapper' | 'content';
@@@ -293,6 -271,7 +294,7 @@@ export const WorkbenchPanel
<VirtualMachineAttributesDialog />
<FedLogin />
<WebDavS3InfoDialog />
+ <Banner />
{React.createElement(React.Fragment, null, pluginConfig.dialogs)}
- </Grid>
+ </Grid>}
);
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list