parent
251d0a2eff
commit
2bca6fae41
@ -7,7 +7,7 @@
|
||||
|
||||
importScripts(
|
||||
'../../vendor/console-polyfill/console-polyfill.js',
|
||||
'mtproto.js',
|
||||
'bin_utils.js',
|
||||
'../../vendor/jsbn/jsbn_combined.js',
|
||||
'../../vendor/cryptoJS/crypto.js'
|
||||
);
|
||||
|
@ -422,7 +422,7 @@ angular.module('izhukov.mtproto.wrapper', ['izhukov.utils', 'izhukov.mtproto'])
|
||||
deferred.resolve(cachedDownloads[fileName] = FileManager.getUrl(blob, mimeType));
|
||||
}
|
||||
}, function () {
|
||||
var fileWriterPromise = toFileEntry ? $q.when(toFileEntry) : fileStorage.getFileWriter(fileName, mimeType);
|
||||
var fileWriterPromise = toFileEntry ? FileManager.getFileWriter(toFileEntry) : fileStorage.getFileWriter(fileName, mimeType);
|
||||
|
||||
fileWriterPromise.then(function (fileWriter) {
|
||||
cacheFileWriter = fileWriter;
|
||||
|
@ -140,20 +140,14 @@ angular.module('izhukov.utils', [])
|
||||
$window.BlobBuilder = $window.BlobBuilder || $window.WebKitBlobBuilder || $window.MozBlobBuilder;
|
||||
|
||||
function fileCopyTo (fromFileEntry, toFileEntry) {
|
||||
var deferred = $q.defer();
|
||||
|
||||
toFileEntry.createWriter(function (fileWriter) {
|
||||
fileWriteData(fileWriter, fromFileEntry).then(function () {
|
||||
deferred.resolve(fileWriter);
|
||||
}, function (e) {
|
||||
deferred.reject(e);
|
||||
return getFileWriter(toFileEntry).then(function (fileWriter) {
|
||||
return fileWriteData(fileWriter, fromFileEntry).then(function () {
|
||||
return fileWriter;
|
||||
}, function (error) {
|
||||
return $q.reject(error);
|
||||
fileWriter.truncate(0);
|
||||
});
|
||||
}, function (e) {
|
||||
deferred.reject(e);
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function fileWriteData(fileWriter, bytes) {
|
||||
@ -166,9 +160,15 @@ angular.module('izhukov.utils', [])
|
||||
deferred.reject();
|
||||
};
|
||||
|
||||
if (bytes instanceof Blob) { // is file bytes
|
||||
if (bytes instanceof FileEntry) {
|
||||
bytes.file(function (file) {
|
||||
fileWriter.write(file);
|
||||
}, fileWriter.onerror);
|
||||
}
|
||||
else if (bytes instanceof Blob) { // is file bytes
|
||||
fileWriter.write(bytes);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
fileWriter.write(new Blob([bytesToArrayBuffer(bytes)]));
|
||||
}
|
||||
|
||||
@ -195,6 +195,18 @@ angular.module('izhukov.utils', [])
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function getFileWriter (fileEntry) {
|
||||
var deferred = $q.defer();
|
||||
|
||||
fileEntry.createWriter(function (fileWriter) {
|
||||
deferred.resolve(fileWriter);
|
||||
}, function (error) {
|
||||
deferred.reject(error);
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function getFakeFileWriter (mimeType, saveFileCallback) {
|
||||
var blobParts = [],
|
||||
fakeFileWriter = {
|
||||
@ -259,6 +271,7 @@ angular.module('izhukov.utils', [])
|
||||
return {
|
||||
copy: fileCopyTo,
|
||||
write: fileWriteData,
|
||||
getFileWriter: getFileWriter,
|
||||
getFakeFileWriter: getFakeFileWriter,
|
||||
chooseSave: chooseSaveFile,
|
||||
getUrl: getUrl,
|
||||
@ -429,7 +442,7 @@ angular.module('izhukov.utils', [])
|
||||
fileEntry.file(function(file) {
|
||||
// console.log(dT(), 'aa', file);
|
||||
if (file.size >= size) {
|
||||
deferred.resolve(fileEntry);
|
||||
deferred.resolve(file);
|
||||
} else {
|
||||
deferred.reject(new Error('FILE_NOT_FOUND'));
|
||||
}
|
||||
@ -457,11 +470,10 @@ angular.module('izhukov.utils', [])
|
||||
return requestFS().then(function () {
|
||||
var deferred = $q.defer();
|
||||
cachedFs.root.getFile(fileName, {create: true}, function (fileEntry) {
|
||||
fileEntry.createWriter(function (fileWriter) {
|
||||
FileManager.getFileWriter(fileEntry).then(function (fileWriter) {
|
||||
fileWriter.finalize = function () {
|
||||
return fileEntry;
|
||||
}
|
||||
// console.log(dT(), 'got writer');
|
||||
deferred.resolve(fileWriter);
|
||||
}, function (error) {
|
||||
deferred.reject(error);
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
importScripts(
|
||||
'../../vendor/console-polyfill/console-polyfill.js',
|
||||
'mtproto.js',
|
||||
'bin_utils.js',
|
||||
'../../vendor/closure/long.js',
|
||||
'../../vendor/jsbn/jsbn_combined.js'
|
||||
);
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
importScripts(
|
||||
'../../vendor/console-polyfill/console-polyfill.js',
|
||||
'mtproto.js',
|
||||
'bin_utils.js',
|
||||
'../../vendor/cryptoJS/crypto.js'
|
||||
);
|
||||
|
||||
|
@ -1,7 +1,11 @@
|
||||
<div class="contacts_modal_wrap" my-modal-position>
|
||||
|
||||
<a class="modal-close-button visible-xs" ng-click="$dismiss()"><i></i></a>
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
<h4 class="modal_simple_header visible-xs">Phonebook</h4>
|
||||
|
||||
<div class="contacts_modal_search">
|
||||
<input class="form-control contacts_modal_search_field" my-focused type="search" placeholder="Search" ng-model="search.query"/>
|
||||
<a class="contacts_modal_search_clear" ng-click="search.query = ''" ng-show="search.query.length"></a>
|
||||
|
Loading…
x
Reference in New Issue
Block a user