//#region office 公有工具栏
/*
问题
word,Excel,PPT等的共用工具栏。有些需要移动到U.UI的扩展库里面去。
1、 工具的的功能流程图
2、 工具的初始化流程图
*/
Namespace.register("U.OU");
//["Calibri (西文正文)", "宋体", "黑体", "隶书", "幼圆", "楷体", "Arial", "仿宋体", 0],
//例子:
U.OU.WF = {}; //记录所有分页可编辑区域的光标。每页一个可编辑区域,每页一个光标,则有多个,所以用数组。
U.OU.TF = { IsO: false,
"UME": [[//字体选择区域
"仿宋",
"黑体",
"华文楷体",
"华文新魏",
"华文行楷",
"楷体",
"隶书",
"宋体",
"宋体-ExtB",
"微软雅黑",
"微软雅黑",
"Angsana New",
"Arial",
"Arial Black",
"Batang",
"Book Antiqua",
"Bookman Old Style",
"Browallia New",
"Calibri",
"Calibri Light",
"Cambria",
"Candara",
"Century",
"Century Gothic",
"Century Schoolbook",
"Comic Sans MS",
"Consolas",
"Constantia",
"Corbel",
"Cordia New",
"Courier New",
"DaunPenh",
"DilleniaUPC",
"Dotum",
"Franklin Gothic Book",
"Franklin Gothic Medium",
"Garamond",
"Gautami",
"Georgia",
"Gill Sans MT",
"Gulim",
"GungSuh",
"Iskoola Pota",
"JasmineUPC",
"alinga",
"Kartika",
"Latha",
"Lucida Sans",
"Lucida Sans Unicode",
"Malgun Gothic",
"Mangal",
"Meiryo",
"Microsoft JhengHei",
"MingLiU",
"MingLiU_HKSCS",
"MS Gothic",
"MS Mincho",
"MS PGothic",
"MS PMincho",
"Nyala",
"PMingLiU",
"PMingLiU-ExtB",
"Raavi",
"Rockwell",
"Segoe UI Light",
"Shruti",
"Sylfaen",
"Tahoma",
"Times",
"Times New Roman",
"Trebuchet MS",
"Tunga", "TW Cen MT",
"Verdana",
"Vrinda"
],
[ //字号选择区域
["初号", "44pt", "58.6"],
["小初", "36pt", "48"],
["一号", "26pt", "34.6"],
["小一", "24pt", "32"],
["二号", "22pt", "29.3"],
["小二", "18pt", "24"],
["三号", "16pt", "21.3"],
["小三", "15pt", "20"],
["四号", "14pt", "18.6"],
["小四", "12pt", "16"],
["五号", "10.5pt", "14"],
["小五", "9pt", "12"],
["六号", "7.5pt", "10"],
["小六", "6.5pt", "8.6"],
["七号", "5.5pt", "7.3"],
["八号", "5pt", "6.6"]
],
[ //字体颜色区域
"#ffffff",
"#ffccc9",
"#ffce93",
"#fffc9e",
"#ffffc7",
"#9aff99",
"#96fffb",
"#cdffff",
"#cbcefb",
"#cfcfcf",
"#fd6864",
"#fe996b",
"#fffe65",
"#fcff2f",
"#67fd9a",
"#38fff8",
"#68fdff",
"#9698ed",
"#c0c0c0",
"#fe0000",
"#f8a102",
"#ffcc67",
"#f8ff00",
"#34ff34",
"#68cbd0",
"#34cdf9",
"#6665cd",
"#9b9b9b",
"#cb0000",
"#f56b00",
"#ffcb2f",
"#ffc702",
"#32cb00",
"#00d2cb",
"#3166ff",
"#6434fc",
"#656565",
"#9a0000",
"#ce6301",
"#cd9934",
"#999903",
"#009901",
"#329a9d",
"#3531ff",
"#6200c9",
"#343434",
"#680100",
"#963400",
"#986536",
"#646809",
"#036400",
"#34696d",
"#00009b",
"#303498",
"#000000",
"#330001",
"#643403",
"#663234",
"#343300",
"#013300",
"#003532",
"#010066",
"#340096"]
],
"UV": "", "TF": "Excel", "UAE": [], "D": true, "FTF": false
} //变量使用区域
//#region 初始化工具
//初始化工具
/**
* 功能创建
*
* @param {string} 使用的类型
* @param {object} 文档信息数组 或 null
* @return {object} 头部信息和顶部工具栏的整体元素
*/
U.OU.Onload = function (UTF, UDE) {
//var i, //循环初始化
//_UCE = ["Word", "WordL"]; //初始化需要用到的字符串
U.OU.CreatTool(UDE); //创建工具
//设置前进后退
//for (i = 0; i < _UCE.length; i++) {
// U.AFB.RGoL(_UCE[i]);
//}
}
//创建4个菜单,包括字体,字号,背景色,前景色。
U.OU.CreatTool = function (UDE, UIE) {
var i, j, k, _UDOD, _UL, _UDMD, _UKE,
_UCE = U.OU.TF.UME; //获取字体 字号 字体颜色数组
for (i = 0; i < UDE.length; i++) { //循环设置
_UKE = _UCE[i >= _UCE.length ? _UCE.length - 1 : i];
_UL = _UKE.length
_UDMD = null;
if (i < 2 && UDE[i].options) {
UDE[i].options.length = _UL;
}
else {
_UDMD = $$("frag");
}
for (j = 0; j < _UL; j++) {
if (i < 2) { //字体工具
if (UDE[i].options) { //判断是否为select标签
(_UDOD = UDE[i].options[j]).value = U.Ut.isArray(_UKE[j]) ? _UKE[j][1] : _UKE[j];
_UDOD.text = U.Ut.isArray(_UKE[j]) ? _UKE[j][0] : _UKE[j];
}
else {
$$("div", { "unselectable": "on", "innerHTML": _UKE[j], "onmousedown": U.M.StopBubble, "style": { "fontFamily": _UKE[j]} }, _UDMD);
}
}
else { //颜色工具
$$("div", { "unselectable": "on", "style": { "backgroundColor": _UKE[j]} }, _UDMD);
}
}
if (_UDMD) { UDE[i].appendChild(_UDMD); }
}
}
//创建字体 传入的el必须是select标签元素
U.OU.CreateFont = function (el) {
var fontarea = [//字体选择
"仿宋",
"黑体",
"华文楷体",
"华文新魏",
"华文行楷",
"楷体",
"隶书",
"宋体",
"宋体-ExtB",
"微软雅黑",
"微软雅黑",
"Angsana New",
"Arial",
"Arial Black",
"Batang",
"Book Antiqua",
"Bookman Old Style",
"Browallia New",
"Calibri",
"Calibri Light",
"Cambria",
"Candara",
"Century",
"Century Gothic",
"Century Schoolbook",
"Comic Sans MS",
"Consolas",
"Constantia",
"Corbel",
"Cordia New",
"Courier New",
"DaunPenh",
"DilleniaUPC",
"Dotum",
"Franklin Gothic Book",
"Franklin Gothic Medium",
"Garamond",
"Gautami",
"Georgia",
"Gill Sans MT",
"Gulim",
"GungSuh",
"Iskoola Pota",
"JasmineUPC",
"alinga",
"Kartika",
"Latha",
"Lucida Sans",
"Lucida Sans Unicode",
"Malgun Gothic",
"Mangal",
"Meiryo",
"Microsoft JhengHei",
"MingLiU",
"MingLiU_HKSCS",
"MS Gothic",
"MS Mincho",
"MS PGothic",
"MS PMincho",
"Nyala",
"PMingLiU",
"PMingLiU-ExtB",
"Raavi",
"Rockwell",
"Segoe UI Light",
"Shruti",
"Sylfaen",
"Tahoma",
"Times",
"Times New Roman",
"Trebuchet MS",
"Tunga", "TW Cen MT",
"Verdana",
"Vrinda"
]; //字体字号背景色的数组变量
el.options.length = fontarea.length; //创建下拉框 length相当于创建了和该长度相等的下拉框
//循环创建每个字体
for (var i = 0; i < fontarea.length; i++) {
el.options[i].value = fontarea[i];
el.options[i].text = fontarea[i];
}
}
//创建字号 传入的el必须是select标签元素
U.OU.CreateWordSize = function (el) {
var _sizearea = [ //字号选择区域
["初号", "44pt", "58.6"],
["小初", "36pt", "48"],
["一号", "26pt", "34.6"],
["小一", "24pt", "32"],
["二号", "22pt", "29.3"],
["小二", "18pt", "24"],
["三号", "16pt", "21.3"],
["小三", "15pt", "20"],
["四号", "14pt", "18.6"],
["小四", "12pt", "16"],
["五号", "10.5pt", "14"],
["小五", "9pt", "12"],
["六号", "7.5pt", "10"],
["小六", "6.5pt", "8.6"],
["七号", "5.5pt", "7.3"],
["八号", "5pt", "6.6"]
];
el.options.length = _sizearea.length; //创建下拉框 length相当于创建了和该长度相等的下拉框
//循环创建每个字号
for (var i = 0; i < _sizearea.length; i++) {
el.options[i].value = _sizearea[i][1]; //options的值等于字体的大小 如44pt、36pt
el.options[i].text = _sizearea[i][0]; //options的输入描述等于字体的描述 如初号 、小四等等
}
}
//创建背景或者字体颜色选择控件
U.OU.ColorSelect = function (el) {
var _colorarea = [ //字体颜色区域
"#ffffff",
"#ffccc9",
"#ffce93",
"#fffc9e",
"#ffffc7",
"#9aff99",
"#96fffb",
"#cdffff",
"#cbcefb",
"#cfcfcf",
"#fd6864",
"#fe996b",
"#fffe65",
"#fcff2f",
"#67fd9a",
"#38fff8",
"#68fdff",
"#9698ed",
"#c0c0c0",
"#fe0000",
"#f8a102",
"#ffcc67",
"#f8ff00",
"#34ff34",
"#68cbd0",
"#34cdf9",
"#6665cd",
"#9b9b9b",
"#cb0000",
"#f56b00",
"#ffcb2f",
"#ffc702",
"#32cb00",
"#00d2cb",
"#3166ff",
"#6434fc",
"#656565",
"#9a0000",
"#ce6301",
"#cd9934",
"#999903",
"#009901",
"#329a9d",
"#3531ff",
"#6200c9",
"#343434",
"#680100",
"#963400",
"#986536",
"#646809",
"#036400",
"#34696d",
"#00009b",
"#303498",
"#000000",
"#330001",
"#643403",
"#663234",
"#343300",
"#013300",
"#003532",
"#010066",
"#340096"];
var _frag = $$("frag");
//循环创建背景颜色
for (var i = 0; i < _colorarea.length; i++) {
$$("div", { "unselectable": "on", "style": { "backgroundColor": _colorarea[i]} }, _frag);
}
el.appendChild(_frag);
}
//工具的查看和隐藏
U.OU.ToolOC = function (UDOD, UTF) {
//UTF
//UDOD
var i, //循环初始化
_UDCD, //变量初始化
_UDAD = $(UDOD).Child(), //获取子级
_UDKD = UTF ? _UDAD : $(UDOD).parentg().Child();
for (i = 0; i < _UDKD.length; i++) {
_UDCD = $(_UDKD[i]).Child(); //获取子级元素
_UDCD = _UDCD[_UDKD[i].innerText ? 2 : 1];
(_UDCD && _UDCD != _UDAD[_UDAD.length - 1]) && (_UDCD.style.display = "none");
}
if (!UTF) {
_UDCD = _UDAD[_UDAD.length - 1];
_UDCD.style.display = _UDCD.style.display == "block" ? "none" : "block";
}
}
//#endregion
//#region 焦点处理,//初始化焦点使用,只是聚焦作用,还没插入光标,这里还需要继续整理
U.OU.WordFocus = function (UDOD, UST, UAF) {
//U.OU.WF不是全局变量,会有问题。
var _UGE = U.OU.WF[UDOD.id]; //word默认焦点
U.OU.R = _UGE = U.OU.WF[UDOD.id] = _UGE ? (_UGE.SO = UDOD, _UGE.CreateR()) : ((UDOD || _UGE.PSO).focus(), U.D.E.GetSelectionRange(window, UDOD, { "TF": UDOD.id, "CB": UAF })); //光标初始化创建
if (UST !== false) {
_UGE.Replace(UST, _UGE.R, true);
}
return _UGE;
}
//初始化焦点使用
U.OU.SCJD = function (UDOD, UST, UAF) {
var _UGE = U.OU.R;
_UGE = U.OU.R = _UGE ? (_UGE.SO = UDOD, _UGE.CreateR(false)) : ((UDOD || _UGE.PSO).focus(), U.D.E.GetSelectionRange(window, UDOD, { "TF": UAF ? "E" : "W", "CB": UAF })); //光标初始化创建
_UGE.Replace(UST, _UGE.R, true);
return _UGE; //焦点
}
//释放焦点时候保存焦点
U.OU.JDCL = function (UTF) {
if (UTF !== false) { U.OU.TF.IsO = true; }
try {
(U.OU.R) && (U.OU.R = U.OU.R.CreateR(), U.OU.TF["FTF"] = false);
}
catch (e) { }
}
//焦点聚焦回去
U.OU.JDCR = function () {
if (U.OU.TF.IsO) {//焦点到指定的位置
U.OU.TF.IsO = false;
var _UGE = U.OU.R;
window.focus(); //获取焦点
if (_UGE) {
if (!_UGE.GetSelectedHtml()) {
_UGE.Replace("");
} else {
_UGE.QX();
}
}
}
}
//#endregion
//#region 网盘处理
//从网盘选择图片或者连接
U.OU.OUIG = function (UDID, UTF, UDOD, UR) {
//UDID
//UTF
//UDOD
//UR
var i, //循环初始化
_UDTD, //变量初始化
_UDSD, //变量初始化
_UTP, //变量初始化
_UDFD = $$("frag"), //创建frag元素
_UDE = (US.Disk.UserDisk) ? (_$(US.Disk.UserDisk[0]).Select({ "UserDirectoryParentID": UDID })) : "";
U.OU.R = U.D.E.GetSelectionRange(window, $(".U_Boom_CO_Editor_body_main_text")[0], { "TF": "MW", "CB": null });
if (UDOD) {
UDOD.innerText = "";
for (i = 0; i < _UDE.length; i++) {
_UTP = parent.U.UP.IsImg(_UDE[i].UserDirectoryExtendType); //类型
_UDTD = $$("div", { "className": "UDK_RT_application", "onmousedown": [[U.OU.AImgCL, [UR || U.OU.R]]], "onclick": [[U.OU.OUALJ, [UR || U.OU.R, UTF, _UDE[i], UDOD]]] }, _UDFD);
_UDSD = $$("div", { "className": "UD_SYSXZLRSITOT" }, _UDTD); //创建div
if (_UTP) { $$("img", { "src": _UDE[i].UserDirectoryUrl, "onerror": [[U.M.ImgError, ["this", 1]]] }, _UDSD); }
else { $(_UDSD).addAttrArray({ "style": { "cssText": top.U.UP.FFT(_UDE[i].UserDirectoryExtendType)[1] + ";" }, "className": "UDK_L_DiskGE " + _UDSD.className }); }
$$("span", { "className": "UTDF", "innerHTML": _UDE[i].UserDirectoryName }, _UDTD);
}
UDOD.appendChild(_UDFD);
}
}
//选择使用图片或者链接
U.OU.OUALJ = function (UDR, UTF, UDE, URL, USN, UDOD, UDPD) {
//UDR
//UTF
//UDE
//UDPD
if (UDE.filetype || U.Ut.isString(UDE)) {
var _UDOD, //变量初始化
_UDTD, //变量初始化
_UDSD, //变量初始化
_UDMD, //变量初始化
_UTH, //变量初始化
_USN; //变量初始化
U.M.StopBubble();
UDR = UDR || U.OU.R; //取消冒泡
if (!UDR) { U.Alert("请选择编辑区!"); }
else {
switch (UTF) {
case "img":
if (U.UP.IsImg(_USN = UDE.UserFilesServerName || (U.Ut.isString(UDPD) ? UDPD : UDE))) {
_UTH = " "
//_UTH = "