mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
Moved PaletteService from pskl.service to piskel.service.palette
This commit is contained in:
parent
92d7109ef7
commit
8643f4402a
@ -38,7 +38,7 @@
|
|||||||
this.piskelController = new pskl.controller.piskel.PublicPiskelController(this.corePiskelController);
|
this.piskelController = new pskl.controller.piskel.PublicPiskelController(this.corePiskelController);
|
||||||
this.piskelController.init();
|
this.piskelController.init();
|
||||||
|
|
||||||
this.paletteService = new pskl.service.PaletteService();
|
this.paletteService = new pskl.service.palette.PaletteService();
|
||||||
this.paletteService.init();
|
this.paletteService.init();
|
||||||
|
|
||||||
this.paletteController = new pskl.controller.PaletteController();
|
this.paletteController = new pskl.controller.PaletteController();
|
||||||
|
61
src/js/service/palette/PaletteService.js
Normal file
61
src/js/service/palette/PaletteService.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
(function () {
|
||||||
|
var ns = $.namespace('pskl.service.palette');
|
||||||
|
ns.PaletteService = function () {
|
||||||
|
this.palettes = [];
|
||||||
|
this.localStorageService = window.localStorage;
|
||||||
|
};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.init = function () {};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.getPalettes = function () {
|
||||||
|
var palettesString = this.localStorageService.getItem('piskel.palettes');
|
||||||
|
return JSON.parse(palettesString) || [];
|
||||||
|
};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.getPaletteById = function (paletteId) {
|
||||||
|
var palettes = this.getPalettes();
|
||||||
|
return this.findPaletteInArray_(paletteId, palettes);
|
||||||
|
};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.savePalette = function (palette) {
|
||||||
|
var palettes = this.getPalettes();
|
||||||
|
var existingPalette = this.findPaletteInArray_(palette.id, palettes);
|
||||||
|
if (existingPalette) {
|
||||||
|
var currentIndex = palettes.indexOf(existingPalette);
|
||||||
|
palettes.splice(currentIndex, 1, palette);
|
||||||
|
} else {
|
||||||
|
palettes.push(palette);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.savePalettes_(palettes);
|
||||||
|
|
||||||
|
$.publish(Events.SHOW_NOTIFICATION, [{"content": "Palette " + palette.name + " successfully saved !"}]);
|
||||||
|
window.setTimeout($.publish.bind($, Events.HIDE_NOTIFICATION), 2000);
|
||||||
|
};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.deletePaletteById = function (id) {
|
||||||
|
var palettes = this.getPalettes();
|
||||||
|
var filteredPalettes = palettes.filter(function (palette) {
|
||||||
|
return palette.id !== id;
|
||||||
|
});
|
||||||
|
|
||||||
|
this.savePalettes_(filteredPalettes);
|
||||||
|
};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.savePalettes_ = function (palettes) {
|
||||||
|
this.localStorageService.setItem('piskel.palettes', JSON.stringify(palettes));
|
||||||
|
$.publish(Events.PALETTE_LIST_UPDATED);
|
||||||
|
};
|
||||||
|
|
||||||
|
ns.PaletteService.prototype.findPaletteInArray_ = function (paletteId, palettes) {
|
||||||
|
var match = null;
|
||||||
|
|
||||||
|
palettes.forEach(function (palette) {
|
||||||
|
if (palette.id === paletteId) {
|
||||||
|
match = palette;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return match;
|
||||||
|
};
|
||||||
|
})();
|
@ -119,7 +119,7 @@
|
|||||||
"js/service/BackupService.js",
|
"js/service/BackupService.js",
|
||||||
"js/service/BeforeUnloadService.js",
|
"js/service/BeforeUnloadService.js",
|
||||||
"js/service/HistoryService.js",
|
"js/service/HistoryService.js",
|
||||||
"js/service/PaletteService.js",
|
"js/service/palette/PaletteService.js",
|
||||||
"js/service/SavedStatusService.js",
|
"js/service/SavedStatusService.js",
|
||||||
"js/service/keyboard/ShortcutService.js",
|
"js/service/keyboard/ShortcutService.js",
|
||||||
"js/service/keyboard/KeycodeTranslator.js",
|
"js/service/keyboard/KeycodeTranslator.js",
|
||||||
|
Loading…
Reference in New Issue
Block a user