aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/category.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/category.ts')
-rw-r--r--catalog-ui/src/app/models/category.ts47
1 files changed, 47 insertions, 0 deletions
diff --git a/catalog-ui/src/app/models/category.ts b/catalog-ui/src/app/models/category.ts
new file mode 100644
index 0000000000..fcfe61bfd6
--- /dev/null
+++ b/catalog-ui/src/app/models/category.ts
@@ -0,0 +1,47 @@
+'use strict';
+
+
+
+export class ICategoryBase {
+
+ //server properties
+ name:string;
+ normalizedName:string;
+ uniqueId:string;
+ icons:Array<string>;
+
+ //custom properties
+ filterTerms:string;
+ isDisabled:boolean;
+ filteredGroup:Array<IGroup>;
+
+ constructor(category?:ICategoryBase) {
+ if (category) {
+ this.name = category.name;
+ this.normalizedName = category.normalizedName;
+ this.icons = category.icons;
+ this.filterTerms = category.filterTerms;
+ this.isDisabled = category.isDisabled;
+ this.filteredGroup = category.filteredGroup;
+ }
+ }
+}
+
+export class IMainCategory extends ICategoryBase {
+ subcategories:Array<ISubCategory>;
+
+ constructor();
+ constructor(category?:IMainCategory) {
+ super(category);
+ if (category) {
+ this.subcategories = category.subcategories;
+ }
+ }
+}
+
+export class ISubCategory extends ICategoryBase {
+ groupings:Array<ICategoryBase>;
+}
+
+export interface IGroup extends ICategoryBase {
+}