Skip to content

Commit a2cb2e3

Browse files
authored
Merge pull request #15 from sh4wn/master
Add image upload url configurtion options
2 parents 1193b17 + f57b918 commit a2cb2e3

File tree

3 files changed

+42
-9
lines changed

3 files changed

+42
-9
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
(function (window) {
2+
window.laravelAdminSummernoteImageUploader = function ($editor,file, uploadServer, uploadName) {
3+
var data = new FormData();
4+
data.append(uploadName || 'file', file);
5+
$.ajax({
6+
data: data,
7+
type: "POST",
8+
url: uploadServer,
9+
headers: {
10+
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
11+
},
12+
cache: false,
13+
contentType: false,
14+
processData: false,
15+
success: function (url) {
16+
$editor.summernote("insertImage", url);
17+
}
18+
});
19+
}
20+
})(window);

src/Editor.php

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,25 @@ public function render()
2727
], $config));
2828

2929
$this->script = <<<EOT
30-
31-
$('#{$this->id}').summernote($config);
32-
33-
$('#{$this->id}').on("summernote.change", function (e) {
34-
var html = $('#{$this->id}').summernote('code');
35-
$('input[name="{$name}"]').val(html);
36-
});
37-
38-
EOT;
30+
(function(){
31+
var configs = $config;
32+
33+
if(configs['imageUploadServer']){
34+
configs.callbacks = configs.callbacks || {};
35+
configs.callbacks.onImageUpload = function(images){
36+
window.laravelAdminSummernoteImageUploader($('#{$this->id}'),images[0],configs.imageUploadServer,configs.imageUploadName);
37+
};
38+
}
39+
40+
$('#{$this->id}').summernote(configs);
41+
42+
$('#{$this->id}').on("summernote.change", function (e) {
43+
var html = $('#{$this->id}').summernote('code');
44+
$('input[name="{$name}"]').val(html);
45+
});
46+
})();
47+
EOT;
48+
3949
return parent::render();
4050
}
4151
}

src/SummernoteServiceProvider.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ public function boot(Summernote $extension)
3737
if ($lang = Summernote::config('config.lang')) {
3838
Admin::js("vendor/laravel-admin-ext/summernote/dist/lang/summernote-{$lang}.js");
3939
}
40+
if (Summernote::config('config.imageUploadServer')){
41+
Admin::js("vendor/laravel-admin-ext/summernote/dist/image-uploader.js");
42+
}
4043
});
4144
}
4245
}

0 commit comments

Comments
 (0)