filemanager.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*******************************************************************************
  2. * KindEditor - WYSIWYG HTML Editor for Internet
  3. * Copyright (C) 2006-2011 kindsoft.net
  4. *
  5. * @author Roddy <luolonghao@gmail.com>
  6. * @site http://www.kindsoft.net/
  7. * @licence http://www.kindsoft.net/license.php
  8. *******************************************************************************/
  9. KindEditor.plugin('filemanager', function(K) {
  10. var self = this, name = 'filemanager',
  11. fileManagerJson = K.undef(self.fileManagerJson, false),
  12. //imgPath = self.pluginsPath + name + '/images/',
  13. lang = self.lang(name + '.'),
  14. editorid = self.editorid; ;
  15. self.plugin.filemanagerDialog = function(options) {
  16. var width = K.undef(options.width, 600),
  17. height = K.undef(options.height, 440),
  18. upUrl = options.upUrl;
  19. clickFn = options.clickFn;
  20. var html = ['<div class="ke-map" style="width:600px;height:455px;"></div>'].join('');
  21. var dialog = self.createDialog({
  22. name : name,
  23. width : width,
  24. height : height,
  25. title : self.lang(name),
  26. body : html,
  27. yesBtn : {
  28. name : self.lang('yes'),
  29. click : function(e) {
  30. datadiv = K('#myuploadform div', doc);
  31. var num = datadiv.length;
  32. var imgdata='' ,datas='' ,src,status,aid,name;
  33. datadiv.each(function() {
  34. src = $(this).find('#filedata').val();
  35. status = $(this).find('#status').val();
  36. aid = $(this).find('#aids').val();
  37. name = $(this).find('#namedata').val();
  38. if(status==0) datas += '<input type="text" name="aid[]" value="'+aid+'"/>';
  39. if(src) imgdata += '<p><img src="'+src+'" /></p>';
  40. });
  41. oldaidhtml=K('#'+editorid+'_aid_box').html();
  42. K('#'+editorid+'_aid_box').html(oldaidhtml+datas);
  43. //self.insertHtml(imgdata).hideDialog().focus();
  44. clickFn.call(this, src, name);
  45. }
  46. }
  47. }),
  48. div = dialog.div,win, doc;
  49. var iframe = K('<iframe class="ke-textarea" frameborder="0" src="' + upUrl + '" style="width:600px;height:455px;border:none;"></iframe>');
  50. function ready() {
  51. win = iframe[0].contentWindow;
  52. doc = K.iframeDoc(iframe);
  53. }
  54. iframe.bind('load', function() {
  55. iframe.unbind('load');
  56. if (K.IE) {
  57. ready();
  58. } else {
  59. setTimeout(ready, 0);
  60. }
  61. });
  62. K('.ke-map', div).replaceWith(iframe);
  63. }
  64. });