HideNavBarItemLabelsAction.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * Licensed Materials - Property of IBM
  3. * IBM Cognos Products: BI
  4. * (C) Copyright IBM Corp. 2019, 2020
  5. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  6. */
  7. export default class HideNavBarItemLabelsAction {
  8. public canExecute(context: any): boolean {
  9. if (context.glassContext.appController.currentAppView) {
  10. const homeFlag = context.glassContext.appController.currentAppView.hasHomeFlag();
  11. const navBar = this.getNavBar();
  12. return navBar !== null && !homeFlag;
  13. }
  14. return false;
  15. }
  16. public doAction(): void {
  17. const navBar = this.getNavBar();
  18. if (navBar !== null) {
  19. navBar.classList.add("narrow");
  20. }
  21. }
  22. private getNavBar = (): HTMLElement => {
  23. const navBar = document
  24. .querySelector(".appview.paneColumn:not(.hidden)")
  25. .getElementsByClassName("navbar");
  26. return navBar && navBar.length > 0 ? (navBar[0] as HTMLElement) : null;
  27. };
  28. }