diff --git a/css/_export.scss b/css/_export.scss index c4a4e39..01f45a1 100644 --- a/css/_export.scss +++ b/css/_export.scss @@ -7,13 +7,4 @@ flex: 1; } } - - .export-actions { - display: flex; - justify-content: center; - - button { - font-size: 18px; - } - } } \ No newline at end of file diff --git a/css/_popup-container.scss b/css/_popup-container.scss index c38aea1..b81cf3e 100644 --- a/css/_popup-container.scss +++ b/css/_popup-container.scss @@ -78,7 +78,7 @@ } } - div.pixel-export { + div.pixel-export, div.save-project { input { background: $indent; border: none; @@ -164,4 +164,13 @@ } } } + + .popup-actions { + display: flex; + justify-content: center; + + button { + font-size: 18px; + } + } } \ No newline at end of file diff --git a/css/_save-project.scss b/css/_save-project.scss new file mode 100644 index 0000000..16519cf --- /dev/null +++ b/css/_save-project.scss @@ -0,0 +1,10 @@ +#save-project { + .save-project-configuration { + display: flex; + flex-direction: column; + + input { + flex: 1; + } + } +} \ No newline at end of file diff --git a/css/pixel-editor.scss b/css/pixel-editor.scss index 2d59fc7..eb94914 100644 --- a/css/pixel-editor.scss +++ b/css/pixel-editor.scss @@ -15,4 +15,5 @@ @import 'resize-menus'; @import 'palette-editor'; @import 'splash-page'; -@import "export"; \ No newline at end of file +@import "export"; +@import "save-project"; \ No newline at end of file diff --git a/js/_fileMenu.js b/js/_fileMenu.js index b206661..5ce18ed 100644 --- a/js/_fileMenu.js +++ b/js/_fileMenu.js @@ -30,27 +30,7 @@ for (var i = 1; i < mainMenuItems.length; i++) { showDialogue('new-pixel'); break; case 'Save project': - //create name - var selectedPalette = getText('palette-button'); - if (selectedPalette != 'Choose a palette...'){ - var paletteAbbreviation = palettes[selectedPalette].abbreviation; - var fileName = 'pixel-'+paletteAbbreviation+'-'+canvasSize[0]+'x'+canvasSize[1]+'.lpe'; - } else { - var fileName = 'pixel-'+canvasSize[0]+'x'+canvasSize[1]+'.lpe'; - selectedPalette = 'none'; - } - - //set download link - var linkHolder = document.getElementById('save-project-link-holder'); - // create file content - var content = getProjectData(); - - linkHolder.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(content); - linkHolder.download = fileName; - linkHolder.click(); - - ga('send', 'event', 'Pixel Editor Save', selectedPalette, canvasSize[0]+'/'+canvasSize[1]); /*global ga*/ - + openSaveProjectWindow(); break; case 'Open': //if a document exists diff --git a/js/_saveProject.js b/js/_saveProject.js new file mode 100644 index 0000000..ff5e7a5 --- /dev/null +++ b/js/_saveProject.js @@ -0,0 +1,33 @@ +function openSaveProjectWindow() { + //create name + var selectedPalette = getText('palette-button'); + if (selectedPalette != 'Choose a palette...'){ + var paletteAbbreviation = palettes[selectedPalette].abbreviation; + var fileName = 'pixel-'+paletteAbbreviation+'-'+canvasSize[0]+'x'+canvasSize[1]; + } else { + var fileName = 'pixel-'+canvasSize[0]+'x'+canvasSize[1]; + selectedPalette = 'none'; + } + + setValue('lpe-file-name', fileName); + + document.getElementById("save-project-confirm").addEventListener("click", saveProject); + + showDialogue('save-project', false); +} + +function saveProject() { + var fileName = `${getValue('lpe-file-name')}.lpe`; + + // create file content + var content = getProjectData(); + + //set download link + var linkHolder = document.getElementById('save-project-link-holder'); + + linkHolder.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(content); + linkHolder.download = fileName; + linkHolder.click(); + + ga('send', 'event', 'Pixel Editor Save', selectedPalette, canvasSize[0]+'/'+canvasSize[1]); /*global ga*/ +} \ No newline at end of file diff --git a/js/pixel-editor.js b/js/pixel-editor.js index 334b070..5174489 100644 --- a/js/pixel-editor.js +++ b/js/pixel-editor.js @@ -54,6 +54,7 @@ //=include _paletteBlock.js //=include _splashPage.js //=include _pixelExport.js +//=include _saveProject.js /**load file**/ //=include _loadImage.js diff --git a/views/index.hbs b/views/index.hbs index d3a62ed..a83052d 100644 --- a/views/index.hbs +++ b/views/index.hbs @@ -37,6 +37,7 @@ {{> credits-popup}} {{> settings-popup}} {{> pixel-export-popup}} + {{> save-project-popup}} diff --git a/views/pixel-export-popup.hbs b/views/pixel-export-popup.hbs index 464d4f8..17fa4d3 100644 --- a/views/pixel-export-popup.hbs +++ b/views/pixel-export-popup.hbs @@ -8,7 +8,7 @@ -
+
\ No newline at end of file diff --git a/views/save-project-popup.hbs b/views/save-project-popup.hbs new file mode 100644 index 0000000..1b4319e --- /dev/null +++ b/views/save-project-popup.hbs @@ -0,0 +1,14 @@ +
+ + +

Save Project

+ +
+

File Name

+ +
+ + +
\ No newline at end of file