summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts30
-rw-r--r--catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html9
-rw-r--r--catalog-ui/src/app/view-models/workspace/workspace-view-model.ts8
3 files changed, 17 insertions, 30 deletions
diff --git a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts
index dd1fa464bf..1bcf266c55 100644
--- a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts
+++ b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts
@@ -468,18 +468,20 @@ export class GeneralViewModel {
this.$scope.initModel = ():void => {
this.$scope.isModelRequired = false;
- this.$scope.models = [{id: '', name: 'SDC AID'}];
+ this.$scope.models = [];
+ this.$scope.defaultModelOption = 'SDC AID';
+ this.$scope.showDefaultModelOption = true;
if (this.$scope.isCreateMode() && this.$scope.isVspImport()) {
if (this.$scope.component.componentMetadata.models) {
this.$scope.isModelRequired = true;
- const modelOptions = this.$scope.component.componentMetadata.models.map(value => {
- return {id: value, name: value};
- });
+ const modelOptions = this.$scope.component.componentMetadata.models;
if (modelOptions.length == 1) {
this.$scope.models = modelOptions;
- this.$scope.component.model = modelOptions[0].id;
+ this.$scope.component.model = modelOptions[0];
+ this.$scope.showDefaultModelOption = false;
} else {
- this.$scope.models = [{id: '', name: 'Select'}, ...modelOptions];
+ this.$scope.models = modelOptions.sort();
+ this.$scope.defaultModelOption = 'Select';
}
}
return;
@@ -487,23 +489,13 @@ export class GeneralViewModel {
if (!this.$scope.isCreateMode() && this.$scope.isVspImport()){
this.modelService.getModels().subscribe((modelsFound: Model[]) => {
- modelsFound.forEach(model => {this.$scope.models.push({id: model.name, name: model.name})});
- });
+ modelsFound.sort().forEach(model => {this.$scope.models.push(model.name)});
+ });
} else {
this.modelService.getModelsOfType("normative").subscribe((modelsFound: Model[]) => {
- modelsFound.forEach(model => {this.$scope.models.push({id: model.name, name: model.name})});
+ modelsFound.sort().forEach(model => {this.$scope.models.push(model.name)});
});
}
-
- this.$scope.models.sort(function (model1, model2) {
- if (model1.id > model2.id) {
- return 1;
- }
- if (model1.id < model2.id) {
- return -1;
- }
- return 0;
- });
};
this.$scope.isVspImport = (): boolean => {
diff --git a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
index 5035ef2015..2366eea2c1 100644
--- a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
+++ b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html
@@ -80,14 +80,15 @@
<div class="i-sdc-form-item">
<label class="i-sdc-form-label required">Model</label>
<select class="i-sdc-form-select"
- name="modelName"
data-ng-class="{'view-mode': isViewMode()}"
data-ng-disabled="!isCreateMode()"
- data-ng-model="component.model"
data-ng-change="onModelChange()"
data-tests-id="modelName"
- ng-required="isModelRequired">
- <option ng-repeat="model in models" value="{{model.id}}">{{model.name}}</option>
+ data-ng-required="isModelRequired"
+ data-ng-model="component.model"
+ data-ng-options="model for model in models track by model"
+ >
+ <option ng-if="showDefaultModelOption" value="">{{defaultModelOption}}</option>
</select>
</div>
<!--------------------- Model -------------------->
diff --git a/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts b/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts
index 411ef10639..c72a5a471c 100644
--- a/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts
+++ b/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts
@@ -55,11 +55,6 @@ import { IDependenciesServerResponse } from '../../ng2/services/responses/depend
import { WorkspaceNg1BridgeService } from '../../ng2/pages/workspace/workspace-ng1-bridge-service';
import { WorkspaceService } from '../../ng2/pages/workspace/workspace.service';
-interface ModelSelectOption {
- id: string;
- name: string;
-}
-
export interface IWorkspaceViewModelScope extends ng.IScope {
isLoading: boolean;
@@ -96,8 +91,7 @@ export interface IWorkspaceViewModelScope extends ng.IScope {
unsavedChangesCallback: Function;
unsavedFile: boolean;
hasNoDependencies: boolean;
- models: Array<ModelSelectOption>;
-
+ models: Array<string>;
startProgress(message: string): void;
stopProgress(): void;