+++ /dev/null
-<template>\r
-<div class="col-md-offset-1 col-md-10" style="margin-top: 20px;">\r
- <ul class="nav nav-tabs">\r
- <li class="active"><a data-toggle="tab" data-target="#step-pane">Step</a></li>\r
- <li><a data-toggle="tab" data-target="#flow-pane">Flow</a></li>\r
- </ul>\r
- <div class="tab-content">\r
- <div id="step-pane" class="tab-pane active fade in">\r
- <br>\r
- <div class="row">\r
- <div class='col-md-12'>\r
- <step v-bind:stepList="stepList" v-on:stepList="getStepList"></step>\r
- </div>\r
- </div>\r
- </div>\r
- <div id="flow-pane" class="tab-pane fade">\r
- <br>\r
- <div class="row">\r
- <div class='col-md-12'>\r
- <div class="row">\r
- <button style='margin-left:20px; margin-bottom: 30px;' class="btn btn-success" type="button" id="new-flow" v-on:click='addSubflow'> <span class="bold">ADD FLOW</span></button>\r
- </div>\r
- <div class='row'>\r
- <div class='col-md-2'>\r
- <ul id="flow-tabs">\r
- <li class="active"><a data-toggle="tab" data-target="#flow-main">main</a></li>\r
- <li v-for="subflow in subflowList"><a data-toggle="tab" v-bind:data-target="'#' + subflow.tabId">{{ subflow.name }}</a></li>\r
- </ul>\r
- </div>\r
- <div class="col-md-10">\r
- <div class="tab-content">\r
- <div id="flow-main" class="tab-pane active fade in">\r
- <flow v-model='mainflowName' v-bind:orderList='mainOrdersList' v-bind:stepsRefs='stepNameList' v-bind:flowsRefs='flowNameList' v-on:orderList='updateOrderList($event, mainflowName)'>\r
- </flow>\r
- </div>\r
- <div v-for="subflow in subflowList" v-bind:id="subflow.tabId" class="tab-pane fade">\r
- <flow v-model='subflow.name' v-bind:orderList='subflow.orderList' v-bind:stepsRefs='stepNameList' v-bind:flowsRefs='flowNameList' v-on:orderList='updateOrderList($event, subflow.name)'></flow>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
-</div>\r
-</template>\r
-<script>\r
-import '../../assets/css/editor.css'\r
-import step from './step.vue'\r
-import flow from './flow.vue'\r
-import showMessage from '../message/showMessage.js'\r
-export default {\r
- name: 'editor',\r
- props: ['saveSignal', 'stepList', 'mainOrdersList', 'subflowList'],\r
- model: {\r
- prop: 'saveSignal',\r
- event: 'saveResponse'\r
- },\r
- data: function(){\r
- return {\r
- mainflowName: 'main'\r
- }\r
- },\r
- components: {\r
- step,\r
- flow\r
- },\r
- methods: {\r
- getStepList: function(stepList) {\r
- this.stepList = stepList;\r
- },\r
- addSubflow: function() {\r
- var tabid = "flow-" + Math.floor(Math.random()*(1000000));\r
- this.subflowList.push({'tabId': tabid, 'name': 'fake', 'orderList': []});\r
- },\r
- updateOrderList: function(orderList, flowName) {\r
- if(flowName == 'main') {\r
- this.mainOrdersList = orderList;\r
- } else {\r
- for(var i = 0; i < this.subflowList.length; ++i) {\r
- if(this.subflowList[i].name == flowName) {\r
- this.subflowList[i].orderList = orderList;\r
- }\r
- }\r
- }\r
- }\r
- },\r
- computed: {\r
- flowNameList: function() {\r
- var stepNameArr = [];\r
- for(var i = 0; i < this.subflowList.length; i++) {\r
- stepNameArr.push(this.subflowList[i].name);\r
- }\r
- console.log(stepNameArr);\r
- return stepNameArr;\r
- },\r
- stepNameList: function() {\r
- var stepNameArr = [];\r
- for(var i = 0; i < this.stepList.length; i++) {\r
- stepNameArr.push(this.stepList[i].name);\r
- }\r
- return stepNameArr;\r
- }\r
- },\r
- watch: {\r
- saveSignal: function(newVal) {\r
- if(newVal == true) {\r
- console.log("editor newVal true");\r
- var self = this;\r
- var msgTitle = "SAVE -- TESTCASE";\r
- $.ajax({\r
- url: this.global.SERVER_ADDR + "testcase/save",\r
- method: "POST",\r
- data: {\r
- suiteName: this.$route.query.suiteName,\r
- caseName: this.$route.query.caseName,\r
- stepList: JSON.stringify(this.stepList),\r
- subflowList: JSON.stringify(this.subflowList),\r
- mainOrdersList: JSON.stringify(this.mainOrdersList)\r
- },\r
- success: function(data) {\r
- console.log("ajax save content!");\r
- if(data['code'] == 200) {\r
- showMessage("success", msgTitle, "Save content successfully!");\r
- self.$emit('saveResponse', true);\r
- } else {\r
- showMessage(data['code'], msgTitle, "Failed to save content!", data['error']);\r
- self.$emit('saveResponse', false);\r
- }\r
- },\r
- error: function(obj, status, msg) {\r
- showMessage(status, msgTitle, "Failed to save content!", msg);\r
- self.$emit('saveResponse', false);\r
- }\r
- });\r
- }\r
- }\r
- }\r
-}\r
-</script>
\ No newline at end of file