Commit Graph

2193 Commits (8aaf40a64bb321b144f8ededc98dbc9d97a8e74c)

Author SHA1 Message Date
Brett Zamir 91c0dc549b - Enhancement: Return a Promise for Editor's `setCustomHandlers`,
`loadFromString`, `loadFromDataURI` so known when ready and set
- Docs (Refactoring): Formally specify `Promise` resolve type;
    add `typedef` for dialog result object; add an
    `ArbitraryCallbackResult` type
2019-04-05 22:59:41 +08:00
Brett Zamir 6d2794beb4 - Testing: Skip js errors in Testcafe; we're getting some uncaught
error despite not replicating manually; should file a Testcafe issue
- Build: Update
- npm: Update devDeps
2019-04-03 17:05:18 +08:00
Brett Zamir 1c30c42105 - Fix (regression) Accidental opensave extension path move
- Build: Update
2019-04-03 16:47:43 +08:00
Brett Zamir 056f4f197c - Enhancement (svgIcons): Fix JSDoc param def; add `alt` options
- Accessibility: Begin work, add aria-label to some buttons and
    form controls; add `role=main`; `<img alt>`; `<iframe title>`
- i18n: Add `lang` attribute
- Refactoring: lbs, simplify i18nized element retrieval call
- Docs: Some JSDoc descriptions, JSDoc spacing, fix svgIcons param
    def; add todo
- Testing: Avoid reporting meta-viewport (have own zooming
    controls and difficult to fix)
2019-04-03 16:32:14 +08:00
Brett Zamir 69ea647286 - Fix: Droplets for gradient pickers can now be double-clicked in
other browsers in addition to Firefox such as Chrome
    to allow change of color (fixes #181) (@ajinkyas);
    may be different between the browsers as a result of
    <https://github.com/w3c/uievents/issues/141>
- Builds: Update
2019-04-03 11:31:06 +08:00
Brett Zamir 0171e177cb - Linting (LGTM): Update to suppress current LGTM warning 2019-04-02 17:51:24 +08:00
Brett Zamir 9bab917623 - Fix/Refactoring: Avoid missing item in loop, assuming it is possible and at least preventing lgtm warnings (lgtm.com-inspired) 2019-04-02 11:34:35 +08:00
Brett Zamir 1ae6e91bb0 - Linting (ESLint): Update polyfills to new compat rules of
eslint-config-ash-nazg and adhere to new rules (prefer `for-of`
  (or array methods) to `for`, catch preferred `includes` to `indexOf`);
  avoid `no-zero-fractions` rule for now
- npm: Update devDeps (removing one unneeded)
2019-03-31 17:39:19 +08:00
Brett Zamir 6d9130b1fb - Refactoring: Make dialog OK button retrievable locale-independently (for testing)
- Testing: Avoid testing being locale-dependent; approve storage (and set locale to English) before each test
2019-03-16 19:31:19 +08:00
Brett Zamir 27aa89e481 - Build: Update
- Docs (CHANGES): Update
2019-03-16 19:07:14 +08:00
cuixiping 2631a21607 fix #334 JS error when changing language 2019-03-16 18:33:42 +08:00
Brett Zamir dade2a7b37 - Linting (ESLint): Apply coding standards
- Testing (Refactoring): Abstract out to helper file functions for approving local storage and opening the main menu
- Docs (CHANGES): Update
- npm: Update devDeps; update nested deps for security audit
2019-03-16 12:33:35 +08:00
cuixiping 573544b41b fix SVG-Edit/svgedit#268 error on dragging control point of arc 2019-03-13 11:15:49 +08:00
Brett Zamir bc2e1ef725 - Fix: Delay icon setting until locales available (fixes #323) 2019-03-05 22:55:02 +08:00
Brett Zamir e524ae6174 - Fix: Extension with no `placement` to be added to end;
for #326 (@sjernigan)
2019-03-05 22:19:02 +08:00
Brett Zamir d7b9cc6309 - Fix: Ensure copy preserves array values (e.g., dimensions in URL per #320) 2019-02-21 20:48:45 +08:00
Brett Zamir d01abf19d2 - npm: Update devDeps
- Linting (ESLint): New ash-nazg rules
2019-02-21 19:41:09 +08:00
Brett Zamir c2a9798bfe - Enhancement: Whitelist `feMorphology` element
- Todo
2019-02-21 19:24:22 +08:00
Brett Zamir 08b310a9f2 - Linting (ESLint): Coding standards (prefer const, etc.)
- Refactoring: Use array destructuring for clearer var naming;
    prefer `includes` over `indexOf`
- Docs (CHANGES): Update
- Build: Update dist files for non-ES use
2019-02-21 16:26:26 +08:00
Александр 080dc1db3e Remove useless code 2019-01-21 14:32:08 +04:00
Александр 7e80e64c7b Update functionality 2019-01-21 14:12:02 +04:00
Александр f75580611b CAD Placemark Extension 2019-01-18 10:02:40 +04:00
Brett Zamir db06248b7e - Optimization fix: Properly run code conditionally on browser check;
fixes #312 (@ianli-sc)
2018-12-27 09:51:26 +08:00
Brett Zamir 01083faf73 - Docs: Update CHANGES
- npm: Update devDeps
- npm: Bump to 4.2.0
2018-12-13 09:48:06 +08:00
Александр 69a5d03e42 Add russian translation to some strings 2018-12-07 11:34:21 +04:00
Brett Zamir cf476ed8ea - l10n: Add zh-CN dist files
- Linting (ESLint): Add back `no-console`; while useful for debugging, could flag incomplete code (and was breaking at reporting of unused directives)
- Docs (CHANGES): Add changes and apply more formal style
- Build: Rebuild with updated Babel/Rollup
- npm: Update devDeps
2018-12-04 14:36:02 +08:00
Brett Zamir 8b44af5398
Merge pull request #307 from NeiroNx/master
Fix Grid bug
2018-12-04 14:07:52 +08:00
NeiroNx 9fa5955b9c
Fix Grid bug 2018-12-04 08:53:09 +04:00
Brett Zamir 17bc78fa3f - l10n: Add Chinese (simplified) extension locales (Thanks, @enlove!)
- Linting (ESLint): Avoid reporting `no-console`
- Refactoring: Avoid Firefox console errors with hidden iframe
- Docs (CHANGES): Fix Markdown heading level
2018-11-30 18:27:22 +08:00
Brett Zamir c6d07fbb7c - Fix: Extension locales with hyphens
- npm: Bump to 4.1.0
2018-11-29 20:41:50 +08:00
Brett Zamir 99ec41a3c3 - Fix: Avoid cross-frame unsafe `instanceof`
- npm: Update eslint-config-ash-nazg
2018-11-28 08:56:41 +08:00
Brett Zamir 3f861af42d - Update: Bump StackBlur version 2018-11-25 22:15:33 +08:00
Brett Zamir 845dbbd7d7 - Linting (ESLint): Prefer `addEventListener`, exponentiation operator, avoiding catastrophic regexes, prefer spread, prefer startsWith/endsWith, no fn ref in iterator
- npm: Update devDeps (rollup and eslint-config-ash-nazg)
2018-11-21 21:03:14 +08:00
Brett Zamir 1c284c948d - Fix (regression): RGBColor
- npm: Bump to 4.0.1
2018-11-16 15:44:20 +08:00
Brett Zamir ba1f0d7f14 - Fix: Adjust side panel width checking based on device zoom (fixes #298) 2018-11-16 14:17:26 +08:00
Brett Zamir b0fad3d765 - Fix (regression): Fix storage namespace; update build files to get regression fix applied 2018-11-16 13:33:13 +08:00
Brett Zamir c42791b2b2 - Fix (regression): Arg names not being passed on properly for `addExtension` 2018-11-16 13:02:14 +08:00
Brett Zamir 2e5c7557a9 - Breaking change: `loadSvgString` now returns a `Promise` rather than accepting a callback
- Breaking change: Treat callbacks to `editor.ready` as Promises, only resolving after all resolve
- Breaking change: Make `editor.runCallbacks` return a `Promise` which resolves upon all callbacks resolving
- Breaking change: Require `npx` (used with `babel-node`) to allow Node files
  for HTML building and JSDoc type checking to be expressed as ESM.
- Breaking change: `addExtension` now throws upon a repeated attempt to add an already-added extension
- Breaking change (storage preference cookies): Namespace the cookie as "svgeditstore" instead of just "store"
- Breaking change (API): Remove `svgCanvas.rasterExport` fourth (callback) argument, collapsing fifth (options) to fourth
- Breaking change (API): Remove `svgCanvas.exportPDF` third (callback) argument
- Breaking change (API): `editor/contextmenu.js` `add` now throws instead of giving a console error only upon detecting a bad menuitem or preexisting context menu
- Breaking change (API): Remove `svgCanvas.embedImage` second (callback) argument
- Breaking change (API): Make `getHelpXML` a class instead of instance method of `RGBColor`
- Breaking change (internal API): Refactor `dbox` (and `alert`/`confirm`/`process`/`prompt`/`select`) to avoid a callback argument in favor of return a Promise
- Fix: Avoid running in extension `langReady` multiple times or serially
- Enhancement (API): Add svgCanvas.runExtension to run just one extension and add `nameFilter` callback to `runExtensions`
- Enhancement (API): Supply `$` (our wrapped jQuery) to extensions so can use its plugins, e.g., dbox with its `alert`
- Enhancement: Use alert dialog in place of `alert` in webappfind
- Enhancement: `editor.ready` now returns a Promise resolving when all callbacks have resolved
- Enhancement: Allow `noAlert` option as part of second argument to `loadSvgString` (and `loadFromURL` and `loadFromDataURI`) to avoid UI alert (and trigger promise rejection)
- Enhancement: Make `dbox` as a separate module for alert, prompt, etc. dialogs
- Refactoring: Internal `PaintBox` as class; other misc. tweaks; no bitwise in canvg
- Linting (ESLint): Further linting changes (for editor); rename `.eslintrc` -> `.eslintrc.json` per recommendation
- Optimization: Recompress images (imageoptim-cli updated)
- npm: Update devDeps
- npm: Bump to 4.0.0
2018-11-16 12:48:23 +08:00
Brett Zamir 7c470e9909 - Linting (ESLint): Stricter rules (or switch to warning)
- Breaking internal API change: `updateGripCursor` moved to be class method of Selector rather than instance method
- Breaking internal API change: `subpathIsClosed` moved to be class method of `Path` rather than instance method
- Refactoring: Reuse utilities base64 encoder for SVG icons plugin
- Docs (JSDoc): Fix return of the `mouseUp` (can also be an object) and `mouseDown` (may also be a boolean) of `pathActions`; other JSDoc additions/improvements
2018-11-08 14:42:48 +08:00
Brett Zamir 901c9547fe TODO: Besides splitting this out from previous commit, should really avoid markdown field in favor of modifying jsdoc to report wherever it lays out "prettyprint"; still probably missing some one-liners; see https://github.com/google/code-prettify; update builds to confirm new stackblur is working; add below to CHANGES; add back for eslint-plugin-jsdoc once merged (though need new version `^3.9.1`); move any linting changes to other linting branch
- Refactoring (minor): Add favicon to canvas demo
- Linting (ESLint Markdown JavaScript): Add `eslint-plugin-markdown` with
  slightly loosened config (`no-undef` and `padded-blocks` off and
  `no-unused-vars` as a warning)
- Linting (ESLint JSDoc code comments): Add `eslint-plugin-jsdoc` and apply to
    JSDoc code comments
- Linting (ESLint): Completely avoid unescaped tabs in files
- Docs (Linting): Add linting info file
- npm: Rename `copy-deps` script to `copy`
- Refactoring: Add stackblur-canvas as a dependency and copy it in (until such time as we can do so for canvg)
2018-11-07 14:51:09 +08:00
Brett Zamir 8899680e60 - npm: Actually commit minor version update to avoid vulnerable qunit dependency; also update sinon
- npm: Avoid using Github version of JSDoc (used in a branch for layout override testing); do a fresh
    install of all packages and update `package-lock.json` accordingly; update qunit dist and openclipart
- npm: Bump to 3.2.0
2018-11-04 15:38:28 +08:00
Brett Zamir 8775528c94 - Docs (CHANGES): Add main heading
- npm: Update devDeps (including Jamilih copied into dist files as well as an updated qunit which resolves some security vulnerabilities
2018-11-04 15:14:53 +08:00
Brett Zamir f78fb05454 - Docs (JSDocs regression): Use nested array format recognized by both ESLint and JSDoc 2018-10-31 02:13:09 +08:00
Brett Zamir aef7b095ef - Refactoring: Avoid unnecessary addEventListener `false`; change internal
jPicker function to class (used with `new`)
- Linting (ESLint): Add `valid-jsdoc` rule and make fixes; but turn off for
  now due to <https://github.com/eslint/eslint/issues/11036> and
  <https://github.com/eslint/eslint/issues/11037>
- Docs (JSDoc): Add some Markdown for variables, line breaks; tighten checks
  for overly generic types (though allow for `.Function` as in
  `jQuery.Function`) and avoid one previously missed instance
2018-10-31 00:31:12 +08:00
Brett Zamir b573a85fba - Fix: Save broken on Firefox (since FF version?)
- Docs: Mention potentially more frequent release schedule
- Docs (ReleaseInstructions): Update per new testing; update
  `grep-doc` -> `types-doc` and indicate current failing status; indicate
  when `build-doc` will be used; clarify `npm pack`
- npm: Add newly renamed `jsdoc-check-overly-generic-types.js` to ignore
- npm: Bump to 3.1.1
2018-10-25 10:45:57 +08:00
Brett Zamir 89515b7e1e - Docs: For clarity, rename `grep-jsdoc.js` to `jsdoc-check-overly-generic-types.js`
- Docs: Move GenericCallback to typedefs.js for possible reuse
- npm: Update "grep-doc" to "types-doc" for greater clarity
2018-10-25 10:09:32 +08:00
Brett Zamir 283ef0b521 - Fix: Have export handler, if triggered, always open a window even if no
window name was given (needed in Chrome to avoid opening an extra window)
- Fix (Embedded editor regression): Ensure event handlers are added even if
    document cannot be directly modified
- Enhancement: Add `opts` object to `rasterExport` with `avoidEvent` property
  to avoid calling the `exported` event
- Docs (CHANGES): Update
- Docs (README): Deemphasize unstable embedded editor fixes
2018-10-24 14:56:09 +08:00
Brett Zamir 07f59ba01a - Refactoring: Reorder path config to group (non-modular-dependent) image
paths together (and correct code comment)
- Docs: CHANGES clarifications/fixes
- Docs: Migrations documents section
- Docs: Add code comment re: use of `extIconsPath` in Mathjax
- Docs: Add JSDoc indicate @this for `ExtensionInitResponse#callback`
- Build: Update build files
- npm: Bump to 3.1.0
2018-10-24 13:52:08 +08:00
Brett Zamir 9d454d79fd - Refactoring: Rename no modules redirect file to begin with "redirect" as with other redirect 2018-10-24 11:03:26 +08:00
Brett Zamir 4a0889c7e5 - Enhancement: For anyone visiting the ES6 modules entrance file without ESM
support, redirect to non-modular vesion
- Build: Add comment not to edit xdomain editor directly
2018-10-24 10:56:07 +08:00
Brett Zamir 25f02d99f2 - Refactoring: Display inline styles within a template for readability
(until we may refactor as class swapping)
- Refactoring: Line breaks
2018-10-24 09:44:43 +08:00
Brett Zamir a714c122d3 - Fix (Embedded editor): (Though embedding cross-origin iframes apparently
only working now in Chrome if same origin or if https?--at least not
  localhost of different ports), PDF export has been fixed (we download the
  PDF to workaround data URI limitations in Chrome)
- Fix (Embedded editor): Avoid using same origin shortcut if there is no
  global available to use (e.g., if using the modular editor)
- Fix (Embedded editor): Add events only after load is complete and
  svgCanvas is available; also log blocked error objects
- Enhancement: For PDF export, switch Chrome by default to "save" `outputType`
- Docs (JSdoc): Denote optional arguments
2018-10-23 22:24:09 +08:00
Brett Zamir 5b4dae0d30 - Docs: CHANGES clarifications
- Docs: More info on `importLocale` for extensions
- Refactoring: Better type-checking on `canvasRGBA_` (but set correctly by default anyways)
- Build: Remove unused Makefile
2018-10-23 18:35:49 +08:00
Brett Zamir 2835ec11b6 - Refactoring: Avoid redundant use of *AttributeNS methods with
`null` value; just use *Attribute methods without namespace
2018-10-23 18:14:27 +08:00
Brett Zamir f4bbd34d34 - Fix: Revert fix to have extension `mouseup` events run on "zoom" and
"select" modes (#159); breaks polygon selection
- npm: Bump to 3.0.1
2018-10-22 23:43:59 +08:00
Brett Zamir 2cecbac24a - Fix (jgraduate->jpicker): Actually fix issue with color val check when no other proper results (equal to "all");
prior fix had not covered original intention
- Docs: Clean-up and fixes in CHANGES
2018-10-22 23:13:04 +08:00
Brett Zamir d13f99bb5e - Breaking change: Remove `storagePromptClosed` state boolean in favor of
`storagePromptState`; used by `ext-storage.js`
- Fix (regression): Ensure storage dialog will not be blocked because of
    canvas updating done for sake of centering background
- Fix (extensions): Ensure `langReady` changes are available by time prefs
  dialog is closed and that its changes have occurred by time extensions
  have first loaded (`setLang` now returns a Promise rather than `undefined`
  as it waits for extension's `langReady` to resolve); this is also useful
  with `ext-storage.js` so we know that `extensions_loaded` (which
  conditionally updates the canvas based on `storagePromptState`) has seen
  `langReady` and the storage extension hasn't set a `storagePromptState`
  of "waiting"
2018-10-21 18:38:53 +08:00
Brett Zamir c37e60fd87 - Fix: Centering of canvas wasn't being set at proper time; fixes #272
- Refactoring: Avoid unneeded internal IIFEs; simplify w/h formula
2018-10-21 01:17:44 +08:00
Brett Zamir 5d9da2d56e - Breaking change: For checkbox for persisting choice of initial use storage
approval in storage extension dialog, turn on by default for convenience of
  most users (must still hit "ok" and users can still turn off the checkbox)
2018-10-20 23:38:47 +08:00
Brett Zamir fb9eb80798 - Fix (regression): Extension locale loading for non-English locales
- Fix: Allow language to be properly set back to a different locale and
  retaining preference (and ensure language changes are available before
  dialog closed)
- Refactoring: array extra/spread operator
- npm: Update devDep (sinon-test)
2018-10-20 22:21:58 +08:00
Brett Zamir 8024304a96 - Fix: Map extension click events to "mousedown" so they can be received
on touch devices (since `touch.js` changes `touchstart` to
    `mousedown`) (@ClemArt); closes #168
- Fix: Ensure extension `mouseup` events run on "zoom" and "select"
  modes (@iuyiuy); closes #159
2018-10-19 20:42:10 +08:00
Brett Zamir b7269db7f4 - Docs: Move from closing rawgit.com to unpkg.com 2018-10-14 12:45:11 +08:00
Brett Zamir 714cbe0c44 Revert "- Fix: Regression with locale string setting"
This reverts commit a5265d2c22.
2018-10-02 22:50:27 +08:00
Brett Zamir a5265d2c22 - Fix: Regression with locale string setting 2018-10-02 21:19:47 +08:00
Brett Zamir 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
2018-10-02 14:02:15 +08:00
Brett Zamir 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
2018-10-02 13:21:04 +08:00
Brett Zamir 3d2085c991 - Build: Update `dist` 2018-10-01 16:45:34 +08:00
Brett Zamir 3c036c70cd - Enhancement: Allow "Escape" to work with hotkeys within text boxes;
allows escaping out of source textarea (part of #291)
2018-10-01 16:30:10 +08:00
Brett Zamir 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 2018-09-30 13:33:00 +08:00
Brett Zamir 71b2b33e41 - Fix: Avoid errors occurring in Chrome now for `supportsGoodTextCharPos`
- Linting: Avoid Jamilih file in doc linting
- Testing: Add testcafe (ESLint plugin/rules, accessibility test
  (failing), ui test beginnings (passing))
- Docs: Add "Testing" prefix to contributing file
- npm: Bump to 3.0.0-rc.3
2018-09-30 12:13:34 +08:00
Brett Zamir 1a214ae444 - npm: Update devDeps 2018-09-29 10:59:46 +08:00
Brett Zamir ae58be8277 - Build: Babel 7
- npm: Update qr-manipulation
2018-09-26 21:27:52 +08:00
Brett Zamir 9f7f7b9732 - Openclipart API work (waiting on possibility of their adding a missing CORS header) 2018-09-26 16:49:46 +08:00
Brett Zamir ae7d0d1331 - Compatibility fix (openclipart): Ensure polyfill present; make separate non-modular build (still not integrated as API incomplete)
- Docs: Add compatibility fix to Contributing
2018-09-26 16:06:57 +08:00
Brett Zamir ab5aec978e - Further work on openclipart (now just need to pass to ) 2018-09-26 14:46:53 +08:00
Brett Zamir 526c87b61e - Further work on openclipart (use qr-manipulation) 2018-09-26 12:38:00 +08:00
Brett Zamir 8c0161361f - Fix (Imagelib): Avoid premature exit for string API (#274) 2018-09-25 23:34:51 +08:00
Brett Zamir fff4b2e48b - Openclipart: Bail on error, lbs 2018-09-25 16:52:12 +08:00
Brett Zamir 4b6be7a871 - Incomplete enhancement: Add Openclipart query page (using Jamilih); need to better format results and tie into Imagelib 2018-09-25 16:49:26 +08:00
Brett Zamir 90ff5b9479 - Update (Imagelib): Remove extra (and more outdated) jQuery copy
- Refactoring (minor): Reuse local variable
- Docs: Contributing re: updates
2018-09-25 14:21:40 +08:00
Brett Zamir fa37778ec0 - Fix: Ensure repeated selection of same file overwrites with that
file's contents (fix #289)
2018-09-25 11:19:13 +08:00
Brett Zamir 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
2018-09-25 10:13:29 +08:00
Brett Zamir 83aa156353 - Fix (regression): Imagelib (ensure non-URL relative paths are treated as current origin); variable order (#274) 2018-09-25 03:32:01 +08:00
Brett Zamir 459a6b8f89 - Build: Update `dist` 2018-09-25 03:12:11 +08:00
Brett Zamir 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)
2018-09-25 03:06:22 +08:00
Brett Zamir 7ff2721ba9 - Enhancement: Auto-detect `allowedImageLibOrigins` based on locale rather than requiring user to supply 2018-09-25 02:35:15 +08:00
Brett Zamir a22895c53a - Security fix (Imagelib): Avoid XSS (fixes #288)
- Fix (Imagelib): `dropXMLInternalSubset` misspelled
2018-09-25 02:06:51 +08:00
Brett Zamir 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)
2018-09-24 20:59:47 +08:00
Brett Zamir 25ed8ad465 - Linting (LGTM): Mark remote property injection in embedapi as safe 2018-09-24 20:08:49 +08:00
Brett Zamir 7db8cc9c36 - Fix: Ensure poly shape has a `points` attribute
- Refactoring: Avoid building nested function upon each function call
- Linting (ESLint): Coding standards
2018-09-22 11:59:34 +08:00
eric f485a05c56 Export polygon and polyline to PDF. fix #280 2018-09-22 11:21:22 +08:00
Brett Zamir 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
2018-09-22 10:06:25 +08:00
Brett Zamir dab1ff81af - Fix (jPicker): Avoid setting `Math.precision` pseudo-global
- Refactoring (jPicker): Use ES6 templates; avoid unnecessary check
- Refactoring: Avoid useless assignment (courtesty lgtm)
- Build: Update files
2018-09-22 09:01:13 +08:00
Brett Zamir 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
2018-09-21 10:56:07 +08:00
Brett Zamir cba5909472 - Fix (regression): i18n of markers extension 2018-09-14 07:36:06 +08:00
Brett Zamir b51db3a3c1 - Fix (Context menus): Avoid showing double shortcuts (#285); add some
missing ones
2018-09-14 07:18:26 +08:00
Brett Zamir ed6aa3fcb8 - Build: Update `dist` files 2018-09-13 22:57:01 +08:00
Brett Zamir c0ea00d36b - Fix (image export) Export in Chrome; fixes #282 2018-09-13 18:23:53 +08:00
Brett Zamir 0688b9af60 - Fix (image import): Put src after onload to avoid missing event;
check other width/height properties in case offset is 0; fixes #278
2018-09-13 17:54:40 +08:00
Brett Zamir 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
2018-09-13 09:13:05 +08:00