From 4e8d7f3ff6cb55bd495e3c752018bba6ee792087 Mon Sep 17 00:00:00 2001 From: Lina Date: Mon, 25 Jul 2022 14:58:51 +0200 Subject: [PATCH 01/29] Kern dropdowns refactor --- src/app/base/base.module.ts | 10 +- .../dropdown-iterative.component.html | 26 ++ .../dropdown-iterative.component.scss | 3 + .../dropdown-iterative.component.spec.ts | 25 ++ .../dropdown-iterative.component.ts | 43 +++ .../dropdown/dropdown.component.html | 285 ++++++++++++++++++ .../dropdown/dropdown.component.scss | 7 + .../dropdown/dropdown.component.spec.ts | 25 ++ .../components/dropdown/dropdown.component.ts | 181 +++++++++++ .../components/header/header.component.html | 33 +- .../components/header/header.component.ts | 42 +-- .../components/knowledge-bases.component.html | 100 ++---- .../components/knowledge-bases.component.ts | 16 +- .../knowledge-base-details.component.html | 149 +-------- .../knowledge-base-details.component.ts | 12 - .../project-add/project-add.component.ts | 17 -- .../projects/projects.component.html | 107 +------ .../projects/projects.component.scss | 4 - .../components/projects/projects.component.ts | 26 +- .../weak-source-details.component.html | 42 +-- .../weak-source-details.component.ts | 12 - .../weak-supervision.component.html | 144 ++------- .../weak-supervision.component.ts | 15 +- .../zero-shot-details.component.html | 156 +++------- .../component/zero-shot-details.component.ts | 13 - 25 files changed, 733 insertions(+), 760 deletions(-) create mode 100644 src/app/base/components/dropdown-iterative/dropdown-iterative.component.html create mode 100644 src/app/base/components/dropdown-iterative/dropdown-iterative.component.scss create mode 100644 src/app/base/components/dropdown-iterative/dropdown-iterative.component.spec.ts create mode 100644 src/app/base/components/dropdown-iterative/dropdown-iterative.component.ts create mode 100644 src/app/base/components/dropdown/dropdown.component.html create mode 100644 src/app/base/components/dropdown/dropdown.component.scss create mode 100644 src/app/base/components/dropdown/dropdown.component.spec.ts create mode 100644 src/app/base/components/dropdown/dropdown.component.ts diff --git a/src/app/base/base.module.ts b/src/app/base/base.module.ts index 93732659..3576a1b0 100644 --- a/src/app/base/base.module.ts +++ b/src/app/base/base.module.ts @@ -16,6 +16,8 @@ import { SidebarPmComponent } from './components/sidebar-pm/sidebar-pm.component import { DropdownDirective } from './directives/dropdown.directive'; import { PercentRoundPipe } from './pipes/decimal-round.pipe'; import { HeaderComponent } from './components/header/header.component'; +import { DropdownComponent } from './components/dropdown/dropdown.component'; +import { DropdownIterativeComponent } from './components/dropdown-iterative/dropdown-iterative.component'; @NgModule({ declarations: [ @@ -26,7 +28,9 @@ import { HeaderComponent } from './components/header/header.component'; HoverGroupDirective, DropdownDirective, PercentRoundPipe, - HeaderComponent + HeaderComponent, + DropdownComponent, + DropdownIterativeComponent ], imports: [CommonModule, AppRoutingModule, HighlightModule], exports: [ @@ -47,7 +51,9 @@ import { HeaderComponent } from './components/header/header.component'; NgxHighlightWordsModule, DropdownDirective, PercentRoundPipe, - HeaderComponent + HeaderComponent, + DropdownComponent, + DropdownIterativeComponent ], providers: [ { diff --git a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html new file mode 100644 index 00000000..fd2797df --- /dev/null +++ b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html @@ -0,0 +1,26 @@ + + diff --git a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.scss b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.scss new file mode 100644 index 00000000..b616bdc1 --- /dev/null +++ b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.scss @@ -0,0 +1,3 @@ +.tooltip::before { + z-index: 50; +} diff --git a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.spec.ts b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.spec.ts new file mode 100644 index 00000000..3fdf446a --- /dev/null +++ b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DropdownIterativeComponent } from './dropdown-iterative.component'; + +describe('DropdownIterativeComponent', () => { + let component: DropdownIterativeComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ DropdownIterativeComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DropdownIterativeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.ts b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.ts new file mode 100644 index 00000000..7afd058f --- /dev/null +++ b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.ts @@ -0,0 +1,43 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; + +@Component({ + selector: 'kern-dropdown-iterative', + templateUrl: './dropdown-iterative.component.html', + styleUrls: ['./dropdown-iterative.component.scss'] +}) +export class DropdownIterativeComponent implements OnInit { + + @Input() arrayOptions = []; + @Input() condition; + @Input() valueIfConditionTrue; + @Input() valueIfConditionFalse; + @Input() buttonTooltip: string; + @Input() labelingTasks; + @Input() property: string; + @Input() optionProperty: string; + @Input() disabledCondition: boolean; + + @Output() optionClicked = new EventEmitter(); + + constructor() { } + + ngOnInit(): void { + } + + toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { + if (isVisible) { + menuButton.classList.remove('hidden'); + menuButton.classList.add('block'); + menuButton.classList.add('z-10'); + } else { + menuButton.classList.remove('z-10'); + menuButton.classList.remove('block'); + menuButton.classList.add('hidden'); + } + } + + performActionOnOption(property: string) { + this.optionClicked.emit(property); + } + +} diff --git a/src/app/base/components/dropdown/dropdown.component.html b/src/app/base/components/dropdown/dropdown.component.html new file mode 100644 index 00000000..53f67cd4 --- /dev/null +++ b/src/app/base/components/dropdown/dropdown.component.html @@ -0,0 +1,285 @@ +
+ + + +
+ +
+
+
+ + + + + + + + + + + + + +
+
+ + + + + + + + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

{{optionName}}

+
+

{{description}}

+
+
\ No newline at end of file diff --git a/src/app/base/components/dropdown/dropdown.component.scss b/src/app/base/components/dropdown/dropdown.component.scss new file mode 100644 index 00000000..4ca53d2b --- /dev/null +++ b/src/app/base/components/dropdown/dropdown.component.scss @@ -0,0 +1,7 @@ +.border-dots { + border-bottom: 1px dashed rgb(209 213 219); +} + +.border-gray { + border-bottom: 1px solid #e4e4e7; +} \ No newline at end of file diff --git a/src/app/base/components/dropdown/dropdown.component.spec.ts b/src/app/base/components/dropdown/dropdown.component.spec.ts new file mode 100644 index 00000000..8fde5e0c --- /dev/null +++ b/src/app/base/components/dropdown/dropdown.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DropdownComponent } from './dropdown.component'; + +describe('DropdownComponent', () => { + let component: DropdownComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ DropdownComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DropdownComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/base/components/dropdown/dropdown.component.ts b/src/app/base/components/dropdown/dropdown.component.ts new file mode 100644 index 00000000..fefe11a2 --- /dev/null +++ b/src/app/base/components/dropdown/dropdown.component.ts @@ -0,0 +1,181 @@ +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { Router } from '@angular/router'; +import { Subscription } from 'rxjs'; +import { first } from 'rxjs/operators'; +import { InformationSourceType } from '../../enum/graphql-enums'; +import { AuthApiService } from '../../services/auth-api.service'; +import { ProjectApolloService } from '../../services/project/project-apollo.service'; +import { Project } from 'src/app/base/entities/project'; + +@Component({ + selector: 'kern-dropdown', + templateUrl: './dropdown.component.html', + styleUrls: ['./dropdown.component.scss'] +}) +export class DropdownComponent implements OnInit, OnDestroy { + + @Input() element: string; + @Input() avatarUri: string; + @Input() showConfigSettings: boolean; + @Input() buttonName: string; + @Input() buttonTooltip: string; + @Input() selectedItems: any[] = []; + @Input() isHeuristics: boolean; + @Input() isButtonWhite = true; + + @Output() setAllItems = new EventEmitter(); + @Output() runSelectedItems = new EventEmitter(); + @Output() sendSelectedItems = new EventEmitter(); + @Output() editTerm = new EventEmitter(); + @Output() removeTerm = new EventEmitter(); + @Output() blackListTerm = new EventEmitter(); + + optionSettings = { + action: () => window.open('/auth/settings', '_blank'), + optionName: 'Account settings' + }; + optionConf = { + action: () => this.router.navigate(['config']), + optionName: 'Change config' + }; + optionLogout = { + action: () => this.logout(), + optionName: 'Logout' + }; + optionSelectAll = { + action: () => this.setAllItems.emit(true), + optionName: 'Select all', + hasIcon: true, + iconName: 'select-all' + }; + optionDeselectAll = { + action: () => this.setAllItems.emit(false), + optionName: 'Deselect all', + hasIcon: true, + iconName: 'deselect-all' + }; + optionRunSelected = { + action: () => this.runSelectedItems.emit(true), + optionName: 'Run selected', + hasIcon: true, + iconName: 'run' + }; + optionEditTerm = { + action:() => this.editTerm.emit(true), + optionName: 'Edit term', + hasIcon: true, + iconName: 'edit-term' + }; + optionRemoveTerm = { + action:() => this.removeTerm.emit(true), + optionName: 'Remove term', + hasIcon: true, + iconName: 'remove-term' + }; + optionWhiteListTerm = { + action:() => this.blackListTerm.emit(true), + optionName: 'Whitelist term', + hasIcon: true, + iconName: 'whitelist-term' + }; + optionBlackListTerm = { + action:() => this.blackListTerm.emit(true), + optionName: 'Blacklist term', + hasIcon: true, + iconName: 'blacklist-term' + }; + optionLabelingFunction = { + optionName: 'Labeling function', + forLabel: 'heuristics-' + InformationSourceType.LABELING_FUNCTION, + hasIcon: true, + iconName: 'labeling-function' + }; + optionActiveLearning = { + optionName: 'Active learning', + forLabel: 'heuristics-'+InformationSourceType.ACTIVE_LEARNING, + hasIcon: true, + iconName: 'active-learning' + }; + optionZeroShot = { + optionName: 'Zero-shot', + forLabel: 'zero-shot-modal', + hasIcon: true, + iconName: 'zero-shot' + }; + optionClickbait = { + optionName: 'Clickbait', + hasIcon: true, + iconName: 'clickbait', + description: 'Binary classification for detecting nudging articles.' + }; + optionClickbaitInitial = { + optionName: 'Clickbait - initial', + description: 'Initial (only contains the initial data set and labels.)' + }; + optionConversationalAi = { + optionName: 'Conversational AI', + hasIcon: true, + iconName: 'conversational-ai', + description: 'Detecting intent within conversational lines.' + }; + optionConversationalAiInitial = { + optionName: 'Conversational AI - initial', + description: 'Initial (only contains the initial data set and labels.)' + }; + optionAgNews = { + optionName: 'AG News', + hasIcon: true, + iconName: 'ag-news', + description: 'Modelling topics of headline news.' + }; + optionAgNewsInitial = { + optionName: 'AG News - initial', + description: 'Initial (only contains the initial data set and labels.)' + }; + + subscriptions$: Subscription[] = []; + + constructor( + private auth: AuthApiService, + private router: Router, + private projectApolloService: ProjectApolloService) { } + + ngOnInit(): void { + } + + ngOnDestroy(): void { + this.subscriptions$.forEach((subscription) => subscription.unsubscribe()); + } + + toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { + if (isVisible) { + menuButton.classList.remove('hidden'); + menuButton.classList.add('block'); + menuButton.classList.add('z-10'); + } else { + menuButton.classList.remove('z-10'); + menuButton.classList.remove('block'); + menuButton.classList.add('hidden'); + } + } + + logout() { + this.subscriptions$.push( + this.auth.getLogoutOut().subscribe((response) => { + window.location.href = response['logout_url']; + }) + ); + } + + prepareSelectionList() { + this.sendSelectedItems.emit(this.selectedItems); + } + + importSampleProject(projectName) { + this.projectApolloService.createSampleProject(projectName).pipe(first()).subscribe((p: Project) => { + if (this.router.url == "/projects") { + this.router.navigate(['projects', p.id, 'overview']); + } + }); + } +} diff --git a/src/app/base/components/header/header.component.html b/src/app/base/components/header/header.component.html index cca0133f..5dc7b117 100644 --- a/src/app/base/components/header/header.component.html +++ b/src/app/base/components/header/header.component.html @@ -59,34 +59,11 @@
-
diff --git a/src/app/base/components/header/header.component.ts b/src/app/base/components/header/header.component.ts index b55a4f05..2e2d475c 100644 --- a/src/app/base/components/header/header.component.ts +++ b/src/app/base/components/header/header.component.ts @@ -1,8 +1,6 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; -import { Router } from '@angular/router'; +import { Component, Input, OnInit } from '@angular/core'; import { Project } from 'aws-sdk/clients/codebuild'; -import { Subscription, timer } from 'rxjs'; -import { AuthApiService } from '../../services/auth-api.service'; +import { timer } from 'rxjs'; import { ConfigManager } from '../../services/config-service'; @Component({ @@ -10,7 +8,7 @@ import { ConfigManager } from '../../services/config-service'; templateUrl: './header.component.html', styleUrls: ['./header.component.scss'] }) -export class HeaderComponent implements OnInit, OnDestroy { +export class HeaderComponent implements OnInit { @Input() organizationName: string; @Input() user: any; @@ -18,12 +16,10 @@ export class HeaderComponent implements OnInit, OnDestroy { @Input() page: string; @Input() project: Project; @Input() avatarUri: string; - subscriptions$: Subscription[] = []; showConfigSettings: boolean = false; - constructor(private auth: AuthApiService, - private router: Router) { } + constructor() { } ngOnInit(): void { this.setShowConfig(); @@ -36,34 +32,4 @@ export class HeaderComponent implements OnInit, OnDestroy { this.showConfigSettings = !ConfigManager.getIsManaged() } - ngOnDestroy(): void { - this.subscriptions$.forEach((subscription) => subscription.unsubscribe()); - } - - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } - - logout() { - this.subscriptions$.push( - this.auth.getLogoutOut().subscribe((response) => { - window.location.href = response['logout_url']; - }) - ); - } - - settings() { - window.open('/auth/settings', '_blank'); - } - changeConfig() { - this.router.navigate(['config']) - } } diff --git a/src/app/knowledge-bases/components/knowledge-bases.component.html b/src/app/knowledge-bases/components/knowledge-bases.component.html index a9aecb67..6867c8d0 100644 --- a/src/app/knowledge-bases/components/knowledge-bases.component.html +++ b/src/app/knowledge-bases/components/knowledge-bases.component.html @@ -16,83 +16,35 @@
- - + - @@ -323,41 +233,10 @@ class="relative rounded-lg border border-gray-300 bg-white px-4 py-3 shadow-sm items-center text-sm hover:border-gray-400 focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-indigo-500">
{{term.value}}
- - - - +
{{term.comment}}
diff --git a/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts b/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts index 0d1de4a2..5c9b7fc7 100644 --- a/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts +++ b/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts @@ -242,18 +242,6 @@ export class KnowledgeBaseDetailsComponent implements OnInit, AfterViewInit, OnD } } - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } - deleteKnowledgeBase(project_id, knowledge_base_id) { this.knowledgeBaseApolloService .deleteKnowledgeBase(project_id, knowledge_base_id) diff --git a/src/app/projects/components/project-add/project-add.component.ts b/src/app/projects/components/project-add/project-add.component.ts index d4568874..5c367724 100644 --- a/src/app/projects/components/project-add/project-add.component.ts +++ b/src/app/projects/components/project-add/project-add.component.ts @@ -67,23 +67,6 @@ export class ProjectAddComponent implements OnInit { } - - getFirstName(userName) { - this.user$ = userName; - } - - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } - ngOnDestroy(): void { this.subscriptions$.forEach(subscription => subscription.unsubscribe()); } diff --git a/src/app/projects/components/projects/projects.component.html b/src/app/projects/components/projects/projects.component.html index cad24c54..c98ebc51 100644 --- a/src/app/projects/components/projects/projects.component.html +++ b/src/app/projects/components/projects/projects.component.html @@ -299,107 +299,12 @@ Import snapshot -
- - +
+
diff --git a/src/app/projects/components/projects/projects.component.scss b/src/app/projects/components/projects/projects.component.scss index f41eedf6..51545089 100644 --- a/src/app/projects/components/projects/projects.component.scss +++ b/src/app/projects/components/projects/projects.component.scss @@ -26,7 +26,3 @@ margin-left: 56px; margin-top: -64px; } - -.border-dots { - border-bottom: 1px dashed rgb(209 213 219); -} diff --git a/src/app/projects/components/projects/projects.component.ts b/src/app/projects/components/projects/projects.component.ts index 085e0b6e..39413775 100644 --- a/src/app/projects/components/projects/projects.component.ts +++ b/src/app/projects/components/projects/projects.component.ts @@ -226,13 +226,13 @@ export class ProjectsComponent implements OnInit, OnDestroy { return tokenizer } - importSampleProject(projectName) { - this.projectApolloService.createSampleProject(projectName).pipe(first()).subscribe((p: Project) => { - if (this.router.url == "/projects") { - this.router.navigate(['projects', p.id, 'overview']); - } - }); - } + // importSampleProject(projectName) { + // this.projectApolloService.createSampleProject(projectName).pipe(first()).subscribe((p: Project) => { + // if (this.router.url == "/projects") { + // this.router.navigate(['projects', p.id, 'overview']); + // } + // }); + // } canCreateProject(): boolean { @@ -334,18 +334,6 @@ export class ProjectsComponent implements OnInit, OnDestroy { return utcDate.toLocaleString(); } - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } - startPlayback() { this.saveUrl = this.urlSanatizer.bypassSecurityTrustResourceUrl(ProjectsComponent.youtubeUrl); } diff --git a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html index 6b82840a..ed01392a 100644 --- a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html +++ b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html @@ -123,38 +123,16 @@
Editor
- - + +
No labels for target task diff --git a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts index f7b0db81..338719f6 100644 --- a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts +++ b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts @@ -574,18 +574,6 @@ export class WeakSourceDetailsComponent return informationSourceTypeToString(type, false, true); } - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } - setValueToLabelingTask(value) { this.labelingTaskControl.setValue(value); } diff --git a/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html b/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html index 786f4ea1..d0cae3f0 100644 --- a/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html +++ b/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html @@ -29,57 +29,13 @@
- - + + +
- - +
Add new zero shot classi
diff --git a/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.ts b/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.ts index 90c71802..eaa5b17d 100644 --- a/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.ts +++ b/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.ts @@ -384,17 +384,6 @@ export class WeakSupervisionComponent implements OnInit, OnDestroy { } } - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } modalChangeForCreation(checked: boolean, type: string) { if (checked) { this.description = "provide some description for documentation"; @@ -484,9 +473,9 @@ export class WeakSupervisionComponent implements OnInit, OnDestroy { return str.replace(/\s+/g, '_').replace(/[^\w]/gi, '').trim(); } - prepareSelectionList() { + prepareSelectionList(selectedItems) { this.selectionList = ""; - this.selectedInformationSources.forEach(el => { + selectedItems.forEach(el => { if (this.selectionList) this.selectionList += "\n"; this.selectionList += el.name; }) diff --git a/src/app/zero-shot-details/component/zero-shot-details.component.html b/src/app/zero-shot-details/component/zero-shot-details.component.html index 8aa9119c..22a5bafc 100644 --- a/src/app/zero-shot-details/component/zero-shot-details.component.html +++ b/src/app/zero-shot-details/component/zero-shot-details.component.html @@ -109,36 +109,16 @@
Labeling task
- - +
@@ -166,100 +146,36 @@
Required model confidence
-
- - +
+
- - +
- - +
diff --git a/src/app/zero-shot-details/component/zero-shot-details.component.ts b/src/app/zero-shot-details/component/zero-shot-details.component.ts index 0c111cc8..6dcf1c9d 100644 --- a/src/app/zero-shot-details/component/zero-shot-details.component.ts +++ b/src/app/zero-shot-details/component/zero-shot-details.component.ts @@ -426,19 +426,6 @@ export class ZeroShotDetailsComponent } } - - toggleVisible(isVisible: boolean, menuButton: HTMLDivElement): void { - if (isVisible) { - menuButton.classList.remove('hidden'); - menuButton.classList.add('block'); - menuButton.classList.add('z-10'); - } else { - menuButton.classList.remove('z-10'); - menuButton.classList.remove('block'); - menuButton.classList.add('hidden'); - } - } - getAttributeName(attId: string) { return this.attributes.find(el => el.id == attId).name; } From 2df4c4f78dbbe6a296f33aaaf88713a7d044b3a9 Mon Sep 17 00:00:00 2001 From: Lina Date: Mon, 25 Jul 2022 17:55:00 +0200 Subject: [PATCH 02/29] Add checkboxes option to kern dropdown --- .../dropdown-iterative.component.html | 44 ++++++++++--- .../dropdown-iterative.component.ts | 65 ++++++++++++++++--- .../data-browser/data-browser.component.html | 24 +++++-- .../data-browser/data-browser.component.ts | 1 + 4 files changed, 111 insertions(+), 23 deletions(-) diff --git a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html index fd2797df..b0e17d53 100644 --- a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html +++ b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html @@ -1,11 +1,17 @@ -
+ + + +
@@ -392,7 +399,12 @@
-
+
diff --git a/src/app/data/components/data-browser/data-browser.component.ts b/src/app/data/components/data-browser/data-browser.component.ts index 2f98b975..6768c6bd 100644 --- a/src/app/data/components/data-browser/data-browser.component.ts +++ b/src/app/data/components/data-browser/data-browser.component.ts @@ -1346,6 +1346,7 @@ export class DataBrowserComponent implements OnInit, OnDestroy { return '#2563eb'; } + // TO BE REMOVED FROM DATA BROWSER getDropdownDisplayText( formControls: AbstractControl[], labelFor: string From 2d9c6eb50050ec67b7915e0500616316b8196a87 Mon Sep 17 00:00:00 2001 From: Lina Date: Mon, 25 Jul 2022 17:55:44 +0200 Subject: [PATCH 03/29] Remove unused code --- .../data-browser/data-browser.component.html | 62 ------------------- 1 file changed, 62 deletions(-) diff --git a/src/app/data/components/data-browser/data-browser.component.html b/src/app/data/components/data-browser/data-browser.component.html index 62278cc9..98e543af 100644 --- a/src/app/data/components/data-browser/data-browser.component.html +++ b/src/app/data/components/data-browser/data-browser.component.html @@ -349,37 +349,6 @@ (optionClicked)="setActiveNegateGroup($event)" > - - -
@@ -404,37 +373,6 @@ [hasCheckboxes]="true" (optionClicked)="setActiveNegateGroup($event)" > -
From aaa370d3806ce9082e91d5ea21285f3f44f5540d Mon Sep 17 00:00:00 2001 From: Lina Date: Mon, 25 Jul 2022 17:58:06 +0200 Subject: [PATCH 04/29] Removed unused code --- .../data-browser/data-browser.component.ts | 41 ------------------- 1 file changed, 41 deletions(-) diff --git a/src/app/data/components/data-browser/data-browser.component.ts b/src/app/data/components/data-browser/data-browser.component.ts index 6768c6bd..559d8243 100644 --- a/src/app/data/components/data-browser/data-browser.component.ts +++ b/src/app/data/components/data-browser/data-browser.component.ts @@ -1346,47 +1346,6 @@ export class DataBrowserComponent implements OnInit, OnDestroy { return '#2563eb'; } - // TO BE REMOVED FROM DATA BROWSER - getDropdownDisplayText( - formControls: AbstractControl[], - labelFor: string - ): string { - let text = ''; - let atLeastOneNegated: boolean = false; - for (let c of formControls) { - const hasNegate = Boolean(c.get('negate')); - if (labelFor == 'EMPTY' && c.get('active').value) return ''; - else if ( - labelFor == 'NOT_NEGATED' && - c.get('active').value && - (!hasNegate || (hasNegate && !c.get('negate').value)) - ) { - text += (text == '' ? '' : ', ') + c.get('name').value; - } else if ( - labelFor == 'NEGATED' && - c.get('active').value && - hasNegate && - c.get('negate').value - ) { - text += (text == '' ? '' : ', ') + c.get('name').value; - } - if ( - !atLeastOneNegated && - c.get('active').value && - hasNegate && - c.get('negate').value - ) - atLeastOneNegated = true; - } - if (labelFor == 'EMPTY') return 'None Selected'; - - if (labelFor == 'NOT_NEGATED' && atLeastOneNegated && text != '') - return text + ', '; - - return text; - } - - focusModalInputBox(event: Event, inputBoxName: string) { if (event.target instanceof HTMLInputElement) { const modalDiv = event.target.nextSibling; From ff23adea40d8bf0fe80f468c712602f52c663a7b Mon Sep 17 00:00:00 2001 From: Lina Date: Tue, 26 Jul 2022 10:51:47 +0200 Subject: [PATCH 05/29] Kern dropdown improvements for disabled buttons --- .../dropdown-iterative.component.html | 2 +- .../dropdown-iterative.component.ts | 1 + .../data-browser/data-browser.component.html | 38 ++++++++++--------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html index b0e17d53..659d33b8 100644 --- a/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html +++ b/src/app/base/components/dropdown-iterative/dropdown-iterative.component.html @@ -35,7 +35,7 @@
-
\ No newline at end of file + + + + + \ No newline at end of file From 89fe4e34175c23e320577290b14408cedf656abd Mon Sep 17 00:00:00 2001 From: Lina Date: Tue, 26 Jul 2022 11:15:18 +0200 Subject: [PATCH 06/29] Removed unused code --- .../dropdown/dropdown.component.html | 83 +++++++++---------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/src/app/base/components/dropdown/dropdown.component.html b/src/app/base/components/dropdown/dropdown.component.html index 53f67cd4..c58f89aa 100644 --- a/src/app/base/components/dropdown/dropdown.component.html +++ b/src/app/base/components/dropdown/dropdown.component.html @@ -1,46 +1,45 @@ -
- - - -
- -
-
-
- - - - - - - - + + + +
+ +
+ +
+ + + + + + + + + + + + - -
-
+ + + + @@ -546,7 +557,8 @@
+ data-tooltip-target="tooltip-top" data-tooltip-placement="top" + [ngClass]="similarSearchHelper.recordsInDisplay || activeSlide ? 'cursor-not-allowed':'' ">
diff --git a/src/app/knowledge-bases/components/knowledge-bases.component.html b/src/app/knowledge-bases/components/knowledge-bases.component.html index 6867c8d0..caf4aa3f 100644 --- a/src/app/knowledge-bases/components/knowledge-bases.component.html +++ b/src/app/knowledge-bases/components/knowledge-bases.component.html @@ -13,61 +13,66 @@ -
-
- - + + + + + - - @@ -233,10 +246,16 @@ class="relative rounded-lg border border-gray-300 bg-white px-4 py-3 shadow-sm items-center text-sm hover:border-gray-400 focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-indigo-500">
{{term.value}}
- + +
{{term.comment}}
diff --git a/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts b/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts index 5c9b7fc7..45bf0917 100644 --- a/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts +++ b/src/app/knowledge-bases/knowledge-base-details/knowledge-base-details/knowledge-base-details.component.ts @@ -316,4 +316,20 @@ export class KnowledgeBaseDetailsComponent implements OnInit, AfterViewInit, OnD pasteLookupList(projectId: string, baseId: string, value: string, split: string, remove: boolean) { this.knowledgeBaseApolloService.pasteTerm(projectId, baseId, value, split, remove).pipe(first()).subscribe(); } + + executeOption(value: string, term: any) { + switch(value) { + case 'Edit term': + this.openTermEditor(true, term.id, term.value, term.comment); + break; + case 'Remove term': + this.deleteTerm(term.id); + break; + case 'Blacklist term': + case 'Whitelist term': + this.blackListTerm(term.id); + break; + } + } + } diff --git a/src/app/projects/components/projects/projects.component.html b/src/app/projects/components/projects/projects.component.html index c98ebc51..14643b44 100644 --- a/src/app/projects/components/projects/projects.component.html +++ b/src/app/projects/components/projects/projects.component.html @@ -300,11 +300,21 @@
- + > --> + + +
diff --git a/src/app/projects/components/projects/projects.component.ts b/src/app/projects/components/projects/projects.component.ts index fb7399a1..891f3399 100644 --- a/src/app/projects/components/projects/projects.component.ts +++ b/src/app/projects/components/projects/projects.component.ts @@ -86,6 +86,8 @@ export class ProjectsComponent implements OnInit, OnDestroy { saveUrl: SafeResourceUrl; canCreateOrg: boolean = false; isManaged: boolean = true; + isProjectInitial: boolean = false; + previousValue: string; constructor( private projectApolloService: ProjectApolloService, @@ -329,4 +331,25 @@ export class ProjectsComponent implements OnInit, OnDestroy { this.saveUrl = this.urlSanatizer.bypassSecurityTrustResourceUrl(ProjectsComponent.youtubeUrl); } + executeOption(value: string) { + if(value=='Further sample projects') { + window.open("https://github.com/code-kern-ai/refinery-sample-projects", "_blank"); + } else { + this.importSampleProject(this.isProjectInitial ? this.previousValue+' - initial' : value) + } + } + + importSampleProject(projectName) { + this.projectApolloService.createSampleProject(projectName).pipe(first()).subscribe((p: Project) => { + if (this.router.url == "/projects") { + this.router.navigate(['projects', p.id, 'overview']); + } + }); + } + + setInitialValue(projectInitial) { + this.isProjectInitial = projectInitial.flagInitial; + this.previousValue = projectInitial.value; + } + } diff --git a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html index ed01392a..d3d5f762 100644 --- a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html +++ b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.html @@ -122,8 +122,16 @@
Editor
-
- + + + +
diff --git a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts index 338719f6..4a39cd5e 100644 --- a/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts +++ b/src/app/weak-supervision/components/weak-source-details/weak-source-details.component.ts @@ -248,10 +248,11 @@ export class WeakSourceDetailsComponent let labelIds = []; tasks.forEach((task) => { this.labelingTasks.set(task.id, task); - this.labelingTasksSortOrder.push({ key: task.id, order: task.relativePosition }); + this.labelingTasksSortOrder.push({ key: task.id, order: task.relativePosition, name: task.name }); labelIds.push(...task.labels.map((label) => label.id)); }); this.colors.domain(labelIds); + console.log(this.labelingTasksSortOrder) }); this.labelingTaskControl.valueChanges.pipe(distinctUntilChanged(), startWith("")).subscribe((labelingTaskId) => { diff --git a/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html b/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html index d0cae3f0..c7ec27cf 100644 --- a/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html +++ b/src/app/weak-supervision/components/weak-supervision/weak-supervision.component.html @@ -26,39 +26,52 @@ Lookup lists
-
-
- + + + - - - -
- -
-
+ + +
+ +
+
-
-
-
+ + + - + + +
-
+ - +
-
+
@@ -273,7 +286,7 @@

Last Weak

- +