nodebb-plugin-composer-default 7.0.15 → 7.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-composer-default",
3
- "version": "7.0.15",
3
+ "version": "7.0.19",
4
4
  "description": "Default composer for NodeBB",
5
5
  "main": "library.js",
6
6
  "repository": {
@@ -436,16 +436,6 @@
436
436
  box-shadow: none;
437
437
  }
438
438
 
439
- .imagedrop {
440
- position: absolute;
441
- top: 250px;
442
- text-align: center;
443
- font-size: 24px;
444
- color: #999;
445
- width: 100%;
446
- display: none;
447
- }
448
-
449
439
  .draft-icon {
450
440
  font-family: 'FontAwesome';
451
441
  color: @state-success-text;
@@ -261,7 +261,7 @@ define('composer/drafts', ['api', 'alerts'], function (api, alerts) {
261
261
  tags: [],
262
262
  });
263
263
  } else if (type === 'tid') {
264
- socket.emit('topics.getTopic', id, function (err, topicObj) {
264
+ api.get('/topics/' + id, {}, function (err, topicObj) {
265
265
  if (err) {
266
266
  return alerts.error(err);
267
267
  }
@@ -5,8 +5,9 @@ define('composer/uploads', [
5
5
  'composer/categoryList',
6
6
  'translator',
7
7
  'alerts',
8
+ 'uploadHelpers',
8
9
  'jquery-form',
9
- ], function (preview, categoryList, translator, alerts) {
10
+ ], function (preview, categoryList, translator, alerts, uploadHelpers) {
10
11
  var uploads = {
11
12
  inProgress: {},
12
13
  };
@@ -67,103 +68,33 @@ define('composer/uploads', [
67
68
  }
68
69
 
69
70
  function initializeDragAndDrop(post_uuid) {
70
- var draggingDocument = false;
71
71
  var postContainer = $('.composer[data-uuid="' + post_uuid + '"]');
72
- var drop = postContainer.find('.imagedrop');
73
-
74
- function onDragEnter() {
75
- if (draggingDocument) {
76
- return;
77
- }
78
-
79
- drop.css('top', '0px');
80
- drop.css('height', postContainer.height() + 'px');
81
- drop.css('line-height', postContainer.height() + 'px');
82
- drop.show();
83
-
84
- drop.on('dragleave', function () {
85
- drop.hide();
86
- drop.off('dragleave');
87
- });
88
- }
89
-
90
- function onDragDrop(e) {
91
- e.preventDefault();
92
- var files = e.originalEvent.dataTransfer.files;
93
- var fd;
94
-
95
- if (files.length) {
96
- if (window.FormData) {
97
- fd = new FormData();
98
- for (var i = 0; i < files.length; ++i) {
99
- fd.append('files[]', files[i], files[i].name);
100
- }
101
- }
102
-
72
+ uploadHelpers.handleDragDrop({
73
+ container: postContainer,
74
+ callback: function (upload) {
103
75
  uploadContentFiles({
104
- files: files,
76
+ files: upload.files,
105
77
  post_uuid: post_uuid,
106
78
  route: '/api/post/upload',
107
- formData: fd,
79
+ formData: upload.formData,
108
80
  });
109
81
  }
110
-
111
- drop.hide();
112
- return false;
113
- }
114
-
115
- function cancel(e) {
116
- e.preventDefault();
117
- return false;
118
- }
119
-
120
- $(document)
121
- .off('dragstart')
122
- .on('dragstart', function () {
123
- draggingDocument = true;
124
- })
125
- .off('dragend')
126
- .on('dragend', function () {
127
- draggingDocument = false;
128
- });
129
-
130
- postContainer.on('dragenter', onDragEnter);
131
-
132
- drop.on('dragover', cancel);
133
- drop.on('dragenter', cancel);
134
- drop.on('drop', onDragDrop);
82
+ });
135
83
  }
136
84
 
137
85
  function initializePaste(post_uuid) {
138
86
  var postContainer = $('.composer[data-uuid="' + post_uuid + '"]');
139
- postContainer.on('paste', function (event) {
140
- var items = (event.clipboardData || event.originalEvent.clipboardData || {}).items;
141
-
142
- [].some.call(items, function (item) {
143
- var blob = item.getAsFile();
144
-
145
- if (!blob) {
146
- return false;
147
- }
148
-
149
- var blobName = utils.generateUUID() + '-' + blob.name;
150
-
151
- var fd = null;
152
- if (window.FormData) {
153
- fd = new FormData();
154
- fd.append('files[]', blob, blobName);
155
- }
156
-
87
+ uploadHelpers.handlePaste({
88
+ container: postContainer,
89
+ callback: function (upload) {
157
90
  uploadContentFiles({
158
- files: [blob],
159
- fileNames: [blobName],
91
+ files: upload.files,
92
+ fileNames: upload.fileNames,
160
93
  post_uuid: post_uuid,
161
94
  route: '/api/post/upload',
162
- formData: fd,
95
+ formData: upload.formData,
163
96
  });
164
-
165
- return true;
166
- });
97
+ },
167
98
  });
168
99
  }
169
100
 
@@ -771,7 +771,15 @@ define('composer', [
771
771
  drafts.removeDraft(postData.save_id);
772
772
 
773
773
  if (data.queued) {
774
- bootbox.alert(data.message);
774
+ alerts.alert({
775
+ type: 'success',
776
+ title: '[[global:alert.success]]',
777
+ message: data.message,
778
+ timeout: 10000,
779
+ clickfn: function () {
780
+ ajaxify.go(`/post-queue/${data.id}`);
781
+ },
782
+ });
775
783
  } else if (action === 'topics.post') {
776
784
  if (submitHookData.redirect) {
777
785
  ajaxify.go('topic/' + data.slug, undefined, (onComposeRoute || composer.bsEnvironment === 'xs' || composer.bsEnvironment === 'sm'));