Skip to content

Commit 8733f7a

Browse files
committed
Added script to run inside a docker container: npm run-script startindocker
Changed arrows to draw as a single line that is blue and width of 10 for now instead of an svg path. Exposed setArrow() to assign line thickness and color.
1 parent fa9ca7e commit 8733f7a

File tree

11 files changed

+124
-223
lines changed

11 files changed

+124
-223
lines changed

dist/pdf-annotate.js

Lines changed: 83 additions & 149 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/pdf-annotate.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/pdf-annotate.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/pdf-annotate.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"scripts": {
77
"test": "karma start --single-run",
88
"start": "./scripts/web",
9+
"startindocker": "./scripts/web-docker",
910
"build": "webpack && MINIFY=1 webpack",
1011
"coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"
1112
},

scripts/web-docker

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
./scripts/shared
4+
cp -rf shared/ web/shared/
5+
6+
server=./node_modules/.bin/webpack-dev-server
7+
$server --host=0.0.0.0 --inline --config ./webpack.web.js --content-base web/

src/UI/arrow.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,11 @@ function savePoint(x, y) {
132132
y - rect.top
133133
], svg);
134134

135-
lines.push(point);
136-
137-
if (lines.length <= 1) {
135+
if (lines.length < 2) {
136+
lines.push(point);
138137
return;
138+
} else {
139+
lines[1] = point; // update end point
139140
}
140141

141142
if (path) {
@@ -156,7 +157,7 @@ function savePoint(x, y) {
156157
* @param {Number} penSize The size of the lines drawn by the pen
157158
* @param {String} penColor The color of the lines drawn by the pen
158159
*/
159-
export function setArrow(penSize = 1, penColor = '000000') {
160+
export function setArrow(penSize = 10, penColor = '0000FF') {
160161
_penSize = parseInt(penSize, 10);
161162
_penColor = penColor;
162163
}

src/UI/circle.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ function handleDocumentMouseup(e) {
2222
}
2323
let rect = svg.getBoundingClientRect();
2424
saveCircle(svg, _type, {
25-
x: e.clientX - rect.left,
26-
y: e.clientY - rect.top
27-
}, "0000FF");
25+
x: e.clientX - rect.left,
26+
y: e.clientY - rect.top
27+
}, 15, "0000FF"
28+
);
2829
}
2930

3031
/**
@@ -34,15 +35,15 @@ function handleDocumentMouseup(e) {
3435
* @param {Object} pt The point to use for annotation
3536
* @param {String} color The color of the rects
3637
*/
37-
function saveCircle(svg, type, pt, color) {
38+
function saveCircle(svg, type, pt, radius, color) {
3839
// Initialize the annotation
3940
let svg_pt = convertToSvgPoint([ pt.x, pt.y ], svg)
4041
let annotation = {
4142
type,
4243
color,
4344
cx: svg_pt[0],
4445
cy: svg_pt[1],
45-
r: 10
46+
r: radius
4647
};
4748

4849
let { documentId, pageNumber } = getMetadata(svg);

src/UI/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default {
1515
disablePoint, enablePoint,
1616
disableRect, enableRect,
1717
disableCircle, enableCircle,
18-
disableArrow, enableArrow,
18+
disableArrow, enableArrow, setArrow,
1919
disableText, enableText, setText,
2020
createPage, renderPage
2121
};

src/render/renderArrow.js

Lines changed: 14 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -10,68 +10,22 @@ import normalizeColor from '../utils/normalizeColor';
1010
*/
1111
export default function renderArrow(a) {
1212
let d = [];
13-
let arrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
14-
15-
/*
16-
for (let i=0, l=a.lines.length; i<l; i++) {
17-
var p1 = a.lines[i];
18-
var p2 = a.lines[i+1];
19-
if (p2) {
20-
d.push(`M${p1[0]} ${p1[1]} ${p2[0]} ${p2[1]}`);
21-
}
22-
}*/
13+
let arrow = document.createElementNS('http://www.w3.org/2000/svg', 'line');
2314

24-
25-
if(a.lines.length>2) {
15+
if (a.lines.length == 2) {
2616
var p1 = a.lines[0];
27-
var p2 = a.lines[a.lines.length-1];
28-
29-
var p3 = []; //arrow
30-
var p4 = [];
31-
var p0 = []; //arrow intersection
32-
33-
34-
35-
if (p2) {
36-
var k = -(p2[0]-p1[0])/(p2[1]-p1[1]);
37-
38-
var deltaX = 3;
39-
p0[0] = p1[0]+0.8*(p2[0]-p1[0]);
40-
p0[1] = p1[1]+0.8*(p2[1]-p1[1]);
41-
42-
p3[0] = p0[0] + deltaX;
43-
p3[1] = p0[1] + k*deltaX;
44-
45-
p4[0] = p0[0] - deltaX;
46-
p4[1] = p0[1] - k*deltaX;
47-
48-
49-
//avoid the fat arrow
50-
var dist = Math.sqrt((p4[0]-p3[0])*(p4[0]-p3[0])+(p4[1]-p3[1])*(p4[1]-p3[1]))
51-
52-
if(Math.abs(p2[1]-p1[1]) < 20 || dist>8 ) {
53-
54-
p3[0] = p0[0] ;
55-
p3[1] = p0[1] + deltaX*1;
56-
57-
p4[0] = p0[0] ;
58-
p4[1] = p0[1] - deltaX*1;
59-
60-
}
61-
d.push(`M${p1[0]} ${p1[1]} ${p2[0]} ${p2[1]}`);
62-
//d.push(`M${p1[0]} ${p1[1]} ${p2[0]} ${p2[1]}`);
63-
d.push(`M${p2[0]} ${p2[1]} ${p3[0]} ${p3[1]}`);
64-
d.push(`M${p3[0]} ${p3[1]} ${p4[0]} ${p4[1]}`);
65-
d.push(`M${p4[0]} ${p4[1]} ${p2[0]} ${p2[1]}`);
66-
}
67-
}
68-
69-
setAttributes(arrow, {
70-
d: `${d.join(' ')}Z`,
71-
stroke: normalizeColor(a.color || '#000'),
72-
strokeWidth: a.width || 1,
73-
fill: '#000'
74-
});
17+
var p2 = a.lines[a.lines.length - 1];
18+
19+
setAttributes(arrow, {
20+
x1: p1[0],
21+
y1: p1[1],
22+
x2: p2[0],
23+
y2: p2[1],
24+
stroke: normalizeColor(a.color || '#000'),
25+
strokeWidth: a.width || 1,
26+
fill: '#000'
27+
});
28+
}
7529

7630
return arrow;
7731
}

0 commit comments

Comments
 (0)