code cleanup; fileSaveLoad.js
This commit is contained in:
		
							parent
							
								
									fbfaa969b5
								
							
						
					
					
						commit
						f8fc82cae7
					
				| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
/* globals getStyles, saveStyle */
 | 
			
		||||
'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;
 | 
			
		||||
 | 
			
		||||
function saveAsFile (text, fileName, dialog) {
 | 
			
		||||
| 
						 | 
				
			
			@ -50,3 +52,53 @@ function loadFromFile (formatToFilter) {
 | 
			
		|||
    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();
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -215,6 +215,5 @@
 | 
			
		|||
		</div>
 | 
			
		||||
		<div id="installed"></div>
 | 
			
		||||
		<script src="backup/fileSaveLoad.js"></script>
 | 
			
		||||
		<script src="backup/manage/fileSaveLoad.js"></script>
 | 
			
		||||
	</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user