3909d2fd97
- Fix: Only clear selection by escape key if not within a dialog (as the escape key should only close the dialog) - Fix: Ensure escape key will work from within input text boxes (as was already added for textareas) - Refactoring: Share code for dialog selectors
Brett Zamir
2018-10-02 14:02:15 +08:00
2a943cd1fa
- Enhancement: Allow 'a' also with meta key (command in Mac, ctrl otherwise) to select all (part of #291) - Enhancement: Add a global escape key listener to clear the selection - Refactoring: Change 'a' to lower case in key command to avoid impression that shift is needed
Brett Zamir
2018-10-02 13:19:01 +08:00
3c036c70cd
- Enhancement: Allow "Escape" to work with hotkeys within text boxes; allows escaping out of source textarea (part of #291)
Brett Zamir
2018-10-01 16:30:10 +08:00
e735142a40
- Refactoring: Although openclipart is not currently working, we still add routine for copying query-result/qr-manipulation to be able to use them in other script
Brett Zamir
2018-09-30 13:33:00 +08:00
9f7f7b9732
- Openclipart API work (waiting on possibility of their adding a missing CORS header)
Brett Zamir
2018-09-26 16:44:56 +08:00
ae7d0d1331
- Compatibility fix (openclipart): Ensure polyfill present; make separate non-modular build (still not integrated as API incomplete) - Docs: Add compatibility fix to Contributing
Brett Zamir
2018-09-26 16:06:57 +08:00
ab5aec978e
- Further work on openclipart (now just need to pass to )
Brett Zamir
2018-09-26 14:46:53 +08:00
526c87b61e
- Further work on openclipart (use qr-manipulation)
Brett Zamir
2018-09-26 12:38:00 +08:00
8c0161361f
- Fix (Imagelib): Avoid premature exit for string API (#274)
Brett Zamir
2018-09-25 23:34:51 +08:00
4b6be7a871
- Incomplete enhancement: Add Openclipart query page (using Jamilih); need to better format results and tie into Imagelib
Brett Zamir
2018-09-25 16:49:26 +08:00
90ff5b9479
- Update (Imagelib): Remove extra (and more outdated) jQuery copy - Refactoring (minor): Reuse local variable - Docs: Contributing re: updates
Brett Zamir
2018-09-25 14:21:40 +08:00
fa37778ec0
- Fix: Ensure repeated selection of same file overwrites with that file's contents (fix#289)
Brett Zamir
2018-09-25 11:19:13 +08:00
0034447d44
- Imagelib backward compatibility enhancement: Allow string based API again so as not to break old SVG-Edit which fail at *presence* of namespace (fixes#274) - Known regression: Remove Openclipart as its site's now setting of X-Frame-Options to "sameorigin" makes it unusable on our end for our cross-origin uses - Forward compatibility enhancement: For IAN image library, add svgedit=3 param to URL so that it can keep using old API for SVG-Edit versions before 3, while conditionally using new object-based API now (and if we switch exclusively to the object-based API in the future, this site will continue to work) - Docs: Add "Forward compatibility enhancement" to list
Brett Zamir
2018-09-25 10:13:29 +08:00
83aa156353
- Fix (regression): Imagelib (ensure non-URL relative paths are treated as current origin); variable order (#274)
Brett Zamir
2018-09-25 03:32:01 +08:00
704336c0f2
- Imagelib backward compatibility enhancement: Allow namespace-key as alternative to namespace so as not to break old SVG-Edit which fail at *presence* of namespace (fixes#274) - Forward compatibility enhancement: Once IE9 support may be dropped, we may post messages as objects, so don't break if objects received (embedded API, xdomain, Imagelib)
Brett Zamir
2018-09-25 03:06:22 +08:00
7ff2721ba9
- Enhancement: Auto-detect allowedImageLibOrigins based on locale rather than requiring user to supply
Brett Zamir
2018-09-25 02:35:15 +08:00
11baad0402
- Security fix/Breaking change (Imagelib): Require allowedImageLibOrigins config array be set with safe origins or otherwise reject postMessage messages in case from untrusted sources - Security fix/Breaking change (xdomain): Namespace xdomain file to avoid it being used to modify non-xdomain storage - Security fix (Imagelib): Expose dropXMLInternalSubset to extensions for preventing billion laughs attack (and use in Imagelib)
Brett Zamir
2018-09-24 20:59:47 +08:00
25ed8ad465
- Linting (LGTM): Mark remote property injection in embedapi as safe
Brett Zamir
2018-09-24 20:08:49 +08:00
7db8cc9c36
- Fix: Ensure poly shape has a points attribute - Refactoring: Avoid building nested function upon each function call - Linting (ESLint): Coding standards
Brett Zamir
2018-09-22 11:59:34 +08:00
f485a05c56
Export polygon and polyline to PDF. fix#280
eric
2018-09-19 00:30:09 +08:00
72b0cee994
- Docs (CHANGES) - Docs: Add "known regression" as possible commit prefix
Brett Zamir
2018-09-22 10:12:11 +08:00
fbffc86503
- Security fix (minor): For embedded API, avoid chance for arbitrary property setting (though this was only for trusted origins anyways) - Security fix (minor): For embedded API example, copy params to iframe source without XSS risk (though params should already be XML-safe given encodeURIComponent and lack of a single quote attribute context) - Linting (LGTM): Flag origin-checked item as safe - Refactoring: Destructuring, ellipsis - Docs (JSDoc): Missing return value
Brett Zamir
2018-09-22 10:06:25 +08:00
be17cd249c
LGTM.com-inspired changes: - Fix: Ensure all apostrophes are escaped for toXml utility - Fix: Avoid error if URL is not defined - Fix (jPicker): Precision argument had not been passed in previously - Fix (Star extension): Minor: Avoid erring if inradius is NaN - Refactoring: Avoid passing unused arguments, setting unused variables, and making unnecessary checks; avoid useless call to createSVGMatrix - Linting (LGTM): Add lgtm.yml file (still some remaining items flagged but hoping for in-code flagging) - Docs: Contributing file
Brett Zamir
2018-09-21 10:56:07 +08:00
0688b9af60
- Fix (image import): Put src after onload to avoid missing event; check other width/height properties in case offset is 0; fixes#278
Brett Zamir
2018-09-13 17:54:40 +08:00
837678bfa7
- Docs: Call out known remaining regression for 3.0.0
Brett Zamir
2018-09-13 11:10:09 +08:00
b0bad24645
- Linting (ESLint): Apply coding standards - Breaking change (minor): Change export filename to check exportWindowName and change default from download.pdf to svg.pdf to distinguish from other downloads - Enhancement: Restore old dataURI functionality for non-Chrome browsers
Brett Zamir
2018-09-13 09:13:05 +08:00
b370f4a207
- Docs: Release building (alternative for build.js)
Brett Zamir
2018-07-31 15:22:49 -07:00
97d093d6ef
- Linting (ESLint): Add xdomain file to ignore file - Fix (i18n): Regression in last commit with locales and apostrophe values - npm: Avoid adding config files to ignore file - npm: Bump to 3.0.0-rc.2 - Build: Update build
Brett Zamir
2018-07-31 15:15:25 -07:00
63fab9ff43
- i18n: Move imagelib reference from common to ext. locale; remove toggle_grid from az locale
Brett Zamir
2018-07-31 14:59:27 -07:00
f1666d11d1
- i18n: Remove eyedropper reference from main locale (in extension locale now) - i18n: Add placeholders for pick_stroke_paint_opacity, pick_fill_paint_opacity, popupWindowBlocked - i18n: Update saveFromBrowser - i18n: Reapply locale strings
Brett Zamir
2018-07-31 07:45:43 -07:00
acb57c1609
- Fix: Add images (and references) for fallback (#135) - Fix (canvg): blur export fix - i18n (Chinese): A few fixes (#135) - Optimize: Further image optimizing - Refactoring: Avoid custom JS substitution syntax - Refactoring: Reorder default extension list
Brett Zamir
2018-05-28 22:00:20 +08:00
5ad6e6ba48
- Enhancement: Create xdomain file build which works without ES6 Modules - Enhancement: Build xdomain files dynamically - Fix: Race condition in svgIcons plugin - Build: Update dist files
Brett Zamir
2018-07-30 12:51:57 -07:00
0a2da503f1
- Fix: Avoid extension includeWith button conflicts/redundancies; Incorporates #147 - Fix: Ensure shift-key cycling through flyouts works with extension-added includeWith as well as toolbarbuttons - Fix: Apply flyout arrows after extensions callback - Fix: Ensure SVG icon of flyout right-arrow is cloned to can be applied to more than one extension - Fix: Ensure line tool shows as selected when "L" key command is used - Refactoring: Avoid passing on undefined var. (#147) - Refactoring: lbs; avoid indent in connector, destructuring, use map over push - Docs: Clarify nature of fixes - Docs: JSDoc for setupFlyouts, Actions, toggleSidePanel; missing for ToolbarButton
Brett Zamir
2018-07-26 16:41:38 -07:00
5d0dd85507
- Fix: Regression for text and tspan elements as far as captureTextNodes with canvg (inheriting class had set captureTextNodes too late) - Fix: Avoid errors for tspan passed to getGradient
Brett Zamir
2018-07-22 23:38:41 -07:00
986f13b55c
- Docs (README): Latest is not necessarily a prerelease - Docs (Release instructions): Version (semver) should be 3 digits; fix github.io paths
Brett Zamir
2018-07-19 16:15:37 -07:00
bee5870197
- npm: Bump to 3.0.0-rc.1 - Docs: No longer need to update svg-edit.github.io as referencing "latest" but add note to add to "Recent news"
Brett Zamir
2018-07-19 15:07:50 -07:00
0a25236477
- Breaking change: Avoid adding assignAttributes, addSVGElementFromJson, call, copyElem, findDefs, getElem, getId, getIntersectionList, getMouseTarget, getNextId, getUrlFromAttr, hasMatrixTransform, matrixMultiply, recalculateAllSelectedDimensions, recalculateDimensions, remapElement, removeUnusedDefElems, round, runExtensions, sanitizeSvg, setGradienttransformListToTransform (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
Brett Zamir
2018-07-19 14:58:30 -07:00
7e9235504a
- Fix (Embedded editor): Ensure origins can match by extracting origin out of base path
Brett Zamir
2018-07-18 22:32:04 -07:00
b023a0076b
- npm: Add script for testing embedded API - Fix (Embedded editor): Ensure adding allowedOrigins for embedded response - Enhancement (Embedded editor): Log if an origin is not whitelisted as sender/receiver - Demo: Point to raw.githack for proper content-type setting and apparent CORS support; also add xdomain-svg-editor-es.html to set origin config and work on Git-based server
Brett Zamir
2018-07-18 22:25:09 -07:00
a3f0b8e501
- Security fix: 'extPath', 'imgPath', 'extIconsPath', 'canvgPath', 'langPath', 'jGraduatePath', and 'jspdfPath' were not being prevented - Breaking change: Rename "svgutils.js" to "utilities.js" (make in conformity with JSDoc module naming convention) - Breaking change: Rename "svgedit.js" to "namespaces.js" (to make clear purpose and avoid confusing with editor) - Breaking change: Rename "jquery-svg.js" to "jQuery.attr.js" - Breaking change: Rename "jquery.contextMenu.js" to "jQuery.contextMenu.js" - Breaking change: Rename "jquery.jpicker.js" to "jQuery.jPicker.js" - Breaking change: Rename "JQuerySpinBtn.css" to "jQuery.SpinButton.css" - Breaking change: Rename "JQuerySpinBtn.js" to "jQuery.SpinButton.js" (to have file name more closely reflect name) - Breaking change: Rename "jquery.svgicons.js" to "jQuery.svgIcons.js" - Breaking change: Rename "jquery.jgraduate.js" to "jQuery.jGraduate.js" - Breaking change: Rename "pathseg.js" to "svgpathseg.js" (as it is a poyfill of SVGPathSeg) - Breaking change: Rename addSvgElementFromJson() to addSVGElementFromJson for consistency - Breaking change: Rename changeSvgContent() to changeSVGContent() for consistency - Breaking change: Have exportPDF resolve with output and outputType rather than dataurlstring (as type may vary) - Breaking change: Rename extensions/mathjax/MathJax.js to extensions/mathjax/MathJax.min.js - Breaking change: Avoid recent change to have editor ready callbacks return Promises (we're not using and advantageous to keep sequential) - Breaking change: Avoid recent addition of locale-side function in ext-imagelib for l10n - Breaking change: Change name of ext-arrows.js from Arrows to arrows for sake of file path (not localized anyways). - Breaking change: Change addlangData extension event to addLangData for consistency with method name - Breaking change: Have readLang return lang and data but do not call setLang - Fix: Have general locales load first so extensions may use - Fix: Provide importLocale to extensions init so it may delay adding of the extension until locale data loaded - Fix: Ensure call to rasterExport without imgType properly sets MIME type to PNG - Fix: Wrong name for moinsave - Update: Update WebAppFind per new API changes - Enhancement: Make setStrings public on editor for late setting (used by ext-shapes.js) - Enhancement: Add extensions_added event - Enhancement: Add message event (Relay messages including those which have been been received prior to extension load) - Enhancement: Allow SVGEdit to work out of the box--avoid need for copying sample config file. Should also help with Github-based file servers - Enhancement: Allow avoiding "name" in extension export (just extract out of file name) - Enhancement: Add stack blur to canvg by default (and refactoring it) - Enhancement: Return Promise for embedImage (as with some other loading methods) - Enhancement: Supply importLocale to langReady to facilitate extension locale loading - Enhancement: Recover if an extension fails to load (just log and otherwise ignore) - Enhancement: More i18n of extensions (also fixed issue with some console warnings about missing locale strings); i18nize Hello World too - Enhancement: Allowing importing of locales within addLangData - npm: Update devDeps - Docs: Migrate copies of all old wiki pages to docs/from-old-wiki folder; intended for a possible move to Markdown, so raw HTML (with formatting) was not preserved, though named links had their absolute URL links preserved - Docs: Begin deleting SvgCanvas.md as ensuring jsdoc has replacements - Docs: Add Edtior doc file for help to general users - Docs: Clarify/simplify install instructions - npm/Docs (JSDoc): Add script to check for overly generic types - Docs (JSDoc): For config/prefs and extension creating, link to tutorials (moved tutorials to own directory to avoid recursion problems by jsdoc) - Docs (JSDoc): Add modules (upper case for usual main entrance files or regular names) - Docs (JSDoc): Fill out missing areas; indicate return of undefined; consistency with @returns - Docs (JSDoc): Add our own layout template to support overflow - Docs (JSDoc): Use cleverLinks and disallow unknown tags - Docs (JSDoc): Insist on "pedantic" flag; put output directory in config - Docs (JSDoc): Use more precise Integer/Float over number, the specific type of array/function/object - Docs (JSDoc): Use @throws, @enum, @event/@fires/@listens - Docs: Generally update/improve docs (fixes#92) - Docs: Update links to latest path (Avoid needing to update such references upon each release) - Docs: 80 chars max - Refactoring: Drop code for extension as function (already requiring export to be an object) - Refactoring: Object destructuring, Object.entries, Object shorthand, array extras, more camelCase variable names - Refactoring: Add a Command base class - Refactoring: Simplify svgicons callback ready detection - Refactoring: Put let or const closer to scope - Refactoring: Remove unneeded delimiter from regex escaping utility - Refactoring: Clearer variable names - Refactoring: Use (non-deprecated) Event constructors - Testing: Use new Sinon
Brett Zamir
2018-06-06 15:26:20 +08:00
228017631e
- Docs: Add to CHANGES - npm: Update sinon dep - npm: Separate test-prep out of test (to avoid blocking script before publish) and avoid prepare (which includes local installs) in favor of prepublishOnly - Build: Update dist files
Brett Zamir
2018-06-25 14:03:53 +08:00
ccb793e78c
- Fix: Detection of whether to keep ellipse (rx and ry when just created are now returning 0 instead of null); fixes#262 - Refactoring: Simplify isValidUnit
Brett Zamir
2018-06-25 12:39:10 +08:00
9f65b1adb9
- Breaking change: Extension now formatted as export (and this is set to editor, including for callback) - Breaking change: Locale now formatted as export - Breaking change: Moved out remaining modular i18n (imagelib) to own folder - Breaking change: Drop executeAfterLoads (and getJSPDF/getCanvg) - Breaking change: RGBColor must accept new - Breaking change: canvg - stackBlurCanvasRGBA must be set now by function (setStackBlurCanvasRGBA) rather than global; canvg now a named export - Breaking change: Avoid passing canvg/buildCanvgCallback to extensions (have them import) - Fix: i18nize imaglib more deeply - Fix: Positioning of Document Properties dialog (Fixes#246) - Fix (regression): PDF Export (Fixes#249) - Fix (regression): Add polyfill for ChildNode/ParentNode (and use further) - Fix (regression): Apply Babel universally to dependencies - Fix (regression): Ordering of uaPrefix function in svgEditor.js - Fix (regression): Embedded API - Fix (embedded editor): Fix backspace key in Firefox so it doesn't navigate out of frame - Fix: Alert if no exportWindow for PDF (e.g., if blocked) - Refactoring( RGBColor) RGBColor as class, without rebuilding constants, optimize string replacement, move methods to prototype, use templates and object literals, use Object.keys - Refactoring (canvg) Use classes more internally, use shorthand objects; array extras, return to lazy-loading - Refactoring: Use Promises in place of $.getScript; always return Promises in case deciding to await resolving - Refactoring: Avoid importing RGBColor into svgutils.js (jsPDF imports it itself) - Refactoring: Arrow functions, destructuring, shorter property references - Refactoring: Fix lang and dir for locales (though not in use currently anyways) - Refactoring: Provide path config for canvg, jspdf
Brett Zamir
2018-06-02 09:14:38 +08:00