summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/properties-assignment
diff options
context:
space:
mode:
authorSatoshi Fujii <fujii-satoshi@jp.fujitsu.com>2020-02-26 15:39:38 +0900
committerOfir Sonsino <ofir.sonsino@intl.att.com>2020-03-31 05:19:29 +0000
commit407bbefe5b0b932f6c6bed65193815c78b4d41b5 (patch)
tree3b6661c29df42df59d72790b91cfaace4a0dd019 /catalog-ui/src/app/ng2/pages/properties-assignment
parent4f02f33f309c3869d231926582f559aa04816063 (diff)
Add 'required in runtime' for service inputs
User may want to set required to true for some inputs so that make sure those input values are given at service instantiation time. By this change 'required in runtime' column is introduced into service inputs table in Properties Assignment screen and user can select required true/false for each input. Change-Id: I0d676d2d20e02c975d51c7f4d2bb63c699743d66 Issue-ID: SDC-2659 Signed-off-by: Satoshi Fujii <fujii-satoshi@jp.fujitsu.com>
Diffstat (limited to 'catalog-ui/src/app/ng2/pages/properties-assignment')
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.html9
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.ts1
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.module.ts4
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.module.ts6
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.html1
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts16
6 files changed, 29 insertions, 8 deletions
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.html b/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.html
index c0bcc7885e..187ffa6efe 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.html
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.html
@@ -56,6 +56,15 @@
[ngModelOptions]="{ debounce: 200 }">
</div>
+ <!-- Required in Runtime -->
+ <div class="i-sdc-form-item">
+ <sdc-checkbox
+ [(checked)]="propertyModel.required"
+ label="Required in Runtime"
+ data-tests-id="property-required">
+ </sdc-checkbox>
+ </div>
+
<!-- Properties -->
<div class="i-sdc-form-item">
<label class="i-sdc-form-label">Properties</label>
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.ts
index fe3106649b..8ca4f44116 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.ts
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.component.ts
@@ -57,6 +57,7 @@ export class DeclareListComponent {
this.propertyModel = new PropertyBEModel();
this.propertyModel.type = '';
this.propertyModel.schema.property.type = '';
+ this.propertyModel.required = false;
const types: string[] = PROPERTY_DATA.TYPES; // All types - simple type + map + list
this.dataTypes = this.dataTypeService.getAllDataTypes(); // Get all data types in service
const nonPrimitiveTypes: string[] = _.filter(Object.keys(this.dataTypes), (type: string) => {
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.module.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.module.ts
index 97667f9261..82e9b6ff8b 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.module.ts
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/declare-list/declare-list.module.ts
@@ -25,6 +25,7 @@ import { FormElementsModule } from 'app/ng2/components/ui/form-components/form-e
import { UiElementsModule } from 'app/ng2/components/ui/ui-elements.module';
import { TranslateModule } from '../../../shared/translator/translate.module';
import { DeclareListComponent } from './declare-list.component';
+import { SdcUiComponentsModule } from 'onap-ui-angular';
@NgModule({
declarations: [
@@ -35,7 +36,8 @@ import { DeclareListComponent } from './declare-list.component';
FormsModule,
FormElementsModule,
UiElementsModule,
- TranslateModule
+ TranslateModule,
+ SdcUiComponentsModule
],
exports: [],
entryComponents: [
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.module.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.module.ts
index f5500d42ae..3def63e0d2 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.module.ts
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.module.ts
@@ -34,6 +34,8 @@ import {HierarchyNavService} from "./services/hierarchy-nav.service";
import {PropertiesUtils} from "./services/properties.utils";
import {InputsUtils} from "./services/inputs.utils";
import {ComponentModeService} from "../../services/component-services/component-mode.service";
+import {SdcUiComponentsModule} from "onap-ui-angular";
+import {ModalFormsModule} from "app/ng2/components/ui/forms/modal-forms.module";
@NgModule({
declarations: [
@@ -48,7 +50,9 @@ import {ComponentModeService} from "../../services/component-services/component-
GlobalPipesModule,
PropertyTableModule,
PoliciesTableModule,
- UiElementsModule],
+ UiElementsModule,
+ SdcUiComponentsModule,
+ ModalFormsModule],
entryComponents: [PropertiesAssignmentComponent],
exports: [
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.html b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.html
index 8d4215aaec..6856ae8358 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.html
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.html
@@ -47,6 +47,7 @@
[inputs]="inputs | searchFilter:'name':searchQuery"
[instanceNamesMap]="componentInstanceNamesMap"
[isLoading]="loadingInputs"
+ [componentType]="component.componentType"
(deleteInput)="deleteInput($event)"
(inputChanged)="dataChanged($event)">
</inputs-table>
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts
index 4b84f0e66f..725847bc6d 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts
@@ -348,7 +348,7 @@ export class PropertiesAssignmentComponent {
if (this.isPropertiesTabSelected && item instanceof PropertyFEModel) {
itemHasChanged = item.hasValueObjChanged();
} else if (this.isInputsTabSelected && item instanceof InputFEModel) {
- itemHasChanged = item.hasDefaultValueChanged();
+ itemHasChanged = item.hasChanged();
} else if (this.isPoliciesTabSelected && item instanceof InputFEModel) {
itemHasChanged = item.hasDefaultValueChanged();
}
@@ -574,16 +574,17 @@ export class PropertiesAssignmentComponent {
let typelist: any = PROPERTY_TYPES.LIST;
let uniID: any = insId;
let boolfalse: any = false;
+ let required: any = content.propertyModel.required;
let schem :any = {
"empty": boolfalse,
"property": {
"type": content.propertyModel.simpleType,
- "required": boolfalse
+ "required": required
}
}
let schemaProp :any = {
"type": content.propertyModel.simpleType,
- "required": boolfalse
+ "required": required
}
reglistInput.description = content.propertyModel.description;
@@ -592,7 +593,7 @@ export class PropertiesAssignmentComponent {
reglistInput.schemaType = content.propertyModel.simpleType;
reglistInput.instanceUniqueId = uniID;
reglistInput.uniqueId = uniID;
- reglistInput.required =boolfalse;
+ reglistInput.required = required;
reglistInput.schema = schem;
reglistInput.schemaProperty = schemaProp;
@@ -789,6 +790,8 @@ export class PropertiesAssignmentComponent {
response.forEach((resInput) => {
const changedInput = <InputFEModel>this.changedData.shift();
this.inputsUtils.resetInputDefaultValue(changedInput, resInput.defaultValue);
+ changedInput.required = resInput.required;
+ changedInput.requiredOrig = resInput.required;
});
console.log("updated the component inputs and got this response: ", response);
}
@@ -842,6 +845,7 @@ export class PropertiesAssignmentComponent {
handleReverseItem = (changedItem) => {
changedItem = <InputFEModel>changedItem;
this.inputsUtils.resetInputDefaultValue(changedItem, changedItem.defaultValue);
+ changedItem.required = changedItem.requiredOrig;
};
}
@@ -906,8 +910,8 @@ export class PropertiesAssignmentComponent {
{id: 'cancelButton', text: 'Cancel', type: SdcUiCommon.ButtonType.secondary, size: 'xsm', closeModal: true, callback: () => reject()},
{id: 'discardButton', text: 'Discard', type: SdcUiCommon.ButtonType.secondary, size: 'xsm', closeModal: true, callback: () => { this.reverseChangedData(); resolve()}},
{id: 'saveButton', text: 'Save', type: SdcUiCommon.ButtonType.primary, size: 'xsm', closeModal: true, disabled: !this.isValidChangedData, callback: () => this.doSaveChangedData(resolve, reject)}
- ] as SdcUiCommon.IModalButtonComponent[]
- } as SdcUiCommon.IModalConfig, UnsavedChangesComponent, {isValidChangedData: this.isValidChangedData});
+ ] as SdcUiCommon.IModalButtonComponent[]
+ } as SdcUiCommon.IModalConfig, UnsavedChangesComponent, {isValidChangedData: this.isValidChangedData});
});
}