Merge branch 'develop' of https://gitee.com/siwa-team/dawa-vue into develop

This commit is contained in:
18571350067 2022-02-25 15:19:14 +08:00
commit d9eaaf6dcb
385 changed files with 175342 additions and 45583 deletions

318
public/index.html vendored
View File

@ -1,187 +1,187 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh-cmn-Hans"> <html lang="zh-cmn-Hans">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>logo.png"> <link rel="icon" href="<%= BASE_URL %>logo.png">
<title>Ant Design Pro</title> <title>安全培训平台管理系统</title>
<style> <style>
.first-loading-wrp { .first-loading-wrp {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
min-height: 420px; min-height: 420px;
height: 100% height: 100%
}
.first-loading-wrp>h1 {
font-size: 128px
}
.first-loading-wrp .loading-wrp {
padding: 98px;
display: flex;
justify-content: center;
align-items: center
}
.dot {
animation: antRotate 1.2s infinite linear;
transform: rotate(45deg);
position: relative;
display: inline-block;
font-size: 32px;
width: 32px;
height: 32px;
box-sizing: border-box
}
.dot i {
width: 14px;
height: 14px;
position: absolute;
display: block;
background-color: #1890ff;
border-radius: 100%;
transform: scale(.75);
transform-origin: 50% 50%;
opacity: .3;
animation: antSpinMove 1s infinite linear alternate
}
.dot i:nth-child(1) {
top: 0;
left: 0
}
.dot i:nth-child(2) {
top: 0;
right: 0;
-webkit-animation-delay: .4s;
animation-delay: .4s
}
.dot i:nth-child(3) {
right: 0;
bottom: 0;
-webkit-animation-delay: .8s;
animation-delay: .8s
}
.dot i:nth-child(4) {
bottom: 0;
left: 0;
-webkit-animation-delay: 1.2s;
animation-delay: 1.2s
}
@keyframes antRotate {
to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg)
} }
}
.first-loading-wrp>h1 { @-webkit-keyframes antRotate {
font-size: 128px to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg)
} }
}
.first-loading-wrp .loading-wrp { @keyframes antSpinMove {
padding: 98px; to {
display: flex; opacity: 1
justify-content: center;
align-items: center
} }
}
.dot { @-webkit-keyframes antSpinMove {
animation: antRotate 1.2s infinite linear; to {
transform: rotate(45deg); opacity: 1
position: relative;
display: inline-block;
font-size: 32px;
width: 32px;
height: 32px;
box-sizing: border-box
} }
}
.dot i { /* 组织机构数选择组件样式修改 start */
width: 14px; .popover-tree>.ant-popover-content {
height: 14px; margin-top: -15px;
position: absolute; border: 1px solid #1890ff;
display: block; max-height: 400px;
background-color: #1890ff; overflow-y: auto;
border-radius: 100%; }
transform: scale(.75);
transform-origin: 50% 50%;
opacity: .3;
animation: antSpinMove 1s infinite linear alternate
}
.dot i:nth-child(1) { .popover-tree>.ant-popover-content>.ant-popover-arrow {
top: 0; display: none;
left: 0 }
}
.dot i:nth-child(2) { /* 组织机构数选择组件样式修改 end */
top: 0;
right: 0;
-webkit-animation-delay: .4s;
animation-delay: .4s
}
.dot i:nth-child(3) { /* 项目管理 - 选择单位组件样式 start */
right: 0; .tree-transfer .ant-transfer-list-body-customize-wrapper {
bottom: 0; overflow-y: auto !important;
-webkit-animation-delay: .8s; height: 500px !important;
animation-delay: .8s }
}
.dot i:nth-child(4) { .tree-transfer .ant-transfer-list-content {
bottom: 0; height: 500px !important;
left: 0; }
-webkit-animation-delay: 1.2s;
animation-delay: 1.2s
}
@keyframes antRotate { /* 项目管理 - 选择单位组件样式 end */
to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg)
}
}
@-webkit-keyframes antRotate { /* 修改菜单页面的边距 start */
to { .ant-pro-basicLayout-content {
-webkit-transform: rotate(405deg); margin: 15px !important;
transform: rotate(405deg) }
}
}
@keyframes antSpinMove { /* 修改菜单页面的边距 end */
to {
opacity: 1
}
}
@-webkit-keyframes antSpinMove { /* card 样式调整 start */
to { .ant-card-head {
opacity: 1 min-height: auto !important;
} padding: 0 15px !important;
} }
/* 组织机构数选择组件样式修改 start */ .ant-card-head-title {
.popover-tree>.ant-popover-content { padding: 10px 0 !important;
margin-top: -15px; }
border: 1px solid #1890ff;
max-height: 400px;
overflow-y: auto;
}
.popover-tree>.ant-popover-content>.ant-popover-arrow { .ant-card-extra {
display: none; padding: 10px 0 !important;
} }
/* 组织机构数选择组件样式修改 end */ .ant-card-body {
padding: 15px !important;
}
/* 项目管理 - 选择单位组件样式 start */ /* card 样式调整 end */
.tree-transfer .ant-transfer-list-body-customize-wrapper { </style>
overflow-y: auto !important; <!-- require cdn assets css -->
height: 500px !important; <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
} <link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
<% } %>
</head>
.tree-transfer .ant-transfer-list-content { <body>
height: 500px !important; <noscript>
} <strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to
continue.</strong>
/* 项目管理 - 选择单位组件样式 end */ </noscript>
<div id="app">
/* 修改菜单页面的边距 start */ <div class="first-loading-wrp">
.ant-pro-basicLayout-content { <!-- <h1>Pro</h1> -->
margin: 15px !important; <div class="loading-wrp">
} <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
/* 修改菜单页面的边距 end */
/* card 样式调整 start */
.ant-card-head {
min-height: auto !important;
padding: 0 15px !important;
}
.ant-card-head-title {
padding: 10px 0 !important;
}
.ant-card-extra {
padding: 10px 0 !important;
}
.ant-card-body {
padding: 15px !important;
}
/* card 样式调整 end */
</style>
<!-- require cdn assets css -->
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
<link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
<% } %>
</head>
<body>
<noscript>
<strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to
continue.</strong>
</noscript>
<div id="app">
<div class="first-loading-wrp">
<!-- <h1>Pro</h1> -->
<div class="loading-wrp">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
<!-- <div style="display: flex; justify-content: center; align-items: center;">Ant Design</div> -->
</div> </div>
<!-- <div style="display: flex; justify-content: center; align-items: center;">Ant Design</div> -->
</div> </div>
<!-- require cdn assets js --> </div>
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %> <!-- require cdn assets js -->
<script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script> <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
<% } %> <script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
<!-- built files will be auto injected --> <% } %>
</body> <!-- built files will be auto injected -->
</body>
</html> </html>

BIN
public/logo.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -1,40 +1,40 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title> <title></title>
<style type="text/css"> <style type="text/css">
*{color: #838383;margin: 0;padding: 0} *{color: #838383;margin: 0;padding: 0}
html,body {font-size: 12px;overflow: hidden; } html,body {font-size: 12px;overflow: hidden; }
.content{padding:5px 0 0 15px;} .content{padding:5px 0 0 15px;}
input{width:210px;height:21px;line-height:21px;margin-left: 4px;} input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
</style> </style>
</head> </head>
<body> <body>
<div class="content"> <div class="content">
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value="" /> <span><var id="lang_input_anchorName"></var></span><input id="anchorName" value="" />
</div> </div>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var anchorInput = $G('anchorName'), var anchorInput = $G('anchorName'),
node = editor.selection.getRange().getClosedNode(); node = editor.selection.getRange().getClosedNode();
if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){ if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
anchorInput.value = node; anchorInput.value = node;
} }
anchorInput.onkeydown = function(evt){ anchorInput.onkeydown = function(evt){
evt = evt || window.event; evt = evt || window.event;
if(evt.keyCode == 13){ if(evt.keyCode == 13){
editor.execCommand('anchor', anchorInput.value); editor.execCommand('anchor', anchorInput.value);
dialog.close(); dialog.close();
domUtils.preventDefault(evt) domUtils.preventDefault(evt)
} }
}; };
dialog.onok = function (){ dialog.onok = function (){
editor.execCommand('anchor', anchorInput.value); editor.execCommand('anchor', anchorInput.value);
dialog.close(); dialog.close();
}; };
$focus(anchorInput); $focus(anchorInput);
</script> </script>
</body> </body>
</html> </html>

File diff suppressed because it is too large Load Diff

View File

@ -1,60 +1,60 @@
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>ueditor图片对话框</title> <title>ueditor图片对话框</title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<!-- jquery --> <!-- jquery -->
<script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script>
<!-- webuploader --> <!-- webuploader -->
<script src="../../third-party/webuploader/webuploader.min.js"></script> <script src="../../third-party/webuploader/webuploader.min.js"></script>
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css"> <link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css">
<!-- attachment dialog --> <!-- attachment dialog -->
<link rel="stylesheet" href="attachment.css" type="text/css" /> <link rel="stylesheet" href="attachment.css" type="text/css" />
</head> </head>
<body> <body>
<div class="wrapper"> <div class="wrapper">
<div id="tabhead" class="tabhead"> <div id="tabhead" class="tabhead">
<span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span> <span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
<span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span> <span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
</div> </div>
<div id="tabbody" class="tabbody"> <div id="tabbody" class="tabbody">
<!-- 上传图片 --> <!-- 上传图片 -->
<div id="upload" class="panel focus"> <div id="upload" class="panel focus">
<div id="queueList" class="queueList"> <div id="queueList" class="queueList">
<div class="statusBar element-invisible"> <div class="statusBar element-invisible">
<div class="progress"> <div class="progress">
<span class="text">0%</span> <span class="text">0%</span>
<span class="percentage"></span> <span class="percentage"></span>
</div><div class="info"></div> </div><div class="info"></div>
<div class="btns"> <div class="btns">
<div id="filePickerBtn"></div> <div id="filePickerBtn"></div>
<div class="uploadBtn"><var id="lang_start_upload"></var></div> <div class="uploadBtn"><var id="lang_start_upload"></var></div>
</div> </div>
</div> </div>
<div id="dndArea" class="placeholder"> <div id="dndArea" class="placeholder">
<div class="filePickerContainer"> <div class="filePickerContainer">
<div id="filePickerReady"></div> <div id="filePickerReady"></div>
</div> </div>
</div> </div>
<ul class="filelist element-invisible"> <ul class="filelist element-invisible">
<li id="filePickerBlock" class="filePickerBlock"></li> <li id="filePickerBlock" class="filePickerBlock"></li>
</ul> </ul>
</div> </div>
</div> </div>
<!-- 在线图片 --> <!-- 在线图片 -->
<div id="online" class="panel"> <div id="online" class="panel">
<div id="fileList"><var id="lang_imgLoading"></var></div> <div id="fileList"><var id="lang_imgLoading"></var></div>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" src="attachment.js"></script> <script type="text/javascript" src="attachment.js"></script>
</body> </body>
</html> </html>

View File

@ -1,94 +1,94 @@
.wrapper{ width: 424px;margin: 10px auto; zoom:1;position: relative} .wrapper{ width: 424px;margin: 10px auto; zoom:1;position: relative}
.tabbody{height:225px;} .tabbody{height:225px;}
.tabbody .panel { position: absolute;width:100%; height:100%;background: #fff; display: none;} .tabbody .panel { position: absolute;width:100%; height:100%;background: #fff; display: none;}
.tabbody .focus { display: block;} .tabbody .focus { display: block;}
body{font-size: 12px;color: #888;overflow: hidden;} body{font-size: 12px;color: #888;overflow: hidden;}
input,label{vertical-align:middle} input,label{vertical-align:middle}
.clear{clear: both;} .clear{clear: both;}
.pl{padding-left: 18px;padding-left: 23px\9;} .pl{padding-left: 18px;padding-left: 23px\9;}
#imageList {width: 420px;height: 215px;margin-top: 10px;overflow: hidden;overflow-y: auto;} #imageList {width: 420px;height: 215px;margin-top: 10px;overflow: hidden;overflow-y: auto;}
#imageList div {float: left;width: 100px;height: 95px;margin: 5px 10px;} #imageList div {float: left;width: 100px;height: 95px;margin: 5px 10px;}
#imageList img {cursor: pointer;border: 2px solid white;} #imageList img {cursor: pointer;border: 2px solid white;}
.bgarea{margin: 10px;padding: 5px;height: 84%;border: 1px solid #A8A297;} .bgarea{margin: 10px;padding: 5px;height: 84%;border: 1px solid #A8A297;}
.content div{margin: 10px 0 10px 5px;} .content div{margin: 10px 0 10px 5px;}
.content .iptradio{margin: 0px 5px 5px 0px;} .content .iptradio{margin: 0px 5px 5px 0px;}
.txt{width:280px;} .txt{width:280px;}
.wrapcolor{height: 19px;} .wrapcolor{height: 19px;}
div.color{float: left;margin: 0;} div.color{float: left;margin: 0;}
#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;margin: 0;float: left;} #colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;margin: 0;float: left;}
div.alignment,#custom{margin-left: 23px;margin-left: 28px\9;} div.alignment,#custom{margin-left: 23px;margin-left: 28px\9;}
#custom input{height: 15px;min-height: 15px;width:20px;} #custom input{height: 15px;min-height: 15px;width:20px;}
#repeatType{width:100px;} #repeatType{width:100px;}
/* 图片管理样式 */ /* 图片管理样式 */
#imgManager { #imgManager {
width: 100%; width: 100%;
height: 225px; height: 225px;
} }
#imgManager #imageList{ #imgManager #imageList{
width: 100%; width: 100%;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
} }
#imgManager ul { #imgManager ul {
display: block; display: block;
list-style: none; list-style: none;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
#imgManager li { #imgManager li {
float: left; float: left;
display: block; display: block;
list-style: none; list-style: none;
padding: 0; padding: 0;
width: 113px; width: 113px;
height: 113px; height: 113px;
margin: 9px 0 0 19px; margin: 9px 0 0 19px;
background-color: #eee; background-color: #eee;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
} }
#imgManager li.clearFloat { #imgManager li.clearFloat {
float: none; float: none;
clear: both; clear: both;
display: block; display: block;
width:0; width:0;
height:0; height:0;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
#imgManager li img { #imgManager li img {
cursor: pointer; cursor: pointer;
} }
#imgManager li .icon { #imgManager li .icon {
cursor: pointer; cursor: pointer;
width: 113px; width: 113px;
height: 113px; height: 113px;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 2; z-index: 2;
border: 0; border: 0;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
#imgManager li .icon:hover { #imgManager li .icon:hover {
width: 107px; width: 107px;
height: 107px; height: 107px;
border: 3px solid #1094fa; border: 3px solid #1094fa;
} }
#imgManager li.selected .icon { #imgManager li.selected .icon {
background-image: url(images/success.png); background-image: url(images/success.png);
background-position: 75px 75px; background-position: 75px 75px;
} }
#imgManager li.selected .icon:hover { #imgManager li.selected .icon:hover {
width: 107px; width: 107px;
height: 107px; height: 107px;
border: 3px solid #1094fa; border: 3px solid #1094fa;
background-position: 72px 72px; background-position: 72px 72px;
} }

View File

@ -1,56 +1,56 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="background.css"> <link rel="stylesheet" type="text/css" href="background.css">
</head> </head>
<body> <body>
<div id="bg_container" class="wrapper"> <div id="bg_container" class="wrapper">
<div id="tabHeads" class="tabhead"> <div id="tabHeads" class="tabhead">
<span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span> <span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
<span class="" data-content-id="imgManager"><var id="lang_background_local"></var></span> <span class="" data-content-id="imgManager"><var id="lang_background_local"></var></span>
</div> </div>
<div id="tabBodys" class="tabbody"> <div id="tabBodys" class="tabbody">
<div id="normal" class="panel focus"> <div id="normal" class="panel focus">
<fieldset class="bgarea"> <fieldset class="bgarea">
<legend><var id="lang_background_set"></var></legend> <legend><var id="lang_background_set"></var></legend>
<div class="content"> <div class="content">
<div> <div>
<label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none" checked="checked"><var id="lang_background_none"></var></label> <label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none" checked="checked"><var id="lang_background_none"></var></label>
<label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var id="lang_background_colored"></var></label> <label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var id="lang_background_colored"></var></label>
</div> </div>
<div class="wrapcolor pl"> <div class="wrapcolor pl">
<div class="color"> <div class="color">
<var id="lang_background_color"></var>: <var id="lang_background_color"></var>:
</div> </div>
<div id="colorPicker"></div> <div id="colorPicker"></div>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="wrapcolor pl"> <div class="wrapcolor pl">
<label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url"> <label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
</div> </div>
<div id="alignment" class="alignment"> <div id="alignment" class="alignment">
<var id="lang_background_align"></var>:<select id="repeatType"> <var id="lang_background_align"></var>:<select id="repeatType">
<option value="center"></option> <option value="center"></option>
<option value="repeat-x"></option> <option value="repeat-x"></option>
<option value="repeat-y"></option> <option value="repeat-y"></option>
<option value="repeat"></option> <option value="repeat"></option>
<option value="self"></option> <option value="self"></option>
</select> </select>
</div> </div>
<div id="custom" > <div id="custom" >
<var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4" value="0">px&nbsp;&nbsp;y:<input type="text" size="1" id="y" maxlength="4" value="0">px <var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4" value="0">px&nbsp;&nbsp;y:<input type="text" size="1" id="y" maxlength="4" value="0">px
</div> </div>
</div> </div>
</fieldset> </fieldset>
</div> </div>
<div id="imgManager" class="panel"> <div id="imgManager" class="panel">
<div id="imageList" style=""></div> <div id="imageList" style=""></div>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" src="background.js"></script> <script type="text/javascript" src="background.js"></script>
</body> </body>
</html> </html>

View File

@ -1,376 +1,376 @@
(function () { (function () {
var onlineImage, var onlineImage,
backupStyle = editor.queryCommandValue('background'); backupStyle = editor.queryCommandValue('background');
window.onload = function () { window.onload = function () {
initTabs(); initTabs();
initColorSelector(); initColorSelector();
}; };
/* 初始化tab标签 */ /* 初始化tab标签 */
function initTabs(){ function initTabs(){
var tabs = $G('tabHeads').children; var tabs = $G('tabHeads').children;
for (var i = 0; i < tabs.length; i++) { for (var i = 0; i < tabs.length; i++) {
domUtils.on(tabs[i], "click", function (e) { domUtils.on(tabs[i], "click", function (e) {
var target = e.target || e.srcElement; var target = e.target || e.srcElement;
for (var j = 0; j < tabs.length; j++) { for (var j = 0; j < tabs.length; j++) {
if(tabs[j] == target){ if(tabs[j] == target){
tabs[j].className = "focus"; tabs[j].className = "focus";
var contentId = tabs[j].getAttribute('data-content-id'); var contentId = tabs[j].getAttribute('data-content-id');
$G(contentId).style.display = "block"; $G(contentId).style.display = "block";
if(contentId == 'imgManager') { if(contentId == 'imgManager') {
initImagePanel(); initImagePanel();
} }
}else { }else {
tabs[j].className = ""; tabs[j].className = "";
$G(tabs[j].getAttribute('data-content-id')).style.display = "none"; $G(tabs[j].getAttribute('data-content-id')).style.display = "none";
} }
} }
}); });
} }
} }
/* 初始化颜色设置 */ /* 初始化颜色设置 */
function initColorSelector () { function initColorSelector () {
var obj = editor.queryCommandValue('background'); var obj = editor.queryCommandValue('background');
if (obj) { if (obj) {
var color = obj['background-color'], var color = obj['background-color'],
repeat = obj['background-repeat'] || 'repeat', repeat = obj['background-repeat'] || 'repeat',
image = obj['background-image'] || '', image = obj['background-image'] || '',
position = obj['background-position'] || 'center center', position = obj['background-position'] || 'center center',
pos = position.split(' '), pos = position.split(' '),
x = parseInt(pos[0]) || 0, x = parseInt(pos[0]) || 0,
y = parseInt(pos[1]) || 0; y = parseInt(pos[1]) || 0;
if(repeat == 'no-repeat' && (x || y)) repeat = 'self'; if(repeat == 'no-repeat' && (x || y)) repeat = 'self';
image = image.match(/url[\s]*\(([^\)]*)\)/); image = image.match(/url[\s]*\(([^\)]*)\)/);
image = image ? image[1]:''; image = image ? image[1]:'';
updateFormState('colored', color, image, repeat, x, y); updateFormState('colored', color, image, repeat, x, y);
} else { } else {
updateFormState(); updateFormState();
} }
var updateHandler = function () { var updateHandler = function () {
updateFormState(); updateFormState();
updateBackground(); updateBackground();
} }
domUtils.on($G('nocolorRadio'), 'click', updateBackground); domUtils.on($G('nocolorRadio'), 'click', updateBackground);
domUtils.on($G('coloredRadio'), 'click', updateHandler); domUtils.on($G('coloredRadio'), 'click', updateHandler);
domUtils.on($G('url'), 'keyup', function(){ domUtils.on($G('url'), 'keyup', function(){
if($G('url').value && $G('alignment').style.display == "none") { if($G('url').value && $G('alignment').style.display == "none") {
utils.each($G('repeatType').children, function(item){ utils.each($G('repeatType').children, function(item){
item.selected = ('repeat' == item.getAttribute('value') ? 'selected':false); item.selected = ('repeat' == item.getAttribute('value') ? 'selected':false);
}); });
} }
updateHandler(); updateHandler();
}); });
domUtils.on($G('repeatType'), 'change', updateHandler); domUtils.on($G('repeatType'), 'change', updateHandler);
domUtils.on($G('x'), 'keyup', updateBackground); domUtils.on($G('x'), 'keyup', updateBackground);
domUtils.on($G('y'), 'keyup', updateBackground); domUtils.on($G('y'), 'keyup', updateBackground);
initColorPicker(); initColorPicker();
} }
/* 初始化颜色选择器 */ /* 初始化颜色选择器 */
function initColorPicker() { function initColorPicker() {
var me = editor, var me = editor,
cp = $G("colorPicker"); cp = $G("colorPicker");
/* 生成颜色选择器ui对象 */ /* 生成颜色选择器ui对象 */
var popup = new UE.ui.Popup({ var popup = new UE.ui.Popup({
content: new UE.ui.ColorPicker({ content: new UE.ui.ColorPicker({
noColorText: me.getLang("clearColor"), noColorText: me.getLang("clearColor"),
editor: me, editor: me,
onpickcolor: function (t, color) { onpickcolor: function (t, color) {
updateFormState('colored', color); updateFormState('colored', color);
updateBackground(); updateBackground();
UE.ui.Popup.postHide(); UE.ui.Popup.postHide();
}, },
onpicknocolor: function (t, color) { onpicknocolor: function (t, color) {
updateFormState('colored', 'transparent'); updateFormState('colored', 'transparent');
updateBackground(); updateBackground();
UE.ui.Popup.postHide(); UE.ui.Popup.postHide();
} }
}), }),
editor: me, editor: me,
onhide: function () { onhide: function () {
} }
}); });
/* 设置颜色选择器 */ /* 设置颜色选择器 */
domUtils.on(cp, "click", function () { domUtils.on(cp, "click", function () {
popup.showAnchor(this); popup.showAnchor(this);
}); });
domUtils.on(document, 'mousedown', function (evt) { domUtils.on(document, 'mousedown', function (evt) {
var el = evt.target || evt.srcElement; var el = evt.target || evt.srcElement;
UE.ui.Popup.postHide(el); UE.ui.Popup.postHide(el);
}); });
domUtils.on(window, 'scroll', function () { domUtils.on(window, 'scroll', function () {
UE.ui.Popup.postHide(); UE.ui.Popup.postHide();
}); });
} }
/* 初始化在线图片列表 */ /* 初始化在线图片列表 */
function initImagePanel() { function initImagePanel() {
onlineImage = onlineImage || new OnlineImage('imageList'); onlineImage = onlineImage || new OnlineImage('imageList');
} }
/* 更新背景色设置面板 */ /* 更新背景色设置面板 */
function updateFormState (radio, color, url, align, x, y) { function updateFormState (radio, color, url, align, x, y) {
var nocolorRadio = $G('nocolorRadio'), var nocolorRadio = $G('nocolorRadio'),
coloredRadio = $G('coloredRadio'); coloredRadio = $G('coloredRadio');
if(radio) { if(radio) {
nocolorRadio.checked = (radio == 'colored' ? false:'checked'); nocolorRadio.checked = (radio == 'colored' ? false:'checked');
coloredRadio.checked = (radio == 'colored' ? 'checked':false); coloredRadio.checked = (radio == 'colored' ? 'checked':false);
} }
if(color) { if(color) {
domUtils.setStyle($G("colorPicker"), "background-color", color); domUtils.setStyle($G("colorPicker"), "background-color", color);
} }
if(url && /^\//.test(url)) { if(url && /^\//.test(url)) {
var a = document.createElement('a'); var a = document.createElement('a');
a.href = url; a.href = url;
browser.ie && (a.href = a.href); browser.ie && (a.href = a.href);
url = browser.ie ? a.href:(a.protocol + '//' + a.host + a.pathname + a.search + a.hash); url = browser.ie ? a.href:(a.protocol + '//' + a.host + a.pathname + a.search + a.hash);
} }
if(url || url === '') { if(url || url === '') {
$G('url').value = url; $G('url').value = url;
} }
if(align) { if(align) {
utils.each($G('repeatType').children, function(item){ utils.each($G('repeatType').children, function(item){
item.selected = (align == item.getAttribute('value') ? 'selected':false); item.selected = (align == item.getAttribute('value') ? 'selected':false);
}); });
} }
if(x || y) { if(x || y) {
$G('x').value = parseInt(x) || 0; $G('x').value = parseInt(x) || 0;
$G('y').value = parseInt(y) || 0; $G('y').value = parseInt(y) || 0;
} }
$G('alignment').style.display = coloredRadio.checked && $G('url').value ? '':'none'; $G('alignment').style.display = coloredRadio.checked && $G('url').value ? '':'none';
$G('custom').style.display = coloredRadio.checked && $G('url').value && $G('repeatType').value == 'self' ? '':'none'; $G('custom').style.display = coloredRadio.checked && $G('url').value && $G('repeatType').value == 'self' ? '':'none';
} }
/* 更新背景颜色 */ /* 更新背景颜色 */
function updateBackground () { function updateBackground () {
if ($G('coloredRadio').checked) { if ($G('coloredRadio').checked) {
var color = domUtils.getStyle($G("colorPicker"), "background-color"), var color = domUtils.getStyle($G("colorPicker"), "background-color"),
bgimg = $G("url").value, bgimg = $G("url").value,
align = $G("repeatType").value, align = $G("repeatType").value,
backgroundObj = { backgroundObj = {
"background-repeat": "no-repeat", "background-repeat": "no-repeat",
"background-position": "center center" "background-position": "center center"
}; };
if (color) backgroundObj["background-color"] = color; if (color) backgroundObj["background-color"] = color;
if (bgimg) backgroundObj["background-image"] = 'url(' + bgimg + ')'; if (bgimg) backgroundObj["background-image"] = 'url(' + bgimg + ')';
if (align == 'self') { if (align == 'self') {
backgroundObj["background-position"] = $G("x").value + "px " + $G("y").value + "px"; backgroundObj["background-position"] = $G("x").value + "px " + $G("y").value + "px";
} else if (align == 'repeat-x' || align == 'repeat-y' || align == 'repeat') { } else if (align == 'repeat-x' || align == 'repeat-y' || align == 'repeat') {
backgroundObj["background-repeat"] = align; backgroundObj["background-repeat"] = align;
} }
editor.execCommand('background', backgroundObj); editor.execCommand('background', backgroundObj);
} else { } else {
editor.execCommand('background', null); editor.execCommand('background', null);
} }
} }
/* 在线图片 */ /* 在线图片 */
function OnlineImage(target) { function OnlineImage(target) {
this.container = utils.isString(target) ? document.getElementById(target) : target; this.container = utils.isString(target) ? document.getElementById(target) : target;
this.init(); this.init();
} }
OnlineImage.prototype = { OnlineImage.prototype = {
init: function () { init: function () {
this.reset(); this.reset();
this.initEvents(); this.initEvents();
}, },
/* 初始化容器 */ /* 初始化容器 */
initContainer: function () { initContainer: function () {
this.container.innerHTML = ''; this.container.innerHTML = '';
this.list = document.createElement('ul'); this.list = document.createElement('ul');
this.clearFloat = document.createElement('li'); this.clearFloat = document.createElement('li');
domUtils.addClass(this.list, 'list'); domUtils.addClass(this.list, 'list');
domUtils.addClass(this.clearFloat, 'clearFloat'); domUtils.addClass(this.clearFloat, 'clearFloat');
this.list.id = 'imageListUl'; this.list.id = 'imageListUl';
this.list.appendChild(this.clearFloat); this.list.appendChild(this.clearFloat);
this.container.appendChild(this.list); this.container.appendChild(this.list);
}, },
/* 初始化滚动事件,滚动到地步自动拉取数据 */ /* 初始化滚动事件,滚动到地步自动拉取数据 */
initEvents: function () { initEvents: function () {
var _this = this; var _this = this;
/* 滚动拉取图片 */ /* 滚动拉取图片 */
domUtils.on($G('imageList'), 'scroll', function(e){ domUtils.on($G('imageList'), 'scroll', function(e){
var panel = this; var panel = this;
if (panel.scrollHeight - (panel.offsetHeight + panel.scrollTop) < 10) { if (panel.scrollHeight - (panel.offsetHeight + panel.scrollTop) < 10) {
_this.getImageData(); _this.getImageData();
} }
}); });
/* 选中图片 */ /* 选中图片 */
domUtils.on(this.container, 'click', function (e) { domUtils.on(this.container, 'click', function (e) {
var target = e.target || e.srcElement, var target = e.target || e.srcElement,
li = target.parentNode, li = target.parentNode,
nodes = $G('imageListUl').childNodes; nodes = $G('imageListUl').childNodes;
if (li.tagName.toLowerCase() == 'li') { if (li.tagName.toLowerCase() == 'li') {
updateFormState('nocolor', null, ''); updateFormState('nocolor', null, '');
for (var i = 0, node; node = nodes[i++];) { for (var i = 0, node; node = nodes[i++];) {
if (node == li && !domUtils.hasClass(node, 'selected')) { if (node == li && !domUtils.hasClass(node, 'selected')) {
domUtils.addClass(node, 'selected'); domUtils.addClass(node, 'selected');
updateFormState('colored', null, li.firstChild.getAttribute("_src"), 'repeat'); updateFormState('colored', null, li.firstChild.getAttribute("_src"), 'repeat');
} else { } else {
domUtils.removeClasses(node, 'selected'); domUtils.removeClasses(node, 'selected');
} }
} }
updateBackground(); updateBackground();
} }
}); });
}, },
/* 初始化第一次的数据 */ /* 初始化第一次的数据 */
initData: function () { initData: function () {
/* 拉取数据需要使用的值 */ /* 拉取数据需要使用的值 */
this.state = 0; this.state = 0;
this.listSize = editor.getOpt('imageManagerListSize'); this.listSize = editor.getOpt('imageManagerListSize');
this.listIndex = 0; this.listIndex = 0;
this.listEnd = false; this.listEnd = false;
/* 第一次拉取数据 */ /* 第一次拉取数据 */
this.getImageData(); this.getImageData();
}, },
/* 重置界面 */ /* 重置界面 */
reset: function() { reset: function() {
this.initContainer(); this.initContainer();
this.initData(); this.initData();
}, },
/* 向后台拉取图片列表数据 */ /* 向后台拉取图片列表数据 */
getImageData: function () { getImageData: function () {
var _this = this; var _this = this;
if(!_this.listEnd && !this.isLoadingData) { if(!_this.listEnd && !this.isLoadingData) {
this.isLoadingData = true; this.isLoadingData = true;
var url = editor.getActionUrl(editor.getOpt('imageManagerActionName')), var url = editor.getActionUrl(editor.getOpt('imageManagerActionName')),
isJsonp = utils.isCrossDomainUrl(url); isJsonp = utils.isCrossDomainUrl(url);
ajax.request(url, { ajax.request(url, {
'timeout': 100000, 'timeout': 100000,
'dataType': isJsonp ? 'jsonp':'', 'dataType': isJsonp ? 'jsonp':'',
'data': utils.extend({ 'data': utils.extend({
start: this.listIndex, start: this.listIndex,
size: this.listSize size: this.listSize
}, editor.queryCommandValue('serverparam')), }, editor.queryCommandValue('serverparam')),
'method': 'get', 'method': 'get',
'onsuccess': function (r) { 'onsuccess': function (r) {
try { try {
var json = isJsonp ? r:eval('(' + r.responseText + ')'); var json = isJsonp ? r:eval('(' + r.responseText + ')');
if (json.state == 'SUCCESS') { if (json.state == 'SUCCESS') {
_this.pushData(json.list); _this.pushData(json.list);
_this.listIndex = parseInt(json.start) + parseInt(json.list.length); _this.listIndex = parseInt(json.start) + parseInt(json.list.length);
if(_this.listIndex >= json.total) { if(_this.listIndex >= json.total) {
_this.listEnd = true; _this.listEnd = true;
} }
_this.isLoadingData = false; _this.isLoadingData = false;
} }
} catch (e) { } catch (e) {
if(r.responseText.indexOf('ue_separate_ue') != -1) { if(r.responseText.indexOf('ue_separate_ue') != -1) {
var list = r.responseText.split(r.responseText); var list = r.responseText.split(r.responseText);
_this.pushData(list); _this.pushData(list);
_this.listIndex = parseInt(list.length); _this.listIndex = parseInt(list.length);
_this.listEnd = true; _this.listEnd = true;
_this.isLoadingData = false; _this.isLoadingData = false;
} }
} }
}, },
'onerror': function () { 'onerror': function () {
_this.isLoadingData = false; _this.isLoadingData = false;
} }
}); });
} }
}, },
/* 添加图片到列表界面上 */ /* 添加图片到列表界面上 */
pushData: function (list) { pushData: function (list) {
var i, item, img, icon, _this = this, var i, item, img, icon, _this = this,
urlPrefix = editor.getOpt('imageManagerUrlPrefix'); urlPrefix = editor.getOpt('imageManagerUrlPrefix');
for (i = 0; i < list.length; i++) { for (i = 0; i < list.length; i++) {
if(list[i] && list[i].url) { if(list[i] && list[i].url) {
item = document.createElement('li'); item = document.createElement('li');
img = document.createElement('img'); img = document.createElement('img');
icon = document.createElement('span'); icon = document.createElement('span');
domUtils.on(img, 'load', (function(image){ domUtils.on(img, 'load', (function(image){
return function(){ return function(){
_this.scale(image, image.parentNode.offsetWidth, image.parentNode.offsetHeight); _this.scale(image, image.parentNode.offsetWidth, image.parentNode.offsetHeight);
} }
})(img)); })(img));
img.width = 113; img.width = 113;
img.setAttribute('src', urlPrefix + list[i].url + (list[i].url.indexOf('?') == -1 ? '?noCache=':'&noCache=') + (+new Date()).toString(36) ); img.setAttribute('src', urlPrefix + list[i].url + (list[i].url.indexOf('?') == -1 ? '?noCache=':'&noCache=') + (+new Date()).toString(36) );
img.setAttribute('_src', urlPrefix + list[i].url); img.setAttribute('_src', urlPrefix + list[i].url);
domUtils.addClass(icon, 'icon'); domUtils.addClass(icon, 'icon');
item.appendChild(img); item.appendChild(img);
item.appendChild(icon); item.appendChild(icon);
this.list.insertBefore(item, this.clearFloat); this.list.insertBefore(item, this.clearFloat);
} }
} }
}, },
/* 改变图片大小 */ /* 改变图片大小 */
scale: function (img, w, h, type) { scale: function (img, w, h, type) {
var ow = img.width, var ow = img.width,
oh = img.height; oh = img.height;
if (type == 'justify') { if (type == 'justify') {
if (ow >= oh) { if (ow >= oh) {
img.width = w; img.width = w;
img.height = h * oh / ow; img.height = h * oh / ow;
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px'; img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
} else { } else {
img.width = w * ow / oh; img.width = w * ow / oh;
img.height = h; img.height = h;
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px'; img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
} }
} else { } else {
if (ow >= oh) { if (ow >= oh) {
img.width = w * ow / oh; img.width = w * ow / oh;
img.height = h; img.height = h;
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px'; img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
} else { } else {
img.width = w; img.width = w;
img.height = h * oh / ow; img.height = h * oh / ow;
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px'; img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
} }
} }
}, },
getInsertList: function () { getInsertList: function () {
var i, lis = this.list.children, list = [], align = getAlign(); var i, lis = this.list.children, list = [], align = getAlign();
for (i = 0; i < lis.length; i++) { for (i = 0; i < lis.length; i++) {
if (domUtils.hasClass(lis[i], 'selected')) { if (domUtils.hasClass(lis[i], 'selected')) {
var img = lis[i].firstChild, var img = lis[i].firstChild,
src = img.getAttribute('_src'); src = img.getAttribute('_src');
list.push({ list.push({
src: src, src: src,
_src: src, _src: src,
floatStyle: align floatStyle: align
}); });
} }
} }
return list; return list;
} }
}; };
dialog.onok = function () { dialog.onok = function () {
updateBackground(); updateBackground();
editor.fireEvent('saveScene'); editor.fireEvent('saveScene');
}; };
dialog.oncancel = function () { dialog.oncancel = function () {
editor.execCommand('background', backupStyle); editor.execCommand('background', backupStyle);
}; };
})(); })();

View File

@ -1,89 +1,89 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>chart</title> <title>chart</title>
<meta chartset="utf-8"> <meta chartset="utf-8">
<link rel="stylesheet" type="text/css" href="charts.css"> <link rel="stylesheet" type="text/css" href="charts.css">
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
</head> </head>
<body> <body>
<div class="main"> <div class="main">
<div class="table-view"> <div class="table-view">
<h3><var id="lang_data_source"></var></h3> <h3><var id="lang_data_source"></var></h3>
<div id="tableContainer" class="table-container"></div> <div id="tableContainer" class="table-container"></div>
<h3><var id="lang_chart_format"></var></h3> <h3><var id="lang_chart_format"></var></h3>
<form name="data-form"> <form name="data-form">
<div class="charts-format"> <div class="charts-format">
<fieldset> <fieldset>
<legend><var id="lang_data_align"></var></legend> <legend><var id="lang_data_align"></var></legend>
<div class="format-item-container"> <div class="format-item-container">
<label> <label>
<input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="1" checked="checked"> <input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="1" checked="checked">
<var id="lang_chart_align_same"></var> <var id="lang_chart_align_same"></var>
</label> </label>
<label> <label>
<input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="-1"> <input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="-1">
<var id="lang_chart_align_reverse"></var> <var id="lang_chart_align_reverse"></var>
</label> </label>
<br> <br>
</div> </div>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend><var id="lang_chart_title"></var></legend> <legend><var id="lang_chart_title"></var></legend>
<div class="format-item-container"> <div class="format-item-container">
<label> <label>
<var id="lang_chart_main_title"></var><input type="text" name="title" class="data-item"> <var id="lang_chart_main_title"></var><input type="text" name="title" class="data-item">
</label> </label>
<label> <label>
<var id="lang_chart_sub_title"></var><input type="text" name="sub-title" class="data-item not-pie-item"> <var id="lang_chart_sub_title"></var><input type="text" name="sub-title" class="data-item not-pie-item">
</label> </label>
<label> <label>
<var id="lang_chart_x_title"></var><input type="text" name="x-title" class="data-item not-pie-item"> <var id="lang_chart_x_title"></var><input type="text" name="x-title" class="data-item not-pie-item">
</label> </label>
<label> <label>
<var id="lang_chart_y_title"></var><input type="text" name="y-title" class="data-item not-pie-item"> <var id="lang_chart_y_title"></var><input type="text" name="y-title" class="data-item not-pie-item">
</label> </label>
</div> </div>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend><var id="lang_chart_tip"></var></legend> <legend><var id="lang_chart_tip"></var></legend>
<div class="format-item-container"> <div class="format-item-container">
<label> <label>
<var id="lang_cahrt_tip_prefix"></var> <var id="lang_cahrt_tip_prefix"></var>
<input type="text" id="tipInput" name="tip" class="data-item" disabled="disabled"> <input type="text" id="tipInput" name="tip" class="data-item" disabled="disabled">
</label> </label>
<p><var id="lang_cahrt_tip_description"></var></p> <p><var id="lang_cahrt_tip_description"></var></p>
</div> </div>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend><var id="lang_chart_data_unit"></var></legend> <legend><var id="lang_chart_data_unit"></var></legend>
<div class="format-item-container"> <div class="format-item-container">
<label><var id="lang_chart_data_unit_title"></var><input type="text" name="unit" class="data-item"></label> <label><var id="lang_chart_data_unit_title"></var><input type="text" name="unit" class="data-item"></label>
<p><var id="lang_chart_data_unit_description"></var></p> <p><var id="lang_chart_data_unit_description"></var></p>
</div> </div>
</fieldset> </fieldset>
</div> </div>
</form> </form>
</div> </div>
<div class="charts-view"> <div class="charts-view">
<div id="chartsContainer" class="charts-container"></div> <div id="chartsContainer" class="charts-container"></div>
<div id="chartsType" class="charts-type"> <div id="chartsType" class="charts-type">
<h3><var id="lang_chart_type"></var></h3> <h3><var id="lang_chart_type"></var></h3>
<div class="scroll-view"> <div class="scroll-view">
<div class="scroll-container"> <div class="scroll-container">
<div id="scrollBed" class="scroll-bed"></div> <div id="scrollBed" class="scroll-bed"></div>
</div> </div>
<div id="buttonContainer" class="button-container"> <div id="buttonContainer" class="button-container">
<a href="#" data-title="prev"><var id="lang_prev_btn"></var></a> <a href="#" data-title="prev"><var id="lang_prev_btn"></var></a>
<a href="#" data-title="next"><var id="lang_next_btn"></var></a> <a href="#" data-title="next"><var id="lang_next_btn"></var></a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script src="../../third-party/jquery-1.10.2.min.js"></script> <script src="../../third-party/jquery-1.10.2.min.js"></script>
<script src="../../third-party/highcharts/highcharts.js"></script> <script src="../../third-party/highcharts/highcharts.js"></script>
<script src="chart.config.js"></script> <script src="chart.config.js"></script>
<script src="charts.js"></script> <script src="charts.js"></script>
</body> </body>
</html> </html>

View File

@ -1,43 +1,43 @@
.jd img{ .jd img{
background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block; cursor:pointer;width:35px;height:35px;display:block;
} }
.pp img{ .pp img{
background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:25px;height:25px;display:block; cursor:pointer;width:25px;height:25px;display:block;
} }
.ldw img{ .ldw img{
background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block; cursor:pointer;width:35px;height:35px;display:block;
} }
.tsj img{ .tsj img{
background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block; cursor:pointer;width:35px;height:35px;display:block;
} }
.cat img{ .cat img{
background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block; cursor:pointer;width:35px;height:35px;display:block;
} }
.bb img{ .bb img{
background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block; cursor:pointer;width:35px;height:35px;display:block;
} }
.youa img{ .youa img{
background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top; background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top;
cursor:pointer;width:35px;height:35px;display:block; cursor:pointer;width:35px;height:35px;display:block;
} }
.smileytable td {height: 37px;} .smileytable td {height: 37px;}
#tabPanel{margin-left:5px;overflow: hidden;} #tabPanel{margin-left:5px;overflow: hidden;}
#tabContent {float:left;background:#FFFFFF;} #tabContent {float:left;background:#FFFFFF;}
#tabContent div{display: none;width:480px;overflow:hidden;} #tabContent div{display: none;width:480px;overflow:hidden;}
#tabIconReview.show{left:17px;display:block;} #tabIconReview.show{left:17px;display:block;}
.menuFocus{background:#ACCD3C;} .menuFocus{background:#ACCD3C;}
.menuDefault{background:#FFFFFF;} .menuDefault{background:#FFFFFF;}
#tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px;} #tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px;}
img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFFFFF;background-position:center;background-repeat:no-repeat;} img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFFFFF;background-position:center;background-repeat:no-repeat;}
.wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width: 95%;} .wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width: 95%;}
.tabbody table{width: 100%;} .tabbody table{width: 100%;}
.tabbody td{border:1px solid #BAC498;} .tabbody td{border:1px solid #BAC498;}
.tabbody td span{display: block;zoom:1;padding:0 4px;} .tabbody td span{display: block;zoom:1;padding:0 4px;}

View File

@ -1,54 +1,54 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<title></title> <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex, nofollow"/> <meta name="robots" content="noindex, nofollow"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="emotion.css"> <link rel="stylesheet" type="text/css" href="emotion.css">
</head> </head>
<body> <body>
<div id="tabPanel" class="wrapper"> <div id="tabPanel" class="wrapper">
<div id="tabHeads" class="tabhead"> <div id="tabHeads" class="tabhead">
<span><var id="lang_input_choice"></var></span> <span><var id="lang_input_choice"></var></span>
<span><var id="lang_input_Tuzki"></var></span> <span><var id="lang_input_Tuzki"></var></span>
<span><var id="lang_input_lvdouwa"></var></span> <span><var id="lang_input_lvdouwa"></var></span>
<span><var id="lang_input_BOBO"></var></span> <span><var id="lang_input_BOBO"></var></span>
<span><var id="lang_input_babyCat"></var></span> <span><var id="lang_input_babyCat"></var></span>
<span><var id="lang_input_bubble"></var></span> <span><var id="lang_input_bubble"></var></span>
<span><var id="lang_input_youa"></var></span> <span><var id="lang_input_youa"></var></span>
</div> </div>
<div id="tabBodys" class="tabbody"> <div id="tabBodys" class="tabbody">
<div id="tab0"></div> <div id="tab0"></div>
<div id="tab1"></div> <div id="tab1"></div>
<div id="tab2"></div> <div id="tab2"></div>
<div id="tab3"></div> <div id="tab3"></div>
<div id="tab4"></div> <div id="tab4"></div>
<div id="tab5"></div> <div id="tab5"></div>
<div id="tab6"></div> <div id="tab6"></div>
</div> </div>
</div> </div>
<div id="tabIconReview"> <div id="tabIconReview">
<img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/> <img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/>
</div> </div>
<script type="text/javascript" src="emotion.js"></script> <script type="text/javascript" src="emotion.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var emotion = { var emotion = {
tabNum:7, //切换面板数量 tabNum:7, //切换面板数量
SmilmgName:{ tab0:['j_00', 84], tab1:['t_00', 40], tab2:['w_00', 52], tab3:['B_00', 63], tab4:['C_00', 20], tab5:['i_f', 50], tab6:['y_00', 40] }, //图片前缀名 SmilmgName:{ tab0:['j_00', 84], tab1:['t_00', 40], tab2:['w_00', 52], tab3:['B_00', 63], tab4:['C_00', 20], tab5:['i_f', 50], tab6:['y_00', 40] }, //图片前缀名
imageFolders:{ tab0:'jx2/', tab1:'tsj/', tab2:'ldw/', tab3:'bobo/', tab4:'babycat/', tab5:'face/', tab6:'youa/'}, //图片对应文件夹路径 imageFolders:{ tab0:'jx2/', tab1:'tsj/', tab2:'ldw/', tab3:'bobo/', tab4:'babycat/', tab5:'face/', tab6:'youa/'}, //图片对应文件夹路径
imageCss:{tab0:'jd', tab1:'tsj', tab2:'ldw', tab3:'bb', tab4:'cat', tab5:'pp', tab6:'youa'}, //图片css类名 imageCss:{tab0:'jd', tab1:'tsj', tab2:'ldw', tab3:'bb', tab4:'cat', tab5:'pp', tab6:'youa'}, //图片css类名
imageCssOffset:{tab0:35, tab1:35, tab2:35, tab3:35, tab4:35, tab5:25, tab6:35}, //图片偏移 imageCssOffset:{tab0:35, tab1:35, tab2:35, tab3:35, tab4:35, tab5:25, tab6:35}, //图片偏移
SmileyInfor:{ SmileyInfor:{
tab0:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'], tab0:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'],
tab1:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'], tab1:['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'],
tab2:['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'], tab2:['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'],
tab3:['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'], tab3:['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'],
tab4:['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'], tab4:['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'],
tab5:['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'], tab5:['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'],
tab6:['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上'] tab6:['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上']
} }
}; };
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,186 +1,186 @@
window.onload = function () { window.onload = function () {
editor.setOpt({ editor.setOpt({
emotionLocalization:false emotionLocalization:false
}); });
emotion.SmileyPath = editor.options.emotionLocalization === true ? 'images/' : "http://img.baidu.com/hi/"; emotion.SmileyPath = editor.options.emotionLocalization === true ? 'images/' : "http://img.baidu.com/hi/";
emotion.SmileyBox = createTabList( emotion.tabNum ); emotion.SmileyBox = createTabList( emotion.tabNum );
emotion.tabExist = createArr( emotion.tabNum ); emotion.tabExist = createArr( emotion.tabNum );
initImgName(); initImgName();
initEvtHandler( "tabHeads" ); initEvtHandler( "tabHeads" );
}; };
function initImgName() { function initImgName() {
for ( var pro in emotion.SmilmgName ) { for ( var pro in emotion.SmilmgName ) {
var tempName = emotion.SmilmgName[pro], var tempName = emotion.SmilmgName[pro],
tempBox = emotion.SmileyBox[pro], tempBox = emotion.SmileyBox[pro],
tempStr = ""; tempStr = "";
if ( tempBox.length ) return; if ( tempBox.length ) return;
for ( var i = 1; i <= tempName[1]; i++ ) { for ( var i = 1; i <= tempName[1]; i++ ) {
tempStr = tempName[0]; tempStr = tempName[0];
if ( i < 10 ) tempStr = tempStr + '0'; if ( i < 10 ) tempStr = tempStr + '0';
tempStr = tempStr + i + '.gif'; tempStr = tempStr + i + '.gif';
tempBox.push( tempStr ); tempBox.push( tempStr );
} }
} }
} }
function initEvtHandler( conId ) { function initEvtHandler( conId ) {
var tabHeads = $G( conId ); var tabHeads = $G( conId );
for ( var i = 0, j = 0; i < tabHeads.childNodes.length; i++ ) { for ( var i = 0, j = 0; i < tabHeads.childNodes.length; i++ ) {
var tabObj = tabHeads.childNodes[i]; var tabObj = tabHeads.childNodes[i];
if ( tabObj.nodeType == 1 ) { if ( tabObj.nodeType == 1 ) {
domUtils.on( tabObj, "click", (function ( index ) { domUtils.on( tabObj, "click", (function ( index ) {
return function () { return function () {
switchTab( index ); switchTab( index );
}; };
})( j ) ); })( j ) );
j++; j++;
} }
} }
switchTab( 0 ); switchTab( 0 );
$G( "tabIconReview" ).style.display = 'none'; $G( "tabIconReview" ).style.display = 'none';
} }
function InsertSmiley( url, evt ) { function InsertSmiley( url, evt ) {
var obj = { var obj = {
src:editor.options.emotionLocalization ? editor.options.UEDITOR_HOME_URL + "dialogs/emotion/" + url : url src:editor.options.emotionLocalization ? editor.options.UEDITOR_HOME_URL + "dialogs/emotion/" + url : url
}; };
obj._src = obj.src; obj._src = obj.src;
editor.execCommand( 'insertimage', obj ); editor.execCommand( 'insertimage', obj );
if ( !evt.ctrlKey ) { if ( !evt.ctrlKey ) {
dialog.popup.hide(); dialog.popup.hide();
} }
} }
function switchTab( index ) { function switchTab( index ) {
autoHeight( index ); autoHeight( index );
if ( emotion.tabExist[index] == 0 ) { if ( emotion.tabExist[index] == 0 ) {
emotion.tabExist[index] = 1; emotion.tabExist[index] = 1;
createTab( 'tab' + index ); createTab( 'tab' + index );
} }
//获取呈现元素句柄数组 //获取呈现元素句柄数组
var tabHeads = $G( "tabHeads" ).getElementsByTagName( "span" ), var tabHeads = $G( "tabHeads" ).getElementsByTagName( "span" ),
tabBodys = $G( "tabBodys" ).getElementsByTagName( "div" ), tabBodys = $G( "tabBodys" ).getElementsByTagName( "div" ),
i = 0, L = tabHeads.length; i = 0, L = tabHeads.length;
//隐藏所有呈现元素 //隐藏所有呈现元素
for ( ; i < L; i++ ) { for ( ; i < L; i++ ) {
tabHeads[i].className = ""; tabHeads[i].className = "";
tabBodys[i].style.display = "none"; tabBodys[i].style.display = "none";
} }
//显示对应呈现元素 //显示对应呈现元素
tabHeads[index].className = "focus"; tabHeads[index].className = "focus";
tabBodys[index].style.display = "block"; tabBodys[index].style.display = "block";
} }
function autoHeight( index ) { function autoHeight( index ) {
var iframe = dialog.getDom( "iframe" ), var iframe = dialog.getDom( "iframe" ),
parent = iframe.parentNode.parentNode; parent = iframe.parentNode.parentNode;
switch ( index ) { switch ( index ) {
case 0: case 0:
iframe.style.height = "380px"; iframe.style.height = "380px";
parent.style.height = "392px"; parent.style.height = "392px";
break; break;
case 1: case 1:
iframe.style.height = "220px"; iframe.style.height = "220px";
parent.style.height = "232px"; parent.style.height = "232px";
break; break;
case 2: case 2:
iframe.style.height = "260px"; iframe.style.height = "260px";
parent.style.height = "272px"; parent.style.height = "272px";
break; break;
case 3: case 3:
iframe.style.height = "300px"; iframe.style.height = "300px";
parent.style.height = "312px"; parent.style.height = "312px";
break; break;
case 4: case 4:
iframe.style.height = "140px"; iframe.style.height = "140px";
parent.style.height = "152px"; parent.style.height = "152px";
break; break;
case 5: case 5:
iframe.style.height = "260px"; iframe.style.height = "260px";
parent.style.height = "272px"; parent.style.height = "272px";
break; break;
case 6: case 6:
iframe.style.height = "230px"; iframe.style.height = "230px";
parent.style.height = "242px"; parent.style.height = "242px";
break; break;
default: default:
} }
} }
function createTab( tabName ) { function createTab( tabName ) {
var faceVersion = "?v=1.1", //版本号 var faceVersion = "?v=1.1", //版本号
tab = $G( tabName ), //获取将要生成的Div句柄 tab = $G( tabName ), //获取将要生成的Div句柄
imagePath = emotion.SmileyPath + emotion.imageFolders[tabName], //获取显示表情和预览表情的路径 imagePath = emotion.SmileyPath + emotion.imageFolders[tabName], //获取显示表情和预览表情的路径
positionLine = 11 / 2, //中间数 positionLine = 11 / 2, //中间数
iWidth = iHeight = 35, //图片长宽 iWidth = iHeight = 35, //图片长宽
iColWidth = 3, //表格剩余空间的显示比例 iColWidth = 3, //表格剩余空间的显示比例
tableCss = emotion.imageCss[tabName], tableCss = emotion.imageCss[tabName],
cssOffset = emotion.imageCssOffset[tabName], cssOffset = emotion.imageCssOffset[tabName],
textHTML = ['<table class="smileytable">'], textHTML = ['<table class="smileytable">'],
i = 0, imgNum = emotion.SmileyBox[tabName].length, imgColNum = 11, faceImage, i = 0, imgNum = emotion.SmileyBox[tabName].length, imgColNum = 11, faceImage,
sUrl, realUrl, posflag, offset, infor; sUrl, realUrl, posflag, offset, infor;
for ( ; i < imgNum; ) { for ( ; i < imgNum; ) {
textHTML.push( '<tr>' ); textHTML.push( '<tr>' );
for ( var j = 0; j < imgColNum; j++, i++ ) { for ( var j = 0; j < imgColNum; j++, i++ ) {
faceImage = emotion.SmileyBox[tabName][i]; faceImage = emotion.SmileyBox[tabName][i];
if ( faceImage ) { if ( faceImage ) {
sUrl = imagePath + faceImage + faceVersion; sUrl = imagePath + faceImage + faceVersion;
realUrl = imagePath + faceImage; realUrl = imagePath + faceImage;
posflag = j < positionLine ? 0 : 1; posflag = j < positionLine ? 0 : 1;
offset = cssOffset * i * (-1) - 1; offset = cssOffset * i * (-1) - 1;
infor = emotion.SmileyInfor[tabName][i]; infor = emotion.SmileyInfor[tabName][i];
textHTML.push( '<td class="' + tableCss + '" border="1" width="' + iColWidth + '%" style="border-collapse:collapse;" align="center" bgcolor="transparent" onclick="InsertSmiley(\'' + realUrl.replace( /'/g, "\\'" ) + '\',event)" onmouseover="over(this,\'' + sUrl + '\',\'' + posflag + '\')" onmouseout="out(this)">' ); textHTML.push( '<td class="' + tableCss + '" border="1" width="' + iColWidth + '%" style="border-collapse:collapse;" align="center" bgcolor="transparent" onclick="InsertSmiley(\'' + realUrl.replace( /'/g, "\\'" ) + '\',event)" onmouseover="over(this,\'' + sUrl + '\',\'' + posflag + '\')" onmouseout="out(this)">' );
textHTML.push( '<span>' ); textHTML.push( '<span>' );
textHTML.push( '<img style="background-position:left ' + offset + 'px;" title="' + infor + '" src="' + emotion.SmileyPath + (editor.options.emotionLocalization ? '0.gif" width="' : 'default/0.gif" width="') + iWidth + '" height="' + iHeight + '"></img>' ); textHTML.push( '<img style="background-position:left ' + offset + 'px;" title="' + infor + '" src="' + emotion.SmileyPath + (editor.options.emotionLocalization ? '0.gif" width="' : 'default/0.gif" width="') + iWidth + '" height="' + iHeight + '"></img>' );
textHTML.push( '</span>' ); textHTML.push( '</span>' );
} else { } else {
textHTML.push( '<td width="' + iColWidth + '%" bgcolor="#FFFFFF">' ); textHTML.push( '<td width="' + iColWidth + '%" bgcolor="#FFFFFF">' );
} }
textHTML.push( '</td>' ); textHTML.push( '</td>' );
} }
textHTML.push( '</tr>' ); textHTML.push( '</tr>' );
} }
textHTML.push( '</table>' ); textHTML.push( '</table>' );
textHTML = textHTML.join( "" ); textHTML = textHTML.join( "" );
tab.innerHTML = textHTML; tab.innerHTML = textHTML;
} }
function over( td, srcPath, posFlag ) { function over( td, srcPath, posFlag ) {
td.style.backgroundColor = "#ACCD3C"; td.style.backgroundColor = "#ACCD3C";
$G( 'faceReview' ).style.backgroundImage = "url(" + srcPath + ")"; $G( 'faceReview' ).style.backgroundImage = "url(" + srcPath + ")";
if ( posFlag == 1 ) $G( "tabIconReview" ).className = "show"; if ( posFlag == 1 ) $G( "tabIconReview" ).className = "show";
$G( "tabIconReview" ).style.display = 'block'; $G( "tabIconReview" ).style.display = 'block';
} }
function out( td ) { function out( td ) {
td.style.backgroundColor = "transparent"; td.style.backgroundColor = "transparent";
var tabIconRevew = $G( "tabIconReview" ); var tabIconRevew = $G( "tabIconReview" );
tabIconRevew.className = ""; tabIconRevew.className = "";
tabIconRevew.style.display = 'none'; tabIconRevew.style.display = 'none';
} }
function createTabList( tabNum ) { function createTabList( tabNum ) {
var obj = {}; var obj = {};
for ( var i = 0; i < tabNum; i++ ) { for ( var i = 0; i < tabNum; i++ ) {
obj["tab" + i] = []; obj["tab" + i] = [];
} }
return obj; return obj;
} }
function createArr( tabNum ) { function createArr( tabNum ) {
var arr = []; var arr = [];
for ( var i = 0; i < tabNum; i++ ) { for ( var i = 0; i < tabNum; i++ ) {
arr[i] = 0; arr[i] = 0;
} }
return arr; return arr;
} }

View File

@ -1,89 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title> <title></title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<style type="text/css"> <style type="text/css">
.content{width:530px; height: 350px;margin: 10px auto;} .content{width:530px; height: 350px;margin: 10px auto;}
.content table{width: 100%} .content table{width: 100%}
.content table td{vertical-align: middle;} .content table td{vertical-align: middle;}
#address{width:220px;height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;} #address{width:220px;height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;}
</style> </style>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
</head> </head>
<body> <body>
<div class="content"> <div class="content">
<table> <table>
<tr> <tr>
<td><label for="address"><var id="lang_input_address"></var></label></td> <td><label for="address"><var id="lang_input_address"></var></label></td>
<td><input id="address" type="text" /></td> <td><input id="address" type="text" /></td>
<td><a id="doSearch" href="javascript:void(0)" class="button"><var id="lang_input_search"></var></a></td> <td><a id="doSearch" href="javascript:void(0)" class="button"><var id="lang_input_search"></var></a></td>
</tr> </tr>
</table> </table>
<div id="container" style="width: 100%; height: 340px;margin: 5px auto; border: 1px solid gray;"></div> <div id="container" style="width: 100%; height: 340px;margin: 5px auto; border: 1px solid gray;"></div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
domUtils.on(window,"load",function(){ domUtils.on(window,"load",function(){
var map = new google.maps.Map(document.getElementById('container'), { var map = new google.maps.Map(document.getElementById('container'), {
zoom: 3, zoom: 3,
streetViewControl: false, streetViewControl: false,
scaleControl: true, scaleControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP mapTypeId: google.maps.MapTypeId.ROADMAP
}); });
var imgcss; var imgcss;
var marker = new google.maps.Marker({ var marker = new google.maps.Marker({
map: map, map: map,
draggable: true draggable: true
}); });
function doSearch(){ function doSearch(){
var address = document.getElementById('address').value; var address = document.getElementById('address').value;
var geocoder = new google.maps.Geocoder(); var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function (results, status) { geocoder.geocode( { 'address': address}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) { if (status == google.maps.GeocoderStatus.OK) {
var bounds = results[0].geometry.viewport; var bounds = results[0].geometry.viewport;
map.fitBounds(bounds); map.fitBounds(bounds);
marker.setPosition(results[0].geometry.location); marker.setPosition(results[0].geometry.location);
marker.setTitle(address); marker.setTitle(address);
} else alert(lang.searchError); } else alert(lang.searchError);
}); });
} }
$G('address').onkeydown = function (evt){ $G('address').onkeydown = function (evt){
evt = evt || event; evt = evt || event;
if (evt.keyCode == 13) { if (evt.keyCode == 13) {
doSearch(); doSearch();
} }
}; };
$G("doSearch").onclick = doSearch; $G("doSearch").onclick = doSearch;
dialog.onok = function (){ dialog.onok = function (){
var center = map.getCenter(); var center = map.getCenter();
var point = marker.getPosition(); var point = marker.getPosition();
var url = "http://maps.googleapis.com/maps/api/staticmap?center=" + center.lat() + ',' + center.lng() + "&zoom=" + map.zoom + "&size=520x340&maptype=" + map.getMapTypeId() + "&markers=" + point.lat() + ',' + point.lng() + "&sensor=false"; var url = "http://maps.googleapis.com/maps/api/staticmap?center=" + center.lat() + ',' + center.lng() + "&zoom=" + map.zoom + "&size=520x340&maptype=" + map.getMapTypeId() + "&markers=" + point.lat() + ',' + point.lng() + "&sensor=false";
editor.execCommand('inserthtml', '<img width="520" height="340" src="' + url + '"' + (imgcss ? ' style="' + imgcss + '"' :'') + '/>'); editor.execCommand('inserthtml', '<img width="520" height="340" src="' + url + '"' + (imgcss ? ' style="' + imgcss + '"' :'') + '/>');
}; };
function getPars(str,par){ function getPars(str,par){
var reg = new RegExp(par+"=((\\d+|[.,])*)","g"); var reg = new RegExp(par+"=((\\d+|[.,])*)","g");
return reg.exec(str)[1]; return reg.exec(str)[1];
} }
var img = editor.selection.getRange().getClosedNode(); var img = editor.selection.getRange().getClosedNode();
if(img && img.src.indexOf("http://maps.googleapis.com/maps/api/staticmap")!=-1){ if(img && img.src.indexOf("http://maps.googleapis.com/maps/api/staticmap")!=-1){
var url = img.getAttribute("src"); var url = img.getAttribute("src");
var centers = getPars(url,"center").split(","); var centers = getPars(url,"center").split(",");
point = new google.maps.LatLng(Number(centers[0]),Number(centers[1])); point = new google.maps.LatLng(Number(centers[0]),Number(centers[1]));
map.setCenter(point); map.setCenter(point);
map.setZoom(Number(getPars(url,"zoom"))); map.setZoom(Number(getPars(url,"zoom")));
centers = getPars(url,"markers").split(","); centers = getPars(url,"markers").split(",");
marker.setPosition(new google.maps.LatLng(Number(centers[0]),Number(centers[1]))); marker.setPosition(new google.maps.LatLng(Number(centers[0]),Number(centers[1])));
imgcss = img.style.cssText; imgcss = img.style.cssText;
}else{ }else{
setTimeout(function(){ setTimeout(function(){
doSearch(); doSearch();
},30) },30)
} }
}); });
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,7 +1,7 @@
.wrapper{width: 370px;margin: 10px auto;zoom: 1;} .wrapper{width: 370px;margin: 10px auto;zoom: 1;}
.tabbody{height: 360px;} .tabbody{height: 360px;}
.tabbody .panel{width:100%;height: 360px;position: absolute;background: #fff;} .tabbody .panel{width:100%;height: 360px;position: absolute;background: #fff;}
.tabbody .panel h1{font-size:26px;margin: 5px 0 0 5px;} .tabbody .panel h1{font-size:26px;margin: 5px 0 0 5px;}
.tabbody .panel p{font-size:12px;margin: 5px 0 0 5px;} .tabbody .panel p{font-size:12px;margin: 5px 0 0 5px;}
.tabbody table{width:90%;line-height: 20px;margin: 5px 0 0 5px;;} .tabbody table{width:90%;line-height: 20px;margin: 5px 0 0 5px;;}
.tabbody table thead{font-weight: bold;line-height: 25px;} .tabbody table thead{font-weight: bold;line-height: 25px;}

View File

@ -1,82 +1,82 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<title>帮助</title> <title>帮助</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="help.css"> <link rel="stylesheet" type="text/css" href="help.css">
</head> </head>
<body> <body>
<div class="wrapper" id="helptab"> <div class="wrapper" id="helptab">
<div id="tabHeads" class="tabhead"> <div id="tabHeads" class="tabhead">
<span class="focus" tabsrc="about"><var id="lang_input_about"></var></span> <span class="focus" tabsrc="about"><var id="lang_input_about"></var></span>
<span tabsrc="shortcuts"><var id="lang_input_shortcuts"></var></span> <span tabsrc="shortcuts"><var id="lang_input_shortcuts"></var></span>
</div> </div>
<div id="tabBodys" class="tabbody"> <div id="tabBodys" class="tabbody">
<div id="about" class="panel"> <div id="about" class="panel">
<h1>UEditor</h1> <h1>UEditor</h1>
<p id="version"></p> <p id="version"></p>
<p><var id="lang_input_introduction"></var></p> <p><var id="lang_input_introduction"></var></p>
</div> </div>
<div id="shortcuts" class="panel"> <div id="shortcuts" class="panel">
<table> <table>
<thead> <thead>
<tr> <tr>
<td><var id="lang_Txt_shortcuts"></var></td> <td><var id="lang_Txt_shortcuts"></var></td>
<td><var id="lang_Txt_func"></var></td> <td><var id="lang_Txt_func"></var></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>ctrl+b</td> <td>ctrl+b</td>
<td><var id="lang_Txt_bold"></var></td> <td><var id="lang_Txt_bold"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+c</td> <td>ctrl+c</td>
<td><var id="lang_Txt_copy"></var></td> <td><var id="lang_Txt_copy"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+x</td> <td>ctrl+x</td>
<td><var id="lang_Txt_cut"></var></td> <td><var id="lang_Txt_cut"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+v</td> <td>ctrl+v</td>
<td><var id="lang_Txt_Paste"></var></td> <td><var id="lang_Txt_Paste"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+y</td> <td>ctrl+y</td>
<td><var id="lang_Txt_undo"></var></td> <td><var id="lang_Txt_undo"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+z</td> <td>ctrl+z</td>
<td><var id="lang_Txt_redo"></var></td> <td><var id="lang_Txt_redo"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+i</td> <td>ctrl+i</td>
<td><var id="lang_Txt_italic"></var></td> <td><var id="lang_Txt_italic"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+u</td> <td>ctrl+u</td>
<td><var id="lang_Txt_underline"></var></td> <td><var id="lang_Txt_underline"></var></td>
</tr> </tr>
<tr> <tr>
<td>ctrl+a</td> <td>ctrl+a</td>
<td><var id="lang_Txt_selectAll"></var></td> <td><var id="lang_Txt_selectAll"></var></td>
</tr> </tr>
<tr> <tr>
<td>shift+enter</td> <td>shift+enter</td>
<td><var id="lang_Txt_visualEnter"></var></td> <td><var id="lang_Txt_visualEnter"></var></td>
</tr> </tr>
<tr> <tr>
<td>alt+z</td> <td>alt+z</td>
<td><var id="lang_Txt_fullscreen"></var></td> <td><var id="lang_Txt_fullscreen"></var></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" src="help.js"></script> <script type="text/javascript" src="help.js"></script>
</body> </body>
</html> </html>

View File

@ -1,56 +1,56 @@
/** /**
* Created with JetBrains PhpStorm. * Created with JetBrains PhpStorm.
* User: xuheng * User: xuheng
* Date: 12-9-26 * Date: 12-9-26
* Time: 下午1:06 * Time: 下午1:06
* To change this template use File | Settings | File Templates. * To change this template use File | Settings | File Templates.
*/ */
/** /**
* tab点击处理事件 * tab点击处理事件
* @param tabHeads * @param tabHeads
* @param tabBodys * @param tabBodys
* @param obj * @param obj
*/ */
function clickHandler( tabHeads,tabBodys,obj ) { function clickHandler( tabHeads,tabBodys,obj ) {
//head样式更改 //head样式更改
for ( var k = 0, len = tabHeads.length; k < len; k++ ) { for ( var k = 0, len = tabHeads.length; k < len; k++ ) {
tabHeads[k].className = ""; tabHeads[k].className = "";
} }
obj.className = "focus"; obj.className = "focus";
//body显隐 //body显隐
var tabSrc = obj.getAttribute( "tabSrc" ); var tabSrc = obj.getAttribute( "tabSrc" );
for ( var j = 0, length = tabBodys.length; j < length; j++ ) { for ( var j = 0, length = tabBodys.length; j < length; j++ ) {
var body = tabBodys[j], var body = tabBodys[j],
id = body.getAttribute( "id" ); id = body.getAttribute( "id" );
body.onclick = function(){ body.onclick = function(){
this.style.zoom = 1; this.style.zoom = 1;
}; };
if ( id != tabSrc ) { if ( id != tabSrc ) {
body.style.zIndex = 1; body.style.zIndex = 1;
} else { } else {
body.style.zIndex = 200; body.style.zIndex = 200;
} }
} }
} }
/** /**
* TAB切换 * TAB切换
* @param tabParentId tab的父节点ID或者对象本身 * @param tabParentId tab的父节点ID或者对象本身
*/ */
function switchTab( tabParentId ) { function switchTab( tabParentId ) {
var tabElements = $G( tabParentId ).children, var tabElements = $G( tabParentId ).children,
tabHeads = tabElements[0].children, tabHeads = tabElements[0].children,
tabBodys = tabElements[1].children; tabBodys = tabElements[1].children;
for ( var i = 0, length = tabHeads.length; i < length; i++ ) { for ( var i = 0, length = tabHeads.length; i < length; i++ ) {
var head = tabHeads[i]; var head = tabHeads[i];
if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head );
head.onclick = function () { head.onclick = function () {
clickHandler(tabHeads,tabBodys,this); clickHandler(tabHeads,tabBodys,this);
} }
} }
} }
switchTab("helptab"); switchTab("helptab");
document.getElementById('version').innerHTML = parent.UE.version; document.getElementById('version').innerHTML = parent.UE.version;

File diff suppressed because it is too large Load Diff

View File

@ -1,120 +1,120 @@
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>ueditor图片对话框</title> <title>ueditor图片对话框</title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<!-- jquery --> <!-- jquery -->
<script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script>
<!-- webuploader --> <!-- webuploader -->
<script src="../../third-party/webuploader/webuploader.min.js"></script> <script src="../../third-party/webuploader/webuploader.min.js"></script>
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css"> <link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css">
<!-- image dialog --> <!-- image dialog -->
<link rel="stylesheet" href="image.css" type="text/css" /> <link rel="stylesheet" href="image.css" type="text/css" />
</head> </head>
<body> <body>
<div class="wrapper"> <div class="wrapper">
<div id="tabhead" class="tabhead"> <div id="tabhead" class="tabhead">
<span class="tab" data-content-id="remote"><var id="lang_tab_remote"></var></span> <span class="tab" data-content-id="remote"><var id="lang_tab_remote"></var></span>
<span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span> <span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
<span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span> <span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
<span class="tab" data-content-id="search"><var id="lang_tab_search"></var></span> <span class="tab" data-content-id="search"><var id="lang_tab_search"></var></span>
</div> </div>
<div class="alignBar"> <div class="alignBar">
<label class="algnLabel"><var id="lang_input_align"></var></label> <label class="algnLabel"><var id="lang_input_align"></var></label>
<span id="alignIcon"> <span id="alignIcon">
<span id="noneAlign" class="none-align focus" data-align="none"></span> <span id="noneAlign" class="none-align focus" data-align="none"></span>
<span id="leftAlign" class="left-align" data-align="left"></span> <span id="leftAlign" class="left-align" data-align="left"></span>
<span id="rightAlign" class="right-align" data-align="right"></span> <span id="rightAlign" class="right-align" data-align="right"></span>
<span id="centerAlign" class="center-align" data-align="center"></span> <span id="centerAlign" class="center-align" data-align="center"></span>
</span> </span>
<input id="align" name="align" type="hidden" value="none"/> <input id="align" name="align" type="hidden" value="none"/>
</div> </div>
<div id="tabbody" class="tabbody"> <div id="tabbody" class="tabbody">
<!-- 远程图片 --> <!-- 远程图片 -->
<div id="remote" class="panel"> <div id="remote" class="panel">
<div class="top"> <div class="top">
<div class="row"> <div class="row">
<label for="url"><var id="lang_input_url"></var></label> <label for="url"><var id="lang_input_url"></var></label>
<span><input class="text" id="url" type="text"/></span> <span><input class="text" id="url" type="text"/></span>
</div> </div>
</div> </div>
<div class="left"> <div class="left">
<div class="row"> <div class="row">
<label><var id="lang_input_size"></var></label> <label><var id="lang_input_size"></var></label>
<span><var id="lang_input_width">&nbsp;&nbsp;</var><input class="text" type="text" id="width"/>px </span> <span><var id="lang_input_width">&nbsp;&nbsp;</var><input class="text" type="text" id="width"/>px </span>
<span><var id="lang_input_height">&nbsp;&nbsp;</var><input class="text" type="text" id="height"/>px </span> <span><var id="lang_input_height">&nbsp;&nbsp;</var><input class="text" type="text" id="height"/>px </span>
<span><input id="lock" type="checkbox" disabled="disabled"><span id="lockicon"></span></span> <span><input id="lock" type="checkbox" disabled="disabled"><span id="lockicon"></span></span>
</div> </div>
<div class="row"> <div class="row">
<label><var id="lang_input_border"></var></label> <label><var id="lang_input_border"></var></label>
<span><input class="text" type="text" id="border"/>px </span> <span><input class="text" type="text" id="border"/>px </span>
</div> </div>
<div class="row"> <div class="row">
<label><var id="lang_input_vhspace"></var></label> <label><var id="lang_input_vhspace"></var></label>
<span><input class="text" type="text" id="vhSpace"/>px </span> <span><input class="text" type="text" id="vhSpace"/>px </span>
</div> </div>
<div class="row"> <div class="row">
<label><var id="lang_input_title"></var></label> <label><var id="lang_input_title"></var></label>
<span><input class="text" type="text" id="title"/></span> <span><input class="text" type="text" id="title"/></span>
</div> </div>
</div> </div>
<div class="right"><div id="preview"></div></div> <div class="right"><div id="preview"></div></div>
</div> </div>
<!-- 上传图片 --> <!-- 上传图片 -->
<div id="upload" class="panel focus"> <div id="upload" class="panel focus">
<div id="queueList" class="queueList"> <div id="queueList" class="queueList">
<div class="statusBar element-invisible"> <div class="statusBar element-invisible">
<div class="progress"> <div class="progress">
<span class="text">0%</span> <span class="text">0%</span>
<span class="percentage"></span> <span class="percentage"></span>
</div><div class="info"></div> </div><div class="info"></div>
<div class="btns"> <div class="btns">
<div id="filePickerBtn"></div> <div id="filePickerBtn"></div>
<div class="uploadBtn"><var id="lang_start_upload"></var></div> <div class="uploadBtn"><var id="lang_start_upload"></var></div>
</div> </div>
</div> </div>
<div id="dndArea" class="placeholder"> <div id="dndArea" class="placeholder">
<div class="filePickerContainer"> <div class="filePickerContainer">
<div id="filePickerReady"></div> <div id="filePickerReady"></div>
</div> </div>
</div> </div>
<ul class="filelist element-invisible"> <ul class="filelist element-invisible">
<li id="filePickerBlock" class="filePickerBlock"></li> <li id="filePickerBlock" class="filePickerBlock"></li>
</ul> </ul>
</div> </div>
</div> </div>
<!-- 在线图片 --> <!-- 在线图片 -->
<div id="online" class="panel"> <div id="online" class="panel">
<div id="imageList"><var id="lang_imgLoading"></var></div> <div id="imageList"><var id="lang_imgLoading"></var></div>
</div> </div>
<!-- 搜索图片 --> <!-- 搜索图片 -->
<div id="search" class="panel"> <div id="search" class="panel">
<div class="searchBar"> <div class="searchBar">
<input id="searchTxt" class="searchTxt text" type="text" /> <input id="searchTxt" class="searchTxt text" type="text" />
<select id="searchType" class="searchType"> <select id="searchType" class="searchType">
<option value="&s=4&z=0"></option> <option value="&s=4&z=0"></option>
<option value="&s=1&z=19"></option> <option value="&s=1&z=19"></option>
<option value="&s=2&z=0"></option> <option value="&s=2&z=0"></option>
<option value="&s=3&z=0"></option> <option value="&s=3&z=0"></option>
</select> </select>
<input id="searchReset" type="button" /> <input id="searchReset" type="button" />
<input id="searchBtn" type="button" /> <input id="searchBtn" type="button" />
</div> </div>
<div id="searchList" class="searchList"><ul id="searchListUl"></ul></div> <div id="searchList" class="searchList"><ul id="searchListUl"></ul></div>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" src="image.js"></script> <script type="text/javascript" src="image.js"></script>
</body> </body>
</html> </html>

File diff suppressed because one or more lines are too long

View File

@ -1,98 +1,98 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title> <title></title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<style type="text/css"> <style type="text/css">
.warp {width: 320px;height: 153px;margin-left:5px;padding: 20px 0 0 15px;position: relative;} .warp {width: 320px;height: 153px;margin-left:5px;padding: 20px 0 0 15px;position: relative;}
#url {width: 290px; margin-bottom: 2px; margin-left: -6px; margin-left: -2px\9;*margin-left:0;_margin-left:0; } #url {width: 290px; margin-bottom: 2px; margin-left: -6px; margin-left: -2px\9;*margin-left:0;_margin-left:0; }
.format span{display: inline-block; width: 58px;text-align: center; zoom:1;} .format span{display: inline-block; width: 58px;text-align: center; zoom:1;}
table td{padding:5px 0;} table td{padding:5px 0;}
#align{width: 65px;height: 23px;line-height: 22px;} #align{width: 65px;height: 23px;line-height: 22px;}
</style> </style>
</head> </head>
<body> <body>
<div class="warp"> <div class="warp">
<table width="300" cellpadding="0" cellspacing="0"> <table width="300" cellpadding="0" cellspacing="0">
<tr> <tr>
<td colspan="2" class="format"> <td colspan="2" class="format">
<span><var id="lang_input_address"></var></span> <span><var id="lang_input_address"></var></span>
<input style="width:200px" id="url" type="text" value=""/> <input style="width:200px" id="url" type="text" value=""/>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="format"><span><var id="lang_input_width"></var></span><input style="width:200px" type="text" id="width"/> px</td> <td colspan="2" class="format"><span><var id="lang_input_width"></var></span><input style="width:200px" type="text" id="width"/> px</td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="format"><span><var id="lang_input_height"></var></span><input style="width:200px" type="text" id="height"/> px</td> <td colspan="2" class="format"><span><var id="lang_input_height"></var></span><input style="width:200px" type="text" id="height"/> px</td>
</tr> </tr>
<tr> <tr>
<td><span><var id="lang_input_isScroll"></var></span><input type="checkbox" id="scroll"/> </td> <td><span><var id="lang_input_isScroll"></var></span><input type="checkbox" id="scroll"/> </td>
<td><span><var id="lang_input_frameborder"></var></span><input type="checkbox" id="frameborder"/> </td> <td><span><var id="lang_input_frameborder"></var></span><input type="checkbox" id="frameborder"/> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"><span><var id="lang_input_alignMode"></var></span> <td colspan="2"><span><var id="lang_input_alignMode"></var></span>
<select id="align"> <select id="align">
<option value=""></option> <option value=""></option>
<option value="left"></option> <option value="left"></option>
<option value="right"></option> <option value="right"></option>
</select> </select>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
var iframe = editor._iframe; var iframe = editor._iframe;
if(iframe){ if(iframe){
$G("url").value = iframe.getAttribute("src")||""; $G("url").value = iframe.getAttribute("src")||"";
$G("width").value = iframe.getAttribute("width")||iframe.style.width.replace("px","")||""; $G("width").value = iframe.getAttribute("width")||iframe.style.width.replace("px","")||"";
$G("height").value = iframe.getAttribute("height") || iframe.style.height.replace("px","") ||""; $G("height").value = iframe.getAttribute("height") || iframe.style.height.replace("px","") ||"";
$G("scroll").checked = (iframe.getAttribute("scrolling") == "yes") ? true : false; $G("scroll").checked = (iframe.getAttribute("scrolling") == "yes") ? true : false;
$G("frameborder").checked = (iframe.getAttribute("frameborder") == "1") ? true : false; $G("frameborder").checked = (iframe.getAttribute("frameborder") == "1") ? true : false;
$G("align").value = iframe.align ? iframe.align : ""; $G("align").value = iframe.align ? iframe.align : "";
} }
function queding(){ function queding(){
var url = $G("url").value.replace(/^\s*|\s*$/ig,""), var url = $G("url").value.replace(/^\s*|\s*$/ig,""),
width = $G("width").value, width = $G("width").value,
height = $G("height").value, height = $G("height").value,
scroll = $G("scroll"), scroll = $G("scroll"),
frameborder = $G("frameborder"), frameborder = $G("frameborder"),
float = $G("align").value, float = $G("align").value,
newIframe = editor.document.createElement("iframe"), newIframe = editor.document.createElement("iframe"),
div; div;
if(!url){ if(!url){
alert(lang.enterAddress); alert(lang.enterAddress);
return false; return false;
} }
newIframe.setAttribute("src",/http:\/\/|https:\/\//ig.test(url) ? url : "http://"+url); newIframe.setAttribute("src",/http:\/\/|https:\/\//ig.test(url) ? url : "http://"+url);
/^[1-9]+[.]?\d*$/g.test( width ) ? newIframe.setAttribute("width",width) : ""; /^[1-9]+[.]?\d*$/g.test( width ) ? newIframe.setAttribute("width",width) : "";
/^[1-9]+[.]?\d*$/g.test( height ) ? newIframe.setAttribute("height",height) : ""; /^[1-9]+[.]?\d*$/g.test( height ) ? newIframe.setAttribute("height",height) : "";
scroll.checked ? newIframe.setAttribute("scrolling","yes") : newIframe.setAttribute("scrolling","no"); scroll.checked ? newIframe.setAttribute("scrolling","yes") : newIframe.setAttribute("scrolling","no");
frameborder.checked ? newIframe.setAttribute("frameborder","1",0) : newIframe.setAttribute("frameborder","0",0); frameborder.checked ? newIframe.setAttribute("frameborder","1",0) : newIframe.setAttribute("frameborder","0",0);
float ? newIframe.setAttribute("align",float) : newIframe.setAttribute("align",""); float ? newIframe.setAttribute("align",float) : newIframe.setAttribute("align","");
if(iframe){ if(iframe){
iframe.parentNode.insertBefore(newIframe,iframe); iframe.parentNode.insertBefore(newIframe,iframe);
domUtils.remove(iframe); domUtils.remove(iframe);
}else{ }else{
div = editor.document.createElement("div"); div = editor.document.createElement("div");
div.appendChild(newIframe); div.appendChild(newIframe);
editor.execCommand("inserthtml",div.innerHTML); editor.execCommand("inserthtml",div.innerHTML);
} }
editor._iframe = null; editor._iframe = null;
dialog.close(); dialog.close();
} }
dialog.onok = queding; dialog.onok = queding;
$G("url").onkeydown = function(evt){ $G("url").onkeydown = function(evt){
evt = evt || event; evt = evt || event;
if(evt.keyCode == 13){ if(evt.keyCode == 13){
queding(); queding();
} }
}; };
$focus($G( "url" )); $focus($G( "url" ));
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,81 +1,81 @@
(function () { (function () {
var parent = window.parent; var parent = window.parent;
//dialog对象 //dialog对象
dialog = parent.$EDITORUI[window.frameElement.id.replace( /_iframe$/, '' )]; dialog = parent.$EDITORUI[window.frameElement.id.replace( /_iframe$/, '' )];
//当前打开dialog的编辑器实例 //当前打开dialog的编辑器实例
editor = dialog.editor; editor = dialog.editor;
UE = parent.UE; UE = parent.UE;
domUtils = UE.dom.domUtils; domUtils = UE.dom.domUtils;
utils = UE.utils; utils = UE.utils;
browser = UE.browser; browser = UE.browser;
ajax = UE.ajax; ajax = UE.ajax;
$G = function ( id ) { $G = function ( id ) {
return document.getElementById( id ) return document.getElementById( id )
}; };
//focus元素 //focus元素
$focus = function ( node ) { $focus = function ( node ) {
setTimeout( function () { setTimeout( function () {
if ( browser.ie ) { if ( browser.ie ) {
var r = node.createTextRange(); var r = node.createTextRange();
r.collapse( false ); r.collapse( false );
r.select(); r.select();
} else { } else {
node.focus() node.focus()
} }
}, 0 ) }, 0 )
}; };
utils.loadFile(document,{ utils.loadFile(document,{
href:editor.options.themePath + editor.options.theme + "/dialogbase.css?cache="+Math.random(), href:editor.options.themePath + editor.options.theme + "/dialogbase.css?cache="+Math.random(),
tag:"link", tag:"link",
type:"text/css", type:"text/css",
rel:"stylesheet" rel:"stylesheet"
}); });
lang = editor.getLang(dialog.className.split( "-" )[2]); lang = editor.getLang(dialog.className.split( "-" )[2]);
if(lang){ if(lang){
domUtils.on(window,'load',function () { domUtils.on(window,'load',function () {
var langImgPath = editor.options.langPath + editor.options.lang + "/images/"; var langImgPath = editor.options.langPath + editor.options.lang + "/images/";
//针对静态资源 //针对静态资源
for ( var i in lang["static"] ) { for ( var i in lang["static"] ) {
var dom = $G( i ); var dom = $G( i );
if(!dom) continue; if(!dom) continue;
var tagName = dom.tagName, var tagName = dom.tagName,
content = lang["static"][i]; content = lang["static"][i];
if(content.src){ if(content.src){
//clone //clone
content = utils.extend({},content,false); content = utils.extend({},content,false);
content.src = langImgPath + content.src; content.src = langImgPath + content.src;
} }
if(content.style){ if(content.style){
content = utils.extend({},content,false); content = utils.extend({},content,false);
content.style = content.style.replace(/url\s*\(/g,"url(" + langImgPath) content.style = content.style.replace(/url\s*\(/g,"url(" + langImgPath)
} }
switch ( tagName.toLowerCase() ) { switch ( tagName.toLowerCase() ) {
case "var": case "var":
dom.parentNode.replaceChild( document.createTextNode( content ), dom ); dom.parentNode.replaceChild( document.createTextNode( content ), dom );
break; break;
case "select": case "select":
var ops = dom.options; var ops = dom.options;
for ( var j = 0, oj; oj = ops[j]; ) { for ( var j = 0, oj; oj = ops[j]; ) {
oj.innerHTML = content.options[j++]; oj.innerHTML = content.options[j++];
} }
for ( var p in content ) { for ( var p in content ) {
p != "options" && dom.setAttribute( p, content[p] ); p != "options" && dom.setAttribute( p, content[p] );
} }
break; break;
default : default :
domUtils.setAttributes( dom, content); domUtils.setAttributes( dom, content);
} }
} }
} ); } );
} }
})(); })();

View File

@ -1,126 +1,126 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<title></title> <title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<style type="text/css"> <style type="text/css">
*{margin:0;padding:0;color: #838383;} *{margin:0;padding:0;color: #838383;}
table{font-size: 12px;margin: 10px;line-height: 30px} table{font-size: 12px;margin: 10px;line-height: 30px}
.txt{width:300px;height:21px;line-height:21px;border:1px solid #d7d7d7;} .txt{width:300px;height:21px;line-height:21px;border:1px solid #d7d7d7;}
</style> </style>
</head> </head>
<body> <body>
<table> <table>
<tr> <tr>
<td><label for="text"> <var id="lang_input_text"></var></label></td> <td><label for="text"> <var id="lang_input_text"></var></label></td>
<td><input class="txt" id="text" type="text" disabled="true"/></td> <td><input class="txt" id="text" type="text" disabled="true"/></td>
</tr> </tr>
<tr> <tr>
<td><label for="href"> <var id="lang_input_url"></var></label></td> <td><label for="href"> <var id="lang_input_url"></var></label></td>
<td><input class="txt" id="href" type="text" /></td> <td><input class="txt" id="href" type="text" /></td>
</tr> </tr>
<tr> <tr>
<td><label for="title"> <var id="lang_input_title"></var></label></td> <td><label for="title"> <var id="lang_input_title"></var></label></td>
<td><input class="txt" id="title" type="text"/></td> <td><input class="txt" id="title" type="text"/></td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<label for="target"><var id="lang_input_target"></var></label> <label for="target"><var id="lang_input_target"></var></label>
<input id="target" type="checkbox"/> <input id="target" type="checkbox"/>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2" id="msg"></td> <td colspan="2" id="msg"></td>
</tr> </tr>
</table> </table>
<script type="text/javascript"> <script type="text/javascript">
var range = editor.selection.getRange(), var range = editor.selection.getRange(),
link = range.collapsed ? editor.queryCommandValue( "link" ) : editor.selection.getStart(), link = range.collapsed ? editor.queryCommandValue( "link" ) : editor.selection.getStart(),
url, url,
text = $G('text'), text = $G('text'),
rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(),'a',true), rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(),'a',true),
orgText; orgText;
link = domUtils.findParentByTagName( link, "a", true ); link = domUtils.findParentByTagName( link, "a", true );
if(link){ if(link){
url = utils.html(link.getAttribute( '_href' ) || link.getAttribute( 'href', 2 )); url = utils.html(link.getAttribute( '_href' ) || link.getAttribute( 'href', 2 ));
if(rangeLink === link && !link.getElementsByTagName('img').length){ if(rangeLink === link && !link.getElementsByTagName('img').length){
text.removeAttribute('disabled'); text.removeAttribute('disabled');
orgText = text.value = link[browser.ie ? 'innerText':'textContent']; orgText = text.value = link[browser.ie ? 'innerText':'textContent'];
}else{ }else{
text.setAttribute('disabled','true'); text.setAttribute('disabled','true');
text.value = lang.validLink; text.value = lang.validLink;
} }
}else{ }else{
if(range.collapsed){ if(range.collapsed){
text.removeAttribute('disabled'); text.removeAttribute('disabled');
text.value = ''; text.value = '';
}else{ }else{
text.setAttribute('disabled','true'); text.setAttribute('disabled','true');
text.value = lang.validLink; text.value = lang.validLink;
} }
} }
$G("title").value = url ? link.title : ""; $G("title").value = url ? link.title : "";
$G("href").value = url ? url: ''; $G("href").value = url ? url: '';
$G("target").checked = url && link.target == "_blank" ? true : false; $G("target").checked = url && link.target == "_blank" ? true : false;
$focus($G("href")); $focus($G("href"));
function handleDialogOk(){ function handleDialogOk(){
var href =$G('href').value.replace(/^\s+|\s+$/g, ''); var href =$G('href').value.replace(/^\s+|\s+$/g, '');
if(href){ if(href){
if(!hrefStartWith(href,["http","/","ftp://",'#'])) { if(!hrefStartWith(href,["http","/","ftp://",'#'])) {
href = "http://" + href; href = "http://" + href;
} }
var obj = { var obj = {
'href' : href, 'href' : href,
'target' : $G("target").checked ? "_blank" : '_self', 'target' : $G("target").checked ? "_blank" : '_self',
'title' : $G("title").value.replace(/^\s+|\s+$/g, ''), 'title' : $G("title").value.replace(/^\s+|\s+$/g, ''),
'_href':href '_href':href
}; };
//修改链接内容的情况太特殊了,所以先做到这里了 //修改链接内容的情况太特殊了,所以先做到这里了
//todo:情况多的时候做到command里 //todo:情况多的时候做到command里
if(orgText && text.value != orgText){ if(orgText && text.value != orgText){
link[browser.ie ? 'innerText' : 'textContent'] = obj.textValue = text.value; link[browser.ie ? 'innerText' : 'textContent'] = obj.textValue = text.value;
range.selectNode(link).select() range.selectNode(link).select()
} }
if(range.collapsed){ if(range.collapsed){
obj.textValue = text.value; obj.textValue = text.value;
} }
editor.execCommand('link',utils.clearEmptyAttrs(obj) ); editor.execCommand('link',utils.clearEmptyAttrs(obj) );
dialog.close(); dialog.close();
} }
} }
dialog.onok = handleDialogOk; dialog.onok = handleDialogOk;
$G('href').onkeydown = $G('title').onkeydown = function(evt){ $G('href').onkeydown = $G('title').onkeydown = function(evt){
evt = evt || window.event; evt = evt || window.event;
if (evt.keyCode == 13) { if (evt.keyCode == 13) {
handleDialogOk(); handleDialogOk();
return false; return false;
} }
}; };
$G('href').onblur = function(){ $G('href').onblur = function(){
if(!hrefStartWith(this.value,["http","/","ftp://",'#'])){ if(!hrefStartWith(this.value,["http","/","ftp://",'#'])){
$G("msg").innerHTML = "<span style='color: red'>"+lang.httpPrompt+"</span>"; $G("msg").innerHTML = "<span style='color: red'>"+lang.httpPrompt+"</span>";
}else{ }else{
$G("msg").innerHTML = ""; $G("msg").innerHTML = "";
} }
}; };
function hrefStartWith(href,arr){ function hrefStartWith(href,arr){
href = href.replace(/^\s+|\s+$/g, ''); href = href.replace(/^\s+|\s+$/g, '');
for(var i=0,ai;ai=arr[i++];){ for(var i=0,ai;ai=arr[i++];){
if(href.indexOf(ai)==0){ if(href.indexOf(ai)==0){
return true; return true;
} }
} }
return false; return false;
} }
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,135 +1,135 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title> <title></title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script>
<style type="text/css"> <style type="text/css">
.content{width:530px; height: 350px;margin: 10px auto;} .content{width:530px; height: 350px;margin: 10px auto;}
.content table{width: 100%} .content table{width: 100%}
.content table td{vertical-align: middle;} .content table td{vertical-align: middle;}
#city,#address{height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;} #city,#address{height:21px;background: #FFF;border:1px solid #d7d7d7; line-height: 21px;}
#city{width:60px} #city{width:60px}
#address{width:130px} #address{width:130px}
#is_dynamic_label span{vertical-align:middle;margin: 3px 0px 3px 3px;} #is_dynamic_label span{vertical-align:middle;margin: 3px 0px 3px 3px;}
#is_dynamic_label input{vertical-align:middle;margin: 3px 3px 3px 50px;} #is_dynamic_label input{vertical-align:middle;margin: 3px 3px 3px 50px;}
</style> </style>
</head> </head>
<body> <body>
<div class="content"> <div class="content">
<table> <table>
<tr> <tr>
<td><var id="lang_city"></var>:</td> <td><var id="lang_city"></var>:</td>
<td><input id="city" type="text" /></td> <td><input id="city" type="text" /></td>
<td><var id="lang_address"></var>:</td> <td><var id="lang_address"></var>:</td>
<td><input id="address" type="text" value="" /></td> <td><input id="address" type="text" value="" /></td>
<td><a href="javascript:doSearch()" class="button"><var id="lang_search"></var></a></td> <td><a href="javascript:doSearch()" class="button"><var id="lang_search"></var></a></td>
<td><label id="is_dynamic_label" for="is_dynamic"><input id="is_dynamic" type="checkbox" name="is_dynamic" /><span><var id="lang_dynamicmap"></var></span></label></td> <td><label id="is_dynamic_label" for="is_dynamic"><input id="is_dynamic" type="checkbox" name="is_dynamic" /><span><var id="lang_dynamicmap"></var></span></label></td>
</tr> </tr>
</table> </table>
<div style="width:100%;height:340px;margin:5px auto;border:1px solid gray" id="container"></div> <div style="width:100%;height:340px;margin:5px auto;border:1px solid gray" id="container"></div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
var map = new BMap.Map("container"),marker,point,styleStr; var map = new BMap.Map("container"),marker,point,styleStr;
map.enableScrollWheelZoom(); map.enableScrollWheelZoom();
map.enableContinuousZoom(); map.enableContinuousZoom();
function doSearch(){ function doSearch(){
if (!document.getElementById('city').value) { if (!document.getElementById('city').value) {
alert(lang.cityMsg); alert(lang.cityMsg);
return; return;
} }
var search = new BMap.LocalSearch(document.getElementById('city').value, { var search = new BMap.LocalSearch(document.getElementById('city').value, {
onSearchComplete: function (results){ onSearchComplete: function (results){
if (results && results.getNumPois()) { if (results && results.getNumPois()) {
var points = []; var points = [];
for (var i=0; i<results.getCurrentNumPois(); i++) { for (var i=0; i<results.getCurrentNumPois(); i++) {
points.push(results.getPoi(i).point); points.push(results.getPoi(i).point);
} }
if (points.length > 1) { if (points.length > 1) {
map.setViewport(points); map.setViewport(points);
} else { } else {
map.centerAndZoom(points[0], 13); map.centerAndZoom(points[0], 13);
} }
point = map.getCenter(); point = map.getCenter();
marker.setPoint(point); marker.setPoint(point);
} else { } else {
alert(lang.errorMsg); alert(lang.errorMsg);
} }
} }
}); });
search.search(document.getElementById('address').value || document.getElementById('city').value); search.search(document.getElementById('address').value || document.getElementById('city').value);
} }
//获得参数 //获得参数
function getPars(str,par){ function getPars(str,par){
var reg = new RegExp(par+"=((\\d+|[.,])*)","g"); var reg = new RegExp(par+"=((\\d+|[.,])*)","g");
return reg.exec(str)[1]; return reg.exec(str)[1];
} }
function init(){ function init(){
var mapNode = editor.selection.getRange().getClosedNode(), var mapNode = editor.selection.getRange().getClosedNode(),
isMapImg = mapNode && /api[.]map[.]baidu[.]com/ig.test(mapNode.getAttribute("src")), isMapImg = mapNode && /api[.]map[.]baidu[.]com/ig.test(mapNode.getAttribute("src")),
isMapIframe = mapNode && domUtils.hasClass(mapNode, 'ueditor_baidumap'); isMapIframe = mapNode && domUtils.hasClass(mapNode, 'ueditor_baidumap');
if(isMapImg || isMapIframe){ if(isMapImg || isMapIframe){
var url, centerPos, markerPos; var url, centerPos, markerPos;
if(isMapIframe) { if(isMapIframe) {
url = decodeURIComponent(mapNode.getAttribute("src")); url = decodeURIComponent(mapNode.getAttribute("src"));
$G('is_dynamic').checked = true; $G('is_dynamic').checked = true;
styleStr = mapNode.style.cssText; styleStr = mapNode.style.cssText;
} else { } else {
url = mapNode.getAttribute("src"); url = mapNode.getAttribute("src");
styleStr = mapNode.style.cssText; styleStr = mapNode.style.cssText;
} }
centerPos = getPars(url,"center").split(","); centerPos = getPars(url,"center").split(",");
markerPos = getPars(url, "markers").split(","); markerPos = getPars(url, "markers").split(",");
point = new BMap.Point(Number(centerPos[0]),Number(centerPos[1])); point = new BMap.Point(Number(centerPos[0]),Number(centerPos[1]));
marker = new BMap.Marker(new BMap.Point(Number(markerPos[0]), Number(markerPos[1]))); marker = new BMap.Marker(new BMap.Point(Number(markerPos[0]), Number(markerPos[1])));
map.addControl(new BMap.NavigationControl()); map.addControl(new BMap.NavigationControl());
map.centerAndZoom(point, Number(getPars(url,"zoom"))); map.centerAndZoom(point, Number(getPars(url,"zoom")));
}else{ }else{
point = new BMap.Point(116.404, 39.915); // 创建点坐标 point = new BMap.Point(116.404, 39.915); // 创建点坐标
marker = new BMap.Marker(point); marker = new BMap.Marker(point);
map.addControl(new BMap.NavigationControl()); map.addControl(new BMap.NavigationControl());
map.centerAndZoom(point, 10); // 初始化地图,设置中心点坐标和地图级别。 map.centerAndZoom(point, 10); // 初始化地图,设置中心点坐标和地图级别。
} }
marker.enableDragging(); marker.enableDragging();
map.addOverlay(marker); map.addOverlay(marker);
} }
init(); init();
document.getElementById('address').onkeydown = function (evt){ document.getElementById('address').onkeydown = function (evt){
evt = evt || event; evt = evt || event;
if (evt.keyCode == 13) { if (evt.keyCode == 13) {
doSearch(); doSearch();
} }
}; };
dialog.onok = function (){ dialog.onok = function (){
var center = map.getCenter(); var center = map.getCenter();
var zoom = map.zoomLevel; var zoom = map.zoomLevel;
var size = map.getSize(); var size = map.getSize();
var mapWidth = size.width; var mapWidth = size.width;
var mapHeight = size.height; var mapHeight = size.height;
var point = marker.getPoint(); var point = marker.getPoint();
if($G('is_dynamic').checked) { if($G('is_dynamic').checked) {
var URL = editor.options.UEDITOR_HOME_URL, var URL = editor.options.UEDITOR_HOME_URL,
url = [URL + (/\/$/.test(URL) ? '':'/') + "dialogs/map/show.html" + url = [URL + (/\/$/.test(URL) ? '':'/') + "dialogs/map/show.html" +
'#center=' + center.lng + ',' + center.lat, '#center=' + center.lng + ',' + center.lat,
'&zoom=' + zoom, '&zoom=' + zoom,
'&width=' + mapWidth, '&width=' + mapWidth,
'&height=' + mapHeight, '&height=' + mapHeight,
'&markers=' + point.lng + ',' + point.lat, '&markers=' + point.lng + ',' + point.lat,
'&markerStyles=' + 'l,A'].join(''); '&markerStyles=' + 'l,A'].join('');
editor.execCommand('inserthtml', '<iframe class="ueditor_baidumap" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + ' frameborder="0" width="' + (mapWidth+4) + '" height="' + (mapHeight+4) + '"></iframe>'); editor.execCommand('inserthtml', '<iframe class="ueditor_baidumap" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + ' frameborder="0" width="' + (mapWidth+4) + '" height="' + (mapHeight+4) + '"></iframe>');
} else { } else {
var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat + var url = "http://api.map.baidu.com/staticimage?center=" + center.lng + ',' + center.lat +
"&zoom=" + zoom + "&width=" + size.width + '&height=' + size.height + "&markers=" + point.lng + ',' + point.lat; "&zoom=" + zoom + "&width=" + size.width + '&height=' + size.height + "&markers=" + point.lng + ',' + point.lat;
editor.execCommand('inserthtml', '<img width="'+ size.width +'"height="'+ size.height +'" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + '/>'); editor.execCommand('inserthtml', '<img width="'+ size.width +'"height="'+ size.height +'" src="' + url + '"' + (styleStr ? ' style="' + styleStr + '"' :'') + '/>');
} }
}; };
document.getElementById("address").focus(); document.getElementById("address").focus();
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,30 +1,30 @@
.wrapper{margin: 5px 10px;} .wrapper{margin: 5px 10px;}
.searchBar{height:30px;padding:7px 0 3px;text-align:center;} .searchBar{height:30px;padding:7px 0 3px;text-align:center;}
.searchBtn{font-size:13px;height:24px;} .searchBtn{font-size:13px;height:24px;}
.resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;} .resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;}
.listPanel{overflow: hidden;} .listPanel{overflow: hidden;}
.panelon{display:block;} .panelon{display:block;}
.paneloff{display:none} .paneloff{display:none}
.page{width:220px;margin:20px auto;overflow: hidden;} .page{width:220px;margin:20px auto;overflow: hidden;}
.pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center} .pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center}
.pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff; .pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff;
border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;} border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;}
.m-box{width:460px;} .m-box{width:460px;}
.m-m{float: left;line-height: 20px;height: 20px;} .m-m{float: left;line-height: 20px;height: 20px;}
.m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;} .m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;}
.m-l{float:left;width:40px; } .m-l{float:left;width:40px; }
.m-t{float:left;width:140px;} .m-t{float:left;width:140px;}
.m-s{float:left;width:110px;} .m-s{float:left;width:110px;}
.m-z{float:left;width:100px;} .m-z{float:left;width:100px;}
.m-try-t{float: left;width: 60px;;} .m-try-t{float: left;width: 60px;;}
.m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;} .m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;}
.m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;} .m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;}
.loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat} .loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat}
.empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;} .empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;}

View File

@ -1,32 +1,32 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>插入音乐</title> <title>插入音乐</title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="music.css"> <link rel="stylesheet" type="text/css" href="music.css">
</head> </head>
<body> <body>
<div class="wrapper"> <div class="wrapper">
<div class="searchBar"> <div class="searchBar">
<input id="J_searchName" type="text"/> <input id="J_searchName" type="text"/>
<input type="button" class="searchBtn" id="J_searchBtn"> <input type="button" class="searchBtn" id="J_searchBtn">
</div> </div>
<div class="resultBar" id="J_resultBar"> <div class="resultBar" id="J_resultBar">
<div class="loading" style="display:none"></div> <div class="loading" style="display:none"></div>
<div class="empty"><var id="lang_input_tips"></var></div> <div class="empty"><var id="lang_input_tips"></var></div>
</div> </div>
<div id="J_preview"></div> <div id="J_preview"></div>
</div> </div>
<script type="text/javascript" src="music.js"></script> <script type="text/javascript" src="music.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var music = new Music; var music = new Music;
dialog.onok = function () { dialog.onok = function () {
music.exec(); music.exec();
}; };
dialog.oncancel = function () { dialog.oncancel = function () {
$G('J_preview').innerHTML = ""; $G('J_preview').innerHTML = "";
}; };
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,192 +1,192 @@
function Music() { function Music() {
this.init(); this.init();
} }
(function () { (function () {
var pages = [], var pages = [],
panels = [], panels = [],
selectedItem = null; selectedItem = null;
Music.prototype = { Music.prototype = {
total:70, total:70,
pageSize:10, pageSize:10,
dataUrl:"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.common", dataUrl:"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.common",
playerUrl:"http://box.baidu.com/widget/flash/bdspacesong.swf", playerUrl:"http://box.baidu.com/widget/flash/bdspacesong.swf",
init:function () { init:function () {
var me = this; var me = this;
domUtils.on($G("J_searchName"), "keyup", function (event) { domUtils.on($G("J_searchName"), "keyup", function (event) {
var e = window.event || event; var e = window.event || event;
if (e.keyCode == 13) { if (e.keyCode == 13) {
me.dosearch(); me.dosearch();
} }
}); });
domUtils.on($G("J_searchBtn"), "click", function () { domUtils.on($G("J_searchBtn"), "click", function () {
me.dosearch(); me.dosearch();
}); });
}, },
callback:function (data) { callback:function (data) {
var me = this; var me = this;
me.data = data.song_list; me.data = data.song_list;
setTimeout(function () { setTimeout(function () {
$G('J_resultBar').innerHTML = me._renderTemplate(data.song_list); $G('J_resultBar').innerHTML = me._renderTemplate(data.song_list);
}, 300); }, 300);
}, },
dosearch:function () { dosearch:function () {
var me = this; var me = this;
selectedItem = null; selectedItem = null;
var key = $G('J_searchName').value; var key = $G('J_searchName').value;
if (utils.trim(key) == "")return false; if (utils.trim(key) == "")return false;
key = encodeURIComponent(key); key = encodeURIComponent(key);
me._sent(key); me._sent(key);
}, },
doselect:function (i) { doselect:function (i) {
var me = this; var me = this;
if (typeof i == 'object') { if (typeof i == 'object') {
selectedItem = i; selectedItem = i;
} else if (typeof i == 'number') { } else if (typeof i == 'number') {
selectedItem = me.data[i]; selectedItem = me.data[i];
} }
}, },
onpageclick:function (id) { onpageclick:function (id) {
var me = this; var me = this;
for (var i = 0; i < pages.length; i++) { for (var i = 0; i < pages.length; i++) {
$G(pages[i]).className = 'pageoff'; $G(pages[i]).className = 'pageoff';
$G(panels[i]).className = 'paneloff'; $G(panels[i]).className = 'paneloff';
} }
$G('page' + id).className = 'pageon'; $G('page' + id).className = 'pageon';
$G('panel' + id).className = 'panelon'; $G('panel' + id).className = 'panelon';
}, },
listenTest:function (elem) { listenTest:function (elem) {
var me = this, var me = this,
view = $G('J_preview'), view = $G('J_preview'),
is_play_action = (elem.className == 'm-try'), is_play_action = (elem.className == 'm-try'),
old_trying = me._getTryingElem(); old_trying = me._getTryingElem();
if (old_trying) { if (old_trying) {
old_trying.className = 'm-try'; old_trying.className = 'm-try';
view.innerHTML = ''; view.innerHTML = '';
} }
if (is_play_action) { if (is_play_action) {
elem.className = 'm-trying'; elem.className = 'm-trying';
view.innerHTML = me._buildMusicHtml(me._getUrl(true)); view.innerHTML = me._buildMusicHtml(me._getUrl(true));
} }
}, },
_sent:function (param) { _sent:function (param) {
var me = this; var me = this;
$G('J_resultBar').innerHTML = '<div class="loading"></div>'; $G('J_resultBar').innerHTML = '<div class="loading"></div>';
utils.loadFile(document, { utils.loadFile(document, {
src:me.dataUrl + '&query=' + param + '&page_size=' + me.total + '&callback=music.callback&.r=' + Math.random(), src:me.dataUrl + '&query=' + param + '&page_size=' + me.total + '&callback=music.callback&.r=' + Math.random(),
tag:"script", tag:"script",
type:"text/javascript", type:"text/javascript",
defer:"defer" defer:"defer"
}); });
}, },
_removeHtml:function (str) { _removeHtml:function (str) {
var reg = /<\s*\/?\s*[^>]*\s*>/gi; var reg = /<\s*\/?\s*[^>]*\s*>/gi;
return str.replace(reg, ""); return str.replace(reg, "");
}, },
_getUrl:function (isTryListen) { _getUrl:function (isTryListen) {
var me = this; var me = this;
var param = 'from=tiebasongwidget&url=&name=' + encodeURIComponent(me._removeHtml(selectedItem.title)) + '&artist=' var param = 'from=tiebasongwidget&url=&name=' + encodeURIComponent(me._removeHtml(selectedItem.title)) + '&artist='
+ encodeURIComponent(me._removeHtml(selectedItem.author)) + '&extra=' + encodeURIComponent(me._removeHtml(selectedItem.author)) + '&extra='
+ encodeURIComponent(me._removeHtml(selectedItem.album_title)) + encodeURIComponent(me._removeHtml(selectedItem.album_title))
+ '&autoPlay='+isTryListen+'' + '&loop=true'; + '&autoPlay='+isTryListen+'' + '&loop=true';
return me.playerUrl + "?" + param; return me.playerUrl + "?" + param;
}, },
_getTryingElem:function () { _getTryingElem:function () {
var s = $G('J_listPanel').getElementsByTagName('span'); var s = $G('J_listPanel').getElementsByTagName('span');
for (var i = 0; i < s.length; i++) { for (var i = 0; i < s.length; i++) {
if (s[i].className == 'm-trying') if (s[i].className == 'm-trying')
return s[i]; return s[i];
} }
return null; return null;
}, },
_buildMusicHtml:function (playerUrl) { _buildMusicHtml:function (playerUrl) {
var html = '<embed class="BDE_try_Music" allowfullscreen="false" pluginspage="http://www.macromedia.com/go/getflashplayer"'; var html = '<embed class="BDE_try_Music" allowfullscreen="false" pluginspage="http://www.macromedia.com/go/getflashplayer"';
html += ' src="' + playerUrl + '"'; html += ' src="' + playerUrl + '"';
html += ' width="1" height="1" style="position:absolute;left:-2000px;"'; html += ' width="1" height="1" style="position:absolute;left:-2000px;"';
html += ' type="application/x-shockwave-flash" wmode="transparent" play="true" loop="false"'; html += ' type="application/x-shockwave-flash" wmode="transparent" play="true" loop="false"';
html += ' menu="false" allowscriptaccess="never" scale="noborder">'; html += ' menu="false" allowscriptaccess="never" scale="noborder">';
return html; return html;
}, },
_byteLength:function (str) { _byteLength:function (str) {
return str.replace(/[^\u0000-\u007f]/g, "\u0061\u0061").length; return str.replace(/[^\u0000-\u007f]/g, "\u0061\u0061").length;
}, },
_getMaxText:function (s) { _getMaxText:function (s) {
var me = this; var me = this;
s = me._removeHtml(s); s = me._removeHtml(s);
if (me._byteLength(s) > 12) if (me._byteLength(s) > 12)
return s.substring(0, 5) + '...'; return s.substring(0, 5) + '...';
if (!s) s = "&nbsp;"; if (!s) s = "&nbsp;";
return s; return s;
}, },
_rebuildData:function (data) { _rebuildData:function (data) {
var me = this, var me = this,
newData = [], newData = [],
d = me.pageSize, d = me.pageSize,
itembox; itembox;
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {
if ((i + d) % d == 0) { if ((i + d) % d == 0) {
itembox = []; itembox = [];
newData.push(itembox) newData.push(itembox)
} }
itembox.push(data[i]); itembox.push(data[i]);
} }
return newData; return newData;
}, },
_renderTemplate:function (data) { _renderTemplate:function (data) {
var me = this; var me = this;
if (data.length == 0)return '<div class="empty">' + lang.emptyTxt + '</div>'; if (data.length == 0)return '<div class="empty">' + lang.emptyTxt + '</div>';
data = me._rebuildData(data); data = me._rebuildData(data);
var s = [], p = [], t = []; var s = [], p = [], t = [];
s.push('<div id="J_listPanel" class="listPanel">'); s.push('<div id="J_listPanel" class="listPanel">');
p.push('<div class="page">'); p.push('<div class="page">');
for (var i = 0, tmpList; tmpList = data[i++];) { for (var i = 0, tmpList; tmpList = data[i++];) {
panels.push('panel' + i); panels.push('panel' + i);
pages.push('page' + i); pages.push('page' + i);
if (i == 1) { if (i == 1) {
s.push('<div id="panel' + i + '" class="panelon">'); s.push('<div id="panel' + i + '" class="panelon">');
if (data.length != 1) { if (data.length != 1) {
t.push('<div id="page' + i + '" onclick="music.onpageclick(' + i + ')" class="pageon">' + (i ) + '</div>'); t.push('<div id="page' + i + '" onclick="music.onpageclick(' + i + ')" class="pageon">' + (i ) + '</div>');
} }
} else { } else {
s.push('<div id="panel' + i + '" class="paneloff">'); s.push('<div id="panel' + i + '" class="paneloff">');
t.push('<div id="page' + i + '" onclick="music.onpageclick(' + i + ')" class="pageoff">' + (i ) + '</div>'); t.push('<div id="page' + i + '" onclick="music.onpageclick(' + i + ')" class="pageoff">' + (i ) + '</div>');
} }
s.push('<div class="m-box">'); s.push('<div class="m-box">');
s.push('<div class="m-h"><span class="m-t">' + lang.chapter + '</span><span class="m-s">' + lang.singer s.push('<div class="m-h"><span class="m-t">' + lang.chapter + '</span><span class="m-s">' + lang.singer
+ '</span><span class="m-z">' + lang.special + '</span><span class="m-try-t">' + lang.listenTest + '</span></div>'); + '</span><span class="m-z">' + lang.special + '</span><span class="m-try-t">' + lang.listenTest + '</span></div>');
for (var j = 0, tmpObj; tmpObj = tmpList[j++];) { for (var j = 0, tmpObj; tmpObj = tmpList[j++];) {
s.push('<label for="radio-' + i + '-' + j + '" class="m-m">'); s.push('<label for="radio-' + i + '-' + j + '" class="m-m">');
s.push('<input type="radio" id="radio-' + i + '-' + j + '" name="musicId" class="m-l" onclick="music.doselect(' + (me.pageSize * (i-1) + (j-1)) + ')"/>'); s.push('<input type="radio" id="radio-' + i + '-' + j + '" name="musicId" class="m-l" onclick="music.doselect(' + (me.pageSize * (i-1) + (j-1)) + ')"/>');
s.push('<span class="m-t">' + me._getMaxText(tmpObj.title) + '</span>'); s.push('<span class="m-t">' + me._getMaxText(tmpObj.title) + '</span>');
s.push('<span class="m-s">' + me._getMaxText(tmpObj.author) + '</span>'); s.push('<span class="m-s">' + me._getMaxText(tmpObj.author) + '</span>');
s.push('<span class="m-z">' + me._getMaxText(tmpObj.album_title) + '</span>'); s.push('<span class="m-z">' + me._getMaxText(tmpObj.album_title) + '</span>');
s.push('<span class="m-try" onclick="music.doselect(' + (me.pageSize * (i-1) + (j-1)) + ');music.listenTest(this)"></span>'); s.push('<span class="m-try" onclick="music.doselect(' + (me.pageSize * (i-1) + (j-1)) + ');music.listenTest(this)"></span>');
s.push('</label>'); s.push('</label>');
} }
s.push('</div>'); s.push('</div>');
s.push('</div>'); s.push('</div>');
} }
t.reverse(); t.reverse();
p.push(t.join('')); p.push(t.join(''));
s.push('</div>'); s.push('</div>');
p.push('</div>'); p.push('</div>');
return s.join('') + p.join(''); return s.join('') + p.join('');
}, },
exec:function () { exec:function () {
var me = this; var me = this;
if (selectedItem == null) return; if (selectedItem == null) return;
$G('J_preview').innerHTML = ""; $G('J_preview').innerHTML = "";
editor.execCommand('music', { editor.execCommand('music', {
url:me._getUrl(false), url:me._getUrl(false),
width:400, width:400,
height:95 height:95
}); });
} }
}; };
})(); })();

View File

@ -1,72 +1,72 @@
/*common /*common
*/ */
body{margin: 0;} body{margin: 0;}
table{width:100%;} table{width:100%;}
table td{padding:2px 4px;vertical-align: middle;} table td{padding:2px 4px;vertical-align: middle;}
a{text-decoration: none;} a{text-decoration: none;}
em{font-style: normal;} em{font-style: normal;}
.border_style1{border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} .border_style1{border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;}
/*module /*module
*/ */
.main{margin: 8px;overflow: hidden;} .main{margin: 8px;overflow: hidden;}
.hot{float:left;height:335px;} .hot{float:left;height:335px;}
.drawBoard{position: relative; cursor: crosshair;} .drawBoard{position: relative; cursor: crosshair;}
.brushBorad{position: absolute;left:0;top:0;z-index: 998;} .brushBorad{position: absolute;left:0;top:0;z-index: 998;}
.picBoard{border: none;text-align: center;line-height: 300px;cursor: default;} .picBoard{border: none;text-align: center;line-height: 300px;cursor: default;}
.operateBar{margin-top:10px;font-size:12px;text-align: center;} .operateBar{margin-top:10px;font-size:12px;text-align: center;}
.operateBar span{margin-left: 10px;} .operateBar span{margin-left: 10px;}
.drawToolbar{float:right;width:110px;height:300px;overflow: hidden;} .drawToolbar{float:right;width:110px;height:300px;overflow: hidden;}
.colorBar{margin-top:10px;font-size: 12px;text-align: center;} .colorBar{margin-top:10px;font-size: 12px;text-align: center;}
.colorBar a{display:block;width: 10px;height: 10px;border:1px solid #1006F1;border-radius: 3px; box-shadow:2px 2px 5px #d3d6da;opacity: 0.3} .colorBar a{display:block;width: 10px;height: 10px;border:1px solid #1006F1;border-radius: 3px; box-shadow:2px 2px 5px #d3d6da;opacity: 0.3}
.sectionBar{margin-top:15px;font-size: 12px;text-align: center;} .sectionBar{margin-top:15px;font-size: 12px;text-align: center;}
.sectionBar a{display:inline-block;width:10px;height:12px;color: #888;text-indent: -999px;opacity: 0.3} .sectionBar a{display:inline-block;width:10px;height:12px;color: #888;text-indent: -999px;opacity: 0.3}
.size1{background: url('images/size.png') 1px center no-repeat ;} .size1{background: url('images/size.png') 1px center no-repeat ;}
.size2{background: url('images/size.png') -10px center no-repeat;} .size2{background: url('images/size.png') -10px center no-repeat;}
.size3{background: url('images/size.png') -22px center no-repeat;} .size3{background: url('images/size.png') -22px center no-repeat;}
.size4{background: url('images/size.png') -35px center no-repeat;} .size4{background: url('images/size.png') -35px center no-repeat;}
.addImgH{position: relative;} .addImgH{position: relative;}
.addImgH_form{position: absolute;left: 18px;top: -1px;width: 75px;height: 21px;opacity: 0;cursor: pointer;} .addImgH_form{position: absolute;left: 18px;top: -1px;width: 75px;height: 21px;opacity: 0;cursor: pointer;}
.addImgH_form input{width: 100%;} .addImgH_form input{width: 100%;}
/*scrawl遮罩层 /*scrawl遮罩层
*/ */
.maskLayerNull{display: none;} .maskLayerNull{display: none;}
.maskLayer{position: absolute;top:0;left:0;width: 100%; height: 100%;opacity: 0.7; .maskLayer{position: absolute;top:0;left:0;width: 100%; height: 100%;opacity: 0.7;
background-color: #fff;text-align:center;font-weight:bold;line-height:300px;z-index: 1000;} background-color: #fff;text-align:center;font-weight:bold;line-height:300px;z-index: 1000;}
/*btn state /*btn state
*/ */
.previousStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undoH.png');cursor: pointer;} .previousStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undoH.png');cursor: pointer;}
.previousStepH .text{color:#888;cursor:pointer;} .previousStepH .text{color:#888;cursor:pointer;}
.previousStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undo.png');cursor:default;} .previousStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/undo.png');cursor:default;}
.previousStep .text{color:#ccc;cursor:default;} .previousStep .text{color:#ccc;cursor:default;}
.nextStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redoH.png');cursor: pointer;} .nextStepH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redoH.png');cursor: pointer;}
.nextStepH .text{color:#888;cursor:pointer;} .nextStepH .text{color:#888;cursor:pointer;}
.nextStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redo.png');cursor:default;} .nextStep .icon{display: inline-block;width:16px;height:16px;background-image: url('images/redo.png');cursor:default;}
.nextStep .text{color:#ccc;cursor:default;} .nextStep .text{color:#ccc;cursor:default;}
.clearBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/emptyH.png');cursor: pointer;} .clearBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/emptyH.png');cursor: pointer;}
.clearBoardH .text{color:#888;cursor:pointer;} .clearBoardH .text{color:#888;cursor:pointer;}
.clearBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/empty.png');cursor:default;} .clearBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/empty.png');cursor:default;}
.clearBoard .text{color:#ccc;cursor:default;} .clearBoard .text{color:#ccc;cursor:default;}
.scaleBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scaleH.png');cursor: pointer;} .scaleBoardH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scaleH.png');cursor: pointer;}
.scaleBoardH .text{color:#888;cursor:pointer;} .scaleBoardH .text{color:#888;cursor:pointer;}
.scaleBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scale.png');cursor:default;} .scaleBoard .icon{display: inline-block;width:16px;height:16px;background-image: url('images/scale.png');cursor:default;}
.scaleBoard .text{color:#ccc;cursor:default;} .scaleBoard .text{color:#ccc;cursor:default;}
.removeImgH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimgH.png');cursor: pointer;} .removeImgH .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimgH.png');cursor: pointer;}
.removeImgH .text{color:#888;cursor:pointer;} .removeImgH .text{color:#888;cursor:pointer;}
.removeImg .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimg.png');cursor:default;} .removeImg .icon{display: inline-block;width:16px;height:16px;background-image: url('images/delimg.png');cursor:default;}
.removeImg .text{color:#ccc;cursor:default;} .removeImg .text{color:#ccc;cursor:default;}
.addImgH .icon{vertical-align:top;display: inline-block;width:16px;height:16px;background-image: url('images/addimg.png')} .addImgH .icon{vertical-align:top;display: inline-block;width:16px;height:16px;background-image: url('images/addimg.png')}
.addImgH .text{color:#888;cursor:pointer;} .addImgH .text{color:#888;cursor:pointer;}
/*icon /*icon
*/ */
.brushIcon{display: inline-block;width:16px;height:16px;background-image: url('images/brush.png')} .brushIcon{display: inline-block;width:16px;height:16px;background-image: url('images/brush.png')}
.eraserIcon{display: inline-block;width:16px;height:16px;background-image: url('images/eraser.png')} .eraserIcon{display: inline-block;width:16px;height:16px;background-image: url('images/eraser.png')}

View File

@ -1,95 +1,95 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title></title> <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex, nofollow"/> <meta name="robots" content="noindex, nofollow"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="scrawl.css"> <link rel="stylesheet" type="text/css" href="scrawl.css">
</head> </head>
<body> <body>
<div class="main" id="J_wrap"> <div class="main" id="J_wrap">
<div class="hot"> <div class="hot">
<div class="drawBoard border_style1"> <div class="drawBoard border_style1">
<canvas id="J_brushBoard" class="brushBorad" width="360" height="300"></canvas> <canvas id="J_brushBoard" class="brushBorad" width="360" height="300"></canvas>
<div id="J_picBoard" class="picBoard" style="width: 360px;height: 300px"></div> <div id="J_picBoard" class="picBoard" style="width: 360px;height: 300px"></div>
</div> </div>
<div id="J_operateBar" class="operateBar"> <div id="J_operateBar" class="operateBar">
<span id="J_previousStep" class="previousStep"> <span id="J_previousStep" class="previousStep">
<em class="icon"></em> <em class="icon"></em>
<em class="text"><var id="lang_input_previousStep"></var></em> <em class="text"><var id="lang_input_previousStep"></var></em>
</span> </span>
<span id="J_nextStep" class="nextStep"> <span id="J_nextStep" class="nextStep">
<em class="icon"></em> <em class="icon"></em>
<em class="text"><var id="lang_input_nextsStep"></var></em> <em class="text"><var id="lang_input_nextsStep"></var></em>
</span> </span>
<span id="J_clearBoard" class="clearBoard"> <span id="J_clearBoard" class="clearBoard">
<em class="icon"></em> <em class="icon"></em>
<em class="text"><var id="lang_input_clear"></var></em> <em class="text"><var id="lang_input_clear"></var></em>
</span> </span>
<span id="J_sacleBoard" class="scaleBoard"> <span id="J_sacleBoard" class="scaleBoard">
<em class="icon"></em> <em class="icon"></em>
<em class="text"><var id="lang_input_ScalePic"></var></em> <em class="text"><var id="lang_input_ScalePic"></var></em>
</span> </span>
</div> </div>
</div> </div>
<div class="drawToolbar border_style1"> <div class="drawToolbar border_style1">
<div id="J_colorBar" class="colorBar"></div> <div id="J_colorBar" class="colorBar"></div>
<div id="J_brushBar" class="sectionBar"> <div id="J_brushBar" class="sectionBar">
<em class="brushIcon"></em> <em class="brushIcon"></em>
<a href="javascript:void(0)" class="size1">1</a> <a href="javascript:void(0)" class="size1">1</a>
<a href="javascript:void(0)" class="size2">3</a> <a href="javascript:void(0)" class="size2">3</a>
<a href="javascript:void(0)" class="size3">5</a> <a href="javascript:void(0)" class="size3">5</a>
<a href="javascript:void(0)" class="size4">7</a> <a href="javascript:void(0)" class="size4">7</a>
</div> </div>
<div id="J_eraserBar" class="sectionBar"> <div id="J_eraserBar" class="sectionBar">
<em class="eraserIcon"></em> <em class="eraserIcon"></em>
<a href="javascript:void(0)" class="size1">1</a> <a href="javascript:void(0)" class="size1">1</a>
<a href="javascript:void(0)" class="size2">3</a> <a href="javascript:void(0)" class="size2">3</a>
<a href="javascript:void(0)" class="size3">5</a> <a href="javascript:void(0)" class="size3">5</a>
<a href="javascript:void(0)" class="size4">7</a> <a href="javascript:void(0)" class="size4">7</a>
</div> </div>
<div class="sectionBar"> <div class="sectionBar">
<div id="J_addImg" class="addImgH"> <div id="J_addImg" class="addImgH">
<em class="icon"></em> <em class="icon"></em>
<em class="text"><var id="lang_input_addPic"></var></em> <em class="text"><var id="lang_input_addPic"></var></em>
<form method="post" id="fileForm" enctype="multipart/form-data" class="addImgH_form" target="up"> <form method="post" id="fileForm" enctype="multipart/form-data" class="addImgH_form" target="up">
<input type="file" name="upfile" id="J_imgTxt" <input type="file" name="upfile" id="J_imgTxt"
accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/> accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/>
</form> </form>
<iframe name="up" style="display: none"></iframe> <iframe name="up" style="display: none"></iframe>
</div> </div>
</div> </div>
<div class="sectionBar"> <div class="sectionBar">
<span id="J_removeImg" class="removeImg"> <span id="J_removeImg" class="removeImg">
<em class="icon"></em> <em class="icon"></em>
<em class="text"><var id="lang_input_removePic"></var></em> <em class="text"><var id="lang_input_removePic"></var></em>
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<div id="J_maskLayer" class="maskLayerNull"></div> <div id="J_maskLayer" class="maskLayerNull"></div>
<script type="text/javascript" src="scrawl.js"></script> <script type="text/javascript" src="scrawl.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var settings = { var settings = {
drawBrushSize:3, //画笔初始大小 drawBrushSize:3, //画笔初始大小
drawBrushColor:"#4bacc6", //画笔初始颜色 drawBrushColor:"#4bacc6", //画笔初始颜色
colorList:['c00000', 'ff0000', 'ffc000', 'ffff00', '92d050', '00b050', '00b0f0', '0070c0', '002060', '7030a0', 'ffffff', colorList:['c00000', 'ff0000', 'ffc000', 'ffff00', '92d050', '00b050', '00b0f0', '0070c0', '002060', '7030a0', 'ffffff',
'000000', 'eeece1', '1f497d', '4f81bd', 'c0504d', '9bbb59', '8064a2', '4bacc6', 'f79646'], //画笔选择颜色 '000000', 'eeece1', '1f497d', '4f81bd', 'c0504d', '9bbb59', '8064a2', '4bacc6', 'f79646'], //画笔选择颜色
saveNum:10 //撤销次数 saveNum:10 //撤销次数
}; };
var scrawlObj = new scrawl( settings ); var scrawlObj = new scrawl( settings );
scrawlObj.isCancelScrawl = false; scrawlObj.isCancelScrawl = false;
dialog.onok = function () { dialog.onok = function () {
exec( scrawlObj ); exec( scrawlObj );
return false; return false;
}; };
dialog.oncancel = function () { dialog.oncancel = function () {
scrawlObj.isCancelScrawl = true; scrawlObj.isCancelScrawl = true;
}; };
</script> </script>
</body> </body>
</html> </html>

File diff suppressed because it is too large Load Diff

View File

@ -1,102 +1,102 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<title></title> <title></title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<style type="text/css"> <style type="text/css">
.warpper{ position:relative;width: 380px; height: 100%; margin: 10px auto;} .warpper{ position:relative;width: 380px; height: 100%; margin: 10px auto;}
.tabbody{height: 160px;} .tabbody{height: 160px;}
.tabbody table{width:100%;border-collapse: separate;border-spacing: 3px;} .tabbody table{width:100%;border-collapse: separate;border-spacing: 3px;}
.tabbody .panel{width:373px;height:100%;padding-left: 5px;position: absolute;background-color: #fff;} .tabbody .panel{width:373px;height:100%;padding-left: 5px;position: absolute;background-color: #fff;}
.tabbody input.int{ width:190px;height:21px;border:1px solid #d7d7d7;line-height:21px;} .tabbody input.int{ width:190px;height:21px;border:1px solid #d7d7d7;line-height:21px;}
.tabbody input.btn{padding: 0 5px; text-align:center;line-height:24px; text-decoration: none;height:24px;background:url("../../themes/default/images/dialog-title-bg.png") repeat-x;border:1px solid #ccc; } .tabbody input.btn{padding: 0 5px; text-align:center;line-height:24px; text-decoration: none;height:24px;background:url("../../themes/default/images/dialog-title-bg.png") repeat-x;border:1px solid #ccc; }
</style> </style>
</head> </head>
<body> <body>
<div class="warpper" id="searchtab"> <div class="warpper" id="searchtab">
<div id="head" class="tabhead"> <div id="head" class="tabhead">
<span tabsrc="find" class="focus"><var id="lang_tab_search"></var></span> <span tabsrc="find" class="focus"><var id="lang_tab_search"></var></span>
<span tabsrc="replace" ><var id="lang_tab_replace"></var></span> <span tabsrc="replace" ><var id="lang_tab_replace"></var></span>
</div> </div>
<div class="tabbody"> <div class="tabbody">
<div class="panel" id="find"> <div class="panel" id="find">
<table> <table>
<tr> <tr>
<td width="80"><var id="lang_search1"></var>: </td> <td width="80"><var id="lang_search1"></var>: </td>
<td><input id="findtxt" type="text" class="int" /></td> <td><input id="findtxt" type="text" class="int" /></td>
</tr> </tr>
<!--<tr>--> <!--<tr>-->
<!--<td colspan="2"><span style="color:red"><var id="lang_searchReg"></var></span></td>--> <!--<td colspan="2"><span style="color:red"><var id="lang_searchReg"></var></span></td>-->
<!--</tr>--> <!--</tr>-->
<tr> <tr>
<td><var id="lang_case_sensitive1"></var></td> <td><var id="lang_case_sensitive1"></var></td>
<td> <td>
<input id="matchCase" type="checkbox" /> <input id="matchCase" type="checkbox" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<input id="nextFindBtn" type="button" class="btn" /> <input id="nextFindBtn" type="button" class="btn" />
<input id="preFindBtn" type="button" class="btn" /> <input id="preFindBtn" type="button" class="btn" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
&nbsp; &nbsp;
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<span id="search-msg" style="color:red"></span> <span id="search-msg" style="color:red"></span>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="panel" id="replace"> <div class="panel" id="replace">
<table> <table>
<tr> <tr>
<td width="80"><var id="lang_search2"></var>: </td> <td width="80"><var id="lang_search2"></var>: </td>
<td><input id="findtxt1" type="text" class="int" /></td> <td><input id="findtxt1" type="text" class="int" /></td>
</tr> </tr>
<!--<tr>--> <!--<tr>-->
<!--<td colspan="2"><span style="color:red"><var id="lang_searchReg1"></var></span></td>--> <!--<td colspan="2"><span style="color:red"><var id="lang_searchReg1"></var></span></td>-->
<!--</tr>--> <!--</tr>-->
<tr> <tr>
<td><var id="lang_replace"></var>: </td> <td><var id="lang_replace"></var>: </td>
<td><input id="replacetxt" type="text" class="int" /></td> <td><input id="replacetxt" type="text" class="int" /></td>
</tr> </tr>
<tr> <tr>
<td><var id="lang_case_sensitive2"></var></td> <td><var id="lang_case_sensitive2"></var></td>
<td> <td>
<input id="matchCase1" type="checkbox" /> <input id="matchCase1" type="checkbox" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<input id="nextReplaceBtn" type="button" class="btn" /> <input id="nextReplaceBtn" type="button" class="btn" />
<input id="preReplaceBtn" type="button" class="btn" /> <input id="preReplaceBtn" type="button" class="btn" />
<input id="repalceBtn" type="button" class="btn" /> <input id="repalceBtn" type="button" class="btn" />
<input id="repalceAllBtn" type="button" class="btn" /> <input id="repalceAllBtn" type="button" class="btn" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
&nbsp; &nbsp;
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<span id="replace-msg" style="color:red"></span> <span id="replace-msg" style="color:red"></span>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" src="searchreplace.js"></script> <script type="text/javascript" src="searchreplace.js"></script>
</body> </body>
</html> </html>

View File

@ -1,164 +1,164 @@
/** /**
* Created with JetBrains PhpStorm. * Created with JetBrains PhpStorm.
* User: xuheng * User: xuheng
* Date: 12-9-26 * Date: 12-9-26
* Time: 下午12:29 * Time: 下午12:29
* To change this template use File | Settings | File Templates. * To change this template use File | Settings | File Templates.
*/ */
//清空上次查选的痕迹 //清空上次查选的痕迹
editor.firstForSR = 0; editor.firstForSR = 0;
editor.currentRangeForSR = null; editor.currentRangeForSR = null;
//给tab注册切换事件 //给tab注册切换事件
/** /**
* tab点击处理事件 * tab点击处理事件
* @param tabHeads * @param tabHeads
* @param tabBodys * @param tabBodys
* @param obj * @param obj
*/ */
function clickHandler( tabHeads,tabBodys,obj ) { function clickHandler( tabHeads,tabBodys,obj ) {
//head样式更改 //head样式更改
for ( var k = 0, len = tabHeads.length; k < len; k++ ) { for ( var k = 0, len = tabHeads.length; k < len; k++ ) {
tabHeads[k].className = ""; tabHeads[k].className = "";
} }
obj.className = "focus"; obj.className = "focus";
//body显隐 //body显隐
var tabSrc = obj.getAttribute( "tabSrc" ); var tabSrc = obj.getAttribute( "tabSrc" );
for ( var j = 0, length = tabBodys.length; j < length; j++ ) { for ( var j = 0, length = tabBodys.length; j < length; j++ ) {
var body = tabBodys[j], var body = tabBodys[j],
id = body.getAttribute( "id" ); id = body.getAttribute( "id" );
if ( id != tabSrc ) { if ( id != tabSrc ) {
body.style.zIndex = 1; body.style.zIndex = 1;
} else { } else {
body.style.zIndex = 200; body.style.zIndex = 200;
} }
} }
} }
/** /**
* TAB切换 * TAB切换
* @param tabParentId tab的父节点ID或者对象本身 * @param tabParentId tab的父节点ID或者对象本身
*/ */
function switchTab( tabParentId ) { function switchTab( tabParentId ) {
var tabElements = $G( tabParentId ).children, var tabElements = $G( tabParentId ).children,
tabHeads = tabElements[0].children, tabHeads = tabElements[0].children,
tabBodys = tabElements[1].children; tabBodys = tabElements[1].children;
for ( var i = 0, length = tabHeads.length; i < length; i++ ) { for ( var i = 0, length = tabHeads.length; i < length; i++ ) {
var head = tabHeads[i]; var head = tabHeads[i];
if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head );
head.onclick = function () { head.onclick = function () {
clickHandler(tabHeads,tabBodys,this); clickHandler(tabHeads,tabBodys,this);
} }
} }
} }
$G('searchtab').onmousedown = function(){ $G('searchtab').onmousedown = function(){
$G('search-msg').innerHTML = ''; $G('search-msg').innerHTML = '';
$G('replace-msg').innerHTML = '' $G('replace-msg').innerHTML = ''
} }
//是否区分大小写 //是否区分大小写
function getMatchCase(id) { function getMatchCase(id) {
return $G(id).checked ? true : false; return $G(id).checked ? true : false;
} }
//查找 //查找
$G("nextFindBtn").onclick = function (txt, dir, mcase) { $G("nextFindBtn").onclick = function (txt, dir, mcase) {
var findtxt = $G("findtxt").value, obj; var findtxt = $G("findtxt").value, obj;
if (!findtxt) { if (!findtxt) {
return false; return false;
} }
obj = { obj = {
searchStr:findtxt, searchStr:findtxt,
dir:1, dir:1,
casesensitive:getMatchCase("matchCase") casesensitive:getMatchCase("matchCase")
}; };
if (!frCommond(obj)) { if (!frCommond(obj)) {
var bk = editor.selection.getRange().createBookmark(); var bk = editor.selection.getRange().createBookmark();
$G('search-msg').innerHTML = lang.getEnd; $G('search-msg').innerHTML = lang.getEnd;
editor.selection.getRange().moveToBookmark(bk).select(); editor.selection.getRange().moveToBookmark(bk).select();
} }
}; };
$G("nextReplaceBtn").onclick = function (txt, dir, mcase) { $G("nextReplaceBtn").onclick = function (txt, dir, mcase) {
var findtxt = $G("findtxt1").value, obj; var findtxt = $G("findtxt1").value, obj;
if (!findtxt) { if (!findtxt) {
return false; return false;
} }
obj = { obj = {
searchStr:findtxt, searchStr:findtxt,
dir:1, dir:1,
casesensitive:getMatchCase("matchCase1") casesensitive:getMatchCase("matchCase1")
}; };
frCommond(obj); frCommond(obj);
}; };
$G("preFindBtn").onclick = function (txt, dir, mcase) { $G("preFindBtn").onclick = function (txt, dir, mcase) {
var findtxt = $G("findtxt").value, obj; var findtxt = $G("findtxt").value, obj;
if (!findtxt) { if (!findtxt) {
return false; return false;
} }
obj = { obj = {
searchStr:findtxt, searchStr:findtxt,
dir:-1, dir:-1,
casesensitive:getMatchCase("matchCase") casesensitive:getMatchCase("matchCase")
}; };
if (!frCommond(obj)) { if (!frCommond(obj)) {
$G('search-msg').innerHTML = lang.getStart; $G('search-msg').innerHTML = lang.getStart;
} }
}; };
$G("preReplaceBtn").onclick = function (txt, dir, mcase) { $G("preReplaceBtn").onclick = function (txt, dir, mcase) {
var findtxt = $G("findtxt1").value, obj; var findtxt = $G("findtxt1").value, obj;
if (!findtxt) { if (!findtxt) {
return false; return false;
} }
obj = { obj = {
searchStr:findtxt, searchStr:findtxt,
dir:-1, dir:-1,
casesensitive:getMatchCase("matchCase1") casesensitive:getMatchCase("matchCase1")
}; };
frCommond(obj); frCommond(obj);
}; };
//替换 //替换
$G("repalceBtn").onclick = function () { $G("repalceBtn").onclick = function () {
var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj,
replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, "");
if (!findtxt) { if (!findtxt) {
return false; return false;
} }
if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) {
return false; return false;
} }
obj = { obj = {
searchStr:findtxt, searchStr:findtxt,
dir:1, dir:1,
casesensitive:getMatchCase("matchCase1"), casesensitive:getMatchCase("matchCase1"),
replaceStr:replacetxt replaceStr:replacetxt
}; };
frCommond(obj); frCommond(obj);
}; };
//全部替换 //全部替换
$G("repalceAllBtn").onclick = function () { $G("repalceAllBtn").onclick = function () {
var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj, var findtxt = $G("findtxt1").value.replace(/^\s|\s$/g, ""), obj,
replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, ""); replacetxt = $G("replacetxt").value.replace(/^\s|\s$/g, "");
if (!findtxt) { if (!findtxt) {
return false; return false;
} }
if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) { if (findtxt == replacetxt || (!getMatchCase("matchCase1") && findtxt.toLowerCase() == replacetxt.toLowerCase())) {
return false; return false;
} }
obj = { obj = {
searchStr:findtxt, searchStr:findtxt,
casesensitive:getMatchCase("matchCase1"), casesensitive:getMatchCase("matchCase1"),
replaceStr:replacetxt, replaceStr:replacetxt,
all:true all:true
}; };
var num = frCommond(obj); var num = frCommond(obj);
if (num) { if (num) {
$G('replace-msg').innerHTML = lang.countMsg.replace("{#count}", num); $G('replace-msg').innerHTML = lang.countMsg.replace("{#count}", num);
} }
}; };
//执行 //执行
var frCommond = function (obj) { var frCommond = function (obj) {
return editor.execCommand("searchreplace", obj); return editor.execCommand("searchreplace", obj);
}; };
switchTab("searchtab"); switchTab("searchtab");

View File

@ -1,58 +1,58 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title> <title></title>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<style type="text/css"> <style type="text/css">
*{color: #838383} *{color: #838383}
html,body { html,body {
font-size: 12px; font-size: 12px;
width:100%; width:100%;
height:100%; height:100%;
overflow: hidden; overflow: hidden;
margin:0px; margin:0px;
padding:0px; padding:0px;
} }
h2 { font-size: 16px; margin: 20px auto;} h2 { font-size: 16px; margin: 20px auto;}
.content{ .content{
padding:5px 15px 0 15px; padding:5px 15px 0 15px;
height:100%; height:100%;
} }
dt,dd { margin-left: 0; padding-left: 0;} dt,dd { margin-left: 0; padding-left: 0;}
dt a { display: block; dt a { display: block;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
width: 55px; width: 55px;
background: #EFEFEF; background: #EFEFEF;
border: 1px solid #CCC; border: 1px solid #CCC;
padding: 0 10px; padding: 0 10px;
text-decoration: none; text-decoration: none;
} }
dt a:hover{ dt a:hover{
background: #e0e0e0; background: #e0e0e0;
border-color: #999 border-color: #999
} }
dt a:active{ dt a:active{
background: #ccc; background: #ccc;
border-color: #999; border-color: #999;
color: #666; color: #666;
} }
dd { line-height:20px;margin-top: 10px;} dd { line-height:20px;margin-top: 10px;}
span{ padding-right:4px;} span{ padding-right:4px;}
input{width:210px;height:21px;background: #FFF;border:1px solid #d7d7d7;padding: 0px; margin: 0px; } input{width:210px;height:21px;background: #FFF;border:1px solid #d7d7d7;padding: 0px; margin: 0px; }
</style> </style>
</head> </head>
<body> <body>
<div class="content"> <div class="content">
<h2><var id="lang_showMsg"></var></h2> <h2><var id="lang_showMsg"></var></h2>
<dl> <dl>
<dt><a href="../../third-party/snapscreen/UEditorSnapscreen.exe" target="_blank" id="downlink"><var id="lang_download"></var></a></dt> <dt><a href="../../third-party/snapscreen/UEditorSnapscreen.exe" target="_blank" id="downlink"><var id="lang_download"></var></a></dt>
<dd><var id="lang_step1"></var></dd> <dd><var id="lang_step1"></var></dd>
<dd><var id="lang_step2"></var></dd> <dd><var id="lang_step2"></var></dd>
</dl> </dl>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,21 +1,21 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<title></title> <title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<style type="text/css"> <style type="text/css">
html,body{overflow:hidden;} html,body{overflow:hidden;}
#specharsTab{width: 97%;margin: 10px auto; zoom:1;position: relative} #specharsTab{width: 97%;margin: 10px auto; zoom:1;position: relative}
.tabbody {height:447px;} .tabbody {height:447px;}
.tabbody span{ margin: 5px 3px;text-align: center;display:inline-block;width: 40px;height:16px;line-height: 16px;cursor: pointer; } .tabbody span{ margin: 5px 3px;text-align: center;display:inline-block;width: 40px;height:16px;line-height: 16px;cursor: pointer; }
</style> </style>
</head> </head>
<body> <body>
<div id="specharsTab"> <div id="specharsTab">
<div id="tabHeads" class="tabhead"></div><div id="tabBodys" class="tabbody"></div> <div id="tabHeads" class="tabhead"></div><div id="tabBodys" class="tabbody"></div>
</div> </div>
<script type="text/javascript" src="spechars.js"></script> <script type="text/javascript" src="spechars.js"></script>
</body> </body>
</html> </html>

View File

@ -1,57 +1,57 @@
/** /**
* Created with JetBrains PhpStorm. * Created with JetBrains PhpStorm.
* User: xuheng * User: xuheng
* Date: 12-9-26 * Date: 12-9-26
* Time: 下午1:09 * Time: 下午1:09
* To change this template use File | Settings | File Templates. * To change this template use File | Settings | File Templates.
*/ */
var charsContent = [ var charsContent = [
{ name:"tsfh", title:lang.tsfh, content:toArray("、,。,·,ˉ,ˇ,¨,〃,々,—,,‖,…,,,“,”,,,〈,〉,《,》,「,」,『,』,〖,〗,【,】,±,×,÷,,∧,,∑,∏,,∩,∈,∷,√,⊥,∥,∠,⌒,⊙,∫,∮,≡,≌,≈,∽,∝,≠,≮,≯,≤,≥,∞,∵,∴,♂,♀,°,,″,℃,,¤,¢,£,‰,§,№,☆,★,○,●,◎,◇,◆,□,■,△,▲,※,→,←,↑,↓,〓,〡,〢,〣,〤,〥,〦,〧,〨,〩,㊣,㎎,㎏,㎜,㎝,㎞,㎡,㏄,㏎,㏑,㏒,㏕,,¬,¦,℡,ˊ,ˋ,˙,,―,‥,,℅,℉,↖,↗,↘,↙,,∟,,≒,≦,≧,⊿,═,║,╒,╓,╔,╕,╖,╗,╘,╙,╚,╛,╜,╝,╞,╟,╠,╡,╢,╣,╤,╥,╦,╧,╨,╩,╪,╫,╬,╭,╮,╯,╰,,╲,,▁,▂,▃,▄,▅,▆,▇,<2C>,█,▉,▊,▋,▌,▍,▎,▏,▓,▔,▕,▼,▽,◢,◣,◤,◥,☉,⊕,〒,〝,〞")}, { name:"tsfh", title:lang.tsfh, content:toArray("、,。,·,ˉ,ˇ,¨,〃,々,—,,‖,…,,,“,”,,,〈,〉,《,》,「,」,『,』,〖,〗,【,】,±,×,÷,,∧,,∑,∏,,∩,∈,∷,√,⊥,∥,∠,⌒,⊙,∫,∮,≡,≌,≈,∽,∝,≠,≮,≯,≤,≥,∞,∵,∴,♂,♀,°,,″,℃,,¤,¢,£,‰,§,№,☆,★,○,●,◎,◇,◆,□,■,△,▲,※,→,←,↑,↓,〓,〡,〢,〣,〤,〥,〦,〧,〨,〩,㊣,㎎,㎏,㎜,㎝,㎞,㎡,㏄,㏎,㏑,㏒,㏕,,¬,¦,℡,ˊ,ˋ,˙,,―,‥,,℅,℉,↖,↗,↘,↙,,∟,,≒,≦,≧,⊿,═,║,╒,╓,╔,╕,╖,╗,╘,╙,╚,╛,╜,╝,╞,╟,╠,╡,╢,╣,╤,╥,╦,╧,╨,╩,╪,╫,╬,╭,╮,╯,╰,,╲,,▁,▂,▃,▄,▅,▆,▇,<2C>,█,▉,▊,▋,▌,▍,▎,▏,▓,▔,▕,▼,▽,◢,◣,◤,◥,☉,⊕,〒,〝,〞")},
{ name:"lmsz", title:lang.lmsz, content:toArray(",ⅱ,ⅲ,ⅳ,,ⅵ,ⅶ,ⅷ,ⅸ,,,Ⅱ,Ⅲ,Ⅳ,,Ⅵ,Ⅶ,Ⅷ,Ⅸ,,Ⅺ,Ⅻ")}, { name:"lmsz", title:lang.lmsz, content:toArray(",ⅱ,ⅲ,ⅳ,,ⅵ,ⅶ,ⅷ,ⅸ,,,Ⅱ,Ⅲ,Ⅳ,,Ⅵ,Ⅶ,Ⅷ,Ⅸ,,Ⅺ,Ⅻ")},
{ name:"szfh", title:lang.szfh, content:toArray("⒈,⒉,⒊,⒋,⒌,⒍,⒎,⒏,⒐,⒑,⒒,⒓,⒔,⒕,⒖,⒗,⒘,⒙,⒚,⒛,⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,⒀,⒁,⒂,⒃,⒄,⒅,⒆,⒇,①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩,㈠,㈡,㈢,㈣,㈤,㈥,㈦,㈧,㈨,㈩")}, { name:"szfh", title:lang.szfh, content:toArray("⒈,⒉,⒊,⒋,⒌,⒍,⒎,⒏,⒐,⒑,⒒,⒓,⒔,⒕,⒖,⒗,⒘,⒙,⒚,⒛,⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,⒀,⒁,⒂,⒃,⒄,⒅,⒆,⒇,①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩,㈠,㈡,㈢,㈣,㈤,㈥,㈦,㈧,㈨,㈩")},
{ name:"rwfh", title:lang.rwfh, content:toArray("ぁ,あ,ぃ,い,ぅ,う,ぇ,え,ぉ,お,か,が,き,ぎ,く,ぐ,け,げ,こ,ご,さ,ざ,し,じ,す,ず,せ,ぜ,そ,ぞ,た,だ,ち,ぢ,っ,つ,づ,て,で,と,ど,な,に,ぬ,ね,の,は,ば,ぱ,ひ,び,ぴ,ふ,ぶ,ぷ,へ,べ,ぺ,ほ,ぼ,ぽ,ま,み,む,め,も,ゃ,や,ゅ,ゆ,ょ,よ,ら,り,る,れ,ろ,ゎ,わ,ゐ,ゑ,を,ん,ァ,ア,ィ,イ,ゥ,ウ,ェ,エ,ォ,オ,カ,ガ,キ,ギ,ク,グ,ケ,ゲ,コ,ゴ,サ,ザ,シ,ジ,ス,ズ,セ,ゼ,ソ,ゾ,タ,ダ,チ,ヂ,ッ,ツ,ヅ,テ,デ,ト,ド,ナ,ニ,ヌ,ネ,,ハ,バ,パ,ヒ,ビ,ピ,フ,ブ,プ,ヘ,ベ,ペ,ホ,ボ,ポ,マ,ミ,ム,メ,モ,ャ,ヤ,ュ,ユ,ョ,ヨ,ラ,リ,ル,レ,ロ,ヮ,ワ,ヰ,ヱ,ヲ,ン,ヴ,ヵ,ヶ")}, { name:"rwfh", title:lang.rwfh, content:toArray("ぁ,あ,ぃ,い,ぅ,う,ぇ,え,ぉ,お,か,が,き,ぎ,く,ぐ,け,げ,こ,ご,さ,ざ,し,じ,す,ず,せ,ぜ,そ,ぞ,た,だ,ち,ぢ,っ,つ,づ,て,で,と,ど,な,に,ぬ,ね,の,は,ば,ぱ,ひ,び,ぴ,ふ,ぶ,ぷ,へ,べ,ぺ,ほ,ぼ,ぽ,ま,み,む,め,も,ゃ,や,ゅ,ゆ,ょ,よ,ら,り,る,れ,ろ,ゎ,わ,ゐ,ゑ,を,ん,ァ,ア,ィ,イ,ゥ,ウ,ェ,エ,ォ,オ,カ,ガ,キ,ギ,ク,グ,ケ,ゲ,コ,ゴ,サ,ザ,シ,ジ,ス,ズ,セ,ゼ,ソ,ゾ,タ,ダ,チ,ヂ,ッ,ツ,ヅ,テ,デ,ト,ド,ナ,ニ,ヌ,ネ,,ハ,バ,パ,ヒ,ビ,ピ,フ,ブ,プ,ヘ,ベ,ペ,ホ,ボ,ポ,マ,ミ,ム,メ,モ,ャ,ヤ,ュ,ユ,ョ,ヨ,ラ,リ,ル,レ,ロ,ヮ,ワ,ヰ,ヱ,ヲ,ン,ヴ,ヵ,ヶ")},
{ name:"xlzm", title:lang.xlzm, content:toArray("Α,Β,Γ,Δ,Ε,Ζ,Η,Θ,Ι,Κ,Λ,Μ,Ν,Ξ,Ο,Π,Ρ,Σ,Τ,Υ,Φ,Χ,Ψ,Ω,α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,τ,υ,φ,χ,ψ,ω")}, { name:"xlzm", title:lang.xlzm, content:toArray("Α,Β,Γ,Δ,Ε,Ζ,Η,Θ,Ι,Κ,Λ,Μ,Ν,Ξ,Ο,Π,Ρ,Σ,Τ,Υ,Φ,Χ,Ψ,Ω,α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,τ,υ,φ,χ,ψ,ω")},
{ name:"ewzm", title:lang.ewzm, content:toArray("А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я")}, { name:"ewzm", title:lang.ewzm, content:toArray("А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я")},
{ name:"pyzm", title:lang.pyzm, content:toArray("ā,á,ǎ,à,ē,é,ě,è,ī,í,ǐ,ì,ō,ó,ǒ,ò,ū,ú,ǔ,ù,ǖ,ǘ,ǚ,ǜ,ü")}, { name:"pyzm", title:lang.pyzm, content:toArray("ā,á,ǎ,à,ē,é,ě,è,ī,í,ǐ,ì,ō,ó,ǒ,ò,ū,ú,ǔ,ù,ǖ,ǘ,ǚ,ǜ,ü")},
{ name:"yyyb", title:lang.yyyb, content:toArray("i:,i,e,æ,ʌ,ə:,ə,u:,u,ɔ:,ɔ,a:,ei,ai,ɔi,əu,au,iə,εə,uə,p,t,k,b,d,g,f,s,ʃ,θ,h,v,z,ʒ,ð,tʃ,tr,ts,dʒ,dr,dz,m,n,ŋ,l,r,w,j,")}, { name:"yyyb", title:lang.yyyb, content:toArray("i:,i,e,æ,ʌ,ə:,ə,u:,u,ɔ:,ɔ,a:,ei,ai,ɔi,əu,au,iə,εə,uə,p,t,k,b,d,g,f,s,ʃ,θ,h,v,z,ʒ,ð,tʃ,tr,ts,dʒ,dr,dz,m,n,ŋ,l,r,w,j,")},
{ name:"zyzf", title:lang.zyzf, content:toArray("ㄅ,ㄆ,ㄇ,ㄈ,ㄉ,ㄊ,ㄋ,ㄌ,ㄍ,ㄎ,ㄏ,ㄐ,ㄑ,ㄒ,ㄓ,ㄔ,ㄕ,ㄖ,ㄗ,ㄘ,ㄙ,ㄚ,ㄛ,ㄜ,ㄝ,ㄞ,ㄟ,ㄠ,ㄡ,ㄢ,ㄣ,ㄤ,ㄥ,ㄦ,ㄧ,ㄨ")} { name:"zyzf", title:lang.zyzf, content:toArray("ㄅ,ㄆ,ㄇ,ㄈ,ㄉ,ㄊ,ㄋ,ㄌ,ㄍ,ㄎ,ㄏ,ㄐ,ㄑ,ㄒ,ㄓ,ㄔ,ㄕ,ㄖ,ㄗ,ㄘ,ㄙ,ㄚ,ㄛ,ㄜ,ㄝ,ㄞ,ㄟ,ㄠ,ㄡ,ㄢ,ㄣ,ㄤ,ㄥ,ㄦ,ㄧ,ㄨ")}
]; ];
(function createTab(content) { (function createTab(content) {
for (var i = 0, ci; ci = content[i++];) { for (var i = 0, ci; ci = content[i++];) {
var span = document.createElement("span"); var span = document.createElement("span");
span.setAttribute("tabSrc", ci.name); span.setAttribute("tabSrc", ci.name);
span.innerHTML = ci.title; span.innerHTML = ci.title;
if (i == 1)span.className = "focus"; if (i == 1)span.className = "focus";
domUtils.on(span, "click", function () { domUtils.on(span, "click", function () {
var tmps = $G("tabHeads").children; var tmps = $G("tabHeads").children;
for (var k = 0, sk; sk = tmps[k++];) { for (var k = 0, sk; sk = tmps[k++];) {
sk.className = ""; sk.className = "";
} }
tmps = $G("tabBodys").children; tmps = $G("tabBodys").children;
for (var k = 0, sk; sk = tmps[k++];) { for (var k = 0, sk; sk = tmps[k++];) {
sk.style.display = "none"; sk.style.display = "none";
} }
this.className = "focus"; this.className = "focus";
$G(this.getAttribute("tabSrc")).style.display = ""; $G(this.getAttribute("tabSrc")).style.display = "";
}); });
$G("tabHeads").appendChild(span); $G("tabHeads").appendChild(span);
domUtils.insertAfter(span, document.createTextNode("\n")); domUtils.insertAfter(span, document.createTextNode("\n"));
var div = document.createElement("div"); var div = document.createElement("div");
div.id = ci.name; div.id = ci.name;
div.style.display = (i == 1) ? "" : "none"; div.style.display = (i == 1) ? "" : "none";
var cons = ci.content; var cons = ci.content;
for (var j = 0, con; con = cons[j++];) { for (var j = 0, con; con = cons[j++];) {
var charSpan = document.createElement("span"); var charSpan = document.createElement("span");
charSpan.innerHTML = con; charSpan.innerHTML = con;
domUtils.on(charSpan, "click", function () { domUtils.on(charSpan, "click", function () {
editor.execCommand("insertHTML", this.innerHTML); editor.execCommand("insertHTML", this.innerHTML);
dialog.close(); dialog.close();
}); });
div.appendChild(charSpan); div.appendChild(charSpan);
} }
$G("tabBodys").appendChild(div); $G("tabBodys").appendChild(div);
} }
})(charsContent); })(charsContent);
function toArray(str) { function toArray(str) {
return str.split(","); return str.split(",");
} }

View File

@ -1,42 +1,42 @@
/** /**
* Created with JetBrains PhpStorm. * Created with JetBrains PhpStorm.
* User: xuheng * User: xuheng
* Date: 12-8-8 * Date: 12-8-8
* Time: 下午2:00 * Time: 下午2:00
* To change this template use File | Settings | File Templates. * To change this template use File | Settings | File Templates.
*/ */
var templates = [ var templates = [
{ {
"pre":"pre0.png", "pre":"pre0.png",
'title':lang.blank, 'title':lang.blank,
'preHtml':'<p class="ue_t">&nbsp;欢迎使用UEditor</p>', 'preHtml':'<p class="ue_t">&nbsp;欢迎使用UEditor</p>',
"html":'<p class="ue_t">欢迎使用UEditor</p>' "html":'<p class="ue_t">欢迎使用UEditor</p>'
}, },
{ {
"pre":"pre1.png", "pre":"pre1.png",
'title':lang.blog, 'title':lang.blog,
'preHtml':'<h1 label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;"><span style="color:#c0504d;">深入理解Range</span></h1><p style="text-align:center;"><strong class=" ">UEditor二次开发</strong></p><h3><span class=" " style="font-family:幼圆">什么是Range</span></h3><p style="text-indent:2em;">对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 </p><br /><h3><span class=" " style="font-family:幼圆">Range能干什么</span></h3><p style="text-indent:2em;">在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。</p>', 'preHtml':'<h1 label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;"><span style="color:#c0504d;">深入理解Range</span></h1><p style="text-align:center;"><strong class=" ">UEditor二次开发</strong></p><h3><span class=" " style="font-family:幼圆">什么是Range</span></h3><p style="text-indent:2em;">对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 </p><br /><h3><span class=" " style="font-family:幼圆">Range能干什么</span></h3><p style="text-indent:2em;">在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。</p>',
"html":'<h1 class="ue_t" label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;"><span style="color:#c0504d;">[键入文档标题]</span></h1><p style="text-align:center;"><strong class="ue_t">[键入文档副标题]</strong></p><h3><span class="ue_t" style="font-family:幼圆">[标题 1]</span></h3><p class="ue_t" style="text-indent:2em;">对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。</p><h3><span class="ue_t" style="font-family:幼圆">[标题 2]</span></h3><p class="ue_t" style="text-indent:2em;">在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。 您还可以使用“开始”选项卡上的其他控件来直接设置文本格式。大多数控件都允许您选择是使用当前主题外观,还是使用某种直接指定的格式。 </p><h3><span class="ue_t" style="font-family:幼圆">[标题 3]</span></h3><p class="ue_t">对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。</p><p class="ue_t"><br /></p>' "html":'<h1 class="ue_t" label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;"><span style="color:#c0504d;">[键入文档标题]</span></h1><p style="text-align:center;"><strong class="ue_t">[键入文档副标题]</strong></p><h3><span class="ue_t" style="font-family:幼圆">[标题 1]</span></h3><p class="ue_t" style="text-indent:2em;">对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。</p><h3><span class="ue_t" style="font-family:幼圆">[标题 2]</span></h3><p class="ue_t" style="text-indent:2em;">在“开始”选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。 您还可以使用“开始”选项卡上的其他控件来直接设置文本格式。大多数控件都允许您选择是使用当前主题外观,还是使用某种直接指定的格式。 </p><h3><span class="ue_t" style="font-family:幼圆">[标题 3]</span></h3><p class="ue_t">对于“插入”选项卡上的库,在设计时都充分考虑了其中的项与文档整体外观的协调性。 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块。 您创建的图片、图表或关系图也将与当前的文档外观协调一致。</p><p class="ue_t"><br /></p>'
}, },
{ {
"pre":"pre2.png", "pre":"pre2.png",
'title':lang.resume, 'title':lang.resume,
'preHtml':'<h1 label="Title left" name="tl" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;"><span style="color:#e36c09;" class=" ">WEB前端开发简历</span></h1><table width="100%" border="1" bordercolor="#95B3D7" style="border-collapse:collapse;"><tbody><tr><td width="100" style="text-align:center;"><p><span style="background-color:transparent;">插</span><br /></p><p>入</p><p>照</p><p>片</p></td><td><p><span style="background-color:transparent;"> 联系电话:</span><span class="ue_t" style="background-color:transparent;">[键入您的电话]</span><br /></p><p><span style="background-color:transparent;"> 电子邮件:</span><span class="ue_t" style="background-color:transparent;">[键入您的电子邮件地址]</span><br /></p><p><span style="background-color:transparent;"> 家庭住址:</span><span class="ue_t" style="background-color:transparent;">[键入您的地址]</span><br /></p></td></tr></tbody></table><h3><span style="color:#E36C09;font-size:20px;">目标职位</span></h3><p style="text-indent:2em;" class=" ">WEB前端研发工程师</p><h3><span style="color:#e36c09;font-size:20px;">学历</span></h3><p><span style="display:none;line-height:0px;" id="_baidu_bookmark_start_26"></span></p><ol style="list-style-type:decimal;"><li><p><span class="ue_t">[起止时间]</span> <span class="ue_t">[学校名称] </span> <span class="ue_t">[所学专业]</span> <span class="ue_t">[所获学位]</span></p></li></ol><h3><span style="color:#e36c09;font-size:20px;" class="ue_t">工作经验</span></h3><p><br /></p>', 'preHtml':'<h1 label="Title left" name="tl" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;"><span style="color:#e36c09;" class=" ">WEB前端开发简历</span></h1><table width="100%" border="1" bordercolor="#95B3D7" style="border-collapse:collapse;"><tbody><tr><td width="100" style="text-align:center;"><p><span style="background-color:transparent;">插</span><br /></p><p>入</p><p>照</p><p>片</p></td><td><p><span style="background-color:transparent;"> 联系电话:</span><span class="ue_t" style="background-color:transparent;">[键入您的电话]</span><br /></p><p><span style="background-color:transparent;"> 电子邮件:</span><span class="ue_t" style="background-color:transparent;">[键入您的电子邮件地址]</span><br /></p><p><span style="background-color:transparent;"> 家庭住址:</span><span class="ue_t" style="background-color:transparent;">[键入您的地址]</span><br /></p></td></tr></tbody></table><h3><span style="color:#E36C09;font-size:20px;">目标职位</span></h3><p style="text-indent:2em;" class=" ">WEB前端研发工程师</p><h3><span style="color:#e36c09;font-size:20px;">学历</span></h3><p><span style="display:none;line-height:0px;" id="_baidu_bookmark_start_26"></span></p><ol style="list-style-type:decimal;"><li><p><span class="ue_t">[起止时间]</span> <span class="ue_t">[学校名称] </span> <span class="ue_t">[所学专业]</span> <span class="ue_t">[所获学位]</span></p></li></ol><h3><span style="color:#e36c09;font-size:20px;" class="ue_t">工作经验</span></h3><p><br /></p>',
"html":'<h1 label="Title left" name="tl" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;"><span style="color:#e36c09;" class="ue_t">[此处键入简历标题]</span></h1><p><span style="color:#e36c09;"><br /></span></p><table width="100%" border="1" bordercolor="#95B3D7" style="border-collapse:collapse;"><tbody><tr><td width="200" style="text-align:center;" class="ue_t">【此处插入照片】</td><td><p><br /></p><p> 联系电话:<span class="ue_t">[键入您的电话]</span></p><p><br /></p><p> 电子邮件:<span class="ue_t">[键入您的电子邮件地址]</span></p><p><br /></p><p> 家庭住址:<span class="ue_t">[键入您的地址]</span></p><p><br /></p></td></tr></tbody></table><h3><span style="color:#e36c09;font-size:20px;">目标职位</span></h3><p style="text-indent:2em;" class="ue_t">[此处键入您的期望职位]</p><h3><span style="color:#e36c09;font-size:20px;">学历</span></h3><p><span style="display:none;line-height:0px;" id="_baidu_bookmark_start_26"></span></p><ol style="list-style-type:decimal;"><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入学校名称] </span> <span class="ue_t">[键入所学专业]</span> <span class="ue_t">[键入所获学位]</span></p></li><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入学校名称]</span> <span class="ue_t">[键入所学专业]</span> <span class="ue_t">[键入所获学位]</span></p></li></ol><h3><span style="color:#e36c09;font-size:20px;" class="ue_t">工作经验</span></h3><ol style="list-style-type:decimal;"><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入公司名称]</span> <span class="ue_t">[键入职位名称]</span> </p></li><ol style="list-style-type:lower-alpha;"><li><p><span class="ue_t">[键入负责项目]</span> <span class="ue_t">[键入项目简介]</span></p></li><li><p><span class="ue_t">[键入负责项目]</span> <span class="ue_t">[键入项目简介]</span></p></li></ol><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入公司名称]</span> <span class="ue_t">[键入职位名称]</span> </p></li><ol style="list-style-type:lower-alpha;"><li><p><span class="ue_t">[键入负责项目]</span> <span class="ue_t">[键入项目简介]</span></p></li></ol></ol><p><span style="color:#e36c09;font-size:20px;">掌握技能</span></p><p style="text-indent:2em;"> &nbsp;<span class="ue_t">[这里可以键入您所掌握的技能]</span><br /></p>' "html":'<h1 label="Title left" name="tl" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;"><span style="color:#e36c09;" class="ue_t">[此处键入简历标题]</span></h1><p><span style="color:#e36c09;"><br /></span></p><table width="100%" border="1" bordercolor="#95B3D7" style="border-collapse:collapse;"><tbody><tr><td width="200" style="text-align:center;" class="ue_t">【此处插入照片】</td><td><p><br /></p><p> 联系电话:<span class="ue_t">[键入您的电话]</span></p><p><br /></p><p> 电子邮件:<span class="ue_t">[键入您的电子邮件地址]</span></p><p><br /></p><p> 家庭住址:<span class="ue_t">[键入您的地址]</span></p><p><br /></p></td></tr></tbody></table><h3><span style="color:#e36c09;font-size:20px;">目标职位</span></h3><p style="text-indent:2em;" class="ue_t">[此处键入您的期望职位]</p><h3><span style="color:#e36c09;font-size:20px;">学历</span></h3><p><span style="display:none;line-height:0px;" id="_baidu_bookmark_start_26"></span></p><ol style="list-style-type:decimal;"><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入学校名称] </span> <span class="ue_t">[键入所学专业]</span> <span class="ue_t">[键入所获学位]</span></p></li><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入学校名称]</span> <span class="ue_t">[键入所学专业]</span> <span class="ue_t">[键入所获学位]</span></p></li></ol><h3><span style="color:#e36c09;font-size:20px;" class="ue_t">工作经验</span></h3><ol style="list-style-type:decimal;"><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入公司名称]</span> <span class="ue_t">[键入职位名称]</span> </p></li><ol style="list-style-type:lower-alpha;"><li><p><span class="ue_t">[键入负责项目]</span> <span class="ue_t">[键入项目简介]</span></p></li><li><p><span class="ue_t">[键入负责项目]</span> <span class="ue_t">[键入项目简介]</span></p></li></ol><li><p><span class="ue_t">[键入起止时间]</span> <span class="ue_t">[键入公司名称]</span> <span class="ue_t">[键入职位名称]</span> </p></li><ol style="list-style-type:lower-alpha;"><li><p><span class="ue_t">[键入负责项目]</span> <span class="ue_t">[键入项目简介]</span></p></li></ol></ol><p><span style="color:#e36c09;font-size:20px;">掌握技能</span></p><p style="text-indent:2em;"> &nbsp;<span class="ue_t">[这里可以键入您所掌握的技能]</span><br /></p>'
}, },
{ {
"pre":"pre3.png", "pre":"pre3.png",
'title':lang.richText, 'title':lang.richText,
'preHtml':'<h1 label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;" class="ue_t">[此处键入文章标题]</h1><p><img src="http://img.baidu.com/hi/youa/y_0034.gif" width="150" height="100" border="0" hspace="0" vspace="0" style="width:150px;height:100px;float:left;" />图文混排方法</p><p>图片居左,文字围绕图片排版</p><p>方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文</p><p><br /></p><p><img src="http://img.baidu.com/hi/youa/y_0040.gif" width="100" height="100" border="0" hspace="0" vspace="0" style="width:100px;height:100px;float:right;" /></p><p>还有没有什么其他的环绕方式呢?这里是居右环绕</p><p><br /></p><p>欢迎大家多多尝试为UEditor提供更多高质量模板</p>', 'preHtml':'<h1 label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;" class="ue_t">[此处键入文章标题]</h1><p><img src="http://img.baidu.com/hi/youa/y_0034.gif" width="150" height="100" border="0" hspace="0" vspace="0" style="width:150px;height:100px;float:left;" />图文混排方法</p><p>图片居左,文字围绕图片排版</p><p>方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文</p><p><br /></p><p><img src="http://img.baidu.com/hi/youa/y_0040.gif" width="100" height="100" border="0" hspace="0" vspace="0" style="width:100px;height:100px;float:right;" /></p><p>还有没有什么其他的环绕方式呢?这里是居右环绕</p><p><br /></p><p>欢迎大家多多尝试为UEditor提供更多高质量模板</p>',
"html":'<p><br /></p><h1 label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;" class="ue_t">[此处键入文章标题]</h1><p><img src="http://img.baidu.com/hi/youa/y_0034.gif" width="300" height="200" border="0" hspace="0" vspace="0" style="width:300px;height:200px;float:left;" />图文混排方法</p><p>1. 图片居左,文字围绕图片排版</p><p>方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文本</p><p><br /></p><p>2. 图片居右,文字围绕图片排版</p><p>方法:在文字前面插入图片,设置居右对齐,然后即可在左边输入多行文本</p><p><br /></p><p>3. 图片居中环绕排版</p><p>方法:亲,这个真心没有办法。。。</p><p><br /></p><p><br /></p><p><img src="http://img.baidu.com/hi/youa/y_0040.gif" width="300" height="300" border="0" hspace="0" vspace="0" style="width:300px;height:300px;float:right;" /></p><p>还有没有什么其他的环绕方式呢?这里是居右环绕</p><p><br /></p><p>欢迎大家多多尝试为UEditor提供更多高质量模板</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p><br /></p>' "html":'<p><br /></p><h1 label="Title center" name="tc" style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;text-align:center;margin:0px 0px 20px;" class="ue_t">[此处键入文章标题]</h1><p><img src="http://img.baidu.com/hi/youa/y_0034.gif" width="300" height="200" border="0" hspace="0" vspace="0" style="width:300px;height:200px;float:left;" />图文混排方法</p><p>1. 图片居左,文字围绕图片排版</p><p>方法:在文字前面插入图片,设置居左对齐,然后即可在右边输入多行文本</p><p><br /></p><p>2. 图片居右,文字围绕图片排版</p><p>方法:在文字前面插入图片,设置居右对齐,然后即可在左边输入多行文本</p><p><br /></p><p>3. 图片居中环绕排版</p><p>方法:亲,这个真心没有办法。。。</p><p><br /></p><p><br /></p><p><img src="http://img.baidu.com/hi/youa/y_0040.gif" width="300" height="300" border="0" hspace="0" vspace="0" style="width:300px;height:300px;float:right;" /></p><p>还有没有什么其他的环绕方式呢?这里是居右环绕</p><p><br /></p><p>欢迎大家多多尝试为UEditor提供更多高质量模板</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p>占位</p><p><br /></p><p><br /></p>'
}, },
{ {
"pre":"pre4.png", "pre":"pre4.png",
'title':lang.sciPapers, 'title':lang.sciPapers,
'preHtml':'<h2 style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;text-align:center;" class="ue_t">[键入文章标题]</h2><p><strong><span style="font-size:12px;">摘要</span></strong><span style="font-size:12px;" class="ue_t">:这里可以输入很长很长很长很长很长很长很长很长很差的摘要</span></p><p style="line-height:1.5em;"><strong>标题 1</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">这里可以输入很多内容,可以图文混排,可以有列表等。</span></p><p style="line-height:1.5em;"><strong>标题 2</strong></p><ol style="list-style-type:lower-alpha;"><li><p class="ue_t">列表 1</p></li><li><p class="ue_t">列表 2</p></li><ol style="list-style-type:lower-roman;"><li><p class="ue_t">多级列表 1</p></li><li><p class="ue_t">多级列表 2</p></li></ol><li><p class="ue_t">列表 3<br /></p></li></ol><p style="line-height:1.5em;"><strong>标题 3</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">来个文字图文混排的</span></p><p style="text-indent:2em;"><br /></p>', 'preHtml':'<h2 style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;text-align:center;" class="ue_t">[键入文章标题]</h2><p><strong><span style="font-size:12px;">摘要</span></strong><span style="font-size:12px;" class="ue_t">:这里可以输入很长很长很长很长很长很长很长很长很差的摘要</span></p><p style="line-height:1.5em;"><strong>标题 1</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">这里可以输入很多内容,可以图文混排,可以有列表等。</span></p><p style="line-height:1.5em;"><strong>标题 2</strong></p><ol style="list-style-type:lower-alpha;"><li><p class="ue_t">列表 1</p></li><li><p class="ue_t">列表 2</p></li><ol style="list-style-type:lower-roman;"><li><p class="ue_t">多级列表 1</p></li><li><p class="ue_t">多级列表 2</p></li></ol><li><p class="ue_t">列表 3<br /></p></li></ol><p style="line-height:1.5em;"><strong>标题 3</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">来个文字图文混排的</span></p><p style="text-indent:2em;"><br /></p>',
'html':'<h2 style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;text-align:center;" class="ue_t">[键入文章标题]</h2><p><strong><span style="font-size:12px;">摘要</span></strong><span style="font-size:12px;" class="ue_t">:这里可以输入很长很长很长很长很长很长很长很长很差的摘要</span></p><p style="line-height:1.5em;"><strong>标题 1</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">这里可以输入很多内容,可以图文混排,可以有列表等。</span></p><p style="line-height:1.5em;"><strong>标题 2</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">来个列表瞅瞅:</span></p><ol style="list-style-type:lower-alpha;"><li><p class="ue_t">列表 1</p></li><li><p class="ue_t">列表 2</p></li><ol style="list-style-type:lower-roman;"><li><p class="ue_t">多级列表 1</p></li><li><p class="ue_t">多级列表 2</p></li></ol><li><p class="ue_t">列表 3<br /></p></li></ol><p style="line-height:1.5em;"><strong>标题 3</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">来个文字图文混排的</span></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">这里可以多行</span></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">右边是图片</span></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">绝对没有问题的,不信你也可以试试看</span></p><p><br /></p>' 'html':'<h2 style="border-bottom-color:#cccccc;border-bottom-width:2px;border-bottom-style:solid;padding:0px 4px 0px 0px;margin:0px 0px 10px;text-align:center;" class="ue_t">[键入文章标题]</h2><p><strong><span style="font-size:12px;">摘要</span></strong><span style="font-size:12px;" class="ue_t">:这里可以输入很长很长很长很长很长很长很长很长很差的摘要</span></p><p style="line-height:1.5em;"><strong>标题 1</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">这里可以输入很多内容,可以图文混排,可以有列表等。</span></p><p style="line-height:1.5em;"><strong>标题 2</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">来个列表瞅瞅:</span></p><ol style="list-style-type:lower-alpha;"><li><p class="ue_t">列表 1</p></li><li><p class="ue_t">列表 2</p></li><ol style="list-style-type:lower-roman;"><li><p class="ue_t">多级列表 1</p></li><li><p class="ue_t">多级列表 2</p></li></ol><li><p class="ue_t">列表 3<br /></p></li></ol><p style="line-height:1.5em;"><strong>标题 3</strong></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">来个文字图文混排的</span></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">这里可以多行</span></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">右边是图片</span></p><p style="text-indent:2em;"><span style="font-size:14px;" class="ue_t">绝对没有问题的,不信你也可以试试看</span></p><p><br /></p>'
} }
]; ];

View File

@ -1,18 +1,18 @@
.wrap{ padding: 5px;font-size: 14px;} .wrap{ padding: 5px;font-size: 14px;}
.left{width:425px;float: left;} .left{width:425px;float: left;}
.right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;} .right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;}
.right .pre{height: 332px;overflow-y: auto;} .right .pre{height: 332px;overflow-y: auto;}
.right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;} .right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;}
.right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;} .right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;}
.right .preitem img{display: block;margin: 0 auto;width:100px;} .right .preitem img{display: block;margin: 0 auto;width:100px;}
.clear{clear: both;} .clear{clear: both;}
.top{height:26px;line-height: 26px;padding: 5px;} .top{height:26px;line-height: 26px;padding: 5px;}
.bottom{height:320px;width:100%;margin: 0 auto;} .bottom{height:320px;width:100%;margin: 0 auto;}
.transparent{ background: url("images/bg.gif") repeat;} .transparent{ background: url("images/bg.gif") repeat;}
.bottom table tr td{border:1px dashed #ccc;} .bottom table tr td{border:1px dashed #ccc;}
#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;} #colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;}
.border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} .border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;}
p{margin: 5px 0} p{margin: 5px 0}
table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;} table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;}
li{clear:both} li{clear:both}
ol{padding-left:40px; } ol{padding-left:40px; }

View File

@ -1,26 +1,26 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <html>
<head> <head>
<title></title> <title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript" src="../internal.js"></script> <script type="text/javascript" src="../internal.js"></script>
<link rel="stylesheet" type="text/css" href="template.css"> <link rel="stylesheet" type="text/css" href="template.css">
</head> </head>
<body> <body>
<div class="wrap"> <div class="wrap">
<div class="left"> <div class="left">
<div class="top"> <div class="top">
<label><var id="lang_template_clear"></var><input id="issave" type="checkbox"></label> <label><var id="lang_template_clear"></var><input id="issave" type="checkbox"></label>
</div> </div>
<div class="bottom border_style1" id="preview"></div> <div class="bottom border_style1" id="preview"></div>
</div> </div>
<fieldset class="right border_style1"> <fieldset class="right border_style1">
<legend><var id="lang_template_select"></var></legend> <legend><var id="lang_template_select"></var></legend>
<div class="pre" id="preitem"></div> <div class="pre" id="preitem"></div>
</fieldset> </fieldset>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<script type="text/javascript" src="config.js"></script> <script type="text/javascript" src="config.js"></script>
<script type="text/javascript" src="template.js"></script> <script type="text/javascript" src="template.js"></script>
</body> </body>
</html> </html>

View File

@ -1,53 +1,53 @@
/** /**
* Created with JetBrains PhpStorm. * Created with JetBrains PhpStorm.
* User: xuheng * User: xuheng
* Date: 12-8-8 * Date: 12-8-8
* Time: 下午2:09 * Time: 下午2:09
* To change this template use File | Settings | File Templates. * To change this template use File | Settings | File Templates.
*/ */
(function () { (function () {
var me = editor, var me = editor,
preview = $G( "preview" ), preview = $G( "preview" ),
preitem = $G( "preitem" ), preitem = $G( "preitem" ),
tmps = templates, tmps = templates,
currentTmp; currentTmp;
var initPre = function () { var initPre = function () {
var str = ""; var str = "";
for ( var i = 0, tmp; tmp = tmps[i++]; ) { for ( var i = 0, tmp; tmp = tmps[i++]; ) {
str += '<div class="preitem" onclick="pre(' + i + ')"><img src="' + "images/" + tmp.pre + '" ' + (tmp.title ? "alt=" + tmp.title + " title=" + tmp.title + "" : "") + '></div>'; str += '<div class="preitem" onclick="pre(' + i + ')"><img src="' + "images/" + tmp.pre + '" ' + (tmp.title ? "alt=" + tmp.title + " title=" + tmp.title + "" : "") + '></div>';
} }
preitem.innerHTML = str;