server/php/basic/public_html/static/lib/FileSaver/demo/demo.js
author ymh <ymh.work@gmail.com>
Fri, 22 May 2015 17:48:14 +0200
changeset 442 adb907bba956
permissions -rw-r--r--
add server php example
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
442
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/*! FileSaver.js demo script
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
 *  2012-01-23
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 *
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *  By Eli Grey, http://eligrey.com
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 *  License: X11/MIT
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 *    See LICENSE.md
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 */
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/demo/demo.js */
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
/*jshint laxbreak: true, laxcomma: true, smarttabs: true*/
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
/*global saveAs, self*/
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
(function(view) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
"use strict";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
// The canvas drawing portion of the demo is based off the demo at
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
// http://www.williammalone.com/articles/create-html5-canvas-javascript-drawing-app/
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
var
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
	  document = view.document
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
	, $ = function(id) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		return document.getElementById(id);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
	, session = view.sessionStorage
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
	// only get URL when necessary in case Blob.js hasn't defined it yet
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
	, get_blob = function() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
		return view.Blob;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
	, canvas = $("canvas")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	, canvas_options_form = $("canvas-options")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
	, canvas_filename = $("canvas-filename")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	, canvas_clear_button = $("canvas-clear")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
	, text = $("text")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
	, text_options_form = $("text-options")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	, text_filename = $("text-filename")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	, html = $("html")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	, html_options_form = $("html-options")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
	, html_filename = $("html-filename")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
	, ctx = canvas.getContext("2d")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
	, drawing = false
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
	, x_points = session.x_points || []
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
	, y_points = session.y_points || []
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
	, drag_points = session.drag_points || []
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	, add_point = function(x, y, dragging) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
		x_points.push(x);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
		y_points.push(y);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
		drag_points.push(dragging);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
	, draw = function(){
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
		canvas.width = canvas.width;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
		ctx.lineWidth = 6;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
		ctx.lineJoin = "round";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
		ctx.strokeStyle = "#000000";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
		var
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
			  i = 0
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
			, len = x_points.length
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
		;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
		for(; i < len; i++) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
			ctx.beginPath();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
			if (i && drag_points[i]) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
				ctx.moveTo(x_points[i-1], y_points[i-1]);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			} else {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
				ctx.moveTo(x_points[i]-1, y_points[i]);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			ctx.lineTo(x_points[i], y_points[i]);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
			ctx.closePath();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
			ctx.stroke();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
		}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
	, stop_drawing = function() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
		drawing = false;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
	// Title guesser and document creator available at https://gist.github.com/1059648
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
	, guess_title = function(doc) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
		var
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
			  h = "h6 h5 h4 h3 h2 h1".split(" ")
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
			, i = h.length
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			, headers
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
			, header_text
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
		;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
		while (i--) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
			headers = doc.getElementsByTagName(h[i]);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
			for (var j = 0, len = headers.length; j < len; j++) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
				header_text = headers[j].textContent.trim();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
				if (header_text) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
					return header_text;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
				}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
			}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
		}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	, doc_impl = document.implementation
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
	, create_html_doc = function(html) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
		var
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
			  dt = doc_impl.createDocumentType('html', null, null)
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
			, doc = doc_impl.createDocument("http://www.w3.org/1999/xhtml", "html", dt)
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
			, doc_el = doc.documentElement
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
			, head = doc_el.appendChild(doc.createElement("head"))
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
			, charset_meta = head.appendChild(doc.createElement("meta"))
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
			, title = head.appendChild(doc.createElement("title"))
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
			, body = doc_el.appendChild(doc.createElement("body"))
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
			, i = 0
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
			, len = html.childNodes.length
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
		;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		charset_meta.setAttribute("charset", html.ownerDocument.characterSet);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
		for (; i < len; i++) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
			body.appendChild(doc.importNode(html.childNodes.item(i), true));
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
		}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
		var title_text = guess_title(doc);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
		if (title_text) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
			title.appendChild(doc.createTextNode(title_text));
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
		}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
		return doc;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
canvas.width = 500;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
canvas.height = 300;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
  if (typeof x_points === "string") {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
	x_points = JSON.parse(x_points);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
} if (typeof y_points === "string") {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
	y_points = JSON.parse(y_points);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
} if (typeof drag_points === "string") {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
	drag_points = JSON.parse(drag_points);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
} if (session.canvas_filename) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
	canvas_filename.value = session.canvas_filename;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
} if (session.text) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
	text.value = session.text;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
} if (session.text_filename) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
	text_filename.value = session.text_filename;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
} if (session.html) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
	html.innerHTML = session.html;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
} if (session.html_filename) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
	html_filename.value = session.html_filename;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
drawing = true;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
draw();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
drawing = false;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
canvas_clear_button.addEventListener("click", function() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
	canvas.width = canvas.width;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
	x_points.length =
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
	y_points.length =
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
	drag_points.length =
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		0;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
canvas.addEventListener("mousedown", function(event) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
	event.preventDefault();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
	drawing = true;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
	add_point(event.pageX - canvas.offsetLeft, event.pageY - canvas.offsetTop, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
	draw();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
canvas.addEventListener("mousemove", function(event) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
	if (drawing) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
		add_point(event.pageX - canvas.offsetLeft, event.pageY - canvas.offsetTop, true);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
		draw();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
	}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
canvas.addEventListener("mouseup", stop_drawing, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
canvas.addEventListener("mouseout", stop_drawing, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
canvas_options_form.addEventListener("submit", function(event) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
	event.preventDefault();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
	canvas.toBlob(function(blob) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
		saveAs(
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
			  blob
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
			, (canvas_filename.value || canvas_filename.placeholder) + ".png"
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
		);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
	}, "image/png");
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
text_options_form.addEventListener("submit", function(event) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
	event.preventDefault();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
	var BB = get_blob();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
	saveAs(
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
		  new BB(
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
			  [text.value || text.placeholder]
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
			, {type: "text/plain;charset=" + document.characterSet}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
		)
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
		, (text_filename.value || text_filename.placeholder) + ".txt"
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
	);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
html_options_form.addEventListener("submit", function(event) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
	event.preventDefault();
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
	var
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
		  BB = get_blob()
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
		, xml_serializer = new XMLSerializer()
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
		, doc = create_html_doc(html)
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
	;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
	saveAs(
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
		  new BB(
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
			  [xml_serializer.serializeToString(doc)]
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
			, {type: "application/xhtml+xml;charset=" + document.characterSet}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
		)
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
		, (html_filename.value || html_filename.placeholder) + ".xhtml"
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
	);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
view.addEventListener("unload", function() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
	session.x_points = JSON.stringify(x_points);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
	session.y_points = JSON.stringify(y_points);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
	session.drag_points = JSON.stringify(drag_points);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
	session.canvas_filename = canvas_filename.value;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
	session.text = text.value;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
	session.text_filename = text_filename.value;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
	session.html = html.innerHTML;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
	session.html_filename = html_filename.value;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
}, false);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
}(self));