Skip to content

Commit b9006c4

Browse files
committed
check for defaultTool in hiddenTools
1 parent 67c42b8 commit b9006c4

File tree

6 files changed

+37
-11
lines changed

6 files changed

+37
-11
lines changed

CONTRIBUTORS.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
3+
Painterro contributors
4+
============================================
5+
6+
* **[Jesfery](https://github.com/Jesfery)**
7+
8+
* defaultTool param
9+
10+
* **[Ivan Borshchov](https://github.com/ivictbor)**
11+
* maintainer

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ Painterro({
137137
|`backgroundFillColorAlpha`| Transparancy of `backgroundFillColor` from 0.0 to 1.0 | 1.0 |
138138
|`defaultFontSize` | Default font size in pixels | 24 |
139139
|`defaultSize` | default image size, should be string in format `<width>x<height>` in pixel, e.g. `'200x100'`. If value is `'fill'`(default) than all container size will be used | `'fill'` |
140-
|`hiddenTools` | List of tools that you wish to exclude from toolbar e.g. something from this list `['crop', 'line', 'rect', 'ellipse', 'brush', 'text', 'rotate', 'resize', 'save', 'open', 'close']` | [] |
140+
|`defaultTool` | Tool selected by default | 'select' |
141+
|`hiddenTools` | List of tools that you wish to exclude from toolbar e.g. something from this list `['crop', 'line', 'rect', 'ellipse', 'brush', 'text', 'rotate', 'resize', 'save', 'open', 'close']`, You can't hide default tool | [] |
141142
|`initText` | Display some centered text before painting. If null, no text will be shown | null |
142143
|`initTextColor` | Color of init text | '#808080' |
143144
|`initTextStyle` | Style of init text | "26px 'Open Sans', sans-serif" |
@@ -345,6 +346,11 @@ Add/edit icons in `res` folder. Then run
345346
npm run buildfont
346347
```
347348

349+
Contributing
350+
------------
351+
Pull-requests are welcome. Please add yourself to CONTRIBUTORS.md
352+
353+
348354
ToDo list
349355
---------
350356

build/index.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@
4646

4747
Painterro({
4848
initText: 'Press Prn Scr, Ctrl+V to paste a screenshot',
49-
// hiddenTools: ['crop']
49+
// defaultTool: 'line',
50+
//hiddenTools: ['line']
5051
}).show();
5152
</script>
5253
</body>

js/main.js

+4-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import WorkLog from './worklog';
77
import { genId, addDocumentObjectHelpers, KEYS, trim, isMobileOrTablet, getScrollbarWidth } from './utils';
88
import PrimitiveTool from './primitive';
99
import ColorPicker from './colorPicker';
10-
import { setDefaults, setParam } from './params';
10+
import { setDefaults, setParam, logError } from './params';
1111
import { tr } from './translation';
1212
import ZoomHelper from './zoomHelper';
1313
import TextTool from './text';
@@ -491,15 +491,11 @@ class PainterroProc {
491491
this.currentBackground = this.colorWidgetState.bg.alphaColor;
492492
this.currentBackgroundAlpha = this.colorWidgetState.bg.alpha;
493493

494-
if (this.params.defaultTool) {
495-
this.defaultTool = this.toolByName[this.params.defaultTool];
496-
}
497-
this.defaultTool = this.defaultTool || this.toolByName.select;
498-
494+
this.defaultTool = this.toolByName[this.params.defaultTool] || this.toolByName.select;
499495

500496
this.tools.filter(t => this.params.hiddenTools.indexOf(t.name) === -1).forEach((b) => {
501497
this.getBtnEl(b).onclick = () => {
502-
if (b === this.toolByName.select && this.activeTool === b) {
498+
if (b === this.defaultTool && this.activeTool === b) {
503499
return;
504500
}
505501
const currentActive = this.activeTool;
@@ -596,7 +592,7 @@ class PainterroProc {
596592
this.saving = false;
597593
});
598594
} else {
599-
console.error('No saveHandler defined, please check documentation');
595+
logError('No saveHandler defined, please check documentation');
600596
if (icon) {
601597
icon.className = 'ptro-icon ptro-icon-save';
602598
}

js/params.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { HexToRGBA } from './colorPicker';
22
import Translation from './translation';
3-
import { trim } from './utils';
3+
import { trim, logError } from './utils';
44

55
const STORAGE_KEY = 'painterro-data';
66

@@ -60,7 +60,15 @@ export function setDefaults(parameters) {
6060
params.backgroundFillAlphaColor = HexToRGBA(params.backgroundFillColor,
6161
params.backgroundFillColorAlpha);
6262

63+
64+
params.defaultTool = params.defaultTool || 'select';
6365
params.hiddenTools = params.hiddenTools || [];
66+
const defaultInHiddenIndex = params.hiddenTools.indexOf(params.defaultTool);
67+
if (defaultInHiddenIndex > -1) {
68+
logError(`Can't hide default tool '${params.defaultTool}', please change default tool to another to hide it`);
69+
params.hiddenTools.splice(defaultInHiddenIndex, 1);
70+
}
71+
6472
params.pixelizePixelSize = settings.pixelizePixelSize || params.pixelizePixelSize || '20%';
6573

6674
params.colorScheme = params.colorScheme || {};

js/utils.js

+4
Original file line numberDiff line numberDiff line change
@@ -156,3 +156,7 @@ export function imgToDataURL(url, callback) {
156156
xhr.responseType = 'blob';
157157
xhr.send();
158158
}
159+
160+
export function logError(error) {
161+
console.error(`[Painterro] ${error}`);
162+
}

0 commit comments

Comments
 (0)