ep_med
Version:
Adds Mathematical equation editor to etherpad-lite
102 lines (80 loc) • 3.53 kB
JavaScript
var _ = require('ep_etherpad-lite/static/js/underscore');
var eejs = require('ep_etherpad-lite/node/eejs');
var settings = require('ep_etherpad-lite/node/utils/Settings');
// CommonJS
if (typeof (require) != 'undefined') {
if (typeof (Ace2Common) == 'undefined') {
Ace2Common = require('ep_etherpad-lite/static/js/ace2_common');
}
if (typeof (Changeset) == 'undefined') {
Changeset = require('ep_etherpad-lite/static/js/Changeset');
}
}
exports.eejsBlock_editbarMenuLeft = function (hook_name, args, cb) {
console.log("eejsBlock_editbarMenuLeft");
args.content = args.content + eejs.require("ep_med/templates/medEditbarButtons.ejs", {}, module);
return cb();
};
exports.aceInitInnerdocbodyHead = function (hook_name, args, cb) {
args.iframeHTML.push('<link rel="stylesheet" type="text/css" href="/static/plugins/ep_med/static/css/med.css"/>');
};
// Bind the event handler to the toolbar buttons
exports.postAceInit = function (hook, context) {
function loadFormattedTex(){
//This function called automatically.
//Load data from opener window and assign data to "value" variable ex)
//var formattedTex = loadFromFormattedTex();
var formattedTex = "";
//Don't modify below code.
pencil_load_history_data(formattedTex);
}
function pencil_close() {
window.close();
}
var swf_name = "Pencil_publicedition";
function pencil_ref(){
return document.getElementById(swf_name);
}
function pencil_load_history_data(data){
pencil_ref().pencil_load_history_data(data);
}
function pencil_init_focus(){
pencil_ref().focus();
loadFormattedTex();
}
function getFlashvars(){
var language = "en_US";
if(navigator){
if(navigator.language) language = navigator.language;
else if(navigator.browserLanguage) language = navigator.browserLanguage;
else if(navigator.systemLanguage) language = navigator.systemLanguage;
else if(navigator.userLanguage) language = navigator.userLanguage;
else;
}
if(language.substring(0, 2) != "ko" && language.substring(0, 2) != "en") language = "en_US"
return {
"service" : "daumEquationEditor",
"locale" : language
};
}
var params = {};
params.quality = "high";
params.bgcolor = "#000000";
params.allowscriptaccess = "always";
params.allowfullscreen = "false";
params.allowNetworking = "all";
var attributes = {};
attributes.id = swf_name;
attributes.name = swf_name;
attributes.align = "middle";
if(swfobject){
swfobject.embedSWF("pencil.swf", "flashContent","100%", "100%", "10.0.0", "", getFlashvars(), params, attributes);
}
swfobject.createCSS("#flashContent", "display:block;");
$.createMedToolbar = function () {
console.log(" In createMedToolbar ... " );
args.iframeHTML.push("<object data='pencil.swf' name='Pencil_publicedition' id='Pencil_publicedition' type='application/x-shockwave-flash' height='100%' width='100%' align='middle'><param value='high' name='quality'> <param value='#000000' name='bgcolor'> <param value='always' name='allowscriptaccess'> <param value='false' name='allowfullscreen'> <param value='all' name='allowNetworking'> <param value='service=daumEquationEditor&locale=en-US' name='flashvars'> </object>");
};
$('#med-menu').click($.createMedToolbar);
$.createMedToolbar();
};