Repository: ambari Updated Branches: refs/heads/trunk aae7013f4 -> 684c9e646
AMBARI-19562. Save is not present for coordinator and bundle.(Padma Priya N via gauravn7) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/684c9e64 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/684c9e64 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/684c9e64 Branch: refs/heads/trunk Commit: 684c9e64641c71e1923315e743c236afb5a328fd Parents: aae7013 Author: Gaurav Nagar <grv...@gmail.com> Authored: Tue Jan 17 14:53:11 2017 +0530 Committer: Gaurav Nagar <grv...@gmail.com> Committed: Tue Jan 17 14:53:58 2017 +0530 ---------------------------------------------------------------------- .../ui/app/components/bundle-config.js | 15 +++++ .../resources/ui/app/components/coord-config.js | 16 ++++++ .../ui/app/components/flow-designer.js | 28 ++-------- .../main/resources/ui/app/components/save-wf.js | 41 +++++++------- .../ui/app/domain/actionjob_hanlder.js | 7 ++- .../app/templates/components/bundle-config.hbs | 16 ++++-- .../app/templates/components/coord-config.hbs | 42 ++++++++++---- .../app/templates/components/flow-designer.hbs | 59 ++++---------------- .../ui/app/templates/components/save-wf.hbs | 2 +- 9 files changed, 117 insertions(+), 109 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js index c6a24b8..2e0dadb 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/bundle-config.js @@ -344,6 +344,21 @@ export default Ember.Component.extend(Ember.Evented, Validations, { }, showVersionSettings(value){ this.set('showVersionSettings', value); + }, + save(){ + var isDraft = false, bundleXml; + if(this.get('validations.isInvalid')) { + isDraft = true; + }else{ + var bundleGenerator = BundleGenerator.create({bundle:this.get("bundle")}); + bundleXml = bundleGenerator.process(); + } + var bundleJson = JSON.stringify(this.get("bundle")); + this.set("configForSave",{json:bundleJson, xml:bundleXml, isDraft: isDraft}); + this.set("showingSaveWorkflow", true); + }, + closeSave(){ + this.set("showingSaveWorkflow", false); } } }); http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js index 743a163..eb0d585 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/coord-config.js @@ -578,6 +578,22 @@ export default Ember.Component.extend(Validations, Ember.Evented, { }, showVersionSettings(value){ this.set('showVersionSettings', value); + }, + save(){ + var isDraft = false, coordinatorXml; + var isChildComponentsValid = this.validateChildComponents(); + if(this.get('validations.isInvalid') || !isChildComponentsValid) { + isDraft = true; + }else{ + var coordGenerator = CoordinatorGenerator.create({coordinator:this.get("coordinator")}); + coordinatorXml = coordGenerator.process(); + } + var coordinatorJson = JSON.stringify(this.get("coordinator")); + this.set("configForSave",{json:coordinatorJson, xml:coordinatorXml,isDraft: isDraft}); + this.set("showingSaveWorkflow", true); + }, + closeSave(){ + this.set("showingSaveWorkflow", false); } } }); http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js index 9007838..d0c05d6 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js @@ -610,21 +610,11 @@ export default Ember.Component.extend(FindNodeMixin, Validations, { }, 1000); }, openSaveWorkflow() { - this.get('workflowContext').clearErrors(); - var workflowGenerator=WorkflowGenerator.create({workflow:this.get("workflow"), - workflowContext:this.get('workflowContext')}); - var workflowXml=workflowGenerator.process(); - if(this.get('workflowContext').hasErrors()){ - this.set('errors',this.get('workflowContext').getErrors()); - this.set("jobXmlJSONStr", this.getWorkflowAsJson()); - this.set("isDraft", true); - }else{ - this.set("jobXmlJSONStr", this.getWorkflowAsJson()); - var dynamicProperties = this.get('propertyExtractor').getDynamicProperties(workflowXml); - var configForSubmit={props:dynamicProperties,xml:workflowXml,params:this.get('workflow.parameters')}; - this.set("workflowSubmitConfigs",configForSubmit); - this.set("isDraft", false); - } + var workflowGenerator = WorkflowGenerator.create({workflow:this.get("workflow"), workflowContext:this.get('workflowContext')}); + var workflowXml = workflowGenerator.process(); + var workflowJson = this.getWorkflowAsJson(); + var isDraft = this.get('workflowContext').hasErrors()? true: false; + this.set("configForSave", {json : workflowJson, xml : workflowXml,isDraft : isDraft}); this.set("showingSaveWorkflow",true); }, openJobConfig (){ @@ -818,9 +808,6 @@ export default Ember.Component.extend(FindNodeMixin, Validations, { openEditor(node){ this.openWorkflowEditor(node); }, - setFilePath(filePath){ - this.set("workflowFilePath", filePath); - }, showNotification(node){ this.set("showNotificationPanel", true); if(node.actionType){ @@ -862,10 +849,6 @@ export default Ember.Component.extend(FindNodeMixin, Validations, { }, saveWorkflow(action){ this.openSaveWorkflow(); - if(action === "saveDraft"){ - this.set("isDraft", true); - } - this.set('dryrun', false); }, previewWorkflow(){ this.set("showingPreview",false); @@ -896,7 +879,6 @@ export default Ember.Component.extend(FindNodeMixin, Validations, { }, closeWorkflowSubmitConfigs(){ this.set("showingWorkflowConfigProps",false); - this.set("showingSaveWorkflow",false); }, closeSaveWorkflow(){ this.set("showingSaveWorkflow",false); http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/components/save-wf.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/save-wf.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/save-wf.js index d91c52a..c6c0421 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/save-wf.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/save-wf.js @@ -16,7 +16,6 @@ */ import Ember from 'ember'; -import Constants from '../utils/constants'; import { validator, buildValidations } from 'ember-cp-validations'; const Validations = buildValidations({ @@ -25,10 +24,8 @@ const Validations = buildValidations({ }) }); - export default Ember.Component.extend(Validations, { showingFileBrowser : false, - jobXml : "", overwritePath : false, savingInProgress : false, isStackTraceVisible: false, @@ -36,7 +33,6 @@ export default Ember.Component.extend(Validations, { alertType : "", alertMessage : "", alertDetails : "", - filePath : "", showErrorMessage: false, saveJobService : Ember.inject.service('save-job'), displayName : Ember.computed('type', function(){ @@ -48,15 +44,23 @@ export default Ember.Component.extend(Validations, { return "Bundle"; } }), - initialize :function(){ - this.set("jobXml", this.get("jobConfigs").xml); - this.set('filePath', Ember.copy(this.get('jobFilePath'))); + jobXml : Ember.computed('jobConfigs', function(){ + return this.get('jobConfigs.xml'); + }), + jobJson : Ember.computed('jobConfigs', function(){ + return this.get('jobConfigs.json'); + }), + filePath : Ember.computed.oneWay('jobFilePath',function(){ + return Ember.copy(this.get('jobFilePath')); + }), + initialize : function(){ + this.set('overwritePath', true); }.on('init'), rendered : function(){ this.$("#configureJob").on('hidden.bs.modal', function () { - this.sendAction('closeJobConfigs'); + this.sendAction('close'); }.bind(this)); - this.$("#configureJob").modal("show"); + this.$("#configureJob").modal("show"); }.on('didInsertElement'), showNotification(data){ if (!data){ @@ -79,12 +83,10 @@ export default Ember.Component.extend(Validations, { }, saveJob(){ var url = Ember.ENV.API_URL + "/saveWorkflowDraft?app.path=" + this.get("filePath") + "&overwrite=" + this.get("overwritePath"); - var workflowData = this.get("jobXmlJSONStr"); - this.saveWfJob(url, workflowData); + this.saveWfJob(url, this.get("jobJson")); if(!this.get('isDraft')){ url = Ember.ENV.API_URL + "/saveWorkflow?app.path=" + this.get("filePath") + "&overwrite=" + this.get("overwritePath"); - workflowData = this.get("jobXml"); - this.saveWfJob(url, workflowData); + this.saveWfJob(url, this.get("jobXml")); } }, saveWfJob(url, workflowData) { @@ -95,7 +97,7 @@ export default Ember.Component.extend(Validations, { "message": "Workflow have been saved" }); self.set("savingInProgress",false); - self.sendAction("saveFileinfo", this.get("filePath"), this.get("overwritePath")); + this.set('jobFilePath', this.get('filePath')); }.bind(this)).catch(function(response){ console.log(response); self.set("savingInProgress",false); @@ -106,7 +108,6 @@ export default Ember.Component.extend(Validations, { "details": self.getParsedErrorResponse(response), "stackTrace": self.getStackTrace(response.responseText) }); - self.sendAction("saveFileinfo", self.get("filePath"), self.get("overwritePath")); }); }, getStackTrace(data){ @@ -157,11 +158,11 @@ export default Ember.Component.extend(Validations, { this.set("showingFileBrowser",false); }, saveWorkflow(){ - if(!this.get("validations.isInvalid")){ - this.sendAction("setFilePath", this.get("filePath")); - this.set('showErrorMessage', true); - this.saveJob(); - } + if(this.get('validations.isInvalid')){ + this.set('showErrorMessage', true); + return; + } + this.saveJob(); }, closePreview(){ this.set("showingPreview",false); http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js index 0bb2fb8..4cc89ef 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js @@ -343,7 +343,12 @@ var FSActionJobHandler=ActionJobHandler.extend({ init(){ this.mapping=[ {xml:"name-node",domain:"nameNode"}, - {xml:"configuration",customHandler:this.configurationMapper} + {xml:"configuration", customHandler:this.configurationMapper}, + {xml:"delete"}, + {xml:"mkdir"}, + {xml:"move"}, + {xml:"touchz"}, + {xml:"chgrp"} ]; }, handle(nodeDomain,nodeObj,nodeName){ http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/bundle-config.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/bundle-config.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/bundle-config.hbs index 249877b..8b42447 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/bundle-config.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/bundle-config.hbs @@ -39,6 +39,11 @@ </a> </li> <li> + <a class="pointer" href="#" data-toggle="modal" data-target="#ConfirmDialog" title="Reset Bundle" {{action "confirmReset"}}> + <i class="fa fa-refresh marginright5"></i>Reset + </a> + </li> + <li> <a class="pointer" href="#" data-toggle="modal" title="Preview Xml" {{action "preview"}}> <i class="fa fa-eye marginright5"></i>Preview xml </a> @@ -46,17 +51,17 @@ </ul> </div> <div class="btn-group" role="group" aria-label="..."> - <button type="button" class="btn btn-default" data-toggle="modal" data-target="#ConfirmDialog" title="New Workflow" {{action "confirmReset"}}> - <i class="fa fa-refresh"> Reset</i> - </button> <button type="button" class="btn btn-default" title="Bundle Versions" {{action "showVersionSettings" true}}> <i class="fa fa-cog marginright5"></i>Versions </button> <button id="import-bundle-test" type="button" class="btn btn-default hide" title="Import Bundle Test" {{action "importBundleTest"}}> <i class="fa fa-download"></i> </button> + <button id="save-bundle" type="button" class="btn btn-default" title="Save coordinator in HDFS" {{action "save"}}> + <i class="fa fa-floppy-o"></i> Save + </button> <button type="button" class="btn btn-primary" title="Submit Bundle" {{action "submitBundle"}}> - <i class="fa fa-upload"> Submit</i> + <i class="fa fa-upload"></i> Submit </button> </div> </div> @@ -132,3 +137,6 @@ {{#if showVersionSettings}} {{bundle-version-settings bundle=bundle showVersionSettings="showVersionSettings" }} {{/if}} +{{#if showingSaveWorkflow}} + {{save-wf type='wf' close="closeSave" jobFilePath=bundleFilePath openFileBrowser="openFileBrowser" closeFileBrowser="closeFileBrowser" jobConfigs=configForSave}} +{{/if}} http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/coord-config.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/coord-config.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/coord-config.hbs index 7ee7ecd..f906fd5 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/coord-config.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/coord-config.hbs @@ -38,6 +38,11 @@ <i class="fa fa-download"> Import</i> </a> </li> + <li> + <a class="pointer" href="#" data-toggle="modal" data-target="#ConfirmDialog" title="Reset Coordinator" {{action "confirmReset"}}> + <i class="fa fa-refresh marginright5"></i>Reset + </a> + </li> <li> <a class="pointer" href="#" data-toggle="modal" title="Preview Xml" {{action "preview"}}> <i class="fa fa-eye marginright5"></i>Preview xml @@ -45,21 +50,33 @@ </li> </ul> </div> + <div class="dropdown inlineBlock"> + <button class="btn btn-default dropdown-toggle borderRightRadiusNone" type="button" data-toggle="dropdown"><i class="fa fa-cog marginright5"></i>Settings + <span class="caret"></span></button> + <ul class="dropdown-menu"> + <li> + <a class="pointer" title="Import workflow" title="Parameters Configuration" {{action "showParameterSettings" true}}> + <i class="fa fa-cog marginright5"></i>Parameters + </a> + </li> + <li> + <a class="pointer" href="#" data-toggle="modal" data-target="#control-dialog" title="Coordinator Controls" {{action "showControlConfig"}}> + <i class="fa fa-wrench marginright5"></i>Controls + </a> + </li> + <li> + <a class="pointer" href="#" title="Coordinator Versions" {{action "showVersionSettings" true}}> + <i class="fa fa-cog marginright5"></i>Versions + </a> + </li> + </ul> + </div> <div class="btn-group" role="group" aria-label="..."> - <button type="button" class="btn btn-default" data-toggle="modal" data-target="#ConfirmDialog" title="New Workflow" {{action "confirmReset"}}> - <i class="fa fa-refresh"> Reset</i> - </button> <button id="import-test" type="button" class="btn btn-default hide" title="Import coordinator Test" {{action "importCoordinatorTest"}}> <i class="fa fa-download"></i> </button> - <button type="button" class="btn btn-default" title="Parameters Configuration" {{action "showParameterSettings" true}}> - <i class="fa fa-cog marginright5"></i>Parameters - </button> - <button type="button" class="btn btn-default" data-toggle="modal" data-target="#control-dialog" title="Coordinator Controls" {{action "showControlConfig"}}> - <i class="fa fa-wrench marginright5"></i>Controls - </button> - <button type="button" class="btn btn-default" title="Coordinator Versions" {{action "showVersionSettings" true}}> - <i class="fa fa-cog marginright5"></i>Versions + <button id="save-coord" type="button" class="btn btn-default" title="Save coordinator in HDFS" {{action "save"}}> + <i class="fa fa-floppy-o"></i> Save </button> <button type="button" class="btn btn-primary" title="Submit Coordinator" {{action "submitCoordinator"}}> <i class="fa fa-upload marginright5"></i>Submit @@ -360,3 +377,6 @@ okBtnText="Continue" cancelBtnText="Cancel" onOk="resetCoordinator"}}{{/confirma </div> </div> {{/if}} +{{#if showingSaveWorkflow}} + {{save-wf type='wf' close="closeSave" jobFilePath=coordinatorFilePath openFileBrowser="openFileBrowser" closeFileBrowser="closeFileBrowser" jobConfigs=configForSave}} +{{/if}} http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs index 01356b2..80af968 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs @@ -37,9 +37,6 @@ <span class="caret"></span></button> <ul class="dropdown-menu"> <li> - <!--a class="pointer" title="Save Draft" {{action "saveAsDraft"}}> - <i class="fa fa-download marginright5"></i>Save As Draft - </a--> <a class="pointer" title="Import workflow from HDFS" {{action "showFileBrowser"}}> <i class="fa fa-download marginright5"></i>Import from HDFS </a> @@ -48,11 +45,10 @@ <i class="fa fa-download marginright5"></i>Import from Local FS {{/file-picker}} </a> - <a class="pointer" title="Save workflow" {{action "saveWorkflow" "save"}}> - <i class="fa fa-floppy-o marginright5"></i>Save - </a> - <a class="pointer" title="Save as draft" {{action "saveWorkflow" "saveDraft"}}> - <i class="fa fa-floppy-o marginright5"></i>Save As Draft + </li> + <li> + <a class="pointer" data-toggle="modal" data-target="#ConfirmDialog" title="Reset Workflow" {{action "conirmCreatingNewWorkflow"}}> + <i class="fa fa-refresh marginright5"></i> Reset Workflow </a> </li> <li> @@ -80,26 +76,6 @@ <i class="fa fa-download"></i> </button> <div class="btn-group"> - <div class="dropdown"> - <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"><i class="fa fa-refresh marginright5"></i>Reset - <span class="caret"></span></button> - <ul class="dropdown-menu"> - <li> - <a class="pointer" data-toggle="modal" data-target="#ConfirmDialog" title="Reset Workflow" {{action "conirmCreatingNewWorkflow"}}> - Reset Workflow - </a> - </li> - {{#if useCytoscape}} - <li> - <a class="pointer" title="Reset Layout" {{action "resetLayout"}}> - Reset Layout - </a> - </li> - {{/if}} - </ul> - </div> - </div> - <div class="btn-group"> <div class="btn-group"> <div class="dropdown"> <button class="btn btn-default dropdown-toggle borderRightRadiusNone" type="button" data-toggle="dropdown"><i class="fa fa-ban marginright5"></i>Kill Nodes @@ -143,24 +119,9 @@ </ul> </div> </div> - <!--div class="btn-group"> - <div class="dropdown"> - <button class="btn btn-default dropdown-toggle borderRadiusNone" type="button" data-toggle="dropdown"><i class="marginright5"></i>More - <span class="caret"></span></button> - <ul class="dropdown-menu"> - <li> - <a href="#" data-toggle="modal" data-target="#previewModal" title="Preview workflow" {{action "previewWorkflow"}}> - <i class="fa fa-eye marginright5"></i>Preview xml - </a> - </li> - <li> - <a href="javascript:void(0)" data-toggle="modal" title="Download workflow" {{action "downloadWorkflowXml"}}> - <i class="fa fa-download marginright5"></i>Download xml - </a> - </li> - </ul> - </div> - </div--> + <button id="import-workflow-test" type="button" class="btn btn-default" title="Save Workflow in HDFS" {{action "saveWorkflow" "save"}}> + <i class="fa fa-floppy-o"></i> Save + </button> <button type="button" class="btn btn-default" title="Validate workflow" {{action "dryRunWorkflow"}}> <i class="fa fa-play marginright5"></i>Validate </button> @@ -291,10 +252,10 @@ <i class="fa fa-upload"></i> </span> <span class="overlay-hdfs-asset-import-icon" title="Import asset from HDFS" {{action "showActionSettingsFileBrowser"}}> - <i class="fa fa-cloud-download"></i> + <i class="fa fa-cloud-download"></i> </span> <span class="overlay-hdfs-asset-export-icon" title="Publish Asset to HDFS" {{action "showExportActionNodeFileBrowser"}}> - <i class="fa fa-cloud-upload"></i> + <i class="fa fa-cloud-upload"></i> </span> </div> {{decision-add-branch node=node registerAddBranchAction="registerAddBranchAction" addDecisionBranch="addDecisionBranch" workflow=workflow}} @@ -318,7 +279,7 @@ {{workflow-action-editor actionType=currentAction closeActionEditor="closeActionEditor" setNodeTransitions="setNodeTransitions" actionModel=currentNode.domain nodeType=currentNode.type currentNode=currentNode killNodes=workflow.killNodes credentials=workflow.credentials}} {{/if}} {{#if showingSaveWorkflow}} - {{save-wf type='wf' saveFileinfo="saveFileinfo" closeJobConfigs="closeWorkflowSubmitConfigs" jobFilePath=workflowFilePath openFileBrowser="openFileBrowser" closeFileBrowser="closeFileBrowser" jobConfigs=workflowSubmitConfigs setFilePath="setFilePath" isDryrun=dryrun isDraft=isDraft jobXmlJSONStr=jobXmlJSONStr}} + {{save-wf type='wf' close="closeSaveWorkflow" jobFilePath=workflowFilePath openFileBrowser="openFileBrowser" closeFileBrowser="closeFileBrowser" jobConfigs=configForSave}} {{/if}} {{#if showingWorkflowConfigProps}} {{job-config type='wf' closeJobConfigs="closeWorkflowSubmitConfigs" jobFilePath=workflowFilePath openFileBrowser="openFileBrowser" closeFileBrowser="closeFileBrowser" jobConfigs=workflowSubmitConfigs isDryrun=dryrun}} http://git-wip-us.apache.org/repos/asf/ambari/blob/684c9e64/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs index 65bac42..913dc04 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs @@ -69,7 +69,7 @@ <span class="pull-left">Saving {{displayName}}</span> {{/if}} <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> - <button type="button" class="btn btn-primary" {{action "saveWorkflow"}}>Submit</button> + <button type="button" class="btn btn-primary" {{action "saveWorkflow"}}>Save</button> </div> </div> </div>