From 3a085e7b4d201be6b70ad0aec9e11dba717c775b Mon Sep 17 00:00:00 2001 From: agriyadev5 Date: Thu, 7 Jan 2021 21:40:04 +0530 Subject: [PATCH 01/35] Fixes #41: Alignment fixes in bottom bar --- src/editor/components/seList.js | 5 ++++- src/editor/components/sePalette.js | 2 +- src/editor/components/seSpinInput.js | 5 ++--- src/editor/svgedit.css | 7 ++++++- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index 66bbfd17..2b340c48 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -16,7 +16,7 @@ template.innerHTML = ` } - + @@ -35,6 +35,9 @@ export class SeList extends HTMLElement { this._shadowRoot.append(template.content.cloneNode(true)); this.$dropdown = this._shadowRoot.querySelector('elix-dropdown-list'); this.$label = this._shadowRoot.querySelector('label'); + if(this.getAttribute('id') === 'tool_font_family') { + this.$dropdown.style.width = '66px'; + } } /** * @function observedAttributes diff --git a/src/editor/components/sePalette.js b/src/editor/components/sePalette.js index 4c1097ed..b51f4e59 100644 --- a/src/editor/components/sePalette.js +++ b/src/editor/components/sePalette.js @@ -24,7 +24,7 @@ template.innerHTML = ` }
- +
`; diff --git a/src/editor/components/seSpinInput.js b/src/editor/components/seSpinInput.js index d59c214b..1782865c 100644 --- a/src/editor/components/seSpinInput.js +++ b/src/editor/components/seSpinInput.js @@ -5,9 +5,8 @@ const template = document.createElement('template'); template.innerHTML = ` icon diff --git a/src/editor/svgedit.css b/src/editor/svgedit.css index 850421a3..1fe0e805 100644 --- a/src/editor/svgedit.css +++ b/src/editor/svgedit.css @@ -389,6 +389,7 @@ hr { min-height: 40px; border-bottom: none; overflow: auto; + right:2px; } #tools_top .tool_sep { @@ -646,8 +647,12 @@ input[type=text] { #tools_bottom se-spin-input { float: left; vertical-align: middle; + display:flex; + align-items: center; +} +#tools_bottom elix-dropdown-list{ + width:22px; } - .bottom-icon { width: 22px; } From 9139a70aa336ea4efe8c4a2f3a37ace8b634580b Mon Sep 17 00:00:00 2001 From: Agriya Dev5 Date: Fri, 8 Jan 2021 16:24:58 +0530 Subject: [PATCH 02/35] #41 The look and alignment of stroke size and stroke style should be consistent with the rest of the bottom bar. --- src/editor/components/seList.js | 43 +++++++++++++++++++++++++++++---- src/editor/index.html | 6 ++--- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index 2b340c48..e305e6cd 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -16,7 +16,7 @@ template.innerHTML = ` } - + @@ -35,16 +35,13 @@ export class SeList extends HTMLElement { this._shadowRoot.append(template.content.cloneNode(true)); this.$dropdown = this._shadowRoot.querySelector('elix-dropdown-list'); this.$label = this._shadowRoot.querySelector('label'); - if(this.getAttribute('id') === 'tool_font_family') { - this.$dropdown.style.width = '66px'; - } } /** * @function observedAttributes * @returns {any} observed */ static get observedAttributes () { - return ['label']; + return ['label', 'width', 'height']; } /** @@ -60,6 +57,12 @@ export class SeList extends HTMLElement { case 'label': this.$label.textContent = newValue; break; + case 'height': + this.$dropdown.style.height = newValue; + break; + case 'width': + this.$dropdown.style.width = newValue; + break; default: // eslint-disable-next-line no-console console.error(`unknown attribute: ${name}`); @@ -81,6 +84,36 @@ export class SeList extends HTMLElement { set label (value) { this.setAttribute('label', value); } + /** + * @function get + * @returns {any} + */ + get width () { + return this.getAttribute('width'); + } + + /** + * @function set + * @returns {void} + */ + set width (value) { + this.setAttribute('width', value); + } + /** + * @function get + * @returns {any} + */ + get height () { + return this.getAttribute('height'); + } + + /** + * @function set + * @returns {void} + */ + set height (value) { + this.setAttribute('height', value); + } /** * @function connectedCallback * @returns {void} diff --git a/src/editor/index.html b/src/editor/index.html index 5592933f..89861a57 100644 --- a/src/editor/index.html +++ b/src/editor/index.html @@ -348,19 +348,19 @@ - + ... - - - . - .. - + - + From 2757829dadfcdd30572f205acefdc5a32aef8454 Mon Sep 17 00:00:00 2001 From: Agriya Dev5 Date: Fri, 8 Jan 2021 18:13:15 +0530 Subject: [PATCH 03/35] #44 Text font dropdown is broken --- src/editor/components/seList.js | 7 ++----- src/editor/components/seListItem.js | 4 +++- src/editor/index.html | 16 ++++++++-------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index 66bbfd17..a069e760 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -4,16 +4,13 @@ import 'elix/define/DropdownList.js'; const template = document.createElement('template'); template.innerHTML = ` diff --git a/src/editor/components/seListItem.js b/src/editor/components/seListItem.js index 846d4e76..c23f01b5 100644 --- a/src/editor/components/seListItem.js +++ b/src/editor/components/seListItem.js @@ -21,7 +21,9 @@ export class SeListItem extends HTMLElement { // create the shadowDom and insert the template this._shadowRoot = this.attachShadow({mode: 'open'}); this._shadowRoot.append(template.content.cloneNode(true)); - this.$menuitem = this._shadowRoot.querySelector('elix-menu-item'); + this.$menuitem = this._shadowRoot.querySelector('elix-option'); + this.$svg = this.$menuitem.shadowRoot.querySelector('#checkmark'); + this.$svg.setAttribute('style', 'display: none;'); } /** * @function observedAttributes diff --git a/src/editor/index.html b/src/editor/index.html index 5592933f..9e77520a 100644 --- a/src/editor/index.html +++ b/src/editor/index.html @@ -248,14 +248,14 @@ -
Sans-serif
-
Serif
-
Cursive
-
Fantasy
-
Monospace
-
Courier
-
Helvetica
-
Times
+ Sans-serif + Serif + Cursive + Fantasy + Monospace + Courier + Helvetica + Times
From 6985d387fb64e805de981b83ae0934014360b4a8 Mon Sep 17 00:00:00 2001 From: Agriya Dev5 Date: Fri, 8 Jan 2021 19:57:13 +0530 Subject: [PATCH 04/35] #52 Fix the export --- src/svgcanvas/svg-exec.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/svgcanvas/svg-exec.js b/src/svgcanvas/svg-exec.js index fcb43ba4..2198350e 100644 --- a/src/svgcanvas/svg-exec.js +++ b/src/svgcanvas/svg-exec.js @@ -727,7 +727,10 @@ export const rasterExport = async function (imgType, quality, exportWindowName, c.width = svgContext_.getCanvas().contentW; c.height = svgContext_.getCanvas().contentH; const canvg = svgContext_.getcanvg(); - await canvg(c, svg); + const ctx = c.getContext('2d'); + const v = canvg.fromString(ctx, svg); + // Render only first frame, ignoring animations. + await v.render(); // Todo: Make async/await utility in place of `toBlob`, so we can remove this constructor // eslint-disable-next-line promise/avoid-new return new Promise((resolve, reject) => { From f89d348282de1d548919ebf97beb28795c72aff6 Mon Sep 17 00:00:00 2001 From: agriyadev5 Date: Fri, 8 Jan 2021 21:15:16 +0530 Subject: [PATCH 05/35] Fixes #44: Text font dropdown fixed --- src/editor/components/seList.js | 4 +++- src/editor/components/seListItem.js | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index a069e760..d41050d0 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -9,7 +9,8 @@ template.innerHTML = ` } ::slotted(*) { background: #E8E8E8; - border: 1px solid #B0B0B0; + padding:0; + /*border: 1px solid #B0B0B0;*/ } @@ -81,6 +82,7 @@ export class SeList extends HTMLElement { */ connectedCallback () { const currentObj = this; + this.$dropdown.addEventListener('close', (e) => { this.$dropdown.open(); }); this.$dropdown.addEventListener('selectedindexchange', (e) => { e.preventDefault(); if (e?.detail?.selectedIndex !== undefined) { diff --git a/src/editor/components/seListItem.js b/src/editor/components/seListItem.js index c23f01b5..7c2a459b 100644 --- a/src/editor/components/seListItem.js +++ b/src/editor/components/seListItem.js @@ -4,6 +4,9 @@ import 'elix/define/Option.js'; const template = document.createElement('template'); template.innerHTML = ` From 0769e44705fbd6b7d826fa6ca9d4bef6225da2b2 Mon Sep 17 00:00:00 2001 From: agriyadev5 Date: Fri, 8 Jan 2021 21:18:46 +0530 Subject: [PATCH 06/35] Fixes #44: Text font dropdown fixed --- src/editor/components/seList.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index d41050d0..9ba24b2b 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -82,7 +82,6 @@ export class SeList extends HTMLElement { */ connectedCallback () { const currentObj = this; - this.$dropdown.addEventListener('close', (e) => { this.$dropdown.open(); }); this.$dropdown.addEventListener('selectedindexchange', (e) => { e.preventDefault(); if (e?.detail?.selectedIndex !== undefined) { From ad3b7470ea2e3bb3b908a5aad5f2b6c90c24e80b Mon Sep 17 00:00:00 2001 From: agriyadev5 Date: Fri, 8 Jan 2021 21:25:12 +0530 Subject: [PATCH 07/35] Fixes #44: Text font dropdown fixed --- src/editor/components/seList.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index 9ba24b2b..22587a10 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -11,6 +11,7 @@ template.innerHTML = ` background: #E8E8E8; padding:0; /*border: 1px solid #B0B0B0;*/ + width:100%; } From 0dc4bb50773f4d549f30a29e1ab8d16566f766d8 Mon Sep 17 00:00:00 2001 From: agriyadev5 Date: Fri, 8 Jan 2021 21:38:44 +0530 Subject: [PATCH 08/35] Fixes #44: Text font dropdown fixed --- src/editor/components/seListItem.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/editor/components/seListItem.js b/src/editor/components/seListItem.js index 7c2a459b..29c466e9 100644 --- a/src/editor/components/seListItem.js +++ b/src/editor/components/seListItem.js @@ -6,6 +6,8 @@ template.innerHTML = ` From 3451d8582742c6a3e63cab94264f1a62ef446f9a Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Fri, 8 Jan 2021 20:57:38 +0100 Subject: [PATCH 09/35] Update index.html --- src/editor/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/editor/index.html b/src/editor/index.html index 9e77520a..54dbaaa6 100644 --- a/src/editor/index.html +++ b/src/editor/index.html @@ -248,8 +248,8 @@ - Sans-serif - Serif + Serif + Sans-serif Cursive Fantasy Monospace From 3e97186f6e009c2f582722449b49deb1352eb91c Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Fri, 8 Jan 2021 21:05:31 +0100 Subject: [PATCH 10/35] update husky --- package-lock.json | 77 ++++++++++++++++++++++++++++------------------- package.json | 2 +- 2 files changed, 47 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index f77f2d2d..efe5b287 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10583,12 +10583,12 @@ } }, "find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", - "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", "dev": true, "requires": { - "semver-regex": "^2.0.0" + "semver-regex": "^3.1.2" } }, "flat": { @@ -11478,18 +11478,18 @@ } }, "husky": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.6.tgz", - "integrity": "sha512-o6UjVI8xtlWRL5395iWq9LKDyp/9TE7XMOTvIpEVzW638UcGxTmV5cfel6fsk/jbZSTlvfGVJf2svFtybcIZag==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.7.tgz", + "integrity": "sha512-0fQlcCDq/xypoyYSJvEuzbDPHFf8ZF9IXKJxlrnvxABTSzK1VPT2RKYQKrcgJ+YD39swgoB6sbzywUqFxUiqjw==", "dev": true, "requires": { "chalk": "^4.0.0", "ci-info": "^2.0.0", "compare-versions": "^3.6.0", "cosmiconfig": "^7.0.0", - "find-versions": "^3.2.0", + "find-versions": "^4.0.0", "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^4.2.0", + "pkg-dir": "^5.0.0", "please-upgrade-node": "^3.2.0", "slash": "^3.0.0", "which-pm-runs": "^1.0.0" @@ -11543,12 +11543,12 @@ } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, @@ -11559,9 +11559,9 @@ "dev": true }, "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -11569,21 +11569,30 @@ } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "parse-json": { @@ -11605,12 +11614,12 @@ "dev": true }, "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, "requires": { - "find-up": "^4.0.0" + "find-up": "^5.0.0" } }, "resolve-from": { @@ -18388,9 +18397,9 @@ } }, "semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", + "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", "dev": true }, "serialize-javascript": { @@ -21354,6 +21363,12 @@ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==" }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index f2aa16a0..cc84c44c 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "eslint-plugin-sonarjs": "0.5.0", "eslint-plugin-standard": "4.1.0", "eslint-plugin-unicorn": "25.0.1", - "husky": "4.3.6", + "husky": "4.3.7", "imageoptim-cli": "3.0.2", "jamilih": "0.53.2", "jsdoc": "3.6.6", From 82c036e61f6d4edca08c44ef279884f715dd00e4 Mon Sep 17 00:00:00 2001 From: JFH <20402845+jfhenon@users.noreply.github.com> Date: Sat, 9 Jan 2021 12:18:00 +0100 Subject: [PATCH 11/35] fixes --- src/editor/EditorStartup.js | 4 +- src/editor/index.html | 694 ++++++++++++++++++------------------ src/editor/svgedit.css | 219 ------------ src/editor/svgedit.js | 7 +- 4 files changed, 359 insertions(+), 565 deletions(-) diff --git a/src/editor/EditorStartup.js b/src/editor/EditorStartup.js index eef3c0fc..2a1e6951 100644 --- a/src/editor/EditorStartup.js +++ b/src/editor/EditorStartup.js @@ -61,6 +61,8 @@ class EditorStartup { * @returns {void} */ async init () { + // allow to prepare the dom without display + $id('svg_editor').style.visibility = 'hidden'; try { // Image props dialog added to DOM const newSeImgPropDialog = document.createElement('se-img-prop-dialog'); @@ -725,7 +727,7 @@ class EditorStartup { const {langParam, langData} = await this.putLocale(this.configObj.pref('lang'), this.goodLangs); await this.setLang(langParam, langData); - $id('svg_container').style.visibility = 'visible'; + $id('svg_editor').style.visibility = 'visible'; try { // load standard extensions diff --git a/src/editor/index.html b/src/editor/index.html index f3b8a5c1..ae415f7b 100644 --- a/src/editor/index.html +++ b/src/editor/index.html @@ -28,354 +28,362 @@ - -