diff options
Diffstat (limited to 'src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts')
-rw-r--r-- | src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts | 291 |
1 files changed, 17 insertions, 274 deletions
diff --git a/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts b/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts index 9ea95ec..a3c5a8e 100644 --- a/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts +++ b/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts @@ -40,17 +40,6 @@ import { environment } from '../../../../../environments/environment'; import { NgProgress } from 'ngx-progressbar'; import * as XLSX from 'xlsx'; -type AOA = Array<Array<any>>; - -function s2ab(s: string): ArrayBuffer { - const buf = new ArrayBuffer(s.length); - const view = new Uint8Array(buf); - for (let i = 0; i !== s.length; ++i) { - view[i] = s.charCodeAt(i) & 0xFF; - } - return buf; -} - declare var $: any; @Component({ @@ -62,7 +51,7 @@ export class GoldenConfigurationMappingComponent implements OnInit { enableMappingSave: boolean = false; aceText: string = ''; fileName: string = ''; - actionType: any; + actionType: any=''; modal: any; configMappingEditorContent: any; fileType: any = ''; @@ -80,11 +69,13 @@ export class GoldenConfigurationMappingComponent implements OnInit { enableDownload: boolean = false; showMappingDownloadDiv: boolean = false; mapppingDownloadType: any; - action: any; - artifactName: any; + action: any=''; + artifactName: any=''; enableMerge: boolean = false; apiToken = localStorage['apiToken']; userId = localStorage['userId']; + identifier: any; + public uploadTypes = [ { value: 'Mapping Data', @@ -107,20 +98,9 @@ export class GoldenConfigurationMappingComponent implements OnInit { @ContentChildren(Tab) tabs: QueryList<Tab>; public subscription: any; public item: any = {}; - - public Actions = [ - { action: 'ConfigBackup', value: 'ConfigBackup' }, - { action: 'ConfigModify', value: 'ConfigModify' }, - { action: 'ConfigRestore', value: 'ConfigRestore' }, - { action: 'Configure', value: 'Configure' }, - { action: 'GetRunningConfig', value: 'GetRunningConfig' }, - { action: 'HealthCheck', value: 'HealthCheck' }, - { action: 'StartApplication', value: 'StartApplication' }, - { action: 'StopApplication', value: 'StopApplication' } - ]; - vnfType: any; - vnfcType: any; - protocol: any; + vnfType: any=''; + vnfcType: any=''; + protocol: any=''; refObj: any; public paramsContent = localStorage['paramsContent']; @@ -175,13 +155,12 @@ export class GoldenConfigurationMappingComponent implements OnInit { this.activeRoutes.url.subscribe(UrlSegment => { this.actionType = UrlSegment[0].path; }); - if (this.actionType === 'configureTemplate') { - this.mappingEditorService.fromScreen = 'TemplateScreen'; - } + if (this.actionType === 'myTemplates') { this.mappingEditorService.fromScreen = 'MappingScreen'; } this.mappingEditorService.paramData = []; + this.identifier = this.mappingEditorService.identifier; } @@ -192,11 +171,7 @@ export class GoldenConfigurationMappingComponent implements OnInit { } //========================== End of browseOption() Method============================================ - selectedNavItem(item: any) { - this.item = item; - } - - //========================== End of selectedNavItem() Method============================================ + ngOnDestroy() { this.prepareFileName(); } @@ -221,73 +196,13 @@ export class GoldenConfigurationMappingComponent implements OnInit { } } else { - this.Actions = []; this.enableMappingBrowse = false; } } //========================== End of ngAfterViewInit() Method============================================ - upload(evt: any) { - /* wire up file reader */ - if (evt.target.files[0]) { - const target: DataTransfer = <DataTransfer>(evt.target); - this.myfileName = evt.target.files[0].name; - var fileExtension = this.myfileName.substr(this.myfileName.lastIndexOf('.') + 1); - if (fileExtension.toUpperCase() === 'xls'.toUpperCase()) { - if (target.files.length != 1) { - throw new Error('Cannot upload multiple files on the entry'); - } - const reader = new FileReader(); - reader.onload = (e: any) => { - /* read workbook */ - const bstr = e.target.result; - const wb = XLSX.read(bstr, { type: 'binary' }); - /* grab first sheet */ - const wsname = wb.SheetNames[0]; - const ws = wb.Sheets[wsname]; - /* save data */ - let arrData = (<AOA>(XLSX.utils.sheet_to_json(ws, { header: 1 }))); - var jsonStr = arrData.toString(); - var JsonArr = jsonStr.split(','); - var finalStr = '{\r\n'; - for (var i = 0; i < JsonArr.length; i = i + 2) { - var key = JsonArr[i]; - var value = JsonArr[i + 1]; - finalStr = finalStr + key + ':' + value + ',\r\n'; - } - finalStr = finalStr.substring(0, finalStr.length - 3) + '\r\n}'; - this.artifactRequest.paramsContent = finalStr; - this.initialData = finalStr; - this.enableMappingSave = true; - }; - reader.readAsBinaryString(target.files[0]); - if ('Mapping Data' === this.selectedUploadType) { - this.notificationService.notifySuccessMessage('Configuration Template file successfully uploaded..'); - this.mappingEditorService.setParamContent(this.artifactRequest.paramsContent); - } - } - else { - let reader = new FileReader(); - this.readFile(evt.target.files[0], reader, (result) => { - if ('Mapping Data' === this.selectedUploadType) { - var jsonObject = JSON.parse(result); - this.artifactRequest.paramsContent = JSON.stringify(jsonObject, null, 1); - this.notificationService.notifySuccessMessage('Configuration Template file successfully uploaded..'); - this.mappingEditorService.setParamContent(this.artifactRequest.paramsContent); - } - this.initialData = result; - this.enableMappingSave = true; - }); - } - } - else { - this.notificationService.notifyErrorMessage('Failed to reading file..'); - } - this.myInputParam.nativeElement.value = ''; - } - - //========================== End of upload() Method============================================ - //uncommenting for 1710 + + public fileParamChange(input) { if (input.files && input.files[0]) { this.enableMappingSave = true; @@ -349,75 +264,7 @@ export class GoldenConfigurationMappingComponent implements OnInit { } //========================== End of onParamChanges() Method============================================ - onDownloadParameter() { - let refObj = this.refObj; - if (refObj) { - // refObj = refObj[refObj.length - 1]; - let paramsKeyValueFromEditor: JSON; - this.initialData = this.artifactRequest.paramsContent; - paramsKeyValueFromEditor = JSON.parse(this.artifactRequest.paramsContent); - let theJSON = JSON.stringify(paramsKeyValueFromEditor, null, '\t'); - var blob = new Blob([theJSON], { - type: 'text/json' - }); - this.showVersionDiv = true; - let fileName: any; - fileName = this.updateFileName(refObj.action, this.scopeName, this.versionNo); - saveAs(blob, fileName); - } - else { - this.nService.error('Error', 'Please enter Action and VNF type in Reference Data screen'); - - } - } - - //========================== End of onDownloadParameter() Method============================================ - JSONToCSVConvertor(JSONData, fileName, ShowLabel) { - //If JSONData is not an object then JSON.parse will parse the JSON string in an Object - var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData; - var CSV = ''; - //This condition will generate the Label/Header - if (ShowLabel) { - var testRow = ''; - for (var index in arrData[0]) { - CSV += index + '\t' + arrData[0][index] + '\r\n'; - } - } - if (CSV == '') { - return; - } - //Initialize file format you want csv or xls - var uri = 'data:application/vnd.ms-excel,' + encodeURI(CSV); - var link = document.createElement('a'); - link.href = uri; - link.download = fileName + '.xls'; - //this part will append the anchor tag and remove it after automatic click - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - } - - //========================== End of JSONToCSVConvertor() Method============================================ - updateFileNameForXls(action: any, scopeName: any, versionNo: any) { - let fileName = 'param_' + action + '_' + scopeName + '_' + versionNo + 'V'; - return fileName; - } - - //========================== End of updateFileNameForXls() Method============================================ - appendSlashes(artifactData) { - let x = artifactData.replace(new RegExp(',"', 'g'), ',\"'); - let y = x.replace(new RegExp('":', 'g'), '\":'); - let z = y.replace(new RegExp('{"', 'g'), '{\"'); - let t = z.replace(new RegExp(':"', 'g'), ':\"'); - let m = t.replace(new RegExp('",', 'g'), '\",'); - let n = y.replace(new RegExp('"}', 'g'), '\"}'); - let nw = n.replace(new RegExp('{"', 'g'), '{\"'); - let nw1 = nw.replace(new RegExp(':"', 'g'), ':\"'); - let nw2 = nw1.replace(new RegExp('",', 'g'), '\",'); - return nw2; - } - - //========================== End of appendSlashes() Method============================================ + updateFileName(action: any, scopeName: any, versionNo: any) { let fileName = 'param_' + action + '_' + scopeName + '_' + versionNo + 'V.json'; this.downloadedFileName = fileName; @@ -431,55 +278,14 @@ export class GoldenConfigurationMappingComponent implements OnInit { } //========================== End of prepareFileName() Method============================================ - openModel(toShow: any, message: any, title: any) { - this.message = message; - this.title = title; - $('#modalButton').trigger('click'); - } - - //========================== End of openModel() Method============================================ - checkSave(selectedAction): void { - if (this.actionType === 'updateTemplate') { - if (!this.buildDesignComponent.isReferenceFound(selectedAction, this.mappingEditorService.getReferenceList())) { - this.nService.error('Error', 'Reference Data not found. Please add Reference Data for Action:' + selectedAction); - } - } - if (this.initialData != this.artifactRequest.paramsContent) { - this.showConfirm(this.initialData); - } - else { - this.initialAction = this.item.action; - } - } - - //========================== End of checkSave() Method============================================ - showConfirm(initialData) { - let disposable = this.dialogService.addDialog(ConfirmComponent, { - title: 'Confirm title', - message: 'Confirm message' - }) - .subscribe((isConfirmed) => { - //We get dialog result - if (isConfirmed) { - this.artifactRequest.paramsContent = initialData; - this.initialAction = this.item.action; - } - else { - this.item.action = this.initialAction; - } - }); - } - - //========================== End of showConfirm() Method============================================ + retrieveNameValueFromAppc() { let refObj = this.refObj; if (refObj && refObj != undefined) { - // console.log("REF OBJECT IN RETRIVE"+JSON.stringify(refObj)); this.enableMerge = true; var scopeName = this.scopeName.replace(/ /g, '').replace(new RegExp('/', "g"), '_').replace(/ /g, ''); let fileName = this.updateFileName(this.item.action, scopeName, this.versionNo); let payload = '{"userID": "' + this.userId + '", "action": "' + this.item.action + '", "vnf-type" : "' + this.vnfType + '", "artifact-type":"APPC-CONFIG", "artifact-name":"' + fileName + '"}'; - // console.log("payload OBJECT IN RETRIVE"+JSON.stringify(payload)); let input = { 'input': { 'design-request': { @@ -531,70 +337,8 @@ export class GoldenConfigurationMappingComponent implements OnInit { } //========================== End of retrieveNameValueFromAppc() Method============================================ - saveNameValueToAppc() { - let refObj = this.refObj; - if (refObj && refObj != undefined) { - // refObj = refObj[refObj.length - 1]; - let paramsKeyValueFromEditor = JSON.parse(this.artifactRequest.paramsContent); - let action = this.item.action; - let fileName = this.updateFileName(refObj.action, this.scopeName, this.versionNo); - let vnfType = this.vnfType; - let Json = [paramsKeyValueFromEditor]; - let slashedPayload = this.appendSlashes(JSON.stringify(Json)); - let newPayload = - { - 'userID': this.userId, - 'vnf-type': this.vnfType, - 'action': action, - 'artifact-name': fileName, - 'artifact-type': 'APPC-CONFIG', - 'artifact-version': this.versionNo, - 'artifact-contents': slashedPayload - }; - let data = - { - 'input': { - 'design-request': { - 'request-id': this.apiToken, - 'action': 'uploadArtifact', - 'payload': JSON.stringify(newPayload) - } - } - }; - this - .httpUtil - .post( - { url: environment.getDesigns, data: data }) - .subscribe(resp => { - if (resp.output.status.code === '400' && resp.output.status.message === 'success') { - this.nService.success('Success', 'Name/value pairs saved successfully to APPC'); - } - if (resp.output.status.code === '401') { - this.nService.error('Error', resp.output.status.message); - } - }, - error => this.nService.error('Error', 'Could not save name value pairs. Error in connecting APPC Server')); - } - setTimeout(() => { - this.ngProgress.done(); - }, 3500); - } - - //========================== End of saveNameValueToAppc() Method============================================ + formatNameValuePairs(namevaluePairs: string) { - //var string = namevaluePairs.substring(2, namevaluePairs.length - 2); - /* var stringArr = string.split(","); - var newStringArr = []; - var resultStr = "{\r\n\""; - for (var index in stringArr) { - newStringArr[index] = stringArr[index] + ",\r\n"; - } - for (var index in newStringArr) { - resultStr = resultStr + newStringArr[index]; - } - resultStr = resultStr.substring(0, resultStr.length - 3) + "\"\r\n}" - return resultStr;*/ - var string = namevaluePairs.substring(1, namevaluePairs.length - 1); var stringArr = string.split(','); var newStringArr = []; @@ -619,7 +363,6 @@ export class GoldenConfigurationMappingComponent implements OnInit { var pdDataArrayForSession = []; try { paramNameValues = JSON.parse(paramNameValuesStr); - console.log('Param Name values array==' + JSON.stringify(paramNameValues)); if (paramNameValues && paramNameValues != undefined) { for (var index in paramNameValues) { var json = { @@ -688,7 +431,7 @@ export class GoldenConfigurationMappingComponent implements OnInit { 'ruleTypeValues': arr2item.ruleTypeValues }; pdDataArrayForSession.splice(i, 1, json); - // console.log("Result array index ==" + JSON.stringify(resultArr[i])) + } }); |