File: webclipbinding.js

package info (click to toggle)
virtuoso-opensource 7.2.12%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 299,780 kB
  • sloc: ansic: 655,047; sql: 508,209; xml: 269,573; java: 84,064; javascript: 79,847; cpp: 37,662; sh: 32,429; cs: 25,702; php: 12,690; yacc: 11,661; lex: 7,933; makefile: 7,309; jsp: 4,523; awk: 1,719; perl: 1,013; ruby: 1,003; python: 326
file content (43 lines) | stat: -rw-r--r-- 1,482 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
 *  $Id$
 *
 *  This file is part of the OpenLink Software Ajax Toolkit (OAT) project.
 *
 *  Copyright (C) 2005-2024 OpenLink Software
 *
 *  See LICENSE file for details.
 */
/*
	OAT.WebClipBindings.bind(div, type, toXMLcallback, fromXMLcallback, activeCallback, inactiveCallback)
*/

OAT.WebClipBindings = {
	bind:function(div, typeCallback, toXMLcallback, fromXMLcallback, activeCallback, inactiveCallback) {
		var copyCallback = function() {
			var content = new LiveClipboardContent();
			content.data.formats[0] = new DataFormat();
			content.data.formats[0].type = typeCallback();
			content.data.formats[0].contentType = "application/xhtml+xml";
			content.data.formats[0].items = new Array(1);
			content.data.formats[0].items[0] = new DataItem();
			content.data.formats[0].items[0].data = toXMLcallback();
			return content;
		} /* copyCallback */

		var pasteCallback = function(clipData) {
			var type = typeCallback();
			for (var i=0; i<clipData.data.formats.length;i++) {
				if ((clipData.data.formats[i].type == type) &&
					(clipData.data.formats[i].items.length > 0) &&
					(clipData.data.formats[i].items[0].data)) {

					var xml = clipData.data.formats[i].items[0].data;
					fromXMLcallback(xml);
					return;
				} /* if suitable format found */
			} /* for all formats in clipboard */
		} /* pasteCallback */

        var webclip = new WebClip($(div),copyCallback,pasteCallback,activeCallback,inactiveCallback);
	} /* OAT.WebClipBindings.bind() */
}