';
settingPageDisplay('图像设置 Image Setting',html,function(){
var width = getNodeById("medit-settingPage-image-width").value;
if(width && width>0){
node.setAttribute("width",width);
}
var height = getNodeById("medit-settingPage-image-height").value;
if(height && height>0){
node.setAttribute("height",height);
}
var newAddress = getNodeById("medit-settingPage-image-address").value;
if(address != newAddress){ // 传入网络图片需要进行宽高转换
getNodeById("medit-settingPage-button").style.display = "none";
getNodeById("medit-settingPage-content").innerHTML = "Loading Image...";
var newImg = new Image();
newImg.src = newAddress;
newImg.onload = function(){
var scale = newImg.width/ newImg.height;
if(newImg.width>100){
newImg.width = 100;
newImg.height = 100/scale;
}
settingPage.style.display = "none";
node.setAttribute("src",newAddress);
node.setAttribute("width",newImg.width);
node.setAttribute("height",newImg.height);
}
}else{
settingPage.style.display = "none";
}
});
}
},
{
name: "biger",
icon: meditToolImage + "images/image/biger.png",
doWhat: function(node){
var width = node.getAttribute("width");
var height = node.getAttribute("height");
node.setAttribute("width",Math.ceil(width*1.1));
node.setAttribute("height",Math.ceil(height*1.1));
}
},
{
name: "smaller",
icon: meditToolImage + "images/image/smaller.png",
doWhat: function(node){
var width = node.getAttribute("width");
var height = node.getAttribute("height");
node.setAttribute("width",Math.ceil(width/1.1));
node.setAttribute("height",Math.ceil(height/1.1));
}
},
{
name: "upload",
icon: meditToolImage + "images/image/upload.png",
doWhat: function(node){
var config = container[meditId].imageUpload;
var html = '
选择图片 Select Image
';
settingPageDisplay('图像上传 Image upload',html,function(){
var files = getNodeById("medit-image-upload-file");
if(files.files.length <=0){
return;
}
var file = files.files[0];
var size = file.size;
var name = file.name;
var type = file.type;
var config = container[meditId].imageUpload;
var ext = {};
config.ext && config.ext.forEach(function(v){ ext[commonImageType[v]] = true; });
if(config.size == 0 || config.size>=size){
if(!config.ext || ext[type]){
var http = getXhr();
var form = new FormData(getNodeById("medit-image-upload-form"));
getNodeById("medit-settingPage-button").style.display = "none";
getNodeById("medit-settingPage-content").innerHTML = '
图片上传中 Image uploading...
';
http.upload.onprogress = function(v){
var progress = Math.floor(100*v.loaded/v.total) + "%";
var success = "";
if(progress == "100%") success ="上传成功,请稍后...
upload success,please waiting...";
getNodeById("medit-settingPage-content").innerHTML = '
图片上传中 Image uploading...'+ progress +' '+success+'
';
}
Object.keys(config.params).map(function(key) {
form.append(key, config.params[key]);
});
http.open("POST",config.path);
http.send(form);
http.onreadystatechange = function(){
if(http.readyState === 4){
if(http.status === 200 || http.status>200 && http.status<400){
var res = JSON.parse(http.responseText);
if(res.code == "success"){
config.success(res);
var scale = res.data.width/ res.data.height;
if(res.data.width>100){
res.data.width = 100;
res.data.height = 100/scale;
}
settingPage.style.display = "none";
node.setAttribute("src",res.data.url);
node.setAttribute("width",res.data.width);
node.setAttribute("height",res.data.height);
}
}else{
config.error("http status " + http.status);
}
}
}
}else{ config.error("image type limit "+config.ext.join(",")); }
}else{ config.error("image size limit "+config.size); }
});
getNodeById("medit-settingPage-button-ok").innerHTML = "上传 Upload";
var btn = getNodeById("medit-image-upload-select-btn");
var fileInput = getNodeById("medit-image-upload-file");
btn.onclick = function(){
fileInput.click();
}
fileInput.onchange = function(e){
e = e || window.event;
var files=e.target.files||e.srcElement.files;
var file = files[0];
var size = file.size;
var name = file.name;
var type = file.type;
var ext = {};
config.ext && config.ext.forEach(function(v){ ext[commonImageType[v]] = true; });
if (config.size == 0 || config.size>=size){
if (!config.ext || ext[type]){
btn.innerHTML = name;
} else {
config.error("image type limit "+config.ext.join(","));
}
} else {
config.error("image size limit "+config.size);
}
}
}
},
{
name: 'verticalAlign',
icon: meditToolImage + 'images/image/vertical-align.png',
doWhat:[
{
name: 'top',
icon: meditToolImage + 'images/image/top-align.png',
doWhat:function(node){
node.style.verticalAlign = "top";
}
},
{
name: 'middle',
icon: meditToolImage + 'images/image/middle-align.png',
doWhat:function(node){
node.style.verticalAlign = "middle";
}
},
{
name: 'bottom',
icon: meditToolImage + 'images/image/bottom-align.png',
doWhat:function(node){
node.style.verticalAlign = "bottom";
}
}
]
}
]
},
"list":{
emptyNotDelete: true,
icon: meditToolImage + "images/mode/list.png",
focus:function(node){
node.setAttribute("class","medit-list");
getNodeById("medit-tool-button-mode").style.display = "none";
},
blur:function(node){
node.removeAttribute("class");
},
doWhat:function(node){
mode[node.getAttribute("data-meditmode")].blur(node);
var temNode = document.createElement("ul");
temNode.setAttribute("data-medit", "true");
temNode.setAttribute("data-meditmode", "list");
temNode.setAttribute("type", "disc");
node.parentNode.insertBefore(temNode,node);
node.parentNode.removeChild(node);
nodeFocus(temNode);
nowNode = temNode;
toolBarModeSetting("list",mode["list"].setting);
mode["list"].focus(temNode);
container[meditId].updateId();
nowMode = "list";
},
setting:[
{
name:"setting",
icon: meditToolImage + "images/list/setting.png",
doWhat:function(node){
var type = node.getAttribute("type").toLowerCase();
var nodeType = node.nodeName.toLowerCase();
var html = '
无序列表 Unorder List:
'+
'
disc 实心圆 '+
'
circle 空心圆 '+
'
square 实心方块 '+
'
有序列表 Order List:
'+
'
1、2、3、4 '+
'
a、b、c、d '+
'
A、B、C、D '+
'
i, ii, iii, iv '+
'
I, II, III, IV ';
settingPageDisplay('列表类型 List Mode',html,function(){
var radio = getNodeById("medit-settingPage-content").getElementsByTagName("input");
var input = null;
for(var i = 0; i
'+title+' ');
getNodeById("medit-settingPage-main").innerHTML = html.join("");
settingPageOk = okCallBack;
settingPage.style.display = "block";
}
var mainDo = function(degree, type, target) {
var contain = container[meditId];
var thisNode = getNodeById("medit-" + contain.nowNodeId + "-" + meditId); // 这里有个已经修复的bug,比如在超链接中,是在当前结点外部包了一层,那么thisNode需要更新到外层结点
nowMode = thisNode.getAttribute("data-meditMode");
if( mode[nowMode].selected ){
if(globalSelectionContent && globalSelectionContent.node == thisNode && globalSelectionContent.end!=globalSelectionContent.start ){ // 原生自带文本选择处理
var html = globalSelectionContent.node.innerHTML.split("");
html.splice(globalSelectionContent.end,0,'');
html.splice(globalSelectionContent.start,0,'