PageRenderTime 66ms CodeModel.GetById 36ms RepoModel.GetById 0ms app.codeStats 0ms

/tools/model_builder/res/js/kd/plugins/image/image.html

https://bitbucket.org/snail/mrpmvc
HTML | 268 lines | 267 code | 1 blank | 0 comment | 0 complexity | 218e97e199a70ba7a1de1d7e11ec7d56 MD5 | raw file
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Image</title>
  6. <style type="text/css" rel="stylesheet">
  7. body {
  8. margin: 0;
  9. font:12px/1.5 "sans serif",tahoma,verdana,helvetica;
  10. background-color:#F0F0EE;
  11. color:#222222;
  12. overflow:hidden;
  13. }
  14. form {
  15. margin:0;
  16. }
  17. label {
  18. cursor:pointer;
  19. }
  20. #resetBtn {
  21. margin-left:10px;
  22. cursor:pointer;
  23. }
  24. .main {
  25. margin: 0 10px;
  26. }
  27. .clearfix:after {
  28. content: ".";
  29. display: block;
  30. height: 0;
  31. clear: both;
  32. visibility: hidden;
  33. }
  34. .tab-navi {
  35. width:98%;
  36. border-bottom:1px solid #A0A0A0;
  37. padding-left:5px;
  38. margin-bottom:10px;
  39. }
  40. .tab-navi ul {
  41. list-style-image:none;
  42. list-style-position:outside;
  43. list-style-type:none;
  44. margin:0;
  45. padding:0;
  46. }
  47. .tab-navi li {
  48. position: relative;
  49. border: 1px solid #A0A0A0;
  50. background-color: #E0E0E0;
  51. margin: 0 2px -1px 0;
  52. padding: 0 20px;
  53. float: left;
  54. line-height: 25px;
  55. text-align: center;
  56. color: #555555;
  57. cursor: pointer;
  58. }
  59. .tab-navi li.selected {
  60. background-color: #F0F0EE;
  61. border-bottom: 1px solid #F0F0EE;
  62. color: #000000;
  63. cursor: default;
  64. }
  65. .tab-navi li.on {
  66. background-color: #F0F0EE;
  67. color: #000000;
  68. }
  69. .table {
  70. list-style-image:none;
  71. list-style-position:outside;
  72. list-style-type:none;
  73. margin:0;
  74. padding:0;
  75. display:block;
  76. }
  77. .table li {
  78. padding:0;
  79. margin-bottom:10px;
  80. display:list-item;
  81. }
  82. .table li label {
  83. font-weight:bold;
  84. }
  85. .table li input {
  86. vertical-align:middle;
  87. }
  88. .table li img {
  89. vertical-align:middle;
  90. }
  91. </style>
  92. <script type="text/javascript">
  93. var KE = parent.KindEditor;
  94. location.href.match(/\?id=([\w-]+)/i);
  95. var id = RegExp.$1;
  96. var fileManager = null;
  97. var allowUpload = (typeof KE.g[id].allowUpload == 'undefined') ? true : KE.g[id].allowUpload;
  98. var allowFileManager = (typeof KE.g[id].allowFileManager == 'undefined') ? false : KE.g[id].allowFileManager;
  99. var referMethod = (typeof KE.g[id].referMethod == 'undefined') ? '' : KE.g[id].referMethod;
  100. var imageUploadJson = (typeof KE.g[id].imageUploadJson == 'undefined') ? '../../php/upload_json.php' : KE.g[id].imageUploadJson;
  101. var lang = KE.lang.plugins.image;
  102. KE.event.ready(function() {
  103. var typeBox = KE.$('type', document);
  104. var urlBox = KE.$('url', document);
  105. var alignElements = document.getElementsByName('align');
  106. var fileBox = KE.$('imgFile', document);
  107. var widthBox = KE.$('imgWidth', document);
  108. var heightBox = KE.$('imgHeight', document);
  109. var titleBox = KE.$('imgTitle', document);
  110. var resetBtn = KE.$('resetBtn', document);
  111. var tabNavi = KE.$('tabNavi', document);
  112. var defaultImg = KE.$('defaultImg', document);
  113. var leftImg = KE.$('leftImg', document);
  114. var rightImg = KE.$('rightImg', document);
  115. var viewServer = KE.$('viewServer', document);
  116. var liList = tabNavi.getElementsByTagName('li');
  117. var selectTab = function(num) {
  118. if (num == 1) resetBtn.style.display = 'none';
  119. else resetBtn.style.display = '';
  120. widthBox.value = '';
  121. heightBox.value = '';
  122. titleBox.value = '';
  123. alignElements[0].checked = true;
  124. for (var i = 0, len = liList.length; i < len; i++) {
  125. var li = liList[i];
  126. if (i === num) {
  127. li.className = 'selected';
  128. li.onclick = null;
  129. } else {
  130. if (allowUpload) {
  131. li.className = '';
  132. li.onmouseover = function() { KE.addClass(this, 'on'); };
  133. li.onmouseout = function() { KE.removeClass(this, 'on'); };
  134. li.onclick = (function (i) {
  135. return function() {
  136. if (!fileManager) selectTab(i);
  137. };
  138. })(i);
  139. } else {
  140. li.parentNode.removeChild(li);
  141. }
  142. }
  143. KE.$('tab' + (i + 1), document).style.display = 'none';
  144. }
  145. typeBox.value = num + 1;
  146. KE.$('tab' + (num + 1), document).style.display = '';
  147. }
  148. if (!allowFileManager) {
  149. viewServer.parentNode.removeChild(viewServer);
  150. urlBox.style.width = '300px';
  151. }
  152. selectTab(0);
  153. var imgNode = KE.plugin['image'].getSelectedNode(id);
  154. if (imgNode) {
  155. var tempDiv = KE.$$('div', KE.g[id].iframeDoc);
  156. tempDiv.appendChild(imgNode.cloneNode(false));
  157. var imgHtml = tempDiv.innerHTML;
  158. var src = imgNode.src;
  159. if (imgHtml.match(/kesrc="([^"]+)"/i)) src = RegExp.$1;
  160. urlBox.value = src;
  161. widthBox.value = imgNode.width;
  162. heightBox.value = imgNode.height;
  163. titleBox.value = (typeof imgNode.alt != 'undefined') ? imgNode.alt : imgNode.title;
  164. for (var i = 0, len = alignElements.length; i < len; i++) {
  165. if (alignElements[i].value == imgNode.align) {
  166. alignElements[i].checked = true;
  167. break;
  168. }
  169. }
  170. }
  171. KE.event.add(viewServer, 'click', function () {
  172. if (fileManager) return false;
  173. fileManager = new KE.dialog({
  174. id : id,
  175. cmd : 'file_manager',
  176. file : 'file_manager/file_manager.html?id=' + id + '&ver=' + KE.version,
  177. width : 500,
  178. height : 400,
  179. loadingMode : true,
  180. title : KE.lang.fileManager,
  181. noButton : KE.lang.no,
  182. afterHide : function() {
  183. fileManager = null;
  184. }
  185. });
  186. fileManager.show();
  187. });
  188. KE.$('uploadForm', document).action = imageUploadJson;
  189. KE.$('referMethod', document).value = referMethod;
  190. var alignIds = ['default', 'left', 'right'];
  191. for (var i = 0, len = alignIds.length; i < len; i++) {
  192. KE.event.add(KE.$(alignIds[i] + 'Img', document), 'click', (function(i) {
  193. return function() {
  194. KE.$(alignIds[i] + 'Chk', document).checked = true;
  195. };
  196. })(i));
  197. }
  198. KE.event.add(resetBtn, 'click', function() {
  199. var g = KE.g[id];
  200. var img = KE.$$('img', g.iframeDoc);
  201. img.src = urlBox.value;
  202. img.style.position = 'absolute';
  203. img.style.visibility = 'hidden';
  204. img.style.top = '0px';
  205. img.style.left = '1000px';
  206. g.iframeDoc.body.appendChild(img);
  207. widthBox.value = img.width;
  208. heightBox.value = img.height;
  209. g.iframeDoc.body.removeChild(img);
  210. });
  211. KE.util.pluginLang('image', document);
  212. viewServer.value = lang.viewServer;
  213. resetBtn.alt = resetBtn.title = lang.resetSize;
  214. defaultImg.alt = defaultImg.title = lang.defaultAlign;
  215. leftImg.alt = leftImg.title = lang.leftAlign;
  216. rightImg.alt = rightImg.title = lang.rightAlign;
  217. KE.util.hideLoadingPage(id);
  218. }, window, document);
  219. </script>
  220. </head>
  221. <body>
  222. <div class="main">
  223. <div id="tabNavi" class="tab-navi">
  224. <ul class="clearfix">
  225. <li><span id="lang.remoteImage"></span></li>
  226. <li><span id="lang.localImage"></span></li>
  227. </ul>
  228. </div>
  229. <iframe name="uploadIframe" id="uploadIframe" style="display:none;"></iframe>
  230. <input type="hidden" id="type" name="type" value="" />
  231. <form id="uploadForm" name="uploadForm" method="post" enctype="multipart/form-data" target="uploadIframe">
  232. <input type="hidden" id="editorId" name="id" value="" />
  233. <input type="hidden" id="referMethod" name="referMethod" value="" />
  234. <input type="hidden" name="imgBorder" value="0" />
  235. <ul class="table">
  236. <li>
  237. <div id="tab1" style="display:none;">
  238. <label for="url"><span id="lang.remoteUrl"></span></label>&nbsp;
  239. <input type="text" id="url" name="url" value="http://" maxlength="255" style="width:230px;" />
  240. <input type="button" id="viewServer" name="viewServer" value="" />
  241. </div>
  242. <div id="tab2" style="display:none;">
  243. <label for="imgFile"><span id="lang.localUrl"></span></label>&nbsp;
  244. <input type="file" id="imgFile" name="imgFile" style="width:300px;" />
  245. </div>
  246. </li>
  247. <li>
  248. <label for="imgWidth"><span id="lang.size"></span></label>&nbsp;
  249. <span id="lang.width"></span> <input type="text" id="imgWidth" name="imgWidth" value="" maxlength="4" style="width:50px;text-align:right;" />
  250. <span id="lang.height"></span> <input type="text" id="imgHeight" name="imgHeight" value="" maxlength="4" style="width:50px;text-align:right;" />
  251. <img src="./images/refresh.gif" width="16" height="16" id="resetBtn" alt="" title="" />
  252. </li>
  253. <li>
  254. <label><span id="lang.align"></span></label>&nbsp;
  255. <input type="radio" id="defaultChk" name="align" value="" checked="checked" /> <img id="defaultImg" src="./images/align_top.gif" width="23" height="25" border="0" alt="" title="" />
  256. <input type="radio" id="leftChk" name="align" value="left" /> <img id="leftImg" src="./images/align_left.gif" width="23" height="25" border="0" alt="" title="" />
  257. <input type="radio" id="rightChk" name="align" value="right" /> <img id="rightImg" src="./images/align_right.gif" width="23" height="25" border="0" alt="" title="" />
  258. </li>
  259. <li>
  260. <label for="imgTitle"><span id="lang.imgTitle"></span></label>
  261. <input type="text" id="imgTitle" name="imgTitle" value="" maxlength="255" style="width:95%;" />
  262. </li>
  263. </ul>
  264. </form>
  265. </div>
  266. </body>
  267. </html>