diff --git a/ui/src/app/richskill/list/skills-list.component.spec.ts b/ui/src/app/richskill/list/skills-list.component.spec.ts index cb010ddec..8ba21c42e 100644 --- a/ui/src/app/richskill/list/skills-list.component.spec.ts +++ b/ui/src/app/richskill/list/skills-list.component.spec.ts @@ -388,32 +388,30 @@ describe("SkillsListComponent", () => { expect(action3.callback?.(action3, skill3)).toBeFalsy() // Always false expect(action3.visible?.(skill3)).toBeFalsy() // != Archived - const actionExportSelected = tableActions[4] - expect(actionExportSelected.label).toEqual("Export Selected") component.selectedSkills = [ createMockSkillSummary("id1", PublishStatus.Draft), ] component.showAddToCollection = true tableActions = component.tableActions() - let skill5 = createMockSkillSummary("id4", PublishStatus.Archived) - let action5 = tableActions[5] - expect(action5.label).toEqual("Add to Collection") - expect(action5 && action5.callback).toBeTruthy() - expect(action5.callback?.(action5, skill5)).toBeFalsy() // Always false - expect(action5.visible?.(skill5)).toBeTruthy() // There are selected skills + let skill4 = createMockSkillSummary("id4", PublishStatus.Archived) + let action4 = tableActions[4] + expect(action4.label).toEqual("Add to Collection") + expect(action4 && action4.callback).toBeTruthy() + expect(action4.callback?.(action4, skill4)).toBeFalsy() // Always false + expect(action4.visible?.(skill4)).toBeTruthy() // There are selected skills component.selectedSkills = [ createMockSkillSummary("id1", PublishStatus.Draft), ] component.showAddToCollection = false tableActions = component.tableActions() - skill5 = createMockSkillSummary("id4", PublishStatus.Archived) - action5 = tableActions[5] - expect(action5.label).toEqual("Remove from Collection") - expect(action5 && action5.callback).toBeTruthy() - expect(action5.callback?.(action5, skill5)).toBeFalsy() // Always false - expect(action5.visible?.(skill5)).toBeTruthy() // There are selected skills + skill4 = createMockSkillSummary("id4", PublishStatus.Archived) + action4 = tableActions[4] + expect(action4.label).toEqual("Remove from Collection") + expect(action4 && action4.callback).toBeTruthy() + expect(action4.callback?.(action4, skill4)).toBeFalsy() // Always false + expect(action4.visible?.(skill4)).toBeTruthy() // There are selected skills }) it("getSelectedSkills should be correct", () => { diff --git a/ui/src/app/richskill/list/skills-list.component.ts b/ui/src/app/richskill/list/skills-list.component.ts index 3eaf85037..7cfd17ecc 100644 --- a/ui/src/app/richskill/list/skills-list.component.ts +++ b/ui/src/app/richskill/list/skills-list.component.ts @@ -42,6 +42,7 @@ export class SkillsListComponent extends QuickLinksHelper { showLibraryEmptyMessage = false showAddToCollection = true + showExportSelected = false constructor(protected router: Router, protected richSkillService: RichSkillService, @@ -231,14 +232,17 @@ export class SkillsListComponent extends QuickLinksHelper { icon: "unarchive", callback: (action: TableActionDefinition, skill?: ApiSkillSummary) => this.handleClickUnarchive(action, skill), visible: (skill?: ApiSkillSummary) => this.unarchiveVisible(skill) - }), - new TableActionDefinition({ + }) + ] + + if (this.showExportSelected) { + actions.push(new TableActionDefinition({ label: "Export Selected", icon: "download", callback: (action: TableActionDefinition, kill?: ApiSkillSummary) => this.handleClickExportSearch(), visible: () => this.exportSearchVisible() - }) - ] + })) + } if (this.showAddToCollection) { actions.push(new TableActionDefinition({ diff --git a/ui/src/app/search/rich-skill-search-results.component.spec.ts b/ui/src/app/search/rich-skill-search-results.component.spec.ts index f5b633a43..4b1a8ef0c 100644 --- a/ui/src/app/search/rich-skill-search-results.component.spec.ts +++ b/ui/src/app/search/rich-skill-search-results.component.spec.ts @@ -91,6 +91,13 @@ describe("RichSkillSearchResultsComponent", () => { expect(component).toBeTruthy() }) + it("table actions should be correct", () => { + const tableActions = component.tableActions() + const actionExportSelected = tableActions[4] + expect(actionExportSelected.label).toEqual("Export Selected") + expect(tableActions.length).toEqual(6) + }) + it("should handle empty search query", () => { // Arrange const query = "some query" diff --git a/ui/src/app/search/rich-skill-search-results.component.ts b/ui/src/app/search/rich-skill-search-results.component.ts index c18894195..2b6198ba1 100644 --- a/ui/src/app/search/rich-skill-search-results.component.ts +++ b/ui/src/app/search/rich-skill-search-results.component.ts @@ -27,6 +27,7 @@ export class RichSkillSearchResultsComponent extends SkillsListComponent impleme selectAllChecked = false showSearchEmptyMessage = true + showExportSelected = true private multiplePagesSelected: boolean = false constructor(protected router: Router,