customplugin.js 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. define(['nkeditor-core'], function (Nkeditor) {
  2. Nkeditor.plugin('multiimage', function (K) {
  3. var self = this, name = 'multiimage', lang = self.lang(name + '.'),
  4. allowImages = K.undef(self.allowImages, false);
  5. var click = function () {
  6. var html = [
  7. '<div class="ke-dialog-content-inner">',
  8. '<div class="ke-dialog-row ke-clearfix">',
  9. '<div class=""><div class="ke-inline-block ke-upload-button">' +
  10. '<form class="ke-upload-area ke-form nice-validator n-default" method="post" enctype="multipart/form-data" style="width: 266px;margin:50px auto;">' +
  11. '<span class="ke-button-common"><input type="button" class="ke-button-common ke-button" value="批量上传图片" style="width:128px;"></span><input type="file" class="ke-upload-file" name="imgFiles" multiple style="width:128px;left:0;right:inherit" tabindex="-1">' +
  12. '<span class="ke-button-common" style="margin-left:10px;"><input type="button" class="ke-button-common ke-button ke-select-image" style="width:128px;" value="从图片空间选择"></span>' +
  13. '</form>' +
  14. '</div></span></div>',
  15. '</div>',
  16. '</div>'
  17. ].join('');
  18. var dialog = self.createDialog({
  19. name: name,
  20. width: 450,
  21. height: 260,
  22. title: self.lang(name),
  23. body: html,
  24. noBtn: {
  25. name: self.lang('no'),
  26. click: function (e) {
  27. self.hideDialog().focus();
  28. }
  29. }
  30. }),
  31. div = dialog.div;
  32. $("input[name=imgFiles]", div).change(function () {
  33. dialog.showLoading();
  34. var files = $(this).prop('files');
  35. $.each(files, function (i, file) {
  36. self.beforeUpload.call(self, function (data) {
  37. self.exec('insertimage', Fast.api.cdnurl(data.data.url));
  38. }, file);
  39. });
  40. setTimeout(function () {
  41. self.hideDialog().focus();
  42. }, 0);
  43. });
  44. $(".ke-select-image", div).click(function () {
  45. self.loadPlugin('filemanager', function () {
  46. self.plugin.filemanagerDialog({
  47. dirName: 'image',
  48. multiple: true,
  49. clickFn: function (urls) {
  50. $.each(urls, function(i, url){
  51. self.exec('insertimage', url);
  52. });
  53. }
  54. });
  55. });
  56. self.hideDialog().focus();
  57. // parent.Fast.api.open("general/attachment/select?element_id=&multiple=true&mimetype=*", __('Choose'), {
  58. // callback: function (data) {
  59. // var urlArr = data.url.split(/\,/);
  60. // $.each(urlArr, function () {
  61. // var url = Fast.api.cdnurl(this);
  62. // self.exec('insertimage', url);
  63. // });
  64. // }
  65. // });
  66. });
  67. };
  68. self.clickToolbar(name, click);
  69. });
  70. return Nkeditor;
  71. });