mirror of
https://github.com/lospec/pixel-editor.git
synced 2023-08-10 21:12:51 +03:00
Fixed Util static method issue
Also fixed bug in Util.getElement
This commit is contained in:
26
js/Util.js
26
js/Util.js
@@ -1,35 +1,41 @@
|
|||||||
// Acts as a public static class
|
// Acts as a public static class
|
||||||
class Util {
|
class Util {
|
||||||
static getElement(elementOrElementId) {
|
static getElement(elementOrElementId) {
|
||||||
return typeof elementOrElementId
|
if (typeof(elementOrElementId) == "object") {
|
||||||
? document.getElementById(elementOrElementId)
|
return elementOrElementId;
|
||||||
: elementOrElementId;
|
}
|
||||||
|
else if (typeof(elementOrElementId) == "string") {
|
||||||
|
return document.getElementById(elementOrElementId);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("Type not supported: " + typeof(elementOrElementId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
static getText(elementId) {
|
static getText(elementId) {
|
||||||
return this.getElement(elementId).textContent;
|
return Util.getElement(elementId).textContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
static setText(elementId, text) {
|
static setText(elementId, text) {
|
||||||
this.getElement(elementId).textContent = text;
|
Util.getElement(elementId).textContent = text;
|
||||||
}
|
}
|
||||||
static getValue(elementId) {
|
static getValue(elementId) {
|
||||||
return this.getElement(elementId).value;
|
return Util.getElement(elementId).value;
|
||||||
}
|
}
|
||||||
|
|
||||||
static setValue(elementId, value) {
|
static setValue(elementId, value) {
|
||||||
this.getElement(elementId).value = value;
|
Util.getElement(elementId).value = value;
|
||||||
}
|
}
|
||||||
//add class .selected to specified element
|
//add class .selected to specified element
|
||||||
static select(elementId) {
|
static select(elementId) {
|
||||||
this.getElement(elementId).classList.add('selected');
|
Util.getElement(elementId).classList.add('selected');
|
||||||
}
|
}
|
||||||
|
|
||||||
//remove .selected class from specified element
|
//remove .selected class from specified element
|
||||||
static deselect(elementId) {
|
static deselect(elementId) {
|
||||||
this.getElement(elementId).classList.remove('selected');
|
Util.getElement(elementId).classList.remove('selected');
|
||||||
}
|
}
|
||||||
//toggle the status of the .selected class on the specified element
|
//toggle the status of the .selected class on the specified element
|
||||||
static toggle(elementId) {
|
static toggle(elementId) {
|
||||||
this.getElement(elementId).classList.toggle('selected');
|
Util.getElement(elementId).classList.toggle('selected');
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -9,7 +9,7 @@ for (var i = 1; i < mainMenuItems.length; i++) {
|
|||||||
|
|
||||||
//when you click a main menu items button
|
//when you click a main menu items button
|
||||||
on('click', menuButton, function (e, button) {
|
on('click', menuButton, function (e, button) {
|
||||||
select(button.parentElement);
|
Util.select(button.parentElement);
|
||||||
});
|
});
|
||||||
|
|
||||||
var subMenu = menuItem.children[1];
|
var subMenu = menuItem.children[1];
|
||||||
@@ -191,7 +191,7 @@ for (var i = 1; i < mainMenuItems.length; i++) {
|
|||||||
function closeMenu () {
|
function closeMenu () {
|
||||||
//remove .selected class from all menu buttons
|
//remove .selected class from all menu buttons
|
||||||
for (var i = 0; i < mainMenuItems.length; i++) {
|
for (var i = 0; i < mainMenuItems.length; i++) {
|
||||||
deselect(mainMenuItems[i]);
|
Util.deselect(mainMenuItems[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -84,10 +84,10 @@ palettes["Gameboy Color"] = {"name":"Nintendo Gameboy (Black Zero)","author":"",
|
|||||||
|
|
||||||
const buttonEvent = () => {
|
const buttonEvent = () => {
|
||||||
//hide the dropdown menu
|
//hide the dropdown menu
|
||||||
deselect('palette-menu');
|
Util.deselect('palette-menu');
|
||||||
deselect('palette-button');
|
Util.deselect('palette-button');
|
||||||
deselect('palette-menu-splash');
|
Util.deselect('palette-menu-splash');
|
||||||
deselect('palette-button-splash');
|
Util.deselect('palette-button-splash');
|
||||||
|
|
||||||
//show empty palette option
|
//show empty palette option
|
||||||
noPaletteButton.style.display = 'block';
|
noPaletteButton.style.display = 'block';
|
||||||
@@ -115,15 +115,15 @@ palettes["Gameboy Color"] = {"name":"Nintendo Gameboy (Black Zero)","author":"",
|
|||||||
document.getElementById('load-palette-browse-holder').click();
|
document.getElementById('load-palette-browse-holder').click();
|
||||||
}
|
}
|
||||||
const clickPaletteButtonEvent = (e) => {
|
const clickPaletteButtonEvent = (e) => {
|
||||||
toggle('palette-button');
|
Util.toggle('palette-button');
|
||||||
toggle('palette-menu');
|
Util.toggle('palette-menu');
|
||||||
|
|
||||||
deselect('preset-button');
|
Util.deselect('preset-button');
|
||||||
deselect('preset-menu');
|
Util.deselect('preset-menu');
|
||||||
|
|
||||||
// Splash version
|
// Splash version
|
||||||
toggle('palette-button-splash');
|
Util.toggle('palette-button-splash');
|
||||||
toggle('palette-menu-splash');
|
Util.toggle('palette-menu-splash');
|
||||||
|
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
}
|
}
|
||||||
@@ -141,13 +141,13 @@ palettes["Gameboy Color"] = {"name":"Nintendo Gameboy (Black Zero)","author":"",
|
|||||||
})
|
})
|
||||||
|
|
||||||
newPixelElement.addEventListener('click', () => {
|
newPixelElement.addEventListener('click', () => {
|
||||||
deselect('preset-button');
|
Util.deselect('preset-button');
|
||||||
deselect('preset-menu');
|
Util.deselect('preset-menu');
|
||||||
deselect('palette-button');
|
Util.deselect('palette-button');
|
||||||
deselect('palette-menu');
|
Util.deselect('palette-menu');
|
||||||
|
|
||||||
// Splash version
|
// Splash version
|
||||||
deselect('palette-button-splash');
|
Util.deselect('palette-button-splash');
|
||||||
deselect('palette-menu-splash');
|
Util.deselect('palette-menu-splash');
|
||||||
})
|
})
|
||||||
})();
|
})();
|
@@ -25,8 +25,8 @@ const PresetModule = (() => {
|
|||||||
Util.setText('palette-button', presets[presetName].palette);
|
Util.setText('palette-button', presets[presetName].palette);
|
||||||
|
|
||||||
//hide the dropdown menu
|
//hide the dropdown menu
|
||||||
deselect('preset-menu');
|
Util.deselect('preset-menu');
|
||||||
deselect('preset-button');
|
Util.deselect('preset-button');
|
||||||
|
|
||||||
//set the text of the dropdown to the newly selected preset
|
//set the text of the dropdown to the newly selected preset
|
||||||
Util.setText('preset-button', presetName);
|
Util.setText('preset-button', presetName);
|
||||||
@@ -41,8 +41,8 @@ const PresetModule = (() => {
|
|||||||
Util.toggle('preset-menu');
|
Util.toggle('preset-menu');
|
||||||
|
|
||||||
//close the palette menu
|
//close the palette menu
|
||||||
deselect('palette-button');
|
Util.deselect('palette-button');
|
||||||
deselect('palette-menu');
|
Util.deselect('palette-menu');
|
||||||
|
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
//=include util/onChildren.js
|
//=include util/onChildren.js
|
||||||
//=include util/onClick.js
|
//=include util/onClick.js
|
||||||
//=include util/onClickChildren.js
|
//=include util/onClickChildren.js
|
||||||
//=include util/select.js
|
|
||||||
//=include util/hexToRgb.js
|
//=include util/hexToRgb.js
|
||||||
//=include util/rgbToHex.js
|
//=include util/rgbToHex.js
|
||||||
//=include util/rgbToHsl.js
|
//=include util/rgbToHsl.js
|
||||||
|
@@ -1,20 +0,0 @@
|
|||||||
//add class .selected to specified element
|
|
||||||
function select(elementId) {
|
|
||||||
//console.log(arguments.callee.caller.name, 'selected ', elementId);
|
|
||||||
var element = (typeof elementId == 'string' ? document.getElementById(elementId) : elementId);
|
|
||||||
element.classList.add('selected');
|
|
||||||
}
|
|
||||||
|
|
||||||
//remove .selected class from specified element
|
|
||||||
function deselect(elementId) {
|
|
||||||
//console.log('deselected ', elementId);
|
|
||||||
var element = (typeof elementId == 'string' ? document.getElementById(elementId) : elementId);
|
|
||||||
element.classList.remove('selected');
|
|
||||||
}
|
|
||||||
|
|
||||||
//toggle the status of the .selected class on the specified element
|
|
||||||
function toggle(elementId) {
|
|
||||||
//console.log('toggled ', elementId);
|
|
||||||
var element = (typeof elementId == 'string' ? document.getElementById(elementId) : elementId);
|
|
||||||
element.classList.toggle('selected');
|
|
||||||
}
|
|
Reference in New Issue
Block a user