- Breaking change: Avoid adding assignAttributes, addSVGElementFromJson,

`call`, `copyElem`, `findDefs`, `getElem`, `getId`, `getIntersectionList`,
  `getMouseTarget`, `getNextId`, `getUrlFromAttr`, `hasMatrixTransform`,
  `matrixMultiply`, `recalculateAllSelectedDimensions`,
  `recalculateDimensions`, `remapElement`, `removeUnusedDefElems`, `round`,
  `runExtensions`, `sanitizeSvg`, `setGradient` `transformListToTransform`
  (and mistaken `toString` export) to `getPrivateMethods` (passed to
  extensions) as available as public ones
- Build: Update ext-xdomain-messaging
- Fix (extension): ForeignObject editor
- Docs: Avoid reporting deliberate "Any" type
- Docs: Further docs (`logMatrix`, `getPrivateMethods`)
- Docs: Suggest `npm pack`
This commit is contained in:
Brett Zamir
2018-07-19 14:58:30 -07:00
parent 233ca8c6eb
commit 0a25236477
24 changed files with 225 additions and 185 deletions

View File

@@ -51,7 +51,7 @@ var svgEditorExtension_arrows = (function () {
colorChanged = function colorChanged(elem) {
var color = elem.getAttribute('stroke');
var mtypes = ['start', 'mid', 'end'];
var defs = S.findDefs();
var defs = svgCanvas.findDefs();
$.each(mtypes, function (i, type) {
var marker = getLinked(elem, 'marker-' + type);
@@ -134,7 +134,7 @@ var svgEditorExtension_arrows = (function () {
addMarker(dir, type);
svgCanvas.changeSelectedAttribute('marker-' + type, 'url(#' + pathdata[dir].id + ')');
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
};
addMarker = function addMarker(dir, type, id) {
@@ -147,7 +147,7 @@ var svgEditorExtension_arrows = (function () {
data.refx = 5;
}
var marker = S.getElem(id);
var marker = svgCanvas.getElem(id);
if (!marker) {
marker = addElem({
element: 'marker',
@@ -170,7 +170,7 @@ var svgEditorExtension_arrows = (function () {
}
});
marker.append(arrow);
S.findDefs().append(marker);
svgCanvas.findDefs().append(marker);
}
marker.setAttribute('refX', data.refx);
@@ -223,7 +223,7 @@ var svgEditorExtension_arrows = (function () {
if (!m || m.length !== 2) {
return null;
}
return S.getElem(m[1]);
return svgCanvas.getElem(m[1]);
};
unsetArrowNonce = function unsetArrowNonce(window) {
@@ -249,7 +249,7 @@ var svgEditorExtension_arrows = (function () {
svgCanvas = svgEditor.canvas;
$ = jQuery;
// {svgcontent} = S,
addElem = S.addSVGElementFromJson, nonce = S.nonce, prefix = 'se_arrow_';
addElem = svgCanvas.addSVGElementFromJson, nonce = S.nonce, prefix = 'se_arrow_';
selElems = void 0, arrowprefix = void 0, randomizeIds = S.randomize_ids;

View File

@@ -44,7 +44,7 @@ var svgEditorExtension_connector = (function () {
name: 'connector',
init: function () {
var _ref = asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(S) {
var $, svgEditor, svgCanvas, svgroot, getNextId, getElem, importLocale, addElem, selManager, connSel, elData, strings, startX, startY, curLine, startElem, endElem, seNs, svgcontent, started, connections, selElems, getBBintersect, getOffset, showPanel, setPoint, updateLine, findConnectors, updateConnectors, init, buttons;
var $, svgEditor, svgCanvas, getElem, svgroot, importLocale, addElem, selManager, connSel, elData, strings, startX, startY, curLine, startElem, endElem, seNs, svgcontent, started, connections, selElems, getBBintersect, getOffset, showPanel, setPoint, updateLine, findConnectors, updateConnectors, init, buttons;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
@@ -288,11 +288,12 @@ var svgEditorExtension_connector = (function () {
$ = jQuery;
svgEditor = this;
svgCanvas = svgEditor.canvas;
svgroot = S.svgroot, getNextId = S.getNextId, getElem = S.getElem, importLocale = S.importLocale, addElem = S.addSVGElementFromJson, selManager = S.selectorManager, connSel = '.se_connector', elData = $.data;
_context2.next = 14;
getElem = svgCanvas.getElem;
svgroot = S.svgroot, importLocale = S.importLocale, addElem = svgCanvas.addSVGElementFromJson, selManager = S.selectorManager, connSel = '.se_connector', elData = $.data;
_context2.next = 15;
return importLocale();
case 14:
case 15:
strings = _context2.sent;
startX = void 0, startY = void 0, curLine = void 0, startElem = void 0, endElem = void 0, seNs = void 0, svgcontent = S.svgcontent, started = false, connections = [], selElems = [];
@@ -415,7 +416,7 @@ var svgEditorExtension_connector = (function () {
curLine = addElem({
element: 'polyline',
attr: {
id: getNextId(),
id: svgCanvas.getNextId(),
points: x + ',' + y + ' ' + x + ',' + y + ' ' + startX + ',' + startY,
stroke: '#' + initStroke.color,
'stroke-width': !startElem.stroke_width || startElem.stroke_width === 0 ? initStroke.width : startElem.stroke_width,
@@ -660,7 +661,7 @@ var svgEditorExtension_connector = (function () {
}
});
case 19:
case 20:
case 'end':
return _context2.stop();
}

View File

@@ -51,7 +51,7 @@ var svgEditorExtension_foreignobject = (function () {
case 0:
setAttr = function setAttr(attr, val) {
svgCanvas.changeSelectedAttribute(attr, val);
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
};
showForeignEditor = function showForeignEditor() {
@@ -63,7 +63,7 @@ var svgEditorExtension_foreignobject = (function () {
toggleSourceButtons(true);
elt.removeAttribute('fill');
var str = S.svgToString(elt, 0);
var str = svgCanvas.svgToString(elt, 0);
$('#svg_source_textarea').val(str);
$('#svg_source_editor').fadeIn();
properlySourceSizeTextArea();
@@ -76,9 +76,9 @@ var svgEditorExtension_foreignobject = (function () {
// convert string into XML document
var newDoc = text2xml('<svg xmlns="' + NS.SVG + '" xmlns:xlink="' + NS.XLINK + '">' + xmlString + '</svg>');
// run it through our sanitizer to remove anything we do not support
S.sanitizeSvg(newDoc.documentElement);
svgCanvas.sanitizeSvg(newDoc.documentElement);
elt.replaceWith(svgdoc.importNode(newDoc.documentElement.firstChild, true));
S.call('changed', [elt]);
svgCanvas.call('changed', [elt]);
svgCanvas.clearSelection();
} catch (e) {
console.log(e);
@@ -227,12 +227,12 @@ var svgEditorExtension_foreignobject = (function () {
if (svgCanvas.getMode() === 'foreign') {
started = true;
newFO = S.addSVGElementFromJson({
newFO = svgCanvas.addSVGElementFromJson({
element: 'foreignObject',
attr: {
x: opts.start_x,
y: opts.start_y,
id: S.getNextId(),
id: svgCanvas.getNextId(),
'font-size': 16, // cur_text.font_size,
width: '48',
height: '20',

View File

@@ -180,7 +180,7 @@ var svgEditorExtension_markers = (function () {
if (el.tagName === 'line' && pos === 'mid') {
el = convertline(el);
}
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
}
}
});
@@ -228,7 +228,7 @@ var svgEditorExtension_markers = (function () {
}
if (val === '\\nomarker') {
setIcon(pos, val);
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
return;
}
// Set marker on element
@@ -238,7 +238,7 @@ var svgEditorExtension_markers = (function () {
if (el.tagName === 'line' && pos === 'mid') {
el = convertline(el);
}
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
setIcon(pos, val);
};
@@ -295,7 +295,7 @@ var svgEditorExtension_markers = (function () {
var txtBoxBorder = 'none';
var txtBoxStrokeWidth = 0;
var marker = S.getElem(id);
var marker = svgCanvas.getElem(id);
if (marker) {
return;
}
@@ -389,7 +389,7 @@ var svgEditorExtension_markers = (function () {
marker.setAttribute('markerHeight', markerHeight);
marker.setAttribute('refX', refX);
marker.setAttribute('refY', refY);
S.findDefs().append(marker);
svgCanvas.findDefs().append(marker);
return marker;
};
@@ -446,7 +446,7 @@ var svgEditorExtension_markers = (function () {
if (!m || m.length !== 2) {
return null;
}
return S.getElem(m[1]);
return svgCanvas.getElem(m[1]);
};
_context2.next = 15;
@@ -457,7 +457,7 @@ var svgEditorExtension_markers = (function () {
svgEditor = this;
$ = jQuery;
svgCanvas = svgEditor.canvas;
addElem = S.addSVGElementFromJson;
addElem = svgCanvas.addSVGElementFromJson;
mtypes = ['start', 'mid', 'end'];
markerPrefix = 'se_marker_';
idPrefix = 'mkr_';

View File

@@ -57,7 +57,7 @@ var svgEditorExtension_polygon = (function () {
setAttr = function setAttr(attr, val) {
svgCanvas.changeSelectedAttribute(attr, val);
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
};
showPanel = function showPanel(on) {
@@ -133,11 +133,11 @@ var svgEditorExtension_polygon = (function () {
while (children.length > 0) {
mrow.append(svgdoc.adoptNode(children[0], true));
}
S.sanitizeSvg(math);
S.call('changed', [elt]);
svgCanvas.sanitizeSvg(math);
svgCanvas.call('changed', [elt]);
});
elt.firstChild.replaceWith(math);
S.call('changed', [elt]);
svgCanvas.call('changed', [elt]);
svgCanvas.clearSelection();
} catch(e) {
console.log(e);
@@ -208,12 +208,12 @@ var svgEditorExtension_polygon = (function () {
if (svgCanvas.getMode() === 'polygon') {
started = true;
newFO = S.addSVGElementFromJson({
newFO = svgCanvas.addSVGElementFromJson({
element: 'polygon',
attr: {
cx: opts.start_x,
cy: opts.start_y,
id: S.getNextId(),
id: svgCanvas.getNextId(),
shape: 'regularPoly',
sides: document.getElementById('polySides').value,
orient: 'x',

View File

@@ -49,7 +49,7 @@ var svgEditorExtension_star = (function () {
case 0:
setAttr = function setAttr(attr, val) {
svgCanvas.changeSelectedAttribute(attr, val);
S.call('changed', selElems);
svgCanvas.call('changed', selElems);
};
showPanel = function showPanel(on) {
@@ -150,12 +150,12 @@ var svgEditorExtension_star = (function () {
if (svgCanvas.getMode() === 'star') {
started = true;
newFO = S.addSVGElementFromJson({
newFO = svgCanvas.addSVGElementFromJson({
element: 'polygon',
attr: {
cx: opts.start_x,
cy: opts.start_y,
id: S.getNextId(),
id: svgCanvas.getNextId(),
shape: 'star',
point: document.getElementById('starNumPoints').value,
r: 0,

View File

@@ -27,11 +27,13 @@ var svgEditorExtension_xdomain_messaging = (function () {
if (!data || (typeof data === 'undefined' ? 'undefined' : _typeof(data)) !== 'object' || data.namespace !== 'svgCanvas') {
return;
}
// The default is not to allow any origins, including even the same domain or if run on a file:// URL
// See svgedit-config-es.js for an example of how to configure
// The default is not to allow any origins, including even the same domain or
// if run on a file:// URL See svgedit-config-es.js for an example of how
// to configure
var allowedOrigins = svgEditor.curConfig.allowedOrigins;
if (!allowedOrigins.includes('*') && !allowedOrigins.includes(e.origin)) {
console.log('Origin ' + e.origin + ' not whitelisted for posting to ' + window.origin);
return;
}
var cbid = data.id;