Skip to content

Commit 20562a1

Browse files
committed
wip layers
1 parent 8279571 commit 20562a1

File tree

6 files changed

+105
-152
lines changed

6 files changed

+105
-152
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"editor.codeActionsOnSave": {
3-
"source.fixAll.eslint": true
3+
"source.fixAll.eslint": "explicit"
44
},
55
"[javascript][vue]": {
66
"editor.formatOnSave": false

app/public/js/configuration.json

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,6 @@
6767
"scriptPath": "/js/tools/draw.js",
6868
"iconPath": "/img/draw.svg"
6969
},
70-
{
71-
"name": "Layers",
72-
"id": "layers",
73-
"desc": "",
74-
"exportedVar": [
75-
"ToolLayers"
76-
],
77-
"scriptPath": "/js/tools/layers.js",
78-
"iconPath": "/img/layers.svg"
79-
},
8070
{
8171
"name": "DrawPolygon",
8272
"id": "drawPolygon",

app/public/js/microdraw.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1214,7 +1214,7 @@ const Microdraw = (function () {
12141214
me.viewerOpenImage(me.ImageInfo[me.currentImage]);
12151215

12161216
// update layers if there's any
1217-
me.tools.layers.updateLayers();
1217+
window.dispatchEvent(new CustomEvent('updateMicrodrawLayers'));
12181218
},
12191219

12201220
/**

app/public/js/tools/layers.js

Lines changed: 0 additions & 106 deletions
This file was deleted.

app/views/scripts/components/Layer.vue

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,59 +5,65 @@
55
<li>
66
<b class="layer-item"> Opacity (%):</b>
77
<input
8+
type="number"
89
class="layer-value"
910
:value="layer.opacity * 100"
10-
onchange="changeOpacity"
11+
@change="emit('updateLayer', index, 'opacity', $event.target.valueAsNumber / 100)"
1112
>
1213
<input
1314
type="range"
1415
:value="layer.opacity * 100"
1516
min="0"
1617
max="100"
17-
oninput="changeOpacity"
18+
@input="emit('updateLayer', index, 'opacity', $event.target.valueAsNumber / 100)"
1819
style="width:100px"
1920
>
2021
</li>
2122
<li>
2223
<b class="layer-item">Position (%)</b>
2324
<input
25+
type="number"
2426
class="layer-value"
2527
:value="layer.x"
26-
onchange="changeX"
28+
@change="emit('updateLayer', index, 'x', $event.target.valueAsNumber)"
2729
>
2830
<input
31+
type="number"
2932
class="layer-value"
3033
:value="layer.y"
31-
onchange="changeY"
34+
@change="emit('updateLayer', index, 'y', $event.target.valueAsNumber)"
3235
>
3336
</li>
3437
<li>
3538
<b class="layer-item">Rotation (deg):</b> <input
39+
type="number"
3640
class="layer-value"
3741
:value="layer.rotation"
38-
onchange="changeRotation"
42+
@change="emit('updateLayer', index, 'rotation', $event.target.valueAsNumber)"
3943
>
4044
</li>
4145
<li>
4246
<b class="layer-item"> First slice:</b> <input
47+
type="number"
4348
class="layer-value"
4449
:value="layer.firstSlice"
4550
min="0"
46-
max="999"
47-
onchange="changeFirstSlice"
51+
:max="maxSlice"
52+
@change="emit('updateLayer', index, 'firstSlice', $event.target.valueAsNumber)"
4853
> (0 - {{ maxSlice }})
4954
</li>
5055
<li>
5156
<b class="layer-item"> Last slice:</b> <input
57+
type="number"
5258
class="layer-value"
5359
:value="layer.lastSlice"
5460
min="0"
55-
max="999"
56-
onchange="changeLastSlice"
61+
:max="maxSlice"
62+
@change="emit('updateLayer', index, 'lastSlice', $event.target.valueAsNumber)"
5763
> (0 - {{ maxSlice }})
5864
</li>
5965
<li>
60-
<button onclick="deleteLayer">
66+
<button @click="emit('delete')">
6167
Delete layer
6268
</button>
6369
</li>
@@ -71,17 +77,14 @@ const props = defineProps({
7177
layer: {
7278
type: Object,
7379
required: true
80+
},
81+
index: {
82+
type: Number,
83+
required: true
7484
}
7585
});
7686
77-
const changeOpacity = () => {};
78-
const changeX = () => {};
79-
const changeY = () => {};
80-
const changeRotation = () => {};
81-
82-
const changeFirstSlice = () => {};
83-
const changeLastSlice = () => {};
84-
87+
const emit = defineEmits(['delete', 'updateLayer']);
8588
const maxSlice = computed(() => props.layer.imageSources.tileSources.length - 1);
8689
8790
</script>
@@ -93,11 +96,11 @@ ul {
9396
}
9497
.layer-item {
9598
display: inline-block;
96-
width: 100px;
99+
width: 120px;
97100
margin-left: 10px;
98101
}
99102
.layer-value {
100-
width: 40px;
103+
width: 50px;
101104
text-align: right;
102105
color: #000;
103106
}

0 commit comments

Comments
 (0)