mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
Issue #293: use input type number and fix linting issues
This commit is contained in:
parent
169ce21556
commit
fae04f3616
@ -172,3 +172,9 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#png-export-columns {
|
||||||
|
/* Override default textfield padding-right to keep the number spinners
|
||||||
|
aligned to the right. */
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
@ -2,17 +2,22 @@
|
|||||||
var ns = $.namespace('pskl.controller.settings.exportimage');
|
var ns = $.namespace('pskl.controller.settings.exportimage');
|
||||||
|
|
||||||
var dimensionInfoPattern = '{{width}} x {{height}} px, {{frames}}<br/>{{rows}}, {{columns}}.';
|
var dimensionInfoPattern = '{{width}} x {{height}} px, {{frames}}<br/>{{rows}}, {{columns}}.';
|
||||||
|
|
||||||
|
// Shortcut to pskl.utils.Template.replace
|
||||||
var replace = pskl.utils.Template.replace;
|
var replace = pskl.utils.Template.replace;
|
||||||
|
|
||||||
|
// Helper to return "X items" or "1 item" if X is 1.
|
||||||
var pluralize = function (word, count) {
|
var pluralize = function (word, count) {
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
return '1 ' + word;
|
return '1 ' + word;
|
||||||
}
|
}
|
||||||
return count + ' ' + word + 's';
|
return count + ' ' + word + 's';
|
||||||
};
|
};
|
||||||
var getNearestPowerOfTwo = function (number) {
|
|
||||||
return Math.pow(2, Math.ceil(Math.log(number)/Math.log(2)));
|
|
||||||
};
|
|
||||||
|
|
||||||
|
// Compute the nearest power of two for the provided number.
|
||||||
|
var getNearestPowerOfTwo = function (number) {
|
||||||
|
return Math.pow(2, Math.ceil(Math.log(number) / Math.log(2)));
|
||||||
|
};
|
||||||
|
|
||||||
ns.PngExportController = function (piskelController, exportController) {
|
ns.PngExportController = function (piskelController, exportController) {
|
||||||
this.piskelController = piskelController;
|
this.piskelController = piskelController;
|
||||||
@ -33,7 +38,6 @@
|
|||||||
this.updateDimensionLabel_();
|
this.updateDimensionLabel_();
|
||||||
|
|
||||||
this.addEventListener(downloadButton, 'click', this.onDownloadClick_);
|
this.addEventListener(downloadButton, 'click', this.onDownloadClick_);
|
||||||
this.addEventListener(this.columnsInput, 'keydown', this.onColumnsKeydown_);
|
|
||||||
this.addEventListener(this.columnsInput, 'input', this.onColumnsChanged_);
|
this.addEventListener(this.columnsInput, 'input', this.onColumnsChanged_);
|
||||||
this.addEventListener(this.powerTwo, 'change', this.onPowerTwoChanged_);
|
this.addEventListener(this.powerTwo, 'change', this.onPowerTwoChanged_);
|
||||||
$.subscribe(Events.EXPORT_SCALE_CHANGED, this.onScaleChanged_);
|
$.subscribe(Events.EXPORT_SCALE_CHANGED, this.onScaleChanged_);
|
||||||
@ -51,7 +55,7 @@
|
|||||||
var frames = this.piskelController.getFrameCount();
|
var frames = this.piskelController.getFrameCount();
|
||||||
if (frames === 1) {
|
if (frames === 1) {
|
||||||
// Hide the layout section if only one frame is defined.
|
// Hide the layout section if only one frame is defined.
|
||||||
this.layoutContainer.style.display = "none";
|
this.layoutContainer.style.display = 'none';
|
||||||
} else {
|
} else {
|
||||||
this.columnsInput.value = this.getBestFit_();
|
this.columnsInput.value = this.getBestFit_();
|
||||||
this.powerTwo.checked = pskl.UserSettings.get('EXPORT_PNG_POWER_TWO');
|
this.powerTwo.checked = pskl.UserSettings.get('EXPORT_PNG_POWER_TWO');
|
||||||
@ -77,10 +81,10 @@
|
|||||||
this.dimensionInfo.innerHTML = replace(dimensionInfoPattern, {
|
this.dimensionInfo.innerHTML = replace(dimensionInfoPattern, {
|
||||||
width: width,
|
width: width,
|
||||||
height: height,
|
height: height,
|
||||||
rows: pluralize("row", rows),
|
rows: pluralize('row', rows),
|
||||||
columns: pluralize("column", columns),
|
columns: pluralize('column', columns),
|
||||||
frames: pluralize("frame", frames),
|
frames: pluralize('frame', frames),
|
||||||
})
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
ns.PngExportController.prototype.getColumns_ = function () {
|
ns.PngExportController.prototype.getColumns_ = function () {
|
||||||
@ -112,19 +116,6 @@
|
|||||||
this.updateDimensionLabel_();
|
this.updateDimensionLabel_();
|
||||||
};
|
};
|
||||||
|
|
||||||
ns.PngExportController.prototype.onColumnsKeydown_ = function (evt) {
|
|
||||||
var key = pskl.service.keyboard.KeycodeTranslator.toChar(evt.keyCode);
|
|
||||||
if (key === 'up') {
|
|
||||||
evt.preventDefault();
|
|
||||||
this.columnsInput.value = this.getColumns_() + 1;
|
|
||||||
this.onColumnsChanged_();
|
|
||||||
} else if (key === 'down') {
|
|
||||||
evt.preventDefault();
|
|
||||||
this.columnsInput.value = this.getColumns_() - 1;
|
|
||||||
this.onColumnsChanged_();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ns.PngExportController.prototype.onPowerTwoChanged_ = function () {
|
ns.PngExportController.prototype.onPowerTwoChanged_ = function () {
|
||||||
pskl.UserSettings.set('EXPORT_PNG_POWER_TWO', this.powerTwo.checked);
|
pskl.UserSettings.set('EXPORT_PNG_POWER_TWO', this.powerTwo.checked);
|
||||||
this.updateDimensionLabel_();
|
this.updateDimensionLabel_();
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div style="flex: 1; line-height: 20px;">
|
<div style="flex: 1; line-height: 20px;">
|
||||||
<span>Columns</span>
|
<span>Columns</span>
|
||||||
<input type="text" class="textfield" id="png-export-columns" name="png-export-columns">
|
<input type="number" class="textfield" id="png-export-columns" name="png-export-columns">
|
||||||
</div>
|
</div>
|
||||||
<div style="flex: 1; line-height: 20px;">
|
<div style="flex: 1; line-height: 20px;">
|
||||||
<label for="png-export-power-two">Power of 2</label>
|
<label for="png-export-power-two">Power of 2</label>
|
||||||
|
Loading…
Reference in New Issue
Block a user