restyling backup/fileSaveLoad.js
This commit is contained in:
parent
92d0acfbe3
commit
b07cf590b9
|
@ -1,14 +1,20 @@
|
|||
var STYLISH_DUMP_FILE_EXT = ".txt";
|
||||
var STYLISH_DEFAULT_SAVE_NAME = "stylus-mm-dd-yyy" + STYLISH_DUMP_FILE_EXT;
|
||||
'use strict';
|
||||
|
||||
function saveAsFile(text, fileName, dialog) {
|
||||
fileName = fileName || STYLISH_DEFAULT_SAVE_NAME;
|
||||
dialog = typeof dialog === "boolean" ? dialog : true;
|
||||
var STYLISH_DUMP_FILE_EXT = '.txt';
|
||||
var STYLISH_DEFAULT_SAVE_NAME = 'stylus-mm-dd-yyy' + STYLISH_DUMP_FILE_EXT;
|
||||
|
||||
return new Promise(function(resolve){
|
||||
var fileContent = 'data:text/plain;charset=utf-8,' + encodeURIComponent(text);
|
||||
chrome.downloads.download({filename: fileName, saveAs: true, url: fileContent}, resolve)
|
||||
});
|
||||
function saveAsFile (text, fileName, dialog) {
|
||||
fileName = fileName || STYLISH_DEFAULT_SAVE_NAME;
|
||||
dialog = typeof dialog === 'boolean' ? dialog : true;
|
||||
|
||||
return new Promise(function (resolve) {
|
||||
var fileContent = 'data:text/plain;charset=utf-8,' + encodeURIComponent(text);
|
||||
chrome.downloads.download({
|
||||
filename: fileName,
|
||||
saveAs: true,
|
||||
url: fileContent
|
||||
}, resolve);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,28 +25,28 @@ function saveAsFile(text, fileName, dialog) {
|
|||
* gets it's path,
|
||||
* gets content of it by ajax
|
||||
*/
|
||||
function loadFromFile(formatToFilter){
|
||||
return new Promise(function(resolve){
|
||||
var fileInput = document.createElement('input');
|
||||
fileInput.style = "display: none;";
|
||||
fileInput.type = "file";
|
||||
fileInput.accept = formatToFilter || STYLISH_DUMP_FILE_EXT;
|
||||
fileInput.acceptCharset = "utf8";
|
||||
function loadFromFile (formatToFilter) {
|
||||
return new Promise(function (resolve) {
|
||||
var fileInput = document.createElement('input');
|
||||
fileInput.style = 'display: none;';
|
||||
fileInput.type = 'file';
|
||||
fileInput.accept = formatToFilter || STYLISH_DUMP_FILE_EXT;
|
||||
fileInput.acceptCharset = 'utf-8';
|
||||
|
||||
document.body.appendChild(fileInput);
|
||||
fileInput.initialValue = fileInput.value;
|
||||
fileInput.addEventListener('change', changeHandler);
|
||||
function changeHandler(){
|
||||
if (fileInput.value !== fileInput.initialValue){
|
||||
var fReader = new FileReader();
|
||||
fReader.onloadend = function (event){
|
||||
fileInput.removeEventListener('change', changeHandler);
|
||||
fileInput.remove();
|
||||
resolve(event.target.result);
|
||||
};
|
||||
fReader.readAsText(fileInput.files[0], 'utf-8')
|
||||
}
|
||||
}
|
||||
fileInput.click();
|
||||
});
|
||||
document.body.appendChild(fileInput);
|
||||
fileInput.initialValue = fileInput.value;
|
||||
function changeHandler() {
|
||||
if (fileInput.value !== fileInput.initialValue) {
|
||||
var fReader = new FileReader();
|
||||
fReader.onloadend = function (event) {
|
||||
fileInput.removeEventListener('change', changeHandler);
|
||||
fileInput.remove();
|
||||
resolve(event.target.result);
|
||||
};
|
||||
fReader.readAsText(fileInput.files[0], 'utf-8');
|
||||
}
|
||||
}
|
||||
fileInput.addEventListener('change', changeHandler);
|
||||
fileInput.click();
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user