Add optional badge to Catalog Category label (#5156)

* Add optional badge to Catalog Category label.

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>

* Don't render badge container if there is no badge. Change CatalogCategoryLabel interface.

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>

* Add badgeBackgroundColor CSS variable for extensions. Regenerate theme-vars.css.

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>

* Use category as prop in CatalogCategoryLabel

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
This commit is contained in:
Panu Horsmalahti authored and GitHub committed 2022-04-06 15:20:41 +03:00
1 parent 66330485b1
commit ca21e0842a
8 files changed
+117 -4

No files matched your search

@@ -3,15 +3,18 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import React from "react";
import { CatalogCategory, CatalogCategorySpec } from "../catalog";
class TestCatalogCategory extends CatalogCategory {
class TestCatalogCategoryWithoutBadge extends CatalogCategory {
public readonly apiVersion = "catalog.k8slens.dev/v1alpha1";
public readonly kind = "CatalogCategory";
public metadata = {
name: "Test Category",
icon: "",
};
public spec: CatalogCategorySpec = {
group: "entity.k8slens.dev",
versions: [],
@@ -21,10 +24,28 @@ class TestCatalogCategory extends CatalogCategory {
};
}
class TestCatalogCategoryWithBadge extends TestCatalogCategoryWithoutBadge {
getBadge() {
return (<div>Test Badge</div>);
}
}
describe("CatalogCategory", () => {
it("returns name", () => {
const category = new TestCatalogCategory();
const category = new TestCatalogCategoryWithoutBadge();
expect(category.getName()).toEqual("Test Category");
});
it("doesn't return badge by default", () => {
const category = new TestCatalogCategoryWithoutBadge();
expect(category.getBadge()).toEqual(null);
});
it("returns a badge", () => {
const category = new TestCatalogCategoryWithBadge();
expect(category.getBadge()).toBeTruthy();
});
});