diff --git a/pkg/new-ui/v1beta1/frontend/COMMIT b/pkg/new-ui/v1beta1/frontend/COMMIT
index 36d9df523bf..045159cc561 100644
--- a/pkg/new-ui/v1beta1/frontend/COMMIT
+++ b/pkg/new-ui/v1beta1/frontend/COMMIT
@@ -1 +1 @@
-c4ca7a9
\ No newline at end of file
+1cca7b81
\ No newline at end of file
diff --git a/pkg/new-ui/v1beta1/frontend/angular.json b/pkg/new-ui/v1beta1/frontend/angular.json
index 92c738ab300..21e0efd4e8e 100644
--- a/pkg/new-ui/v1beta1/frontend/angular.json
+++ b/pkg/new-ui/v1beta1/frontend/angular.json
@@ -23,13 +23,17 @@
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
- "assets": ["src/favicon.ico", "src/assets"],
- "styles": ["src/styles.scss", "src/assets/css/d3.parcoords.css"],
- "scripts": [
- "node_modules/ace-builds/src-min/ace.js",
- "node_modules/ace-builds/src-min/mode-yaml.js",
- "node_modules/ace-builds/src-min/theme-xcode.js"
+ "assets": [
+ "src/favicon.ico",
+ "src/assets",
+ {
+ "glob": "**/*",
+ "input": "node_modules/monaco-editor",
+ "output": "assets/monaco-editor"
+ }
],
+ "styles": ["src/styles.scss", "src/assets/css/d3.parcoords.css"],
+ "scripts": [],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
diff --git a/pkg/new-ui/v1beta1/frontend/karma.conf.js b/pkg/new-ui/v1beta1/frontend/karma.conf.js
index d26663c10d4..2e0afde0181 100644
--- a/pkg/new-ui/v1beta1/frontend/karma.conf.js
+++ b/pkg/new-ui/v1beta1/frontend/karma.conf.js
@@ -12,6 +12,17 @@ module.exports = function (config) {
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
+ files: [
+ {
+ pattern: 'node_modules/monaco-editor/**',
+ watched: false,
+ included: false,
+ served: true,
+ },
+ ],
+ proxies: {
+ '/static/assets/monaco-editor/': '/base/node_modules/monaco-editor/',
+ },
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
diff --git a/pkg/new-ui/v1beta1/frontend/package-lock.json b/pkg/new-ui/v1beta1/frontend/package-lock.json
index 27466669f2f..be90ba8cf8a 100644
--- a/pkg/new-ui/v1beta1/frontend/package-lock.json
+++ b/pkg/new-ui/v1beta1/frontend/package-lock.json
@@ -2470,11 +2470,6 @@
"negotiator": "0.6.2"
}
},
- "ace-builds": {
- "version": "1.4.12",
- "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.12.tgz",
- "integrity": "sha512-G+chJctFPiiLGvs3+/Mly3apXTcfgE45dT5yp12BcWZ1kUs+gm0qd3/fv4gsz6fVag4mM0moHVpjHDIgph6Psg=="
- },
"acorn": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz",
@@ -2616,7 +2611,7 @@
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
"dev": true
},
"ansi-styles": {
@@ -3089,11 +3084,6 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
- "brace": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz",
- "integrity": "sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg="
- },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -7758,6 +7748,11 @@
"minimist": "^1.2.5"
}
},
+ "monaco-editor": {
+ "version": "0.33.0",
+ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.33.0.tgz",
+ "integrity": "sha512-VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw=="
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -7859,15 +7854,6 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
- "ng2-ace-editor": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/ng2-ace-editor/-/ng2-ace-editor-0.3.9.tgz",
- "integrity": "sha512-e8Q4YCirlL/OEiekewmzupG+zV3prYsiYmQnRzQzd0wNgsPjOLOdb0it7cCbzFfIXKGyIIHKTW5584WxPr2LnQ==",
- "requires": {
- "ace-builds": "^1.4.2",
- "brace": "^0.11.1"
- }
- },
"ngx-echarts": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/ngx-echarts/-/ngx-echarts-8.0.1.tgz",
diff --git a/pkg/new-ui/v1beta1/frontend/package.json b/pkg/new-ui/v1beta1/frontend/package.json
index 5c38e393b22..8e9081c4593 100644
--- a/pkg/new-ui/v1beta1/frontend/package.json
+++ b/pkg/new-ui/v1beta1/frontend/package.json
@@ -39,7 +39,7 @@
"js-yaml": "^4.0.0",
"lodash-es": "4.17.21",
"material-icons": "^0.7.7",
- "ng2-ace-editor": "^0.3.9",
+ "monaco-editor": "^0.33.0",
"ngx-echarts": "^8.0.1",
"ngx-json-viewer": "^2.4.0",
"rxjs": "~6.6.7",
diff --git a/pkg/new-ui/v1beta1/frontend/proxy.conf.json b/pkg/new-ui/v1beta1/frontend/proxy.conf.json
index 269fd1580a3..0abc995aabe 100644
--- a/pkg/new-ui/v1beta1/frontend/proxy.conf.json
+++ b/pkg/new-ui/v1beta1/frontend/proxy.conf.json
@@ -4,5 +4,10 @@
"secure": false,
"logLevel": "debug",
"changeOrigin": true
+ },
+ "/static": {
+ "target": "http://localhost:4200",
+ "pathRewrite": { "^/static": "" },
+ "secure": false
}
}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.html b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.html
index 0217a3ebfa4..06a90f6b1b6 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.html
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.html
@@ -68,13 +68,13 @@
-
+ [language]="'yaml'"
+ [readOnly]="false"
+ [width]="375"
+ [height]="300"
+ >
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.scss b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.scss
index e5c4a2c9962..e69de29bb2d 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.scss
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.scss
@@ -1,4 +0,0 @@
-.ace-editor {
- width: 375px;
- height: 300px;
-}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.spec.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.spec.ts
index d9a6117bf1f..45f22e3ce4d 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.spec.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.component.spec.ts
@@ -1,9 +1,8 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { FormControl, FormGroup } from '@angular/forms';
import { CommonModule } from '@angular/common';
-import { FormModule } from 'kubeflow';
+import { EditorModule, FormModule } from 'kubeflow';
import { ListKeyValueModule } from 'src/app/shared/list-key-value/list-key-value.module';
-import { AceEditorModule } from 'ng2-ace-editor';
import { FormMetricsCollectorComponent } from './metrics-collector.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@@ -20,7 +19,7 @@ describe('FormMetricsCollectorComponent', () => {
BrowserAnimationsModule,
FormModule,
ListKeyValueModule,
- AceEditorModule,
+ EditorModule,
],
declarations: [FormMetricsCollectorComponent],
}).compileComponents();
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.module.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.module.ts
index 75a0edf26f7..172e73a2cf5 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.module.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/metrics-collector/metrics-collector.module.ts
@@ -1,13 +1,12 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormMetricsCollectorComponent } from './metrics-collector.component';
-import { FormModule } from 'kubeflow';
+import { FormModule, EditorModule } from 'kubeflow';
import { ListKeyValueModule } from 'src/app/shared/list-key-value/list-key-value.module';
-import { AceEditorModule } from 'ng2-ace-editor';
@NgModule({
declarations: [FormMetricsCollectorComponent],
- imports: [CommonModule, FormModule, ListKeyValueModule, AceEditorModule],
+ imports: [CommonModule, FormModule, ListKeyValueModule, EditorModule],
exports: [FormMetricsCollectorComponent],
})
export class FormMetricsCollectorModule {}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.html b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.html
index 02e3ca1943b..1737b1e2dbf 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.html
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.html
@@ -84,14 +84,14 @@
-
+ [width]="375"
+ [height]="350"
+ >
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.scss b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.scss
index fe6dd14ffbb..8b7106efb76 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.scss
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.scss
@@ -5,7 +5,3 @@
.margin-top {
margin-top: 12px;
}
-
-[ace-editor] {
- height: 350px;
-}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.spec.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.spec.ts
index 9b0d5f263d7..c70fdfe5431 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.spec.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.component.spec.ts
@@ -5,9 +5,8 @@ import { KWABackendService } from 'src/app/services/backend.service';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatDividerModule } from '@angular/material/divider';
-import { FormModule, PopoverModule } from 'kubeflow';
+import { EditorModule, FormModule, PopoverModule } from 'kubeflow';
import { ListKeyValueModule } from 'src/app/shared/list-key-value/list-key-value.module';
-import { AceEditorModule } from 'ng2-ace-editor';
import { FormTrialTemplateComponent } from './trial-template.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@@ -25,8 +24,8 @@ describe('FormTrialTemplateComponent', () => {
FormModule,
ListKeyValueModule,
MatDividerModule,
- AceEditorModule,
PopoverModule,
+ EditorModule,
],
declarations: [FormTrialTemplateComponent],
providers: [
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.module.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.module.ts
index 2e57afff157..f1011d13ece 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.module.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/trial-template/trial-template.module.ts
@@ -3,9 +3,8 @@ import { CommonModule } from '@angular/common';
import { MatDividerModule } from '@angular/material/divider';
import { FormTrialTemplateComponent } from './trial-template.component';
-import { FormModule, PopoverModule } from 'kubeflow';
+import { FormModule, PopoverModule, EditorModule } from 'kubeflow';
import { ListKeyValueModule } from 'src/app/shared/list-key-value/list-key-value.module';
-import { AceEditorModule } from 'ng2-ace-editor';
import { TrialParameterComponent } from './trial-parameter/trial-parameter.component';
@NgModule({
@@ -15,8 +14,8 @@ import { TrialParameterComponent } from './trial-parameter/trial-parameter.compo
FormModule,
ListKeyValueModule,
MatDividerModule,
- AceEditorModule,
PopoverModule,
+ EditorModule,
],
exports: [FormTrialTemplateComponent],
})
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.html b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.html
index a7e2ab2e0f9..c38e6cf5424 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.html
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.html
@@ -1,7 +1,13 @@
Edit YAML
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.scss b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.scss
index 50034b9fb8a..e69de29bb2d 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.scss
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.scss
@@ -1,4 +0,0 @@
-[ace-editor] {
- height: 350px;
- width: 700px;
-}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.spec.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.spec.ts
index 92298fcb495..721e0f49073 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.spec.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.component.spec.ts
@@ -2,8 +2,7 @@ import { CommonModule } from '@angular/common';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatDialogModule } from '@angular/material/dialog';
-import { FormModule } from 'kubeflow';
-import { AceEditorModule } from 'ng2-ace-editor';
+import { EditorModule, FormModule } from 'kubeflow';
import { YamlModalComponent } from './yaml-modal.component';
@@ -14,7 +13,7 @@ describe('YamlModalComponent', () => {
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
- imports: [CommonModule, MatDialogModule, FormModule, AceEditorModule],
+ imports: [CommonModule, MatDialogModule, FormModule, EditorModule],
declarations: [YamlModalComponent],
providers: [
{ provide: MatDialogRef, useValue: {} },
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.module.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.module.ts
index 4a25ccb4ffd..20dee52e004 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.module.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-creation/yaml-modal/yaml-modal.module.ts
@@ -2,11 +2,10 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { YamlModalComponent } from './yaml-modal.component';
import { MatDialogModule } from '@angular/material/dialog';
-import { FormModule } from 'kubeflow';
-import { AceEditorModule } from 'ng2-ace-editor';
+import { FormModule, EditorModule } from 'kubeflow';
@NgModule({
declarations: [YamlModalComponent],
- imports: [CommonModule, MatDialogModule, FormModule, AceEditorModule],
+ imports: [CommonModule, MatDialogModule, FormModule, EditorModule],
})
export class YamlModalModule {}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/experiment-details.component.html b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/experiment-details.component.html
index 722ad0e1b93..c180312c45d 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/experiment-details.component.html
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/experiment-details.component.html
@@ -61,9 +61,11 @@
>
-
+
+
+
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.html b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.html
index e519c802a48..03e719bbd4a 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.html
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.html
@@ -1,8 +1,6 @@
-
+ [height]="500"
+>
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.scss b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.scss
index fd58b5f6d2c..b2ed3b0dddd 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.scss
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.scss
@@ -2,7 +2,3 @@
display: block;
overflow: auto;
}
-
-[ace-editor] {
- width: 100%;
-}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.spec.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.spec.ts
index aa6e3784b49..2ac7c9f0c08 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.spec.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.component.spec.ts
@@ -1,9 +1,9 @@
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { CommonModule } from '@angular/common';
-import { AceEditorModule } from 'ng2-ace-editor';
import { ExperimentYamlComponent } from './experiment-yaml.component';
+import { EditorModule } from 'kubeflow';
describe('ExperimentYamlComponent', () => {
let component: ExperimentYamlComponent;
@@ -12,7 +12,7 @@ describe('ExperimentYamlComponent', () => {
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
- imports: [CommonModule, BrowserAnimationsModule, AceEditorModule],
+ imports: [CommonModule, BrowserAnimationsModule, EditorModule],
declarations: [ExperimentYamlComponent],
}).compileComponents();
}),
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.module.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.module.ts
index 261af14377f..33699c52247 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.module.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiment-details/yaml/experiment-yaml.module.ts
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ExperimentYamlComponent } from './experiment-yaml.component';
-import { AceEditorModule } from 'ng2-ace-editor';
+import { EditorModule } from 'kubeflow';
@NgModule({
declarations: [ExperimentYamlComponent],
- imports: [CommonModule, AceEditorModule],
+ imports: [CommonModule, EditorModule],
exports: [ExperimentYamlComponent],
})
export class ExperimentYamlModule {}
diff --git a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiments/experiments.component.spec.ts b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiments/experiments.component.spec.ts
index c16cc531f59..edc707247ae 100644
--- a/pkg/new-ui/v1beta1/frontend/src/app/pages/experiments/experiments.component.spec.ts
+++ b/pkg/new-ui/v1beta1/frontend/src/app/pages/experiments/experiments.component.spec.ts
@@ -11,6 +11,7 @@ import {
KubeflowModule,
} from 'kubeflow';
import { KWABackendService } from 'src/app/services/backend.service';
+import { RouterTestingModule } from '@angular/router/testing';
let KWABackendServiceStub: Partial;
let NamespaceServiceStub: Partial;
@@ -22,6 +23,7 @@ KWABackendServiceStub = {
NamespaceServiceStub = {
getSelectedNamespace: () => of(),
+ getSelectedNamespace2: () => of(),
};
describe('ExperimentsComponent', () => {
@@ -36,6 +38,7 @@ describe('ExperimentsComponent', () => {
ReactiveFormsModule,
MatSnackBarModule,
KubeflowModule,
+ RouterTestingModule,
],
declarations: [ExperimentsComponent],
providers: [