Different styles of border, Ref: #137

This commit is contained in:
ziajka 2018-05-28 14:23:09 +02:00
parent 2a0a1d7e9f
commit cdd377b356
15 changed files with 33 additions and 1 deletions

View File

@ -14,6 +14,7 @@ describe('EllipseConverter', () => {
node.setAttribute("fill-opacity", "1.0"); node.setAttribute("fill-opacity", "1.0");
node.setAttribute("stroke", "#000000"); node.setAttribute("stroke", "#000000");
node.setAttribute("stroke-width", "2"); node.setAttribute("stroke-width", "2");
node.setAttribute("stroke-dasharray", "5,25,25");
node.setAttribute("cx", "63"); node.setAttribute("cx", "63");
node.setAttribute("cy", "59"); node.setAttribute("cy", "59");
node.setAttribute("rx", "63"); node.setAttribute("rx", "63");
@ -24,6 +25,7 @@ describe('EllipseConverter', () => {
expect(drawing.fill_opacity).toEqual(1.0); expect(drawing.fill_opacity).toEqual(1.0);
expect(drawing.stroke).toEqual("#000000"); expect(drawing.stroke).toEqual("#000000");
expect(drawing.stroke_width).toEqual(2.0); expect(drawing.stroke_width).toEqual(2.0);
expect(drawing.stroke_dasharray).toEqual("5,25,25");
expect(drawing.cx).toEqual(63); expect(drawing.cx).toEqual(63);
expect(drawing.cy).toEqual(59); expect(drawing.cy).toEqual(59);
expect(drawing.rx).toEqual(63); expect(drawing.rx).toEqual(63);

View File

@ -26,6 +26,11 @@ export class EllipseConverter implements SvgConverter {
drawing.stroke_width = parseInt(stroke_width.value, 10); drawing.stroke_width = parseInt(stroke_width.value, 10);
} }
const stroke_dasharray = node.attributes.getNamedItem("stroke-dasharray");
if (stroke_dasharray) {
drawing.stroke_dasharray = stroke_dasharray.value;
}
const cx = node.attributes.getNamedItem('cx'); const cx = node.attributes.getNamedItem('cx');
if (cx) { if (cx) {
drawing.cx = parseInt(cx.value, 10); drawing.cx = parseInt(cx.value, 10);

View File

@ -12,6 +12,7 @@ describe('LineConverter', () => {
const node = document.createElement("line"); const node = document.createElement("line");
node.setAttribute("stroke", "#000000"); node.setAttribute("stroke", "#000000");
node.setAttribute("stroke-width", "2"); node.setAttribute("stroke-width", "2");
node.setAttribute("stroke-dasharray", "5,25,25");
node.setAttribute("x1", "10.10"); node.setAttribute("x1", "10.10");
node.setAttribute("x2", "20"); node.setAttribute("x2", "20");
node.setAttribute("y1", "30"); node.setAttribute("y1", "30");
@ -20,6 +21,7 @@ describe('LineConverter', () => {
const drawing = lineConverter.convert(node); const drawing = lineConverter.convert(node);
expect(drawing.stroke).toEqual("#000000"); expect(drawing.stroke).toEqual("#000000");
expect(drawing.stroke_width).toEqual(2.0); expect(drawing.stroke_width).toEqual(2.0);
expect(drawing.stroke_dasharray).toEqual("5,25,25");
expect(drawing.x1).toEqual(10); expect(drawing.x1).toEqual(10);
expect(drawing.x2).toEqual(20); expect(drawing.x2).toEqual(20);
expect(drawing.y1).toEqual(30); expect(drawing.y1).toEqual(30);

View File

@ -16,6 +16,11 @@ export class LineConverter implements SvgConverter {
drawing.stroke_width = parseInt(stroke_width.value, 10); drawing.stroke_width = parseInt(stroke_width.value, 10);
} }
const stroke_dasharray = node.attributes.getNamedItem("stroke-dasharray");
if (stroke_dasharray) {
drawing.stroke_dasharray = stroke_dasharray.value;
}
const x1 = node.attributes.getNamedItem('x1'); const x1 = node.attributes.getNamedItem('x1');
if (x1) { if (x1) {
drawing.x1 = parseInt(x1.value, 10); drawing.x1 = parseInt(x1.value, 10);

View File

@ -14,6 +14,7 @@ describe('RectConverter', () => {
node.setAttribute("fill-opacity", "0.7"); node.setAttribute("fill-opacity", "0.7");
node.setAttribute("stroke", "#000000"); node.setAttribute("stroke", "#000000");
node.setAttribute("stroke-width", "2"); node.setAttribute("stroke-width", "2");
node.setAttribute("stroke-dasharray", "5,25,25");
node.setAttribute("width", "100px"); node.setAttribute("width", "100px");
node.setAttribute("height", "200px"); node.setAttribute("height", "200px");
@ -22,7 +23,7 @@ describe('RectConverter', () => {
expect(drawing.fill).toEqual("#ffffff"); expect(drawing.fill).toEqual("#ffffff");
expect(drawing.fill_opacity).toEqual(0.7); expect(drawing.fill_opacity).toEqual(0.7);
expect(drawing.stroke).toEqual("#000000"); expect(drawing.stroke).toEqual("#000000");
expect(drawing.stroke_width).toEqual(2.0); expect(drawing.stroke_dasharray).toEqual("5,25,25");
expect(drawing.width).toEqual(100); expect(drawing.width).toEqual(100);
expect(drawing.height).toEqual(200); expect(drawing.height).toEqual(200);
}); });

View File

@ -26,6 +26,11 @@ export class RectConverter implements SvgConverter {
drawing.stroke_width = parseInt(stroke_width.value, 10); drawing.stroke_width = parseInt(stroke_width.value, 10);
} }
const stroke_dasharray = node.attributes.getNamedItem("stroke-dasharray");
if (stroke_dasharray) {
drawing.stroke_dasharray = stroke_dasharray.value;
}
const width = node.attributes.getNamedItem('width'); const width = node.attributes.getNamedItem('width');
if (width) { if (width) {
drawing.width = parseInt(width.value, 10); drawing.width = parseInt(width.value, 10);

View File

@ -12,4 +12,5 @@ export class EllipseElement implements DrawingElement {
ry: number; ry: number;
stroke: string; stroke: string;
stroke_width: number; stroke_width: number;
stroke_dasharray: string;
} }

View File

@ -6,6 +6,7 @@ export class LineElement implements DrawingElement {
width: number; width: number;
stroke: string; stroke: string;
stroke_width: number; stroke_width: number;
stroke_dasharray: string;
x1: number; x1: number;
x2: number; x2: number;
y1: number; y1: number;

View File

@ -8,4 +8,5 @@ export class RectElement implements DrawingElement {
fill_opacity: number; fill_opacity: number;
stroke: string; stroke: string;
stroke_width: number; stroke_width: number;
stroke_dasharray: string;
} }

View File

@ -26,6 +26,7 @@ describe('EllipseDrawingWidget', () => {
ellipse.fill_opacity = 2.0; ellipse.fill_opacity = 2.0;
ellipse.stroke = "#000000"; ellipse.stroke = "#000000";
ellipse.stroke_width = 2.0; ellipse.stroke_width = 2.0;
ellipse.stroke_dasharray = "5,25,25";
ellipse.cx = 10; ellipse.cx = 10;
ellipse.cy = 20; ellipse.cy = 20;
ellipse.rx = 30; ellipse.rx = 30;
@ -45,6 +46,7 @@ describe('EllipseDrawingWidget', () => {
expect(ellipse_element.getAttribute('fill-opacity')).toEqual('2'); expect(ellipse_element.getAttribute('fill-opacity')).toEqual('2');
expect(ellipse_element.getAttribute('stroke')).toEqual('#000000'); expect(ellipse_element.getAttribute('stroke')).toEqual('#000000');
expect(ellipse_element.getAttribute('stroke-width')).toEqual('2'); expect(ellipse_element.getAttribute('stroke-width')).toEqual('2');
expect(ellipse_element.getAttribute('stroke-dasharray')).toEqual('5,25,25');
expect(ellipse_element.getAttribute('cx')).toEqual('10'); expect(ellipse_element.getAttribute('cx')).toEqual('10');
expect(ellipse_element.getAttribute('cy')).toEqual('20'); expect(ellipse_element.getAttribute('cy')).toEqual('20');
expect(ellipse_element.getAttribute('rx')).toEqual('30'); expect(ellipse_element.getAttribute('rx')).toEqual('30');

View File

@ -24,6 +24,7 @@ export class EllipseDrawingWidget implements DrawingWidget {
.attr('fill-opacity', (ellipse) => ellipse.fill_opacity) .attr('fill-opacity', (ellipse) => ellipse.fill_opacity)
.attr('stroke', (ellipse) => ellipse.stroke) .attr('stroke', (ellipse) => ellipse.stroke)
.attr('stroke-width', (ellipse) => ellipse.stroke_width) .attr('stroke-width', (ellipse) => ellipse.stroke_width)
.attr('stroke-dasharray', (ellipse) => ellipse.stroke_dasharray)
.attr('cx', (ellipse) => ellipse.cx) .attr('cx', (ellipse) => ellipse.cx)
.attr('cy', (ellipse) => ellipse.cy) .attr('cy', (ellipse) => ellipse.cy)
.attr('rx', (ellipse) => ellipse.rx) .attr('rx', (ellipse) => ellipse.rx)

View File

@ -24,6 +24,7 @@ describe('LineDrawingWidget', () => {
const line = new LineElement(); const line = new LineElement();
line.stroke = "#000000"; line.stroke = "#000000";
line.stroke_width = 2.0; line.stroke_width = 2.0;
line.stroke_dasharray = "5,25,25";
line.x1 = 10; line.x1 = 10;
line.x2 = 20; line.x2 = 20;
line.y1 = 30; line.y1 = 30;
@ -41,6 +42,7 @@ describe('LineDrawingWidget', () => {
const line_element = drew.nodes()[0]; const line_element = drew.nodes()[0];
expect(line_element.getAttribute('stroke')).toEqual('#000000'); expect(line_element.getAttribute('stroke')).toEqual('#000000');
expect(line_element.getAttribute('stroke-width')).toEqual('2'); expect(line_element.getAttribute('stroke-width')).toEqual('2');
expect(line_element.getAttribute('stroke-dasharray')).toEqual('5,25,25');
expect(line_element.getAttribute('x1')).toEqual('10'); expect(line_element.getAttribute('x1')).toEqual('10');
expect(line_element.getAttribute('x2')).toEqual('20'); expect(line_element.getAttribute('x2')).toEqual('20');
expect(line_element.getAttribute('y1')).toEqual('30'); expect(line_element.getAttribute('y1')).toEqual('30');

View File

@ -22,6 +22,7 @@ export class LineDrawingWidget implements DrawingWidget {
merge merge
.attr('stroke', (line) => line.stroke) .attr('stroke', (line) => line.stroke)
.attr('stroke-width', (line) => line.stroke_width) .attr('stroke-width', (line) => line.stroke_width)
.attr('stroke-dasharray', (line) => line.stroke_dasharray)
.attr('x1', (line) => line.x1) .attr('x1', (line) => line.x1)
.attr('x2', (line) => line.x2) .attr('x2', (line) => line.x2)
.attr('y1', (line) => line.y1) .attr('y1', (line) => line.y1)

View File

@ -26,6 +26,7 @@ describe('RectDrawingWidget', () => {
rect.fill_opacity = 1.0; rect.fill_opacity = 1.0;
rect.stroke = "#000000"; rect.stroke = "#000000";
rect.stroke_width = 2.0; rect.stroke_width = 2.0;
rect.stroke_dasharray = "5,25,25";
rect.width = 100; rect.width = 100;
rect.height = 200; rect.height = 200;
drawing.element = rect; drawing.element = rect;
@ -43,6 +44,7 @@ describe('RectDrawingWidget', () => {
expect(rect_element.getAttribute('fill-opacity')).toEqual('1'); expect(rect_element.getAttribute('fill-opacity')).toEqual('1');
expect(rect_element.getAttribute('stroke')).toEqual('#000000'); expect(rect_element.getAttribute('stroke')).toEqual('#000000');
expect(rect_element.getAttribute('stroke-width')).toEqual('2'); expect(rect_element.getAttribute('stroke-width')).toEqual('2');
expect(rect_element.getAttribute('stroke-dasharray')).toEqual('5,25,25');
expect(rect_element.getAttribute('width')).toEqual('100'); expect(rect_element.getAttribute('width')).toEqual('100');
expect(rect_element.getAttribute('height')).toEqual('200'); expect(rect_element.getAttribute('height')).toEqual('200');
}); });

View File

@ -24,6 +24,7 @@ export class RectDrawingWidget implements DrawingWidget {
.attr('fill-opacity', (rect) => rect.fill_opacity) .attr('fill-opacity', (rect) => rect.fill_opacity)
.attr('stroke', (rect) => rect.stroke) .attr('stroke', (rect) => rect.stroke)
.attr('stroke-width', (rect) => rect.stroke_width) .attr('stroke-width', (rect) => rect.stroke_width)
.attr('stroke-dasharray', (rect) => rect.stroke_dasharray)
.attr('width', (rect) => rect.width) .attr('width', (rect) => rect.width)
.attr('height', (rect) => rect.height); .attr('height', (rect) => rect.height);