first
2
.env.development
Normal file
@ -0,0 +1,2 @@
|
||||
VITE_BASE_URL="https://dev-caseplatform.igandan.com/admin/api"
|
||||
|
||||
1
.env.production
Normal file
@ -0,0 +1 @@
|
||||
VITE_BASE_URL="https://prod-caseplatform.igandan.com/admin/api"
|
||||
1
.env.test
Normal file
@ -0,0 +1 @@
|
||||
VITE_BASE_URL="https://dev-caseplatform.igandan.com/admin/api"
|
||||
49
.gitignore
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
|
||||
|
||||
# eslint
|
||||
.eslintcache
|
||||
|
||||
# stylelint
|
||||
.stylelintcache
|
||||
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
/dist*
|
||||
7
README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Vue 3 + Vite
|
||||
|
||||
This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
||||
|
||||
## Recommended IDE Setup
|
||||
|
||||
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
|
||||
44
components.d.ts
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
export {}
|
||||
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
AccountDetail: typeof import('./src/components/accountDetail.vue')['default']
|
||||
AccountSysDetail: typeof import('./src/components/accountSysDetail.vue')['default']
|
||||
AddCase: typeof import('./src/components/addCase.vue')['default']
|
||||
AgreeDetail: typeof import('./src/components/agreeDetail.vue')['default']
|
||||
BackPage: typeof import('./src/components/backPage.vue')['default']
|
||||
CaseDetail: typeof import('./src/components/caseDetail.vue')['default']
|
||||
CaseList: typeof import('./src/components/caseList.vue')['default']
|
||||
ClassifyDetail: typeof import('./src/components/classifyDetail.vue')['default']
|
||||
DoctorDetail: typeof import('./src/components/doctorDetail.vue')['default']
|
||||
Dynamic: typeof import('./src/components/dynamic.vue')['default']
|
||||
DynamicDetail: typeof import('./src/components/dynamicDetail.vue')['default']
|
||||
DynamicList: typeof import('./src/components/dynamicList.vue')['default']
|
||||
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
|
||||
Home: typeof import('./src/components/Home.vue')['default']
|
||||
HospitalDetail: typeof import('./src/components/hospitalDetail.vue')['default']
|
||||
ItemDetail: typeof import('./src/components/itemDetail.vue')['default']
|
||||
ItemSettingDetail: typeof import('./src/components/itemSettingDetail.vue')['default']
|
||||
JoinDetail: typeof import('./src/components/joinDetail.vue')['default']
|
||||
MessageList: typeof import('./src/components/messageList.vue')['default']
|
||||
PlatformDetail: typeof import('./src/components/platformDetail.vue')['default']
|
||||
PlatformList: typeof import('./src/components/platformList.vue')['default']
|
||||
PlatformStatics: typeof import('./src/components/platformStatics.vue')['default']
|
||||
ProjectDetail: typeof import('./src/components/projectDetail.vue')['default']
|
||||
Question: typeof import('./src/components/question.vue')['default']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
SmoothChart: typeof import('./src/components/smoothChart.vue')['default']
|
||||
SysCouponDetail: typeof import('./src/components/sysCouponDetail.vue')['default']
|
||||
Ueditor: typeof import('./src/components/ueditor.vue')['default']
|
||||
VipDetail: typeof import('./src/components/vipDetail.vue')['default']
|
||||
VipSettingDetail: typeof import('./src/components/vipSettingDetail.vue')['default']
|
||||
WhiteDoctor: typeof import('./src/components/whiteDoctor.vue')['default']
|
||||
WhiteHospital: typeof import('./src/components/whiteHospital.vue')['default']
|
||||
}
|
||||
}
|
||||
13
index.html
Normal file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="https://doc.igandan.com/app/html/img/2016/20160714132557.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>互动病例后台管理系统</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
14806
package-lock.json
generated
Normal file
34
package.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "互动病例-后台管理",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"test": "vite --mode=test",
|
||||
"build": "vite build",
|
||||
"build-test": "vite build --mode=test",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@element-plus/icons-vue": "^2.0.10",
|
||||
"axios": "^1.2.0",
|
||||
"dayjs": "^1.11.13",
|
||||
"echarts": "^5.5.1",
|
||||
"element-plus": "^2.2.25",
|
||||
"qs": "^6.11.0",
|
||||
"vue": "^3.2.41",
|
||||
"vue-count-to": "^1.0.13",
|
||||
"vue-router": "^4.0.13",
|
||||
"vue-ueditor-wrap": "^3.0.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^3.2.0",
|
||||
"sass": "^1.79.2",
|
||||
"svg-sprite-loader": "4.1.3",
|
||||
"svgo": "1.2.0",
|
||||
"unplugin-auto-import": "^0.16.7",
|
||||
"unplugin-vue-components": "^0.25.2",
|
||||
"vite": "^3.2.3"
|
||||
}
|
||||
}
|
||||
62
public/static/UEditorPlus/dialogs/anchor/anchor.html
Normal file
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
* {
|
||||
color: #838383;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
html, body {
|
||||
font-size: 12px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 5px 0 0 15px;
|
||||
}
|
||||
|
||||
input {
|
||||
margin-left: 4px;
|
||||
box-sizing: border-box;
|
||||
width: 210px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #d7d7d7;
|
||||
border-radius: 3px;
|
||||
padding: 0 5px;
|
||||
outline: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value=""/>
|
||||
</div>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<script type="text/javascript">
|
||||
var anchorInput = $G('anchorName'),
|
||||
node = editor.selection.getRange().getClosedNode();
|
||||
if (node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))) {
|
||||
anchorInput.value = node;
|
||||
}
|
||||
anchorInput.onkeydown = function (evt) {
|
||||
evt = evt || window.event;
|
||||
if (evt.keyCode == 13) {
|
||||
editor.execCommand('anchor', anchorInput.value);
|
||||
dialog.close();
|
||||
domUtils.preventDefault(evt)
|
||||
}
|
||||
};
|
||||
dialog.onok = function () {
|
||||
editor.execCommand('anchor', anchorInput.value);
|
||||
dialog.close();
|
||||
};
|
||||
$focus(anchorInput);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
61
public/static/UEditorPlus/dialogs/attachment/attachment.html
Normal file
@ -0,0 +1,61 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ueditor图片对话框</title>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
|
||||
<!-- jquery -->
|
||||
<script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
|
||||
|
||||
<!-- webuploader -->
|
||||
<script src="../../third-party/webuploader/webuploader.js?be202c93"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
|
||||
|
||||
<!-- attachment dialog -->
|
||||
<link rel="stylesheet" href="attachment.css?32c6a90a" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="wrapper">
|
||||
<div id="tabhead" class="tabhead">
|
||||
<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>
|
||||
</div>
|
||||
<div id="tabbody" class="tabbody">
|
||||
<!-- 上传图片 -->
|
||||
<div id="upload" class="panel focus">
|
||||
<div id="queueList" class="queueList">
|
||||
<div class="statusBar element-invisible">
|
||||
<div class="progress">
|
||||
<span class="text">0%</span>
|
||||
<span class="percentage"></span>
|
||||
</div>
|
||||
<div class="info"></div>
|
||||
<div class="btns">
|
||||
<div id="filePickerBtn"></div>
|
||||
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dndArea" class="placeholder">
|
||||
<div class="filePickerContainer">
|
||||
<div id="filePickerReady"></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="filelist element-invisible">
|
||||
<li id="filePickerBlock" class="filePickerBlock"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 在线图片 -->
|
||||
<div id="online" class="panel">
|
||||
<div id="fileList"><var id="lang_imgLoading"></var></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="attachment.js?22af21cd"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
BIN
public/static/UEditorPlus/dialogs/attachment/images/bg.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 43 KiB |
BIN
public/static/UEditorPlus/dialogs/attachment/images/icons.gif
Normal file
|
After Width: | Height: | Size: 453 B |
BIN
public/static/UEditorPlus/dialogs/attachment/images/icons.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/static/UEditorPlus/dialogs/attachment/images/image.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/static/UEditorPlus/dialogs/attachment/images/progress.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
public/static/UEditorPlus/dialogs/attachment/images/success.gif
Normal file
|
After Width: | Height: | Size: 445 B |
BIN
public/static/UEditorPlus/dialogs/attachment/images/success.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
3
public/static/UEditorPlus/dialogs/audio/audio.css
Normal file
83
public/static/UEditorPlus/dialogs/audio/audio.html
Normal file
@ -0,0 +1,83 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<link rel="stylesheet" type="text/css" href="audio.css?622512f6"/>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div id="audioTab">
|
||||
<div id="tabHeads" class="tabhead">
|
||||
<span tabSrc="audio" class="focus" data-content-id="audio"><var id="lang_tab_insertV"></var></span>
|
||||
<span tabSrc="upload" style="display:none;" data-content-id="upload"><var
|
||||
id="lang_tab_uploadV"></var></span>
|
||||
</div>
|
||||
<div id="tabBodys" class="tabbody">
|
||||
<div id="audio" class="panel focus">
|
||||
<table>
|
||||
<tr>
|
||||
<td><label for="audioUrl" class="url"><var id="lang_audio_url"></var></label></td>
|
||||
<td><input id="audioUrl" type="text"><a href="javascript:;" id="audioSelect"
|
||||
style="display:none;">选择音频</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="padding:0 5px 5px 5px;color:#999;">
|
||||
外链音频支持MP3格式
|
||||
</div>
|
||||
<div id="preview"></div>
|
||||
<div id="audioInfo">
|
||||
<fieldset>
|
||||
<legend><var id="lang_alignment"></var></legend>
|
||||
<div id="audioFloat"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div id="upload" class="panel">
|
||||
<div id="upload_left">
|
||||
<div id="queueList" class="queueList">
|
||||
<div class="statusBar element-invisible">
|
||||
<div class="progress">
|
||||
<span class="text">0%</span>
|
||||
<span class="percentage"></span>
|
||||
</div>
|
||||
<div class="info"></div>
|
||||
<div class="btns">
|
||||
<div id="filePickerBtn"></div>
|
||||
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dndArea" class="placeholder">
|
||||
<div class="filePickerContainer">
|
||||
<div id="filePickerReady"></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="filelist element-invisible">
|
||||
<li id="filePickerBlock" class="filePickerBlock"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="uploadaudioInfo">
|
||||
<fieldset>
|
||||
<legend><var id="lang_upload_alignment"></var></legend>
|
||||
<div id="upload_alignment"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- jquery -->
|
||||
<script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
|
||||
|
||||
<!-- webuploader -->
|
||||
<script type="text/javascript" src="../../third-party/webuploader/webuploader.js?be202c93"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
|
||||
|
||||
<!-- audio -->
|
||||
<script type="text/javascript" src="audio.js?8e45985b"></script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/audio/audio.js
Normal file
BIN
public/static/UEditorPlus/dialogs/audio/images/bg.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/center_focus.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/file-icons.gif
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/file-icons.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/icons.gif
Normal file
|
After Width: | Height: | Size: 453 B |
BIN
public/static/UEditorPlus/dialogs/audio/images/icons.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/image.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/left_focus.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/none_focus.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/progress.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/right_focus.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/static/UEditorPlus/dialogs/audio/images/success.gif
Normal file
|
After Width: | Height: | Size: 445 B |
BIN
public/static/UEditorPlus/dialogs/audio/images/success.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,3 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
|
||||
.wrapper{width:424px;margin:10px auto;zoom:1;position:relative}.tabbody{height:225px}.tabbody .panel{position:absolute;width:100%;height:100%;background:#fff;display:none}.tabbody .focus{display:block}body{font-size:12px;color:#888;overflow:hidden}input,label{vertical-align:middle}.clear{clear:both}.pl{padding-left:18px;padding-left:23px \9}#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 img{cursor:pointer;border:2px solid #fff}.bgarea{margin:10px;padding:5px;height:84%;border:1px solid #A8A297}.content div{margin:10px 0 10px 5px}.content .iptradio{margin:0 5px 5px 0}.txt{width:280px}.wrapcolor{height:19px}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}div.alignment,#custom{margin-left:23px;margin-left:28px \9}#custom input{height:15px;min-height:15px;width:20px}#repeatType{width:100px}#imgManager{width:100%;height:225px}#imgManager #imageList{width:100%;overflow-x:hidden;overflow-y:auto}#imgManager ul{display:block;list-style:none;margin:0;padding:0}#imgManager li{float:left;display:block;list-style:none;padding:0;width:113px;height:113px;margin:9px 0 0 19px;background-color:#eee;overflow:hidden;cursor:pointer;position:relative}#imgManager li.clearFloat{float:none;clear:both;display:block;width:0;height:0;margin:0;padding:0}#imgManager li img{cursor:pointer}#imgManager li .icon{cursor:pointer;width:113px;height:113px;position:absolute;top:0;left:0;z-index:2;border:0;background-repeat:no-repeat}#imgManager li .icon:hover{width:107px;height:107px;border:3px solid #1094fa}#imgManager li.selected .icon{background-image:url(images/success.png);background-position:75px 75px}#imgManager li.selected .icon:hover{width:107px;height:107px;border:3px solid #1094fa;background-position:72px 72px}
|
||||
59
public/static/UEditorPlus/dialogs/background/background.html
Normal file
@ -0,0 +1,59 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<link rel="stylesheet" type="text/css" href="background.css?982ee6c2">
|
||||
</head>
|
||||
<body>
|
||||
<div id="bg_container" class="wrapper">
|
||||
<div id="tabHeads" class="tabhead">
|
||||
<span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
|
||||
</div>
|
||||
<div id="tabBodys" class="tabbody">
|
||||
<div id="normal" class="panel focus">
|
||||
<fieldset class="bgarea">
|
||||
<legend><var id="lang_background_set"></var></legend>
|
||||
<div class="content">
|
||||
<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="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var
|
||||
id="lang_background_colored"></var></label>
|
||||
</div>
|
||||
<div class="wrapcolor pl">
|
||||
<div class="color">
|
||||
<var id="lang_background_color"></var>:
|
||||
</div>
|
||||
<div id="colorPicker"></div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="wrapcolor pl">
|
||||
<label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
|
||||
</div>
|
||||
<div id="alignment" class="alignment">
|
||||
<var id="lang_background_align"></var>:<select id="repeatType">
|
||||
<option value="center"></option>
|
||||
<option value="repeat-x"></option>
|
||||
<option value="repeat-y"></option>
|
||||
<option value="repeat"></option>
|
||||
<option value="self"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="custom">
|
||||
<var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4"
|
||||
value="0">px y:<input type="text"
|
||||
size="1"
|
||||
id="y"
|
||||
maxlength="4"
|
||||
value="0">px
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="background.js?e67eb657"></script>
|
||||
</body>
|
||||
</html>
|
||||
BIN
public/static/UEditorPlus/dialogs/background/images/bg.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/static/UEditorPlus/dialogs/background/images/success.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,176 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<style type="text/css">
|
||||
.wrapper {
|
||||
width: 600px;
|
||||
padding: 10px;
|
||||
height: 352px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #d7d7d7;
|
||||
}
|
||||
|
||||
.wrapper .file-upload {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.wrapper .file-upload .file-tip {
|
||||
color: #999;
|
||||
font-size: 12px;
|
||||
padding-left: 10px;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.wrapper .file-manual {
|
||||
background: #EEE;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
margin-top: 10px;
|
||||
line-height: 2;
|
||||
}
|
||||
|
||||
.wrapper .file-manual .title {
|
||||
font-weight: bold;
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
.wrapper .file-manual .body {
|
||||
}
|
||||
|
||||
.wrapper .file-manual .body li {
|
||||
list-style: disc;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.wrapper .upload-button {
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
background-color: #F8F8F8;
|
||||
border: 1px solid #EEE;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
line-height: 28px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.wrapper .upload-button .text {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.wrapper .upload-button input {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.wrapper .file-result {
|
||||
border: 1px solid #333;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
top: 50px;
|
||||
background: #FFF;
|
||||
bottom: 10px;
|
||||
overflow: auto;
|
||||
display: none;
|
||||
}
|
||||
.wrapper .file-input{
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
top: 50px;
|
||||
background: #EEE;
|
||||
bottom: 10px;
|
||||
border-radius: 5px;
|
||||
display:none;
|
||||
}
|
||||
.wrapper .file-input textarea{
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
border: none;
|
||||
resize: none;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
outline: none;
|
||||
top: 30px;
|
||||
}
|
||||
.wrapper .file-input .tool{
|
||||
text-align: right;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.wrapper .file-input .tool a{
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
background: #FFF;
|
||||
padding: 0 10px;
|
||||
line-height: 20px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="file-upload">
|
||||
<div class="upload-button">
|
||||
<div class="text">选择本地文件</div>
|
||||
<input type="file" id="contentImport"/>
|
||||
</div>
|
||||
<div class="upload-button">
|
||||
<div class="text" onclick="$('.file-input').show();">粘贴Markdown</div>
|
||||
</div>
|
||||
<div class="file-tip"></div>
|
||||
</div>
|
||||
<div class="file-manual">
|
||||
<div class="title">
|
||||
支持文档格式
|
||||
</div>
|
||||
<div class="body">
|
||||
<ul>
|
||||
<li><b>Word</b>:docx</li>
|
||||
<li><b>Markdown</b>:md</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="file-result"></div>
|
||||
<div class="file-input">
|
||||
<textarea id="fileInputContent"></textarea>
|
||||
<div class="tool">
|
||||
<a href="javascript:;" id="fileInputConfirm">
|
||||
确定
|
||||
</a>
|
||||
<a href="javascript:;" onclick="$(this).closest('.file-input').hide();">
|
||||
关闭
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
|
||||
<script src="mammoth.browser.min.js?109831e5"></script>
|
||||
<script src="showdown.min.js?a1c1e879"></script>
|
||||
<script type="text/javascript" src="contentimport.js?100d2e1a"></script>
|
||||
<script type="text/javascript">
|
||||
utils.domReady(function () {
|
||||
var options = {};
|
||||
var callbacks = {};
|
||||
contentImport.init(options, callbacks);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,2 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
function processWord(a){$(".file-tip").html("正在转换Word文件,请稍后..."),$(".file-result").html("").hide();var b=new FileReader;b.onload=function(a){mammoth.convertToHtml({arrayBuffer:a.target.result}).then(function(a){$(".file-tip").html("转换成功"),contentImport.data.result=a.value,$(".file-result").html(a.value).show()},function(a){$(".file-tip").html("Word文件转换失败:"+a)})},b.onerror=function(a){$(".file-tip").html("Word文件转换失败:"+a)},b.readAsArrayBuffer(a)}function processMarkdown(a){var b=new showdown.Converter,c=b.makeHtml(a);$(".file-tip").html("转换成功"),contentImport.data.result=c,$(".file-result").html(c).show()}function processMarkdownFile(a){$(".file-tip").html("正在转换Markdown文件,请稍后..."),$(".file-result").html("").hide();var b=new FileReader;b.onload=function(a){processMarkdown(a.target.result)},b.onerror=function(a){$(".file-tip").html("Markdown文件转换失败:"+a)},b.readAsText(a,"UTF-8")}function addUploadButtonListener(){g("contentImport").addEventListener("change",function(){const a=this.files[0],b=a.name,c=b.substring(b.lastIndexOf(".")+1).toLowerCase();switch(c){case"docx":case"doc":processWord(a);break;case"md":processMarkdownFile(a);break;default:$(".file-tip").html("不支持的文件格式:"+c)}}),g("fileInputConfirm").addEventListener("click",function(){processMarkdown(g("fileInputContent").value),$(".file-input").hide()})}function addOkListener(){dialog.onok=function(){return contentImport.data.result?(editor.fireEvent("saveScene"),editor.execCommand("inserthtml",contentImport.data.result),void editor.fireEvent("saveScene")):(alert("请先上传文件识别内容"),!1)},dialog.oncancel=function(){}}var contentImport={},g=$G;contentImport.data={result:null},contentImport.init=function(a,b){addUploadButtonListener(),addOkListener()};
|
||||
17
public/static/UEditorPlus/dialogs/contentimport/mammoth.browser.min.js
vendored
Normal file
4
public/static/UEditorPlus/dialogs/contentimport/showdown.min.js
vendored
Normal file
3
public/static/UEditorPlus/dialogs/emotion/emotion.css
Normal file
@ -0,0 +1,3 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
|
||||
.jd img{background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.pp img{background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:25px;height:25px;display:block}.ldw img{background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.tsj img{background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.cat img{background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.bb img{background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.youa img{background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top;cursor:pointer;width:35px;height:35px;display:block}.smileytable td{height:37px}#tabPanel{margin-left:5px;overflow:hidden}#tabContent{float:left;background:#FFF}#tabContent div{display:none;width:480px;overflow:hidden}#tabIconReview.show{left:17px;display:block}.menuFocus{background:#ACCD3C}.menuDefault{background:#FFF}#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:#FFF;background-position:center;background-repeat:no-repeat}.wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width:95%}.tabbody table{width:100%}.tabbody td{border:1px solid #BAC498}.tabbody td span{display:block;zoom:1;padding:0 4px}
|
||||
70
public/static/UEditorPlus/dialogs/emotion/emotion.html
Normal file
@ -0,0 +1,70 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta name="robots" content="noindex, nofollow"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<link rel="stylesheet" type="text/css" href="emotion.css?f71063c6">
|
||||
</head>
|
||||
<body>
|
||||
<div id="tabPanel" class="wrapper">
|
||||
<div id="tabHeads" class="tabhead">
|
||||
<span><var id="lang_input_choice"></var></span>
|
||||
<span><var id="lang_input_Tuzki"></var></span>
|
||||
<span><var id="lang_input_lvdouwa"></var></span>
|
||||
<span><var id="lang_input_BOBO"></var></span>
|
||||
<span><var id="lang_input_babyCat"></var></span>
|
||||
<span><var id="lang_input_bubble"></var></span>
|
||||
<span><var id="lang_input_youa"></var></span>
|
||||
</div>
|
||||
<div id="tabBodys" class="tabbody">
|
||||
<div id="tab0"></div>
|
||||
<div id="tab1"></div>
|
||||
<div id="tab2"></div>
|
||||
<div id="tab3"></div>
|
||||
<div id="tab4"></div>
|
||||
<div id="tab5"></div>
|
||||
<div id="tab6"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tabIconReview">
|
||||
<img id='faceReview' class='review' src="../../themes/default/images/spacer.gif"/>
|
||||
</div>
|
||||
<script type="text/javascript" src="emotion.js?cb3216b7"></script>
|
||||
<script type="text/javascript">
|
||||
var emotion = {
|
||||
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]
|
||||
}, //图片前缀名
|
||||
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类名
|
||||
imageCssOffset: {tab0: 35, tab1: 35, tab2: 35, tab3: 35, tab4: 35, tab5: 25, tab6: 35}, //图片偏移
|
||||
SmileyInfor: {
|
||||
tab0: ['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '打酱油', '俯卧撑', '气愤', '?', '吻', '怒', '胜利', 'HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '微笑', '亲吻', '调皮', '惊恐', '耍酷', '发火', '害羞', '汗水', '大哭', '', '加油', '困', '你NB', '晕倒', '开心', '偷笑', '大哭', '滴汗', '叹气', '超赞', '??', '飞吻', '天使', '撒花', '生气', '被砸', '吓傻', '随意吐'],
|
||||
tab1: ['Kiss', 'Love', 'Yeah', '啊!', '背扭', '顶', '抖胸', '88', '汗', '瞌睡', '鲁拉', '拍砖', '揉脸', '生日快乐', '摊手', '睡觉', '瘫坐', '无聊', '星星闪', '旋转', '也不行', '郁闷', '正Music', '抓墙', '撞墙至死', '歪头', '戳眼', '飘过', '互相拍砖', '砍死你', '扔桌子', '少林寺', '什么?', '转头', '我爱牛奶', '我踢', '摇晃', '晕厥', '在笼子里', '震荡'],
|
||||
tab2: ['大笑', '瀑布汗~', '惊讶', '臭美', '傻笑', '抛媚眼', '发怒', '我错了', 'money', '气愤', '挑逗', '吻', '怒', '胜利', '委屈', '受伤', '说啥呢?', '闭嘴', '不', '逗你玩儿', '飞吻', '眩晕', '魔法', '我来了', '睡了', '我打', '闭嘴', '打', '打晕了', '刷牙', '爆揍', '炸弹', '倒立', '刮胡子', '邪恶的笑', '不要不要', '爱恋中', '放大仔细看', '偷窥', '超高兴', '晕', '松口气', '我跑', '享受', '修养', '哭', '汗', '啊~', '热烈欢迎', '打酱油', '俯卧撑', '?'],
|
||||
tab3: ['HI', 'KISS', '不说', '不要', '扯花', '大心', '顶', '大惊', '飞吻', '鬼脸', '害羞', '口水', '狂哭', '来', '泪眼', '流泪', '生气', '吐舌', '喜欢', '旋转', '再见', '抓狂', '汗', '鄙视', '拜', '吐血', '嘘', '打人', '蹦跳', '变脸', '扯肉', '吃To', '吃花', '吹泡泡糖', '大变身', '飞天舞', '回眸', '可怜', '猛抽', '泡泡', '苹果', '亲', '', '骚舞', '烧香', '睡', '套娃娃', '捅捅', '舞倒', '西红柿', '爱慕', '摇', '摇摆', '杂耍', '招财', '被殴', '被球闷', '大惊', '理想', '欧打', '呕吐', '碎', '吐痰'],
|
||||
tab4: ['发财了', '吃西瓜', '套牢', '害羞', '庆祝', '我来了', '敲打', '晕了', '胜利', '臭美', '被打了', '贪吃', '迎接', '酷', '顶', '幸运', '爱心', '躲', '送花', '选择'],
|
||||
tab5: ['微笑', '亲吻', '调皮', '惊讶', '耍酷', '发火', '害羞', '汗水', '大哭', '得意', '鄙视', '困', '夸奖', '晕倒', '疑问', '媒婆', '狂吐', '青蛙', '发愁', '亲吻', '', '爱心', '心碎', '玫瑰', '礼物', '哭', '奸笑', '可爱', '得意', '呲牙', '暴汗', '楚楚可怜', '困', '哭', '生气', '惊讶', '口水', '彩虹', '夜空', '太阳', '钱钱', '灯泡', '咖啡', '蛋糕', '音乐', '爱', '胜利', '赞', '鄙视', 'OK'],
|
||||
tab6: ['男兜', '女兜', '开心', '乖乖', '偷笑', '大笑', '抽泣', '大哭', '无奈', '滴汗', '叹气', '狂晕', '委屈', '超赞', '??', '疑问', '飞吻', '天使', '撒花', '生气', '被砸', '口水', '泪奔', '吓傻', '吐舌头', '点头', '随意吐', '旋转', '困困', '鄙视', '狂顶', '篮球', '再见', '欢迎光临', '恭喜发财', '稍等', '我在线', '恕不议价', '库房有货', '货在路上']
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/emotion/emotion.js
Normal file
@ -0,0 +1,2 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
function initImgName(){for(var a in emotion.SmilmgName){var b=emotion.SmilmgName[a],c=emotion.SmileyBox[a],d="";if(c.length)return;for(var e=1;e<=b[1];e++)d=b[0],e<10&&(d+="0"),d=d+e+".gif",c.push(d)}}function initEvtHandler(a){for(var b=$G(a),c=0,d=0;c<b.childNodes.length;c++){var e=b.childNodes[c];1==e.nodeType&&(domUtils.on(e,"click",function(a){return function(){switchTab(a)}}(d)),d++)}switchTab(0),$G("tabIconReview").style.display="none"}function InsertSmiley(a,b){var c={src:editor.options.emotionLocalization?editor.options.UEDITOR_HOME_URL+"dialogs/emotion/"+a:a};c._src=c.src,editor.execCommand("insertimage",c),b.ctrlKey||dialog.popup.hide()}function switchTab(a){autoHeight(a),0==emotion.tabExist[a]&&(emotion.tabExist[a]=1,createTab("tab"+a));for(var b=$G("tabHeads").getElementsByTagName("span"),c=$G("tabBodys").getElementsByTagName("div"),d=0,e=b.length;d<e;d++)b[d].className="",c[d].style.display="none";b[a].className="focus",c[a].style.display="block"}function autoHeight(a){var b=dialog.getDom("iframe"),c=b.parentNode.parentNode;switch(a){case 0:b.style.height="380px",c.style.height="392px";break;case 1:b.style.height="220px",c.style.height="232px";break;case 2:b.style.height="260px",c.style.height="272px";break;case 3:b.style.height="300px",c.style.height="312px";break;case 4:b.style.height="140px",c.style.height="152px";break;case 5:b.style.height="260px",c.style.height="272px";break;case 6:b.style.height="230px",c.style.height="242px"}}function createTab(a){for(var b,c,d,e,f,g,h="?v=1.1",i=$G(a),j=emotion.SmileyPath+emotion.imageFolders[a],k=5.5,l=iHeight=35,m=3,n=emotion.imageCss[a],o=emotion.imageCssOffset[a],p=['<table class="smileytable">'],q=0,r=emotion.SmileyBox[a].length,s=11;q<r;){p.push("<tr>");for(var t=0;t<s;t++,q++)b=emotion.SmileyBox[a][q],b?(c=j+b+h,d=j+b,e=t<k?0:1,f=o*q*-1-1,g=emotion.SmileyInfor[a][q],p.push('<td class="'+n+'" border="1" width="'+m+'%" style="border-collapse:collapse;" align="center" bgcolor="transparent" onclick="InsertSmiley(\''+d.replace(/'/g,"\\'")+"',event)\" onmouseover=\"over(this,'"+c+"','"+e+'\')" onmouseout="out(this)">'),p.push("<span>"),p.push('<img style="background-position:left '+f+'px;" title="'+g+'" src="'+emotion.SmileyPath+(editor.options.emotionLocalization?'0.gif" width="':'default/0.gif" width="')+l+'" height="'+iHeight+'"></img>'),p.push("</span>")):p.push('<td width="'+m+'%" bgcolor="#FFFFFF">'),p.push("</td>");p.push("</tr>")}p.push("</table>"),p=p.join(""),i.innerHTML=p}function over(a,b,c){a.style.backgroundColor="#ACCD3C",$G("faceReview").style.backgroundImage="url("+b+")",1==c&&($G("tabIconReview").className="show"),$G("tabIconReview").style.display="block"}function out(a){a.style.backgroundColor="transparent";var b=$G("tabIconReview");b.className="",b.style.display="none"}function createTabList(a){for(var b={},c=0;c<a;c++)b["tab"+c]=[];return b}function createArr(a){for(var b=[],c=0;c<a;c++)b[c]=0;return b}window.onload=function(){editor.setOpt({emotionLocalization:!1}),emotion.SmileyPath=editor.options.emotionLocalization===!0?"images/":"http://img.baidu.com/hi/",emotion.SmileyBox=createTabList(emotion.tabNum),emotion.tabExist=createArr(emotion.tabNum),initImgName(),initEvtHandler("tabHeads")};
|
||||
BIN
public/static/UEditorPlus/dialogs/emotion/images/0.gif
Normal file
|
After Width: | Height: | Size: 43 B |
BIN
public/static/UEditorPlus/dialogs/emotion/images/bface.gif
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
public/static/UEditorPlus/dialogs/emotion/images/cface.gif
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
public/static/UEditorPlus/dialogs/emotion/images/fface.gif
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/static/UEditorPlus/dialogs/emotion/images/jxface2.gif
Normal file
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 216 B |
BIN
public/static/UEditorPlus/dialogs/emotion/images/tface.gif
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
public/static/UEditorPlus/dialogs/emotion/images/wface.gif
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/static/UEditorPlus/dialogs/emotion/images/yface.gif
Normal file
|
After Width: | Height: | Size: 28 KiB |
98
public/static/UEditorPlus/dialogs/formula/formula.html
Normal file
@ -0,0 +1,98 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<style type="text/css">
|
||||
.wrapper {
|
||||
box-sizing: border-box;
|
||||
width: 800px;
|
||||
height: 390px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #d7d7d7
|
||||
}
|
||||
|
||||
.editor-wrap {
|
||||
display: flex;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.editor-wrap #editor {
|
||||
width: 0;
|
||||
flex-grow: 1;
|
||||
border: 1px solid #CCC;
|
||||
border-radius: 3px;
|
||||
padding: 5px;
|
||||
height: 100px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.input-tip {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.input-tip a {
|
||||
color: #0f0d0d;
|
||||
}
|
||||
|
||||
.editor-preview {
|
||||
background: #FFF;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #EEE;
|
||||
display: none;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.editor-preview .title {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.editor-preview .body {
|
||||
padding: 5px 5px 15px 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.editor-preview .body .image {
|
||||
max-width: 100%;
|
||||
max-height: 100px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
|
||||
<div id="modeLive" style="display:none;">
|
||||
<iframe id="liveEditor"
|
||||
frameborder="0"
|
||||
style="width:800px;height:390px;border: 0;outline: none;"
|
||||
></iframe>
|
||||
</div>
|
||||
|
||||
<div id="modePlain" style="display:none;">
|
||||
<div class="editor-wrap">
|
||||
<textarea id="editor"></textarea>
|
||||
</div>
|
||||
<div class="input-tip">
|
||||
基于 latex 语法,<a href="javascript:;" id="inputDemo">点击输入示例</a>。
|
||||
</div>
|
||||
<div class="editor-preview" id="preview">
|
||||
<div class="title">预览</div>
|
||||
<div class="body">
|
||||
<img class="image" id="previewImage"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
|
||||
<script type="text/javascript" src="../../third-party/clipboard/clipboard.js?bae63983"></script>
|
||||
<script type="text/javascript" src="formula.js?3e957a67"></script>
|
||||
<script type="text/javascript">
|
||||
utils.domReady(function () {
|
||||
Formula.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/formula/formula.js
Normal file
@ -0,0 +1,2 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
function preg_quote(a,b){return(a+"").replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\"+(b||"")+"-]","g"),"\\$&")}function loadScript(a,b){var c;c=document.createElement("script"),c.src=a,c.onload=function(){b&&b({isNew:!0})},document.getElementsByTagName("head")[0].appendChild(c)}var Formula={mode:"plain",latexeasy:null,init:function(){Formula.initMode(),Formula.initEvent(),Formula.initSubmit()},renderPlain:function(){var a=$("#preview"),b=$("#editor").val();if(!b)return void a.hide();b=encodeURIComponent(b);var c=editor.getOpt("formulaConfig"),d=c.imageUrlTemplate.replace(/\{\}/,b);$("#previewImage").attr("src",d),a.show()},setValuePlain:function(a){$("#editor").val(a),Formula.renderPlain()},setValueLive:function(a){return Formula.latexeasy?void Formula.latexeasy.call("set.latex",{latex:a}):void setTimeout(function(){Formula.setValueLive(a)},100)},initMode:function(){var a=editor.getOpt("formulaConfig");"live"===a.editorMode?($("#liveEditor").attr("src",a.editorLiveServer+"/editor"),$("#modeLive").show(),Formula.mode="live"):($("#modePlain").show(),Formula.mode="plain");var b=editor.selection.getRange().getClosedNode();if(b&&null!==b.getAttribute("data-formula-image")){var c=b.getAttribute("data-formula-image");c&&Formula.setValue(decodeURIComponent(c))}},setValue:function(a){switch(Formula.mode){case"plain":Formula.setValuePlain(a);break;case"live":Formula.setValueLive(a)}},getValue:function(a){switch(Formula.mode){case"plain":a($.trim($("#editor").val()));break;case"live":Formula.latexeasy.call("get.latex",{},function(b){a(b.latex)})}},initEvent:function(){var a,b=null;switch(Formula.mode){case"plain":$("#editor").on("change keypress",function(){b&&clearTimeout(b),b=setTimeout(function(){Formula.renderPlain()},1e3)}),$("#inputDemo").on("click",function(){$("#editor").val("f(a) = \\frac{1}{2\\pi i} \\oint\\frac{f(z)}{z-a}dz"),Formula.renderPlain()});break;case"live":var c=editor.getOpt("formulaConfig");loadScript(c.editorLiveServer+"/vendor/LatexEasyEditor/editor/sdk.js",function(){a=new window.LatexEasy(document.getElementById("liveEditor")),a.on("ready",function(){Formula.latexeasy=a}),a.init()})}},initSubmit:function(){dialog.onclose=function(a,b){return!b||(Formula.getValue(function(a){editor.execCommand("formula",a),editor.fireEvent("saveScene"),dialog.close(!1)}),!1)}}};
|
||||
3
public/static/UEditorPlus/dialogs/help/help.css
Normal file
@ -0,0 +1,3 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
|
||||
.wrapper{width:370px;margin:10px auto;zoom:1}.tabbody{height:360px}.tabbody .panel{width:100%;height:360px;position:absolute;background:#fff}.tabbody .panel h1{font-size:26px;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 thead{font-weight:700;line-height:25px}
|
||||
82
public/static/UEditorPlus/dialogs/help/help.html
Normal file
@ -0,0 +1,82 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>帮助</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<link rel="stylesheet" type="text/css" href="help.css?94b325b2">
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper" id="helptab">
|
||||
<div id="tabHeads" class="tabhead">
|
||||
<span class="focus" tabsrc="about"><var id="lang_input_about"></var></span>
|
||||
<span tabsrc="shortcuts"><var id="lang_input_shortcuts"></var></span>
|
||||
</div>
|
||||
<div id="tabBodys" class="tabbody">
|
||||
<div id="about" class="panel">
|
||||
<h1>UEditor Plus</h1>
|
||||
<p id="version"></p>
|
||||
<p><var id="lang_input_introduction"></var></p>
|
||||
</div>
|
||||
<div id="shortcuts" class="panel">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td><var id="lang_Txt_shortcuts"></var></td>
|
||||
<td><var id="lang_Txt_func"></var></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ctrl+b</td>
|
||||
<td><var id="lang_Txt_bold"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+c</td>
|
||||
<td><var id="lang_Txt_copy"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+x</td>
|
||||
<td><var id="lang_Txt_cut"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+v</td>
|
||||
<td><var id="lang_Txt_Paste"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+y</td>
|
||||
<td><var id="lang_Txt_undo"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+z</td>
|
||||
<td><var id="lang_Txt_redo"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+i</td>
|
||||
<td><var id="lang_Txt_italic"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+u</td>
|
||||
<td><var id="lang_Txt_underline"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ctrl+a</td>
|
||||
<td><var id="lang_Txt_selectAll"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>shift+enter</td>
|
||||
<td><var id="lang_Txt_visualEnter"></var></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>alt+z</td>
|
||||
<td><var id="lang_Txt_fullscreen"></var></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="help.js?cf43351e"></script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/help/help.js
Normal file
@ -0,0 +1,2 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className="";c.className="focus";for(var f=c.getAttribute("tabSrc"),g=0,h=b.length;g<h;g++){var i=b[g],j=i.getAttribute("id");i.onclick=function(){this.style.zoom=1},j!=f?i.style.zIndex=1:i.style.zIndex=200}}function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].children,e=0,f=c.length;e<f;e++){var g=c[e];"focus"===g.className&&clickHandler(c,d,g),g.onclick=function(){clickHandler(c,d,this)}}}switchTab("helptab"),document.getElementById("version").innerHTML=parent.UE.version;
|
||||
3
public/static/UEditorPlus/dialogs/image/image.css
Normal file
125
public/static/UEditorPlus/dialogs/image/image.html
Normal file
@ -0,0 +1,125 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ueditor图片对话框</title>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
|
||||
<!-- jquery -->
|
||||
<script type="text/javascript" src="../../third-party/jquery-1.10.2.js?25f4b625"></script>
|
||||
|
||||
<!-- webuploader -->
|
||||
<script src="../../third-party/webuploader/webuploader.js?be202c93"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css?b8f06036">
|
||||
|
||||
<!-- image dialog -->
|
||||
<link rel="stylesheet" href="image.css?4cbad164" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="wrapper">
|
||||
<div id="tabhead" class="tabhead">
|
||||
<span class="tab focus" data-content-id="remote"><var id="lang_tab_remote"></var></span>
|
||||
<span style="display:none;" class="tab" data-content-id="upload"><var id="lang_tab_upload"></var></span>
|
||||
<span style="display:none;" class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
|
||||
</div>
|
||||
<div class="alignBar">
|
||||
<label class="algnLabel"><var id="lang_input_align"></var></label>
|
||||
<span id="alignIcon">
|
||||
<span id="noneAlign" class="none-align focus" data-align="none"></span>
|
||||
<span id="leftAlign" class="left-align" data-align="left"></span>
|
||||
<span id="rightAlign" class="right-align" data-align="right"></span>
|
||||
<span id="centerAlign" class="center-align" data-align="center"></span>
|
||||
</span>
|
||||
<input id="align" name="align" type="hidden" value="none"/>
|
||||
</div>
|
||||
<div id="tabbody" class="tabbody">
|
||||
|
||||
<!-- 远程图片 -->
|
||||
<div id="remote" class="panel">
|
||||
<div class="top">
|
||||
<div class="row">
|
||||
<label for="url"><var id="lang_input_url"></var></label>
|
||||
<span><input class="text" id="url" type="text"/></span>
|
||||
<a href="javascript:;" id="imageSelect" style="display:none;">选择图片</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="left">
|
||||
<div class="row">
|
||||
<label><var id="lang_input_size"></var></label>
|
||||
<span><var id="lang_input_width"> </var><input class="text" type="text"
|
||||
id="width"/>px </span>
|
||||
<span><var id="lang_input_height"> </var><input class="text" type="text" id="height"/>px </span>
|
||||
<span><input id="lock" type="checkbox" disabled="disabled"><span id="lockicon"></span></span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label><var id="lang_input_border"></var></label>
|
||||
<span><input class="text" type="text" id="border"/>px </span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label><var id="lang_input_vhspace"></var></label>
|
||||
<span><input class="text" type="text" id="vhSpace"/>px </span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label><var id="lang_input_title"></var></label>
|
||||
<span><input class="text" type="text" id="title"/></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div id="preview"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 上传图片 -->
|
||||
<div id="upload" class="panel focus">
|
||||
<div id="queueList" class="queueList">
|
||||
<div class="statusBar element-invisible">
|
||||
<div class="progress">
|
||||
<span class="text">0%</span>
|
||||
<span class="percentage"></span>
|
||||
</div>
|
||||
<div class="info"></div>
|
||||
<div class="btns">
|
||||
<div id="filePickerBtn"></div>
|
||||
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dndArea" class="placeholder">
|
||||
<div class="filePickerContainer">
|
||||
<div id="filePickerReady"></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="filelist element-invisible">
|
||||
<li id="filePickerBlock" class="filePickerBlock"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 在线图片 -->
|
||||
<div id="online" class="panel">
|
||||
<div id="imageList"><var id="lang_imgLoading"></var></div>
|
||||
</div>
|
||||
|
||||
<!-- 搜索图片 -->
|
||||
<div id="search" class="panel">
|
||||
<div class="searchBar">
|
||||
<input id="searchTxt" class="searchTxt text" type="text"/>
|
||||
<select id="searchType" class="searchType">
|
||||
<option value="&s=4&z=0"></option>
|
||||
<option value="&s=1&z=19"></option>
|
||||
<option value="&s=2&z=0"></option>
|
||||
<option value="&s=3&z=0"></option>
|
||||
</select>
|
||||
<input id="searchReset" type="button"/>
|
||||
<input id="searchBtn" type="button"/>
|
||||
</div>
|
||||
<div id="searchList" class="searchList">
|
||||
<ul id="searchListUl"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="image.js?31837e8b"></script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/image/image.js
Normal file
BIN
public/static/UEditorPlus/dialogs/image/images/alignicon.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/static/UEditorPlus/dialogs/image/images/bg.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/static/UEditorPlus/dialogs/image/images/icons.gif
Normal file
|
After Width: | Height: | Size: 453 B |
BIN
public/static/UEditorPlus/dialogs/image/images/icons.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/static/UEditorPlus/dialogs/image/images/image.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/static/UEditorPlus/dialogs/image/images/progress.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
public/static/UEditorPlus/dialogs/image/images/success.gif
Normal file
|
After Width: | Height: | Size: 445 B |
BIN
public/static/UEditorPlus/dialogs/image/images/success.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
135
public/static/UEditorPlus/dialogs/insertframe/insertframe.html
Normal file
@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<link rel="stylesheet" href="../../themes/default/dialog.css?c473027a">
|
||||
<style type="text/css">
|
||||
.warp {
|
||||
width: 320px;
|
||||
height: 200px;
|
||||
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;
|
||||
}
|
||||
|
||||
.format span {
|
||||
display: inline-block;
|
||||
width: 58px;
|
||||
text-align: left;
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
table td {
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
#align {
|
||||
width: 65px;
|
||||
height: 23px;
|
||||
line-height: 22px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="warp">
|
||||
<table width="300" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan="2" class="format">
|
||||
<span><var id="lang_input_address"></var></span>
|
||||
<input style="width:200px" id="url" type="text" value=""/>
|
||||
</td>
|
||||
</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>
|
||||
|
||||
</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>
|
||||
</tr>
|
||||
<tr>
|
||||
<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>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2"><span><var id="lang_input_alignMode"></var></span>
|
||||
<select id="align">
|
||||
<option value=""></option>
|
||||
<option value="left"></option>
|
||||
<option value="right"></option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var iframe = editor._iframe;
|
||||
if (iframe) {
|
||||
$G("url").value = iframe.getAttribute("src") || "";
|
||||
$G("width").value = iframe.getAttribute("width") || iframe.style.width.replace("px", "") || "";
|
||||
$G("height").value = iframe.getAttribute("height") || iframe.style.height.replace("px", "") || "";
|
||||
$G("scroll").checked = (iframe.getAttribute("scrolling") == "yes") ? true : false;
|
||||
$G("frameborder").checked = (iframe.getAttribute("frameborder") == "1") ? true : false;
|
||||
$G("align").value = iframe.align ? iframe.align : "";
|
||||
}
|
||||
|
||||
function queding() {
|
||||
var url = $G("url").value.replace(/^\s*|\s*$/ig, ""),
|
||||
width = $G("width").value,
|
||||
height = $G("height").value,
|
||||
scroll = $G("scroll"),
|
||||
frameborder = $G("frameborder"),
|
||||
float = $G("align").value,
|
||||
newIframe = editor.document.createElement("iframe"),
|
||||
div;
|
||||
if (!url) {
|
||||
alert(lang.enterAddress);
|
||||
return false;
|
||||
}
|
||||
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(height) ? newIframe.setAttribute("height", height) : "";
|
||||
scroll.checked ? newIframe.setAttribute("scrolling", "yes") : newIframe.setAttribute("scrolling", "no");
|
||||
frameborder.checked ? newIframe.setAttribute("frameborder", "1", 0) : newIframe.setAttribute("frameborder", "0", 0);
|
||||
float ? newIframe.setAttribute("align", float) : newIframe.setAttribute("align", "");
|
||||
if (iframe) {
|
||||
iframe.parentNode.insertBefore(newIframe, iframe);
|
||||
domUtils.remove(iframe);
|
||||
} else {
|
||||
div = editor.document.createElement("div");
|
||||
div.appendChild(newIframe);
|
||||
editor.execCommand("inserthtml", div.innerHTML);
|
||||
}
|
||||
editor._iframe = null;
|
||||
dialog.close();
|
||||
}
|
||||
|
||||
dialog.onok = queding;
|
||||
$G("url").onkeydown = function (evt) {
|
||||
evt = evt || event;
|
||||
if (evt.keyCode == 13) {
|
||||
queding();
|
||||
}
|
||||
};
|
||||
$focus($G("url"));
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/internal.js
Normal file
@ -0,0 +1,2 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
!function(){var a=window.parent;dialog=a.$EDITORUI[window.frameElement.id.replace(/_iframe$/,"")],editor=dialog.editor,UE=a.UE,domUtils=UE.dom.domUtils,utils=UE.utils,browser=UE.browser,ajax=UE.ajax,$G=function(a){return document.getElementById(a)},$focus=function(a){setTimeout(function(){if(browser.ie){var b=a.createTextRange();b.collapse(!1),b.select()}else a.focus()},0)},utils.loadFile(document,{href:editor.options.themePath+editor.options.theme+"/dialogbase.css?cache="+Math.random(),tag:"link",type:"text/css",rel:"stylesheet"}),lang=editor.getLang(dialog.className.split("-")[2]),lang&&domUtils.on(window,"load",function(){var a=editor.options.langPath+editor.options.lang+"/images/";for(var b in lang["static"]){var c=$G(b);if(c){var d=c.tagName,e=lang["static"][b];switch(e.src&&(e=utils.extend({},e,!1),e.src=a+e.src),e.style&&(e=utils.extend({},e,!1),e.style=e.style.replace(/url\s*\(/g,"url("+a)),d.toLowerCase()){case"var":c.parentNode.replaceChild(document.createTextNode(e),c);break;case"select":for(var f,g=c.options,h=0;f=g[h];)f.innerHTML=e.options[h++];for(var i in e)"options"!=i&&c.setAttribute(i,e[i]);break;default:domUtils.setAttributes(c,e)}}}})}();
|
||||
155
public/static/UEditorPlus/dialogs/link/link.html
Normal file
@ -0,0 +1,155 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<style type="text/css">
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #838383;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: 12px;
|
||||
margin: 10px;
|
||||
line-height: 36px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.txt {
|
||||
box-sizing: border-box;
|
||||
width: 90%;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #d7d7d7;
|
||||
border-radius: 3px;
|
||||
padding: 0 5px;
|
||||
outline: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="padding:10px;">
|
||||
<table>
|
||||
<tr>
|
||||
<td><label for="text"> <var id="lang_input_text"></var></label></td>
|
||||
<td><input class="txt" id="text" type="text" disabled="true"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="href"> <var id="lang_input_url"></var></label></td>
|
||||
<td><input class="txt" id="href" type="text"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="title"> <var id="lang_input_title"></var></label></td>
|
||||
<td><input class="txt" id="title" type="text"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<label for="target"><var id="lang_input_target"></var></label>
|
||||
<input id="target" type="checkbox"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" id="msg"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
||||
editor.setOpt('allowLinkProtocols', ['http:', 'https:', '#', '/', 'ftp:', 'mailto:', 'tel:']);
|
||||
var allowLinkProtocols = editor.getOpt('allowLinkProtocols');
|
||||
|
||||
var range = editor.selection.getRange(),
|
||||
link = range.collapsed ? editor.queryCommandValue("link") : editor.selection.getStart(),
|
||||
url,
|
||||
text = $G('text'),
|
||||
rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(), 'a', true),
|
||||
orgText;
|
||||
|
||||
link = domUtils.findParentByTagName(link, "a", true);
|
||||
|
||||
if (link) {
|
||||
url = utils.html(link.getAttribute('_href') || link.getAttribute('href', 2));
|
||||
|
||||
if (rangeLink === link && !link.getElementsByTagName('img').length) {
|
||||
text.removeAttribute('disabled');
|
||||
orgText = text.value = link[browser.ie ? 'innerText' : 'textContent'];
|
||||
} else {
|
||||
text.setAttribute('disabled', 'true');
|
||||
text.value = lang.validLink;
|
||||
}
|
||||
|
||||
} else {
|
||||
if (range.collapsed) {
|
||||
text.removeAttribute('disabled');
|
||||
text.value = '';
|
||||
} else {
|
||||
text.setAttribute('disabled', 'true');
|
||||
text.value = lang.validLink;
|
||||
}
|
||||
|
||||
}
|
||||
$G("title").value = url ? link.title : "";
|
||||
$G("href").value = url ? url : '';
|
||||
$G("target").checked = url && link.target == "_blank" ? true : false;
|
||||
$focus($G("href"));
|
||||
|
||||
function handleDialogOk() {
|
||||
var href = $G('href').value.replace(/^\s+|\s+$/g, '');
|
||||
if (href) {
|
||||
if (!hrefStartWith(href, allowLinkProtocols)) {
|
||||
href = "http://" + href;
|
||||
}
|
||||
var obj = {
|
||||
'href': href,
|
||||
'target': $G("target").checked ? "_blank" : '_self',
|
||||
'title': $G("title").value.replace(/^\s+|\s+$/g, ''),
|
||||
'_href': href
|
||||
};
|
||||
//修改链接内容的情况太特殊了,所以先做到这里了
|
||||
//todo:情况多的时候,做到command里
|
||||
if (orgText && text.value != orgText) {
|
||||
link[browser.ie ? 'innerText' : 'textContent'] = obj.textValue = text.value;
|
||||
range.selectNode(link).select()
|
||||
}
|
||||
if (range.collapsed) {
|
||||
obj.textValue = text.value;
|
||||
}
|
||||
editor.execCommand('link', utils.clearEmptyAttrs(obj));
|
||||
dialog.close();
|
||||
}
|
||||
}
|
||||
|
||||
dialog.onok = handleDialogOk;
|
||||
$G('href').onkeydown = $G('title').onkeydown = function (evt) {
|
||||
evt = evt || window.event;
|
||||
if (evt.keyCode == 13) {
|
||||
handleDialogOk();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
$G('href').onblur = function () {
|
||||
if (!hrefStartWith(this.value, allowLinkProtocols)) {
|
||||
$G("msg").innerHTML = "<span style='color: red'>" + lang.httpPrompt + "</span>";
|
||||
} else {
|
||||
$G("msg").innerHTML = "";
|
||||
}
|
||||
};
|
||||
|
||||
function hrefStartWith(href, arr) {
|
||||
href = href.replace(/^\s+|\s+$/g, '');
|
||||
for (var i = 0, ai; ai = arr[i++];) {
|
||||
if (href.indexOf(ai) == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
45
public/static/UEditorPlus/dialogs/preview/preview.html
Normal file
@ -0,0 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#preview {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#preview * {
|
||||
font-family: sans-serif;
|
||||
font-size: 16px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<script src="../../ueditor.parse.js?63488b91"></script>
|
||||
<title></title>
|
||||
</head>
|
||||
<body class="view">
|
||||
<div id="preview" style="margin:8px">
|
||||
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
document.getElementById('preview').innerHTML = editor.getContent();
|
||||
uParse('#preview', {
|
||||
rootPath: '../../',
|
||||
chartContainerHeight: 500
|
||||
})
|
||||
dialog.oncancel = function () {
|
||||
document.getElementById('preview').innerHTML = '';
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
BIN
public/static/UEditorPlus/dialogs/scrawl/images/addimg.png
Normal file
|
After Width: | Height: | Size: 628 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/brush.png
Normal file
|
After Width: | Height: | Size: 608 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/delimg.png
Normal file
|
After Width: | Height: | Size: 516 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/delimgH.png
Normal file
|
After Width: | Height: | Size: 578 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/empty.png
Normal file
|
After Width: | Height: | Size: 519 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/emptyH.png
Normal file
|
After Width: | Height: | Size: 657 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/eraser.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/redo.png
Normal file
|
After Width: | Height: | Size: 454 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/redoH.png
Normal file
|
After Width: | Height: | Size: 536 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/scale.png
Normal file
|
After Width: | Height: | Size: 435 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/scaleH.png
Normal file
|
After Width: | Height: | Size: 330 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/size.png
Normal file
|
After Width: | Height: | Size: 775 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/undo.png
Normal file
|
After Width: | Height: | Size: 444 B |
BIN
public/static/UEditorPlus/dialogs/scrawl/images/undoH.png
Normal file
|
After Width: | Height: | Size: 511 B |
3
public/static/UEditorPlus/dialogs/scrawl/scrawl.css
Normal file
@ -0,0 +1,3 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
|
||||
body{margin:0}table{width:100%}table td{padding:2px 4px;vertical-align:middle}a{text-decoration:none}em{font-style:normal}.border_style1{border:1px solid #ccc;border-radius:5px;box-shadow:2px 2px 5px #d3d6da}.main{margin:8px;overflow:hidden}.hot{float:left;height:335px}.drawBoard{position:relative;cursor:crosshair}.brushBorad{position:absolute;left:0;top:0;z-index:998}.picBoard{border:0;text-align:center;line-height:300px;cursor:default}.operateBar{margin-top:10px;font-size:12px;text-align:center}.operateBar span{margin-left:10px}.drawToolbar{float:right;width:110px;height:300px;overflow:hidden}.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:.3}.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:.3}.size1{background:url(images/size.png) 1px center no-repeat}.size2{background:url(images/size.png) -10px center no-repeat}.size3{background:url(images/size.png) -22px center no-repeat}.size4{background:url(images/size.png) -35px center no-repeat}.addImgH{position:relative}.addImgH_form{position:absolute;left:18px;top:-1px;width:75px;height:21px;opacity:0;cursor:pointer}.addImgH_form input{width:100%}.maskLayerNull{display:none}.maskLayer{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.7;background-color:#fff;text-align:center;font-weight:700;line-height:300px;z-index:1000}.previousStepH .icon{display:inline-block;width:16px;height:16px;background-image:url(images/undoH.png);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 .text{color:#ccc;cursor:default}.nextStepH .icon{display:inline-block;width:16px;height:16px;background-image:url(images/redoH.png);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 .text{color:#ccc;cursor:default}.clearBoardH .icon{display:inline-block;width:16px;height:16px;background-image:url(images/emptyH.png);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 .text{color:#ccc;cursor:default}.scaleBoardH .icon{display:inline-block;width:16px;height:16px;background-image:url(images/scaleH.png);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 .text{color:#ccc;cursor:default}.removeImgH .icon{display:inline-block;width:16px;height:16px;background-image:url(images/delimgH.png);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 .text{color:#ccc;cursor:default}.addImgH .icon{vertical-align:top;display:inline-block;width:16px;height:16px;background-image:url(images/addimg.png)}.addImgH .text{color:#888;cursor:pointer}.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)}
|
||||
95
public/static/UEditorPlus/dialogs/scrawl/scrawl.html
Normal file
@ -0,0 +1,95 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta name="robots" content="noindex, nofollow"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<link rel="stylesheet" type="text/css" href="scrawl.css?dce615c7">
|
||||
</head>
|
||||
<body>
|
||||
<div class="main" id="J_wrap">
|
||||
<div class="hot">
|
||||
<div class="drawBoard border_style1">
|
||||
<canvas id="J_brushBoard" class="brushBorad" width="360" height="300"></canvas>
|
||||
<div id="J_picBoard" class="picBoard" style="width: 360px;height: 300px"></div>
|
||||
</div>
|
||||
<div id="J_operateBar" class="operateBar">
|
||||
<span id="J_previousStep" class="previousStep">
|
||||
<em class="icon"></em>
|
||||
<em class="text"><var id="lang_input_previousStep"></var></em>
|
||||
</span>
|
||||
<span id="J_nextStep" class="nextStep">
|
||||
<em class="icon"></em>
|
||||
<em class="text"><var id="lang_input_nextsStep"></var></em>
|
||||
</span>
|
||||
<span id="J_clearBoard" class="clearBoard">
|
||||
<em class="icon"></em>
|
||||
<em class="text"><var id="lang_input_clear"></var></em>
|
||||
</span>
|
||||
<span id="J_sacleBoard" class="scaleBoard">
|
||||
<em class="icon"></em>
|
||||
<em class="text"><var id="lang_input_ScalePic"></var></em>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drawToolbar border_style1">
|
||||
<div id="J_colorBar" class="colorBar"></div>
|
||||
<div id="J_brushBar" class="sectionBar">
|
||||
<em class="brushIcon"></em>
|
||||
<a href="javascript:void(0)" class="size1">1</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="size4">7</a>
|
||||
</div>
|
||||
<div id="J_eraserBar" class="sectionBar">
|
||||
<em class="eraserIcon"></em>
|
||||
<a href="javascript:void(0)" class="size1">1</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="size4">7</a>
|
||||
</div>
|
||||
<div class="sectionBar">
|
||||
<div id="J_addImg" class="addImgH">
|
||||
<em class="icon"></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">
|
||||
<input type="file" name="upfile" id="J_imgTxt"
|
||||
accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/>
|
||||
</form>
|
||||
<iframe name="up" style="display: none"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sectionBar">
|
||||
<span id="J_removeImg" class="removeImg">
|
||||
<em class="icon"></em>
|
||||
<em class="text"><var id="lang_input_removePic"></var></em>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="J_maskLayer" class="maskLayerNull"></div>
|
||||
|
||||
<script type="text/javascript" src="scrawl.js?eb98629c"></script>
|
||||
<script type="text/javascript">
|
||||
var settings = {
|
||||
drawBrushSize: 3, //画笔初始大小
|
||||
drawBrushColor: "#4bacc6", //画笔初始颜色
|
||||
colorList: ['c00000', 'ff0000', 'ffc000', 'ffff00', '92d050', '00b050', '00b0f0', '0070c0', '002060', '7030a0', 'ffffff',
|
||||
'000000', 'eeece1', '1f497d', '4f81bd', 'c0504d', '9bbb59', '8064a2', '4bacc6', 'f79646'], //画笔选择颜色
|
||||
saveNum: 10 //撤销次数
|
||||
};
|
||||
|
||||
var scrawlObj = new scrawl(settings);
|
||||
scrawlObj.isCancelScrawl = false;
|
||||
|
||||
dialog.onok = function () {
|
||||
exec(scrawlObj);
|
||||
return false;
|
||||
};
|
||||
dialog.oncancel = function () {
|
||||
scrawlObj.isCancelScrawl = true;
|
||||
};
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
2
public/static/UEditorPlus/dialogs/scrawl/scrawl.js
Normal file
@ -0,0 +1,144 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
|
||||
<script type="text/javascript" src="../internal.js?04dbe7f0"></script>
|
||||
<style type="text/css">
|
||||
.warpper {
|
||||
position: relative;
|
||||
width: 380px;
|
||||
height: 100%;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
.tabbody {
|
||||
height: 160px;
|
||||
}
|
||||
|
||||
.tabbody table {
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 3px;
|
||||
line-height: 36px;
|
||||
}
|
||||
|
||||
.tabbody .panel {
|
||||
width: 373px;
|
||||
height: 100%;
|
||||
padding-left: 5px;
|
||||
position: absolute;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tabbody input.int {
|
||||
width: 190px;
|
||||
height: 30px;
|
||||
border: 1px solid #d7d7d7;
|
||||
line-height: 21px;
|
||||
border-radius: 3px;
|
||||
outline: none;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.tabbody input.btn {
|
||||
text-align: center;
|
||||
line-height: 28px;
|
||||
text-decoration: none;
|
||||
height: 30px;
|
||||
border: 1px solid #ccc;
|
||||
background: #FFF;
|
||||
border-radius: 3px;
|
||||
padding: 0 5px;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="warpper" id="searchtab">
|
||||
<div id="head" class="tabhead">
|
||||
<span tabsrc="find" class="focus"><var id="lang_tab_search"></var></span>
|
||||
<span tabsrc="replace"><var id="lang_tab_replace"></var></span>
|
||||
</div>
|
||||
<div class="tabbody">
|
||||
<div class="panel" id="find">
|
||||
<table>
|
||||
<tr>
|
||||
<td width="80"><var id="lang_search1"></var>:</td>
|
||||
<td><input id="findtxt" type="text" class="int"/></td>
|
||||
</tr>
|
||||
<!--<tr>-->
|
||||
|
||||
<!--<td colspan="2"><span style="color:red"><var id="lang_searchReg"></var></span></td>-->
|
||||
<!--</tr>-->
|
||||
<tr>
|
||||
<td><var id="lang_case_sensitive1"></var></td>
|
||||
<td>
|
||||
<input id="matchCase" type="checkbox"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input id="nextFindBtn" type="button" class="btn"/>
|
||||
<input id="preFindBtn" type="button" class="btn"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<span id="search-msg" style="color:red"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel" id="replace">
|
||||
<table>
|
||||
<tr>
|
||||
<td width="80"><var id="lang_search2"></var>:</td>
|
||||
<td><input id="findtxt1" type="text" class="int"/></td>
|
||||
</tr>
|
||||
<!--<tr>-->
|
||||
|
||||
<!--<td colspan="2"><span style="color:red"><var id="lang_searchReg1"></var></span></td>-->
|
||||
<!--</tr>-->
|
||||
<tr>
|
||||
<td><var id="lang_replace"></var>:</td>
|
||||
<td><input id="replacetxt" type="text" class="int"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><var id="lang_case_sensitive2"></var></td>
|
||||
<td>
|
||||
<input id="matchCase1" type="checkbox"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input id="nextReplaceBtn" type="button" class="btn"/>
|
||||
<input id="preReplaceBtn" type="button" class="btn"/>
|
||||
<input id="repalceBtn" type="button" class="btn"/>
|
||||
<input id="repalceAllBtn" type="button" class="btn"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<span id="replace-msg" style="color:red"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="searchreplace.js?54c26e9a"></script>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,2 @@
|
||||
/*! UEditorPlus v2.0.0*/
|
||||
function clickHandler(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d].className="";c.className="focus";for(var f=c.getAttribute("tabSrc"),g=0,h=b.length;g<h;g++){var i=b[g],j=i.getAttribute("id");j!=f?i.style.zIndex=1:i.style.zIndex=200}}function switchTab(a){for(var b=$G(a).children,c=b[0].children,d=b[1].children,e=0,f=c.length;e<f;e++){var g=c[e];"focus"===g.className&&clickHandler(c,d,g),g.onclick=function(){clickHandler(c,d,this)}}}function getMatchCase(a){return!!$G(a).checked}editor.firstForSR=0,editor.currentRangeForSR=null,$G("searchtab").onmousedown=function(){$G("search-msg").innerHTML="",$G("replace-msg").innerHTML=""},$G("nextFindBtn").onclick=function(a,b,c){var d,e=$G("findtxt").value;if(!e)return!1;if(d={searchStr:e,dir:1,casesensitive:getMatchCase("matchCase")},!frCommond(d)){var f=editor.selection.getRange().createBookmark();$G("search-msg").innerHTML=lang.getEnd,editor.selection.getRange().moveToBookmark(f).select()}},$G("nextReplaceBtn").onclick=function(a,b,c){var d,e=$G("findtxt1").value;return!!e&&(d={searchStr:e,dir:1,casesensitive:getMatchCase("matchCase1")},void frCommond(d))},$G("preFindBtn").onclick=function(a,b,c){var d,e=$G("findtxt").value;return!!e&&(d={searchStr:e,dir:-1,casesensitive:getMatchCase("matchCase")},void(frCommond(d)||($G("search-msg").innerHTML=lang.getStart)))},$G("preReplaceBtn").onclick=function(a,b,c){var d,e=$G("findtxt1").value;return!!e&&(d={searchStr:e,dir:-1,casesensitive:getMatchCase("matchCase1")},void frCommond(d))},$G("repalceBtn").onclick=function(){editor.trigger("clearLastSearchResult");var a,b=$G("findtxt1").value.replace(/^\s|\s$/g,""),c=$G("replacetxt").value.replace(/^\s|\s$/g,"");return!!b&&(!(b==c||!getMatchCase("matchCase1")&&b.toLowerCase()==c.toLowerCase())&&(a={searchStr:b,dir:1,casesensitive:getMatchCase("matchCase1"),replaceStr:c},void frCommond(a)))},$G("repalceAllBtn").onclick=function(){var a,b=$G("findtxt1").value.replace(/^\s|\s$/g,""),c=$G("replacetxt").value.replace(/^\s|\s$/g,"");if(!b)return!1;if(b==c||!getMatchCase("matchCase1")&&b.toLowerCase()==c.toLowerCase())return!1;a={searchStr:b,casesensitive:getMatchCase("matchCase1"),replaceStr:c,all:!0};var d=frCommond(a);d&&($G("replace-msg").innerHTML=lang.countMsg.replace("{#count}",d))};var frCommond=function(a){return editor.execCommand("searchreplace",a)};switchTab("searchtab"),dialog.onclose=function(){editor.trigger("clearLastSearchResult")};
|
||||