aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/interface-operation
diff options
context:
space:
mode:
authorArielk <ariel.kenan@amdocs.com>2019-05-14 12:43:35 +0300
committerAvi Gaffa <avi.gaffa@amdocs.com>2019-05-15 06:09:21 +0000
commita04dc4d3bc12cdc77e04fad89fc369c869cdd61f (patch)
treedd14660595ead9c30708d14f25c325974500d2b8 /catalog-ui/src/app/ng2/pages/interface-operation
parente23caefbf43ae13be924c13f1b6639df35a2f401 (diff)
operation artifact optional and fixes
operation artifact optional and fixes Change-Id: Id32dff70dc967ce5e49e429b3b0ca274d671ee3e Issue-ID: SDC-2249 Signed-off-by: Arielk <Ariel.Kenan@amdocs.com> Signed-off-by: avigaffa <avi.gaffa@amdocs.com>
Diffstat (limited to 'catalog-ui/src/app/ng2/pages/interface-operation')
-rw-r--r--catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts19
-rw-r--r--catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html7
-rw-r--r--catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts18
3 files changed, 25 insertions, 19 deletions
diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts b/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts
index b30cf237b9..c2a9582ed4 100644
--- a/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts
+++ b/catalog-ui/src/app/ng2/pages/interface-operation/interface-operation.page.component.ts
@@ -325,10 +325,12 @@ export class InterfaceOperationComponent {
private createOperation = (operation: OperationModel): void => {
this.ComponentServiceNg2.createInterfaceOperation(this.component, operation).subscribe((response: OperationModel) => {
this.openOperation = null;
+
let curInterf = _.find(
this.interfaces,
interf => interf.type === operation.interfaceType
);
+
if (!curInterf) {
curInterf = new UIInterfaceModel({
type: response.interfaceType,
@@ -337,11 +339,13 @@ export class InterfaceOperationComponent {
});
this.interfaces.push(curInterf);
}
- curInterf.operations.push(new UIOperationModel(response));
+
+ const newOpModel = new UIOperationModel(response);
+ curInterf.operations.push(newOpModel);
this.sortInterfaces();
- if (operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXTERNAL) {
- this.ComponentServiceNg2.uploadInterfaceOperationArtifact(this.component, response, operation).subscribe();
+ if (operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXTERNAL && operation.artifactData) {
+ this.ComponentServiceNg2.uploadInterfaceOperationArtifact(this.component, newOpModel, operation).subscribe();
} else if (response.workflowId && operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXISTING) {
this.WorkflowServiceNg2.associateWorkflowArtifact(this.component, response).subscribe();
} else if (operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.NEW) {
@@ -351,7 +355,7 @@ export class InterfaceOperationComponent {
}
private updateOperation = (operation: OperationModel): void => {
- this.ComponentServiceNg2.updateInterfaceOperation(this.component, operation).subscribe(newOperation => {
+ this.ComponentServiceNg2.updateInterfaceOperation(this.component, operation).subscribe((newOperation: OperationModel) => {
this.openOperation = null;
let oldOpIndex, oldInterf;
@@ -366,11 +370,12 @@ export class InterfaceOperationComponent {
oldInterf.operations.splice(oldOpIndex, 1);
const newInterf = _.find(this.interfaces, interf => interf.type === operation.interfaceType);
- newInterf.operations.push(new UIOperationModel(newOperation));
+ const newOpModel = new UIOperationModel(newOperation);
+ newInterf.operations.push(newOpModel);
this.sortInterfaces();
- if (operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXTERNAL) {
- this.ComponentServiceNg2.uploadInterfaceOperationArtifact(this.component, newOperation, operation).subscribe();
+ if (operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXTERNAL && operation.artifactData) {
+ this.ComponentServiceNg2.uploadInterfaceOperationArtifact(this.component, newOpModel, operation).subscribe();
} else if (newOperation.workflowId && operation.workflowAssociationType === WORKFLOW_ASSOCIATION_OPTIONS.EXISTING) {
this.WorkflowServiceNg2.associateWorkflowArtifact(this.component, newOperation).subscribe();
}
diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html
index 63730948b6..ec056ad6f2 100644
--- a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html
+++ b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html
@@ -86,15 +86,15 @@
<div
*ngIf="isUsingExternalWF()"
class="form-item sdc-input">
- <label class="sdc-input__label required">{{ 'OPERATION_ARTIFACT' | translate }}</label>
+ <label class="sdc-input__label">{{ 'OPERATION_ARTIFACT' | translate }}</label>
<div class="i-sdc-form-item i-sdc-form-file-upload">
<span
class="i-sdc-form-file-name"
data-tests-id="artifactFilename">
- {{ operation.artifactFile && operation.artifactFile.name }}
+ {{ operation.artifactFileName }}
</span>
<div
- *ngIf="operation.artifactFile && operation.artifactFile.name"
+ *ngIf="operation.artifactFileName"
class="i-sdc-form-file-upload-x-btn"
data-tests-id="clearArtifact"
(click)="onChangeArtifactFile({ target: {} })"></div>
@@ -107,6 +107,7 @@
maxsize="10240"
data-tests-id="artifactUpload"
(change)="onChangeArtifactFile($event)"
+ (click)="$event.target.value = ''"
/>
<div class="file-upload-browse-btn">Browse</div>
</label>
diff --git a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts
index a1dccce21b..e12905654b 100644
--- a/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts
+++ b/catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts
@@ -198,6 +198,8 @@ export class OperationCreatorComponent implements OperationCreatorInput {
if (inputOperation) {
this.onSelectInterface(new DropDownOption(this.operation.interfaceType));
+ this.operation.artifactFileName = this.operation.artifactFileName || this.operation.implementation.artifactName;
+
if (this.enableWorkflowAssociation && inputOperation.workflowVersionId && this.isUsingExistingWF(inputOperation)) {
this.assignInputParameters[this.operation.workflowId] = {[inputOperation.workflowVersionId]: []};
this.assignOutputParameters[this.operation.workflowId] = {[inputOperation.workflowVersionId]: []};
@@ -333,13 +335,13 @@ export class OperationCreatorComponent implements OperationCreatorInput {
).sort((a, b) => a.name.localeCompare(b.name)),
(version: any) => {
if (!this.assignInputParameters[this.operation.workflowId][version.id] && version.id !== selectedVersionId) {
- this.assignInputParameters[this.operation.workflowId][version.id] = _.map(version.inputs, (input: OperationParameter) => {
- return new OperationParameter({...input, type: input.type.toLowerCase(), required: Boolean(input.required)});
+ this.assignInputParameters[this.operation.workflowId][version.id] = _.map(version.inputs, (input: any) => {
+ return new OperationParameter({...input, type: input.type.toLowerCase(), required: Boolean(input.mandatory)});
})
.sort((a, b) => a.name.localeCompare(b.name));
- this.assignOutputParameters[this.operation.workflowId][version.id] = _.map(version.outputs, (output: OperationParameter) => {
- return new OperationParameter({...output, type: output.type.toLowerCase(), required: Boolean(output.required)});
+ this.assignOutputParameters[this.operation.workflowId][version.id] = _.map(version.outputs, (output: any) => {
+ return new OperationParameter({...output, type: output.type.toLowerCase(), required: Boolean(output.mandatory)});
})
.sort((a, b) => a.name.localeCompare(b.name));
}
@@ -399,9 +401,9 @@ export class OperationCreatorComponent implements OperationCreatorInput {
onChangeArtifactFile(e: any) {
const file = e.target.files && e.target.files[0];
- this.operation.artifactFile = file;
+ this.operation.artifactFileName = file && file.name;
- if (!this.operation.artifactFile) {
+ if (!this.operation.artifactFileName) {
this.operation.artifactData = null;
this.validityChanged();
return;
@@ -511,9 +513,7 @@ export class OperationCreatorComponent implements OperationCreatorInput {
checkFormValidForSubmit = (): boolean => {
return this.operation.name &&
- (this.isUsingExternalWF() ?
- (this.operation.artifactFile && this.operation.artifactFile.name) :
- (!this.isUsingExistingWF() || this.operation.workflowVersionId)) &&
+ (!this.isUsingExistingWF() || this.operation.workflowVersionId) &&
this.isParamsValid();
}