CPAN-Testers-WWW-Wiki
view release on metacpan or search on metacpan
vhost/html/js/tiny_mce/tiny_mce_src.js view on Meta::CPAN
if (t.selection)
t.selection = t.selection.win = t.selection.dom = t.selection.dom.doc = null;
t.destroyed = 1;
},
// Internal functions
_addEvents : function() {
// 'focus', 'blur', 'dblclick', 'beforedeactivate', submit, reset
var t = this, i, s = t.settings, lo = {
mouseup : 'onMouseUp',
mousedown : 'onMouseDown',
click : 'onClick',
keyup : 'onKeyUp',
keydown : 'onKeyDown',
keypress : 'onKeyPress',
submit : 'onSubmit',
reset : 'onReset',
contextmenu : 'onContextMenu',
dblclick : 'onDblClick',
paste : 'onPaste' // Doesn't work in all browsers yet
};
function eventHandler(e, o) {
var ty = e.type;
// Don't fire events when it's removed
if (t.removed)
return;
// Generic event handler
if (t.onEvent.dispatch(t, e, o) !== false) {
// Specific event handler
t[lo[e.fakeType || e.type]].dispatch(t, e, o);
}
};
// Add DOM events
each(lo, function(v, k) {
switch (k) {
case 'contextmenu':
if (tinymce.isOpera) {
// Fake contextmenu on Opera
Event.add(t.getBody(), 'mousedown', function(e) {
if (e.ctrlKey) {
e.fakeType = 'contextmenu';
eventHandler(e);
}
});
} else
Event.add(t.getBody(), k, eventHandler);
break;
case 'paste':
Event.add(t.getBody(), k, function(e) {
var tx, h, el, r;
// Get plain text data
if (e.clipboardData)
tx = e.clipboardData.getData('text/plain');
else if (tinymce.isIE)
tx = t.getWin().clipboardData.getData('Text');
// Get HTML data
/*if (tinymce.isIE) {
el = DOM.add(DOM.doc.body, 'div', {style : 'visibility:hidden;overflow:hidden;position:absolute;width:1px;height:1px'});
r = DOM.doc.body.createTextRange();
r.moveToElementText(el);
r.execCommand('Paste');
h = el.innerHTML;
DOM.remove(el);
}*/
eventHandler(e, {text : tx, html : h});
});
break;
case 'submit':
case 'reset':
Event.add(t.getElement().form || DOM.getParent(t.id, 'form'), k, eventHandler);
break;
default:
Event.add(s.content_editable ? t.getBody() : t.getDoc(), k, eventHandler);
}
});
Event.add(s.content_editable ? t.getBody() : (isGecko ? t.getDoc() : t.getWin()), 'focus', function(e) {
t.focus(true);
});
// Fixes bug where a specified document_base_uri could result in broken images
// This will also fix drag drop of images in Gecko
if (tinymce.isGecko) {
// Convert all images to absolute URLs
/* t.onSetContent.add(function(ed, o) {
each(ed.dom.select('img'), function(e) {
var v;
if (v = e.getAttribute('mce_src'))
e.src = t.documentBaseURI.toAbsolute(v);
})
});*/
Event.add(t.getDoc(), 'DOMNodeInserted', function(e) {
var v;
e = e.target;
if (e.nodeType === 1 && e.nodeName === 'IMG' && (v = e.getAttribute('mce_src')))
e.src = t.documentBaseURI.toAbsolute(v);
});
}
// Set various midas options in Gecko
if (isGecko) {
function setOpts() {
var t = this, d = t.getDoc(), s = t.settings;
if (isGecko && !s.readonly) {
if (t._isHidden()) {
vhost/html/js/tiny_mce/tiny_mce_src.js view on Meta::CPAN
return '';
} else {
d.pop();
if (d.length && d[d.length - 1].close) {
a = a + '</' + d[d.length - 1].tag + '>';
d.pop();
}
}
} else {
// Ignore these
if (/^(br|hr|input|meta|img|link|param)$/i.test(c))
return a;
// Ignore closed ones
if (/\/>$/.test(a))
return a;
d.push({tag : c}); // Push start element
}
return a;
});
// End all open tags
for (i=d.length - 1; i>=0; i--)
s += '</' + d[i].tag + '>';
return s;
}
});
})();
/* file:jscripts/tiny_mce/classes/EditorCommands.js */
(function() {
var each = tinymce.each, isIE = tinymce.isIE, isGecko = tinymce.isGecko, isOpera = tinymce.isOpera, isWebKit = tinymce.isWebKit;
function isBlock(n) {
return /^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP)$/.test(n.nodeName);
};
tinymce.create('tinymce.EditorCommands', {
EditorCommands : function(ed) {
this.editor = ed;
},
execCommand : function(cmd, ui, val) {
var t = this, ed = t.editor, f;
switch (cmd) {
case 'Cut':
case 'Copy':
case 'Paste':
try {
ed.getDoc().execCommand(cmd, ui, val);
} catch (ex) {
if (isGecko) {
ed.windowManager.confirm(ed.getLang('clipboard_msg'), function(s) {
if (s)
window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
});
} else
ed.windowManager.alert(ed.getLang('clipboard_no_support'));
}
return true;
// Ignore these
case 'mceResetDesignMode':
case 'mceBeginUndoLevel':
return true;
// Ignore these
case 'unlink':
t.UnLink();
return true;
// Bundle these together
case 'JustifyLeft':
case 'JustifyCenter':
case 'JustifyRight':
case 'JustifyFull':
t.mceJustify(cmd, cmd.substring(7).toLowerCase());
return true;
case 'mceEndUndoLevel':
case 'mceAddUndoLevel':
ed.undoManager.add();
return true;
default:
f = this[cmd];
if (f) {
f.call(this, ui, val);
return true;
}
}
return false;
},
Indent : function() {
var ed = this.editor, d = ed.dom, s = ed.selection, e, iv, iu;
// Setup indent level
iv = ed.settings.indentation;
iu = /[a-z%]+$/i.exec(iv);
iv = parseInt(iv);
if (ed.settings.inline_styles && (!this.queryStateInsertUnorderedList() && !this.queryStateInsertOrderedList())) {
each(this._getSelectedBlocks(), function(e) {
d.setStyle(e, 'paddingLeft', (parseInt(e.style.paddingLeft || 0) + iv) + iu);
});
return;
}
ed.getDoc().execCommand('Indent', false, null);
if (isIE) {
d.getParent(s.getNode(), function(n) {
if (n.nodeName == 'BLOCKQUOTE') {
( run in 1.260 second using v1.01-cache-2.11-cpan-84e82930d8c )