From 11c6ccb02565eef3686b0bcd42c97d2187b2000d Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 19 Oct 2017 12:08:38 +0300 Subject: [PATCH] feature(cloud) filepicker v2 --- client/modules/cloud.js | 46 +++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/client/modules/cloud.js b/client/modules/cloud.js index ea80fd25..466ba987 100644 --- a/client/modules/cloud.js +++ b/client/modules/cloud.js @@ -5,15 +5,15 @@ CloudCmd.Cloud = CloudProto; const exec = require('execon'); +const currify = require('currify/legacy'); + const {log} = CloudCmd; const load = require('../dom/load'); const Files = require('../dom/files'); const Images = require('../dom/images'); -const { - time, - timeEnd, -} = require('../../common/util'); + +const upload = currify(_upload); function CloudProto(callback) { loadFiles(callback); @@ -28,38 +28,40 @@ module.exports.uploadFile = (filename, data) => { mimetype, filename, }, (fpFile) => { - log(fpFile); filepicker.exportFile(fpFile, log, log); }); }; module.exports.saveFile = (callback) => { - filepicker.pick((fpFile) => { - log(fpFile); - - const {url} = fpFile; - const responseType = 'arraybuffer'; - const success = exec.with(callback, fpFile.filename); - - load.ajax({ - url, - responseType, - success, - }); - }); + filepicker.pick(upload(callback)); }; -function loadFiles(callback) { - time('filepicker load'); +function _upload(callback, file) { + const { + url, + filename, + } = file; - load.js('//api.filepicker.io/v1/filepicker.js', () => { + const responseType = 'arraybuffer'; + const success = exec.with(callback, filename); + + load.ajax({ + url, + responseType, + success, + }); +} + +function loadFiles(callback) { + const js = '//api.filepicker.io/v2/filepicker.js'; + + load.js(js, () => { Files.get('modules', (error, modules) => { const {key} = modules.data.FilePicker; filepicker.setKey(key); Images.hide(); - timeEnd('filepicker loaded'); exec(callback); }); });