[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