From ec881e2362073ec5318e16510239919df07921b9 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Fri, 21 Feb 2020 18:24:20 +0800 Subject: [PATCH] - npm: Update devDeps (cypress-related, mochawesome-merge, linting-related, rollup) - Build: Update --- badges/coverage-badge.svg | 4 +- badges/tests-badge.svg | 2 +- dist/index-es.js | 61 +- dist/index-es.min.js | 2 +- dist/index-es.min.js.map | 2 +- dist/index-umd.js | 61 +- dist/index-umd.min.js | 2 +- dist/index-umd.min.js.map | 2 +- dist/svgcanvas-iife.js | 61 +- dist/svgcanvas-iife.min.js | 4 +- dist/svgcanvas-iife.min.js.map | 2 +- editor/xdomain-svgedit-config-iife.js | 61 +- package-lock.json | 2232 +++++++++++++++++++------ package.json | 18 +- svgedit-config-iife.js | 61 +- 15 files changed, 1996 insertions(+), 579 deletions(-) diff --git a/badges/coverage-badge.svg b/badges/coverage-badge.svg index eb56ed07..2b78282d 100644 --- a/badges/coverage-badge.svg +++ b/badges/coverage-badge.svg @@ -20,8 +20,8 @@ Coverage Coverage - 41.04% - 41.04% + 42.44% + 42.44% diff --git a/badges/tests-badge.svg b/badges/tests-badge.svg index e3f3172d..2ada348e 100644 --- a/badges/tests-badge.svg +++ b/badges/tests-badge.svg @@ -1 +1 @@ -TestsTests126/127126/127 \ No newline at end of file +TestsTests127/128127/128 \ No newline at end of file diff --git a/dist/index-es.js b/dist/index-es.js index ea23b84a..9a329a8a 100644 --- a/dist/index-es.js +++ b/dist/index-es.js @@ -20836,18 +20836,62 @@ function SvgCanvas(container, config) { canvas.copySelectedElements(); canvas.deleteSelectedElements(); }; + + var CLIPBOARD_ID = 'svgedit_clipboard'; + /** + * Flash the clipboard data momentarily on localStorage so all tabs can see. + * @returns {void} + */ + + function flashStorage() { + var data = sessionStorage.getItem(CLIPBOARD_ID); + localStorage.setItem(CLIPBOARD_ID, data); + setTimeout(function () { + localStorage.removeItem(CLIPBOARD_ID); + }, 1); + } + /** + * Transfers sessionStorage from one tab to another. + * @param {!Event} ev Storage event. + * @returns {void} + */ + + + function storageChange(ev) { + if (!ev.newValue) return; // This is a call from removeItem. + + if (ev.key === CLIPBOARD_ID + '_startup') { + // Another tab asked for our sessionStorage. + localStorage.removeItem(CLIPBOARD_ID + '_startup'); + flashStorage(); + } else if (ev.key === CLIPBOARD_ID) { + // Another tab sent data. + sessionStorage.setItem(CLIPBOARD_ID, ev.newValue); + } + } // Listen for changes to localStorage. + + + window.addEventListener('storage', storageChange, false); // Ask other tabs for sessionStorage (this is ONLY to trigger event). + + localStorage.setItem(CLIPBOARD_ID + '_startup', Math.random()); /** * Remembers the current selected elements on the clipboard. * @function module:svgcanvas.SvgCanvas#copySelectedElements * @returns {void} */ - this.copySelectedElements = function () { - localStorage.setItem('svgedit_clipboard', JSON.stringify(selectedElements.map(function (x) { + var data = JSON.stringify(selectedElements.map(function (x) { return getJsonFromSvgElement(x); - }))); - $$9('#cmenu_canvas').enableContextMenuItems('#paste,#paste_in_place'); + })); // Use sessionStorage for the clipboard data. + + sessionStorage.setItem(CLIPBOARD_ID, data); + flashStorage(); + var menu = $$9('#cmenu_canvas'); // Context menu might not exist (it is provided by editor.js). + + if (menu.enableContextMenuItems) { + menu.enableContextMenuItems('#paste,#paste_in_place'); + } }; /** * @function module:svgcanvas.SvgCanvas#pasteElements @@ -20861,13 +20905,10 @@ function SvgCanvas(container, config) { this.pasteElements = function (type, x, y) { - var clipb = JSON.parse(localStorage.getItem('svgedit_clipboard')); + var clipb = JSON.parse(sessionStorage.getItem(CLIPBOARD_ID)); + if (!clipb) return; var len = clipb.length; - - if (!len) { - return; - } - + if (!len) return; var pasted = []; var batchCmd = new BatchCommand$1('Paste elements'); // const drawing = getCurrentDrawing(); diff --git a/dist/index-es.min.js b/dist/index-es.min.js index d0c59b14..0ebc4895 100644 --- a/dist/index-es.min.js +++ b/dist/index-es.min.js @@ -16,7 +16,7 @@ function H(t){var n=t.fn.attr;return t.fn.attr=function(t,r){var a=this.length;i * @module importModule * @license MIT */ -function sn(e){var t=document.createElement("a");return t.setAttribute("href",e),t.cloneNode(!1).href}function ln(e,t){["id","class","type"].forEach((function(n){n in t&&(e[n]=t[n])}))}function cn(e,t){return un(e,o({},t,{returnDefault:!0}))}function un(e,t){return dn.apply(this,arguments)}function dn(){return(dn=n(regeneratorRuntime.mark((function e(t,n){var r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.global,a=n.returnDefault,!!("svgEditor"in window&&window.svgEditor&&!1===window.svgEditor.modules)){e.next=4;break}return e.abrupt("return",pn(t,void 0,{returnDefault:a}));case 4:return e.next=6,hn(t);case 6:return e.abrupt("return",window[r]);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function hn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?Promise.all(e.map((function(e){return hn(e,t)}))):new Promise((function(n,r){var a=document.createElement("script");function i(){r(new Error("Failed to import: ".concat(e))),s()}function o(){n(),s()}var s=function(){a.removeEventListener("error",i),a.removeEventListener("load",o),a.remove(),a.src=""};a.defer="defer",ln(a,t),a.addEventListener("error",i),a.addEventListener("load",o),a.src=e,document.head.append(a)}))}function pn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.returnDefault,a=void 0!==r&&r;return Array.isArray(e)?Promise.all(e.map((function(e){return pn(e,t)}))):new Promise((function(n,r){var i="$importModule$"+Math.random().toString(32).slice(2),o=document.createElement("script");function s(){r(new Error("Failed to import: ".concat(e))),c()}function l(){n(window[i]),c()}var c=function(){delete window[i],o.removeEventListener("error",s),o.removeEventListener("load",l),o.remove(),URL.revokeObjectURL(o.src),o.src=""};ln(o,t),o.defer="defer",o.type="module",o.addEventListener("error",s),o.addEventListener("load",l);var u=sn(e),d="import * as m from '".concat(u.replace(/'/g,"\\'"),"'; window.").concat(i," = ").concat(a?"m.default || ":"","m;"),h=new Blob([d],{type:"text/javascript"});o.src=URL.createObjectURL(h),document.head.append(o)}))}var fn={true:!0,false:!1,null:null};function gn(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ok:"Ok",cancel:"Cancel"};t("#dialog_container").draggable({cancel:"#dialog_content, #dialog_buttons *",containment:"window"}).css("position","absolute");var r=t("#dialog_box"),a=t("#dialog_buttons"),i=t("#dialog_content");function o(o,s,l,c,u,d){i.html("

"+s.replace(/\n/g,"

")+"

").toggleClass("prompt","prompt"===o),a.empty();var h=t('').appendTo(a);return new Promise((function(p,f){var g,m;if("alert"!==o&&t('').appendTo(a).click((function(){r.hide(),p(!1)})),"prompt"===o)(g=t('').prependTo(a)).val(l||""),g.bind("keydown","return",(function(){h.click()}));else if("select"===o){var v=t('
');if(g=t('').appendTo(y)).val(d.value),d.tooltip&&y.attr("title",d.tooltip),m.prop("checked",Boolean(d.checked)),v.append(t("
").append(y))}t.each(c||[],(function(n,r){"object"===e(r)?g.append(t("