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: webclipbinding.js,v 1.6.2.3 2010/04/06 16:46:12 source Exp $
*
* This file is part of the OpenLink Software Ajax Toolkit (OAT) project.
*
* Copyright (C) 2005-2010 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() */
}
|