From 7ec9326ce00d08f9d957981f2edff6df26f24a28 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期四, 26 九月 2024 13:25:02 +0800 Subject: [PATCH] 修改 --- web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-arrows.js | 72 ++++++++++++++++++------------------ 1 files changed, 36 insertions(+), 36 deletions(-) diff --git a/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-arrows.js b/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-arrows.js index 4f45192..3ba48c7 100644 --- a/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-arrows.js +++ b/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-arrows.js @@ -7,7 +7,7 @@ * */ - + methodDraw.addExtension("Arrows", function(S) { var svgcontent = S.svgcontent, addElem = S.addSvgElementFromJson, @@ -17,7 +17,7 @@ svgCanvas.bind('setnonce', setArrowNonce); svgCanvas.bind('unsetnonce', unsetArrowNonce); - + var lang_list = { "en":[ {"id": "arrow_none", "textContent": "No arrow" } @@ -26,7 +26,7 @@ {"id": "arrow_none", "textContent": "Sans fl猫che" } ] }; - + var prefix = 'se_arrow_'; if (randomize_ids) { var arrowprefix = prefix + nonce + '_'; @@ -38,7 +38,7 @@ fw: {d:"m0,0l10,5l-10,5l5,-5l-5,-5z", refx:8, id: arrowprefix + 'fw'}, bk: {d:"m10,0l-10,5l10,5l-5,-5l5,-5z", refx:2, id: arrowprefix + 'bk'} } - + function setArrowNonce(window, n) { randomize_ids = true; arrowprefix = prefix + n + '_'; @@ -62,17 +62,17 @@ } return S.getElem(m[1]); } - + function showPanel(on) { $('#arrow_panel').toggle(on); - + if(on) { var el = selElems[0]; var end = el.getAttribute("marker-end"); var start = el.getAttribute("marker-start"); var mid = el.getAttribute("marker-mid"); var val; - + if(end && start) { val = "both"; } else if(end) { @@ -85,30 +85,30 @@ val = "mid_bk"; } } - + if(!start && !mid && !end) { val = "none"; } - + $("#arrow_list").val(val); } } - + function resetMarker() { var el = selElems[0]; el.removeAttribute("marker-start"); el.removeAttribute("marker-mid"); el.removeAttribute("marker-end"); } - + function addMarker(dir, type, id) { // TODO: Make marker (or use?) per arrow type, since refX can be different id = id || arrowprefix + dir; - + var marker = S.getElem(id); var data = pathdata[dir]; - + if(type == "mid") { data.refx = 5; } @@ -136,21 +136,21 @@ }); marker.appendChild(arrow); S.findDefs().appendChild(marker); - } - + } + marker.setAttribute('refX', data.refx); - + return marker; } - + function setArrow() { var type = this.value; resetMarker(); - + if(type == "none") { return; } - + // Set marker on element var dir = "fw"; if(type == "mid_bk") { @@ -164,27 +164,27 @@ } else if (type == "start") { dir = "bk"; } - + addMarker(dir, type); svgCanvas.changeSelectedAttribute("marker-"+type, "url(#" + pathdata[dir].id + ")"); S.call("changed", selElems); } - + function colorChanged(elem) { var color = elem.getAttribute('stroke'); - + var mtypes = ['start','mid','end']; var defs = S.findDefs(); - + $.each(mtypes, function(i, type) { var marker = getLinked(elem, 'marker-'+type); if(!marker) return; - + var cur_color = $(marker).children().attr('fill'); var cur_d = $(marker).children().attr('d'); var new_marker = null; if(cur_color === color) return; - + var all_markers = $(defs).find('marker'); // Different color, check if already made all_markers.each(function() { @@ -194,19 +194,19 @@ new_marker = this; } }); - + if(!new_marker) { // Create a new marker with this color var last_id = marker.id; var dir = last_id.indexOf('_fw') !== -1?'fw':'bk'; - + new_marker = addMarker(dir, type, arrowprefix + dir + all_markers.length); $(new_marker).children().attr('fill', color); } - + $(elem).attr('marker-'+type, "url(#" + new_marker.id + ")"); - + // Check if last marker can be removed var remove = true; $(S.svgcontent).find('line, polyline, path, polygon').each(function() { @@ -218,16 +218,16 @@ }); if(!remove) return false; }); - + // Not found, so can safely remove if(remove) { $(marker).remove(); } }); - + } - + return { name: "Arrows", context_tools: [{ @@ -259,13 +259,13 @@ }; }, selectedChanged: function(opts) { - + // Use this to update the current selected elements selElems = opts.elems; - + var i = selElems.length; var marker_elems = ['line','path','polyline','polygon']; - + while(i--) { var elem = selElems[i]; if(elem && $.inArray(elem.tagName, marker_elems) != -1) { @@ -292,7 +292,7 @@ // Has marker, so see if it should match color colorChanged(elem); } - + } }; }); -- Gitblit v1.9.1