///import core
///import plugins\inserthtml.js
///import plugins\cleardoc.js
///commands 模板
///commandsName template
///commandsTitle 模板
///commandsDialog dialogs\template
UE.plugins["template"] = function() {
UE.commands["template"] = {
execCommand: function(cmd, obj) {
obj.html && this.execCommand("inserthtml", obj.html);
}
};
this.addListener("click", function(type, evt) {
var el = evt.target || evt.srcElement,
range = this.selection.getRange();
var tnode = domUtils.findParent(
el,
function(node) {
if (node.className && domUtils.hasClass(node, "ue_t")) {
return node;
}
},
true
);
tnode && range.selectNode(tnode).shrinkBoundary().select();
});
this.addListener("keydown", function(type, evt) {
var range = this.selection.getRange();
if (!range.collapsed) {
if (!evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) {
var tnode = domUtils.findParent(
range.startContainer,
function(node) {
if (node.className && domUtils.hasClass(node, "ue_t")) {
return node;
}
},
true
);
if (tnode) {
domUtils.removeClasses(tnode, ["ue_t"]);
}
}
}
});
};