Implement hiding mechanism
[sdc.git] / catalog-ui / src / app / models / category.ts
index e45100a..dc7cf56 100644 (file)
 
 '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 interface ICategoryBase {
+    // server properties
+    name: string;
+    displayName: string;
+    normalizedName: string;
+    uniqueId: string;
+    models: Array<string>;
+    icons: Array<string>;
+    metadataKeys: IMetadataKey[];
+
+    // custom properties
+    filterTerms: string;
+    isDisabled: boolean;
+    filteredGroup: Array<IGroup>;
 }
 
-export class IMainCategory extends ICategoryBase {
-    subcategories:Array<ISubCategory>;
-
-    constructor();
-    constructor(category?:IMainCategory) {
-        super(category);
-        if (category) {
-            this.subcategories = category.subcategories;
-        }
-    }
+export interface IMainCategory extends ICategoryBase {
+    subcategories: Array<ISubCategory>;
+    useServiceSubstitutionForNestedServices: boolean;
+    notApplicableMetadataKeys: Array<string>;
 }
 
-export class ISubCategory extends ICategoryBase {
-    groupings:Array<ICategoryBase>;
+export interface ISubCategory extends ICategoryBase {
+    groupings: Array<ICategoryBase>;
 }
 
 export interface IGroup extends ICategoryBase {
 }
+
+export interface IMetadataKey {
+    name: string;
+    displayName: string;
+    mandatory: boolean;
+    validValues: string[];
+    defaultValue: string;
+}