code cleanup; fileSaveLoad.js

This commit is contained in:
Jeremy Schomery 2017-02-05 09:55:44 +03:30
parent fbfaa969b5
commit f8fc82cae7
3 changed files with 53 additions and 59 deletions

View File

@ -1,6 +1,8 @@
/* globals getStyles, saveStyle */
'use strict'; 'use strict';
var STYLISH_DUMP_FILE_EXT = '.txt'; var STYLISH_DUMP_FILE_EXT = '.txt';
var STYLISH_DUMPFILE_EXTENSION = '.json';
var STYLISH_DEFAULT_SAVE_NAME = 'stylus-mm-dd-yyy' + STYLISH_DUMP_FILE_EXT; var STYLISH_DEFAULT_SAVE_NAME = 'stylus-mm-dd-yyy' + STYLISH_DUMP_FILE_EXT;
function saveAsFile (text, fileName, dialog) { function saveAsFile (text, fileName, dialog) {
@ -50,3 +52,53 @@ function loadFromFile (formatToFilter) {
fileInput.click(); fileInput.click();
}); });
} }
function generateFileName() {
var today = new Date();
var dd = '0' + today.getDate();
var mm = '0' + (today.getMonth() + 1);
var yyyy = today.getFullYear();
dd = dd.substr(-2);
mm = mm.substr(-2);
today = mm + '-' + dd + '-' + yyyy;
return 'stylus-' + today + STYLISH_DUMPFILE_EXTENSION;
}
document.getElementById('file-all-styles').addEventListener('click', function () {
chrome.permissions.request({permissions: ['downloads']}, function (granted) {
if (granted) {
getStyles({}, function (styles) {
var text = JSON.stringify(styles);
saveAsFile(text, generateFileName());
});
}
});
});
document.getElementById('unfile-all-styles').addEventListener('click', function () {
loadFromFile(STYLISH_DUMPFILE_EXTENSION).then(function (rawText) {
var json = JSON.parse(rawText);
var i = 0, nextStyle;
function done() {
window.alert(i + ' styles installed/updated');
location.reload();
}
function proceed() {
nextStyle = json[i++];
if (nextStyle) {
saveStyle(nextStyle, proceed);
}
else {
i--;
done();
}
}
proceed();
});
});

View File

@ -1,57 +0,0 @@
var STYLISH_DUMPFILE_EXTENSION = ".json";
var saveButton = document.getElementById("file-all-styles"),
loadButton = document.getElementById("unfile-all-styles");
saveButton.addEventListener('click', onSaveToFileClick);
loadButton.addEventListener('click', onLoadFromFileClick);
function onSaveToFileClick(){
chrome.permissions.request({permissions: ['downloads']}, function(granted){
if (granted){
getStyles({}, function(styles){
var text = JSON.stringify(styles);
saveAsFile(text, generateFileName());
});
}
})
}
function onLoadFromFileClick(){
loadFromFile(STYLISH_DUMPFILE_EXTENSION).then(function(rawText){
var json = JSON.parse(rawText);
var i = 0, nextStyle;
function proceed(){
nextStyle = json[i++];
if (nextStyle) {
saveStyle(nextStyle, proceed);
}else{
i--;
done();
}
}
function done(){
alert(i + " styles installed/updated");
location.reload();
}
proceed();
});
}
function generateFileName(){
var today = new Date();
var dd = '0' + today.getDate();
var mm = '0' + (today.getMonth() + 1);
var yyyy = today.getFullYear();
dd = dd.substr(-2);
mm = mm.substr(-2);
today = mm + '-' + dd + '-' + yyyy;
return "stylish-" + today + STYLISH_DUMPFILE_EXTENSION;
}

View File

@ -215,6 +215,5 @@
</div> </div>
<div id="installed"></div> <div id="installed"></div>
<script src="backup/fileSaveLoad.js"></script> <script src="backup/fileSaveLoad.js"></script>
<script src="backup/manage/fileSaveLoad.js"></script>
</body> </body>
</html> </html>