| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- if (!Array.prototype.indexOf) {
- Array.prototype.indexOf = function(a) {
- var b = this.length >>> 0;
- var c = Number(arguments[1]) || 0;
- c = c < 0 ? Math.ceil(c) : Math.floor(c);
- if (c < 0) c += b;
- for (; c < b; c++) {
- if (c in this && this[c] === a) return c;
- }
- return -1;
- };
- }
- if (!Array.prototype.remove) {
- Array.prototype.remove = function(a) {
- var b = $.inArray(a, this);
- if (b > -1) {
- this.splice(b, 1);
- }
- };
- }
- if (!Object.getOwnPropertyNames) {
- Object.getOwnPropertyNames = function(a) {
- var b = [];
- for (var c in a) {
- b.push(c);
- }
- return b;
- };
- }
- var xmldata = {};
- $(function() {
- $.getJSON("../config/serverConfig.json", function(data) {
- if (data) {
- $.getJSON(data.IVR_API + "Home/GetIvrFileText", function(data) {
- if (data.state == "success") {
- if (data.data) {
- load(data.data);
- }
- }
- $("#myflow").myflow({
- basePath: "",
- allowStateMutiLine: true,
- restore: xmldata,
- tools: {
- save: function(a, b) {
- //console.log(a);
- $.post(
- data.IVR_API + "Home/SaveIvrFile",
- { text: btoa(encodeURI(a)) },
- function(data) {
- if (data.state == "success") {
- alert("����ɹ�");
- } else {
- alert("����ʧ��");
- }
- }
- );
- }
- }
- });
- });
- }
- });
- });
- function load(data) {
- xmldata = {
- paths: {},
- props: {
- props: {}
- },
- states: {}
- };
- $xml = $($.parseXML(data));
- var k = $xml.find("flow")[0];
- $(k.attributes).each(function(i, n) {
- xmldata.props.props[n.name] = {
- value: n.value
- };
- });
- var o = 0;
- $(k.childNodes).each(function(i, m) {
- if (m.attributes) {
- var d = $(m).attr("Pos");
- var e = {};
- var f = parseInt(o / 5),
- ys = o % 5;
- var g = {
- x: 200 + (f % 2 == 0 ? ys : 4 - ys) * 200,
- y: 50 + f * 150
- };
- $(m.attributes).each(function(i, l) {
- var a = l.name,
- value = l.value;
- if (a == "X") {
- g.x = value;
- } else if (a == "Y") {
- g.y = value;
- } else if ((a.indexOf("Pos") != -1 && a != "Pos") || a == "Next") {
- var b = "path" + d + "_" + value;
- if (xmldata.paths[b]) {
- xmldata.paths[b].props.text.value += "," + a;
- } else {
- var c = {
- from: "rect" + d,
- to: "rect" + value,
- text: {
- text: ""
- },
- dots: [],
- props: {
- text: {
- value: a
- }
- },
- textPos: {
- x: 0,
- y: -10
- }
- };
- xmldata.paths[b] = c;
- }
- } else if (a != "Pos" && a != "Name") {
- e[a] = {
- value: value
- };
- }
- });
- if (m.childNodes.length > 0) {
- if (m.firstElementChild) {
- var h = m.firstElementChild.tagName;
- var j = [];
- $(m.childNodes).each(function(i, p) {
- if (p.attributes) {
- var a = {};
- if (h != "Branch") {
- $(p.attributes).each(function(i, q) {
- a[q.name] = q.value;
- });
- } else {
- a["Value"] = $(p).attr("Value");
- if ($(p).attr("Pos")) {
- var b = "path" + d + "_" + $(p).attr("Pos");
- if (xmldata.paths.hasOwnProperty(b)) {
- xmldata.paths[b].props.text.value +=
- "," + $(p).attr("Value");
- } else {
- var c = {
- from: "rect" + d,
- to: "rect" + $(p).attr("Pos"),
- text: {
- text: $(p).attr("Value")
- },
- dots: [],
- props: {
- text: {
- value: $(p).attr("Value")
- }
- },
- textPos: {
- x: 0,
- y: -10
- }
- };
- xmldata.paths[b] = c;
- }
- }
- }
- j.push(a);
- }
- });
- e[h] = {
- value: JSON.stringify(j)
- };
- }
- }
- xmldata.states["rect" + d] = {
- props: e,
- text: {
- text: $(m).attr("Note")
- },
- type: $(m).attr("Name"),
- attr: g
- };
- o++;
- }
- });
- }
|