diff --git a/.github/workflows/docker_img.yml b/.github/workflows/docker_img.yml index 176821e86ca0e7be8250b8490dc6a6dd494bf6b9..3470644fb386722065358045c226d8989a208b34 100644 --- a/.github/workflows/docker_img.yml +++ b/.github/workflows/docker_img.yml @@ -43,7 +43,7 @@ jobs: echo "BS_REST_URL=${{ env.SIIBRA_API_LATEST }}" >> $GITHUB_ENV fi - - name: 'Set version variable' + - name: 'Set version variable & expmt feature flag' run: | if [[ "$GITHUB_REF" == 'refs/heads/master' ]] || [[ "$GITHUB_REF" == 'refs/heads/staging' ]] then @@ -52,6 +52,7 @@ jobs: else echo "Using git hash" VERSION=$(git rev-parse --short HEAD) + echo "EXPERIMENTAL_FEATURE_FLAG=true" >> $GITHUB_ENV fi echo "VERSION=$VERSION" >> $GITHUB_ENV - name: 'Build docker image' @@ -63,6 +64,7 @@ jobs: --build-arg MATOMO_URL=$MATOMO_URL \ --build-arg MATOMO_ID=$MATOMO_ID \ --build-arg BS_REST_URL=$BS_REST_URL \ + --build-arg EXPERIMENTAL_FEATURE_FLAG=$EXPERIMENTAL_FEATURE_FLAG \ -t $DOCKER_BUILT_TAG \ . echo "Successfully built $DOCKER_BUILT_TAG" diff --git a/Dockerfile b/Dockerfile index 2754e365f581600c4d7f2432e125b71c216150f7..23dea08fc6aa3b0cbc1e837707d7d6765b761e62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,9 @@ ENV MATOMO_URL=${MATOMO_URL} ARG MATOMO_ID ENV MATOMO_ID=${MATOMO_ID} +ARG EXPERIMENTAL_FEATURE_FLAG +ENV EXPERIMENTAL_FEATURE_FLAG=${EXPERIMENTAL_FEATURE_FLAG:-false} + COPY . /iv WORKDIR /iv diff --git a/src/environments/environment.common.ts b/src/environments/environment.common.ts index 5bf60d5906fe324de2ece7d04c17db1f15e559a2..52bdf0c70442a366f643e161bca3502346b756c4 100644 --- a/src/environments/environment.common.ts +++ b/src/environments/environment.common.ts @@ -14,4 +14,7 @@ export const environment = { // invite user to touch/interact after 5 min of inactivity KIOSK_MODE: false, + + // experimental feature flag + EXPERIMENTAL_FEATURE_FLAG: false, } diff --git a/src/environments/parseEnv.js b/src/environments/parseEnv.js index 293c50cbcc171ae98ef3c186fa7437d4b58b98c5..2b3052d932dd2be8ca0f738ec2f4e26c91ef1801 100644 --- a/src/environments/parseEnv.js +++ b/src/environments/parseEnv.js @@ -13,7 +13,8 @@ const main = async () => { MATOMO_ID, BS_REST_URL, VERSION, - GIT_HASH + GIT_HASH, + EXPERIMENTAL_FEATURE_FLAG } = process.env const version = JSON.stringify( VERSION || GIT_HASH || 'unspecificied hash' @@ -30,6 +31,7 @@ export const environment = { STRICT_LOCAL: ${JSON.stringify(STRICT_LOCAL)}, MATOMO_URL: ${JSON.stringify(MATOMO_URL)}, MATOMO_ID: ${JSON.stringify(MATOMO_ID)}, + EXPERIMENTAL_FEATURE_FLAG: ${EXPERIMENTAL_FEATURE_FLAG} } ` await asyncWrite(pathToEnvFile, outputTxt, 'utf-8') diff --git a/src/ui/topMenu/topMenuCmp/topMenu.components.ts b/src/ui/topMenu/topMenuCmp/topMenu.components.ts index 716a66662e49dbd00a17c97f1284aac92a6e616e..3b4ecb5f4aa8bd0446c5bcf11a5eee79b27c582b 100644 --- a/src/ui/topMenu/topMenuCmp/topMenu.components.ts +++ b/src/ui/topMenu/topMenuCmp/topMenu.components.ts @@ -11,6 +11,7 @@ import { MatDialog, MatDialogConfig, MatDialogRef } from "@angular/material/dial import { MatBottomSheet } from "@angular/material/bottom-sheet"; import { CONST, QUICKTOUR_DESC } from 'common/constants' import { IQuickTourData } from "src/ui/quickTour/constrants"; +import { environment } from 'src/environments/environment' @Component({ selector: 'top-menu-cmp', @@ -23,6 +24,8 @@ import { IQuickTourData } from "src/ui/quickTour/constrants"; export class TopMenuCmp { + public EXPERIMENTAL_FEATURE_FLAG = environment.EXPERIMENTAL_FEATURE_FLAG + public PINNED_DATASETS_BADGE_DESC = CONST.PINNED_DATASETS_BADGE_DESC public matBtnStyle = 'mat-icon-button' diff --git a/src/ui/topMenu/topMenuCmp/topMenu.template.html b/src/ui/topMenu/topMenuCmp/topMenu.template.html index c090670d792dccab9a0754e79e1d1197ef0a1ddc..dc889adc9b46ee6ddd826bd4c76452d55beb743f 100644 --- a/src/ui/topMenu/topMenuCmp/topMenu.template.html +++ b/src/ui/topMenu/topMenuCmp/topMenu.template.html @@ -165,6 +165,7 @@ </button> <button mat-menu-item + *ngIf="EXPERIMENTAL_FEATURE_FLAG" [disabled]="!viewerLoaded" key-frame-play-now [matTooltip]="keyFrameText">