Skip to content

Commit 6143ea8

Browse files
author
dimaspirit
committed
* add notify tool for gulp
* make beaty in sample/chat * remove babel (var insteadof let)
1 parent 01fc2b8 commit 6143ea8

File tree

9 files changed

+181
-159
lines changed

9 files changed

+181
-159
lines changed

gulpfile.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var gulp = require('gulp');
55
var babelify = require('babelify');
66
var browserify = require('browserify');
77

8+
var buffer = require('vinyl-buffer');
89
var source = require('vinyl-source-stream');
910

1011
var jshint = require('gulp-jshint');
@@ -13,24 +14,29 @@ var rename = require('gulp-rename');
1314

1415
var connect = require('gulp-connect');
1516

16-
gulp.task('transform', function () {
17+
var notify = require("gulp-notify");
18+
19+
gulp.task('build', function () {
1720
var isDevelopment = process.env.NODE_ENV === 'develop',
1821
browserifyOpts = {
1922
debug: isDevelopment,
2023
standalone: 'QB'
2124
};
2225

2326
return browserify('./src/qbMain.js', browserifyOpts)
24-
.transform(babelify, { presets: ['es2015'] })
27+
// .transform(babelify, { presets: ['es2015'] })
2528
.bundle()
29+
.on('error', function(error) {
30+
notify('Failed when create a bundle <%= error.message %>')
31+
this.emit('end');
32+
})
2633
.pipe(source('quickblox.js'))
27-
.pipe(gulp.dest('./'));
28-
});
29-
30-
gulp.task('uglify', function () {
31-
gulp.src('quickblox.js')
32-
.pipe(uglify())
34+
.pipe(buffer())
35+
.pipe(uglify()).on('error', function(error){
36+
console.log('Uglify Error <%= error.message %>');
37+
})
3338
.pipe(rename('quickblox.min.js'))
39+
.pipe(notify('Build task is finished.'))
3440
.pipe(gulp.dest('./'));
3541
});
3642

@@ -42,7 +48,7 @@ gulp.task('connect', function() {
4248
});
4349

4450
gulp.task('watch', function () {
45-
gulp.watch(['./src/**/*.js'], ['transform', 'uglify']);
51+
gulp.watch(['./src/**/*.js'], ['build']);
4652
});
4753

48-
gulp.task('default', ['transform', 'uglify', 'connect', 'watch']);
54+
gulp.task('default', ['build', 'connect', 'watch']);

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
"gulp": "^3.9.1",
5656
"gulp-connect": "^5.0.0",
5757
"gulp-jshint": "^2.0.1",
58+
"gulp-notify": "^2.2.0",
5859
"gulp-rename": "^1.2.2",
5960
"gulp-uglify": "^2.0.0",
6061
"jasmine": "^2.4.1",

quickblox.min.js

Lines changed: 35 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/chat/js/messages.js

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -144,33 +144,37 @@ function retrieveChatMessages(dialog, beforeDateSent){
144144

145145
// sending messages after confirmation
146146
function clickSendMessage() {
147-
var currentText = $('#message_text').val().trim();
148-
if (currentText.length === 0){
149-
return;
150-
}
147+
var currentText = $('#message_text').val().trim();
148+
149+
if (currentText.length === 0){
150+
return;
151+
}
151152

152-
$('#message_text').val('').focus();
153+
$('#message_text').val('').focus();
153154

154-
sendMessage(currentText, null);
155+
sendMessage(currentText, null);
155156
}
156157

157158
function clickSendAttachments(inputFile) {
158-
// upload image
159-
QB.content.createAndUpload({name: inputFile.name, file: inputFile, type:
160-
inputFile.type, size: inputFile.size, 'public': false}, function(err, response){
161-
if (err) {
162-
console.log(err);
163-
} else {
164-
165-
$("#progress").fadeOut(400, function() {
166-
$(".input-group-btn_change_load").removeClass("visibility_hidden");
167-
});
159+
QB.content.createAndUpload({
160+
public: false,
161+
file: inputFile,
162+
name: inputFile.name,
163+
type: inputFile.type,
164+
size: inputFile.size
165+
}, function(err, response){
166+
if(err) {
167+
console.error(err);
168+
} else {
169+
$("#progress").fadeOut(400, function() {
170+
$(".input-group-btn_change_load").removeClass("visibility_hidden");
171+
});
168172

169-
var uploadedFile = response;
173+
var uploadedFile = response;
170174

171-
sendMessage("[attachment]", uploadedFile.id);
175+
sendMessage("[attachment]", uploadedFile.id);
172176

173-
$("input[type=file]").val('');
177+
$("input[type=file]").val('');
174178
}
175179
});
176180
}
@@ -218,7 +222,6 @@ function sendMessage(text, attachmentFileId) {
218222

219223
// show messages in UI
220224
function showMessage(userId, msg, attachmentFileId) {
221-
// add a message to list
222225
var userLogin = getUserLoginById(userId);
223226
var messageHtml = buildMessageHTML(msg.body, userLogin, new Date(), attachmentFileId, msg.id);
224227

samples/chat/js/ui_helpers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
function buildMessageHTML(messageText, messageSenderId, messageDateSent, attachmentFileId, messageId, status){
33
var messageAttach;
44
if(attachmentFileId){
5-
messageAttach = '<img src="http://api.quickblox.com/blobs/'+attachmentFileId+'/download.xml?token='+token+'" alt="attachment" class="attachments img-responsive" />';
5+
messageAttach = '<img src="https://api.quickblox.com/blobs/'+attachmentFileId+'/download.xml?token='+token+'" alt="attachment" class="attachments img-responsive" />';
66
}
77

88
var isMessageSticker = stickerpipe.isSticker(messageText);

src/modules/qbChat.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ PrivacyListProxy.prototype = {
12181218
return iq;
12191219
}
12201220

1221-
for (let index = 0, i = 0, len = listUserId.length; index < len; index++, i = i + 2) {
1221+
for (var index = 0, i = 0, len = listUserId.length; index < len; index++, i = i + 2) {
12221222
userId = listUserId[index];
12231223
mutualBlock = listPrivacy[userId].mutualBlock;
12241224

src/modules/qbChatHelpers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ var qbChatHelpers = {
185185

186186
if (nodeTextContentSize > 4096) {
187187
var wholeNodeContent = "";
188-
for(let j=0; j<extraParams.childNodes[i].childNodes.length; ++j){
188+
for(var j=0; j<extraParams.childNodes[i].childNodes.length; ++j){
189189
wholeNodeContent += extraParams.childNodes[i].childNodes[j].textContent;
190190
}
191191
extension[extraParams.childNodes[i].tagName] = wholeNodeContent;
@@ -202,7 +202,7 @@ var qbChatHelpers = {
202202
extension.attachments = attachments;
203203
}
204204
} else if(utils.getEnv().node) {
205-
for (let i = 0, len = extraParams.children.length; i < len; i++) {
205+
for (var i = 0, len = extraParams.children.length; i < len; i++) {
206206
if(extraParams.children[i].name === 'dialog_id') {
207207
dialogId = extraParams.getChildText('dialog_id');
208208
extension.dialog_id = dialogId;

src/modules/qbContent.js

Lines changed: 101 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,18 @@ function ContentProxy(service) {
3030
}
3131

3232
ContentProxy.prototype = {
33-
34-
create: function(params, callback){
35-
Utils.QBLog('[ContentProxy]', 'create', params);
36-
37-
this.service.ajax({url: Utils.getUrl(config.urls.blobs), data: {blob:params}, type: 'POST'}, function(err,result){
38-
if (err){ callback(err, null); }
39-
else { callback (err, result.blob); }
40-
});
41-
},
33+
create: function(params, callback){
34+
Utils.QBLog('[ContentProxy]', 'create', params);
35+
36+
this.service.ajax({
37+
type: 'POST',
38+
data: {blob: params},
39+
url: Utils.getUrl(config.urls.blobs)
40+
}, function(err, result) {
41+
if (err){ callback(err, null); }
42+
else { callback (err, result.blob); }
43+
});
44+
},
4245

4346
list: function(params, callback){
4447
if (typeof params === 'function' && typeof callback ==='undefined') {
@@ -63,90 +66,98 @@ ContentProxy.prototype = {
6366
});
6467
},
6568

66-
createAndUpload: function(params, callback){
67-
var createParams= {}, file, name, type, size, fileId, _this = this;
68-
69-
var clonedParams = JSON.parse(JSON.stringify(params));
70-
clonedParams.file.data = "...";
71-
Utils.QBLog('[ContentProxy]', 'createAndUpload', clonedParams);
72-
73-
file = params.file;
74-
name = params.name || file.name;
75-
type = params.type || file.type;
76-
size = params.size || file.size;
77-
78-
createParams.name = name;
79-
createParams.content_type = type;
80-
if (params.public) { createParams.public = params.public; }
81-
if (params.tag_list) { createParams.tag_list = params.tag_list; }
82-
83-
// Create a file object
84-
//
85-
this.create(createParams, function(err,createResult){
86-
if (err) {
87-
callback(err, null);
88-
} else {
89-
var uri = parseUri(createResult.blob_object_access.params);
90-
var uploadUrl = uri.protocol + "://" + uri.authority + uri.path;
91-
var uploadParams = {url: uploadUrl};
92-
93-
var data;
94-
if(isBrowser){
95-
data = new FormData();
96-
}else{
97-
data = {};
98-
}
99-
fileId = createResult.id;
100-
101-
Object.keys(uri.queryKey).forEach(function(val) {
102-
if(isBrowser){
103-
data.append(val, decodeURIComponent(uri.queryKey[val]));
104-
}else{
105-
data[val] = decodeURIComponent(uri.queryKey[val]);
106-
}
107-
});
69+
createAndUpload: function(params, callback){
70+
var _this = this,
71+
createParams= {},
72+
file, name, type, size, fileId;
10873

109-
if(isBrowser){
110-
data.append('file', file, createResult.name);
111-
}else{
112-
data.file = file;
113-
}
114-
115-
uploadParams.data = data;
116-
117-
// Upload the file to Amazon S3
118-
//
119-
_this.upload(uploadParams, function(err, result) {
120-
if (err) {
121-
callback(err, null);
122-
} else {
123-
// Mark file as uploaded
124-
//
125-
_this.markUploaded({id: fileId, size: size}, function(err, result){
126-
if (err) {
127-
callback(err, null);
128-
} else {
129-
callback(null, createResult);
130-
}
131-
});
132-
}
133-
});
134-
}
135-
});
136-
},
74+
var clonedParams = JSON.parse(JSON.stringify(params));
75+
clonedParams.file.data = "...";
76+
77+
Utils.QBLog('[ContentProxy]', 'createAndUpload', clonedParams);
13778

138-
upload: function(params, callback){
139-
Utils.QBLog('[ContentProxy]', 'upload');
79+
file = params.file;
80+
name = params.name || file.name;
81+
type = params.type || file.type;
82+
size = params.size || file.size;
14083

141-
this.service.ajax({url: params.url, data: params.data, dataType: 'text',
142-
contentType: false, processData: false, type: 'POST'}, function(err,xmlDoc){
143-
if (err) {
144-
callback (err, null);
145-
} else {
146-
callback (null, {});
147-
}
148-
});
149-
},
84+
createParams.name = name;
85+
createParams.content_type = type;
86+
87+
if(params.public) { createParams.public = params.public; }
88+
if(params.tag_list) { createParams.tag_list = params.tag_list; }
89+
90+
// Create a file object
91+
this.create(createParams, function(err, createResult){
92+
if(err) {
93+
callback(err, null);
94+
} else {
95+
var uri = parseUri(createResult.blob_object_access.params);
96+
var uploadUrl = uri.protocol + "://" + uri.authority + uri.path;
97+
var uploadParams = {url: uploadUrl};
98+
99+
var data = isBrowser ? new FormData() : {};
100+
101+
fileId = createResult.id;
102+
103+
Object.keys(uri.queryKey).forEach(function(val) {
104+
if(isBrowser){
105+
data.append(val, decodeURIComponent(uri.queryKey[val]));
106+
} else {
107+
data[val] = decodeURIComponent(uri.queryKey[val]);
108+
}
109+
});
110+
111+
if(isBrowser){
112+
data.append('file', file, createResult.name);
113+
} else {
114+
data.file = file;
115+
}
116+
117+
uploadParams.data = data;
118+
119+
// Upload the file to Amazon S3
120+
_this.upload(uploadParams, function(err, result) {
121+
if (err) {
122+
callback(err, null);
123+
} else {
124+
// Mark file as uploaded
125+
_this.markUploaded({
126+
id: fileId,
127+
size: size
128+
}, function(err, result){
129+
if (err) {
130+
callback(err, null);
131+
} else {
132+
callback(null, createResult);
133+
}
134+
});
135+
}
136+
});
137+
}
138+
});
139+
},
140+
upload: function(params, callback){
141+
Utils.QBLog('[ContentProxy]', 'upload');
142+
143+
var uploadParams = {
144+
type: 'POST',
145+
dataType: 'text',
146+
contentType: false,
147+
processData: false,
148+
url: params.url,
149+
data: params.data
150+
};
151+
152+
this.service.ajax(uploadParams, function(err,xmlDoc) {
153+
console.info('Upload', uploadParams);
154+
if (err) {
155+
callback (err, null);
156+
} else {
157+
callback (null, {});
158+
}
159+
});
160+
},
150161

151162
taggedForCurrentUser: function(callback) {
152163
Utils.QBLog('[ContentProxy]', 'taggedForCurrentUser');

src/qbUtils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ var Utils = {
183183
}
184184

185185
if(this.loggers){
186-
for(let i=0;i<this.loggers.length;++i){
186+
for(var i=0;i<this.loggers.length;++i){
187187
this.loggers[i](arguments);
188188
}
189189
}

0 commit comments

Comments
 (0)