Stable svg-edit URL changed upstream
[mirrors/DokuWiki-Plugin-SVGEdit.git] / script.js
CommitLineData
380e0f55 1var svgeditor_path = 'http://svg-edit.googlecode.com/svn/branches/stable/editor/'; //online stable
b3a6ad9d
H
2//var svgeditor_path = 'http://svg-edit.googlecode.com/svn/trunk/editor/'; //online latest (unstable)
3//var svgeditor_path = DOKU_BASE+'lib/plugins/svgedit/svg-edit/'; //offline
4
5//load embedapi.js
6var head = document.getElementsByTagName("head")[0];
7script = document.createElement('script');
8script.type = 'text/javascript';
9script.src = svgeditor_path + 'embedapi.js';
10head.appendChild(script);
11
12function svgedit_load() {
13 var field = $('wiki__text');
14 if (!field)
15 return;
16 var timeout = setTimeout('svgedit_load();', 500); //load ASAP
17 window.svgedit.setSvgString(field.value) (function(a) {
18 clearTimeout(timeout);
19 }
20 );
21}
22function svgedit_save(page) {
23 window.svgedit.getSvgString()(function(data) {
24 var field = $('wiki__text');
25 if (!field) return;
26 field.value = data; if (page) {
27 field = $('edbtn__save'); field.click();}
28 }
29 ) ;
30}
31
32function showhide(elem) {
33 elem.style.display = (elem.style.display == 'none' ? '' : 'none');
34}
35
36function insertAfter(newNode, preNode) {
37 if (preNode.nextSibling)
38 preNode.parentNode.insertBefore(newNode, preNode.nextSibling);
39 else
40 preNode.parentNode(newNode);
41}
42
43var svgedit = null;
44function svgedit_init() {
45 var field = $('wiki__text');
46 if (!field)
47 return;
48
49 //toggle view
50 showhide(field);
51 showhide($('tool__bar'));
52 showhide($('edbtn__save'));
53
54 //lock
55 if ($('svg__edit'))
56 return;
57
58 //create iframe
59
60 var el = document.createElement('iframe');
61 el.setAttribute("src", svgeditor_path + 'svg-editor.html');
62 el.setAttribute("id", "svg__edit");
63 el.setAttribute("name", "svg__edit");
64 el.setAttribute("frameborder", "0");
65 el.setAttribute("width", "100%");
66 el.setAttribute("height", "70%");
67 el.setAttribute("style", "min-height: 400px;");
68 insertAfter(el, field);
69
70 //create save button
71 field = $('edbtn__save');
72 if (!field)
73 return;
74 el = document.createElement('input');
75 el.setAttribute("type", "button");
76 el.setAttribute("onclick", "svgedit_save(true)");
77 el.setAttribute("value", "SVG-SAVE");
78 el.setAttribute("title", "Save SVG to server");
79 el.setAttribute("class", "button");
80 field.parentNode.insertBefore(el, field);
81
82 el = document.createElement('input');
83 el.setAttribute("type", "button");
84 el.setAttribute("onclick", "svgedit_load()");
85 el.setAttribute("value", "TXT->SVG");
86 el.setAttribute("title", "Copy SVG from textarea to svg-editor");
87 el.setAttribute("class", "button");
88 field.parentNode.insertBefore(el, field);
89
90 el = document.createElement('input');
91 el.setAttribute("type", "button");
92 el.setAttribute("onclick", "svgedit_save()");
93 el.setAttribute("value", "SVG->TXT");
94 el.setAttribute("title", "Copy SVG from svg-editor to textarea");
95 el.setAttribute("class", "button");
96 field.parentNode.insertBefore(el, field);
97
98 //create embedapi
99 window.svgedit = new embedded_svg_edit($('svg__edit'));
100
101 //load image
102 svgedit_load();
103}
104
105addInitEvent(function() {
106 if (!$('wiki__text') || $('wiki__text').readOnly) return;
107 var field = $('tool__bar');
108 if (!field) return;
109 field.style.float = 'left';
110 var el = document.createElement('button');
111 el.setAttribute("id", "TZT");
112 el.setAttribute("class", "toolbutton");
113 el.setAttribute("onclick", "svgedit_init();");
114 el.setAttribute("title", "Edit this page as SVG!");
115 el.setAttribute("style", "float: left;");
116 field.parentNode.insertBefore(el, field);
117 el.appendChild(document.createTextNode("SVG"));
118 var el = document.createElement('br');
119 el.setAttribute('style', "clear: left;");
120 field.appendChild(el);}) ;
This page took 0.15564 seconds and 4 git commands to generate.