+ //Find if a category is applicable for External API or not
+ private isHiddenCategory = (category: string) => {
+ let items: Array<any> = new Array<any>();
+ items = this.$scope.sdcMenu.component_workspace_menu_option[this.$scope.component.getComponentSubType()];
+ for(let index = 0; index < items.length; ++index) {
+ if ((items[index].hiddenCategories && items[index].hiddenCategories.indexOf(category) > -1)) {
+ return true;
+ }
+ }
+ return false;
+ };
+
+ private filteredCategories = () => {
+ let tempCategories: Array<IMainCategory> = new Array<IMainCategory>();
+ this.$scope.categories.forEach((category) => {
+ if (!this.isHiddenCategory(category.name)
+ && this.$scope.isCreateMode()
+ ) {
+ tempCategories.push(category);
+ } else if ((ComponentState.NOT_CERTIFIED_CHECKOUT === this.$scope.component.lifecycleState)
+ && !this.isHiddenCategory(this.$scope.component.selectedCategory)
+ && !this.isHiddenCategory(category.name)
+ ) {
+ tempCategories.push(category);
+ } else if ((ComponentState.NOT_CERTIFIED_CHECKOUT === this.$scope.component.lifecycleState)
+ && this.isHiddenCategory(this.$scope.component.selectedCategory)) {
+ tempCategories.push(category);
+ }
+ });
+
+ return tempCategories;
+ };
+