Commit Graph

790 Commits

Author SHA1 Message Date
Brett Zamir
7914f26e02 - Linting (ESLint): As per latest ash-nazg 2020-03-27 20:39:51 +08:00
Brett Zamir
33c84d89b8 - Linting (ESLint): As per latest ash-nazg
- npm: Update devDeps
2020-02-01 20:44:13 +08:00
Brett Zamir
f9f359b98f - Linting (ESLint): As per latest ash-nazg (jsdoc for classes/methods)
- npm: Update devDeps
2020-01-29 12:09:42 +08:00
cuixiping
4a5a24f374 Feature: checkerboard background 2020-01-07 17:20:29 +08:00
cuixiping
2e7ca91ea5 Fix: popup position is wrong sometimes 2020-01-07 16:41:49 +08:00
Brett Zamir
205a70b385 - Linting (ESLint): Fix linting regression
- Build: Update
2020-01-05 18:30:21 +08:00
Brett Zamir
4b33c73f00 - Refactoring: Remove BBQ in favor of deparam (with npm script to copy in)
- Fix: `initFill`/`initStroke` `color`, and `bkgd_color` problematic when using decimal-component-only hex; fixes #314
2020-01-05 17:58:50 +08:00
Brett Zamir
86eff626ce - Fix (recent regression): check for source properly 2020-01-05 17:52:56 +08:00
Brett Zamir
bf2409fd4c - Refactoring: lbs; clarify 2020-01-05 17:42:47 +08:00
Brett Zamir
711cfc4ecc - Fix: Ensure setupCurPrefs is run (including when source or
`url` is set within the URL)
2020-01-05 11:11:44 +08:00
Brett Zamir
d0d7efabc4 - Refactoring: Reduce BBQ dependency (not yet removable as used still in svgeditor) 2020-01-05 10:32:31 +08:00
Brett Zamir
56197a493c - Refactoring: Switch from $.param.querystring to URL 2020-01-05 10:02:49 +08:00
Brett Zamir
37424278d1 - BREAKING CHANGE: Remove $.pref in favor of new svgEditor.pref
(avoiding polluting jQuery). (Might be moved to own module in
  future.)
- BREAKING CHANGE: `putLocale` (a function called automatically by
  `svg-editor.js`) no longer checks `pref`. Should not impact
  average consumers.

`putLocale` now also logs lang and checks `goodLangs` even if an explicit lang param is provided
2020-01-05 08:54:16 +08:00
Brett Zamir
e356b95a03 - Fix: Background URL was not settable back to nothing; fixes #376 2020-01-04 22:32:52 +08:00
Brett Zamir
7fc26e114d - Refactoring: Ensure file-global tags are at beginning of file 2019-12-31 16:33:47 +08:00
Brett Zamir
d9d4d94976 - Linting (ESLint): Apply per latest ash-nazg (jsdoc: complete sentence descriptions)
- npm: Update devDeps
2019-12-31 15:27:16 +08:00
Brett Zamir
477d5fdb6c - Linting (ESLint): Update as per latest ash-nazg (bad jsdoc)
- npm: Update devDeps
2019-12-31 13:14:33 +08:00
cuixiping
a7447fbbe2 Fix: main menu style and text #371 2019-12-25 15:53:27 +08:00
Brett Zamir
31a98c1408 - Linting (ESLint): Apply latest ash-nazg (with latest unicorn)
- npm: Update devDeps
2019-12-23 09:16:16 +08:00
Brett Zamir
34721f2351 - Fix (Accessibility): Avoid duplicate IDs 2019-11-23 21:23:05 +08:00
Brett Zamir
19f7962c4a - Revert prefer-named-capture-group due to apparently problematic Babel plugin 2019-11-16 10:08:38 +08:00
Brett Zamir
cd0bdd9cce - Fix: IE 11 issue; fixes #363
- npm: Update devDeps
2019-11-16 09:29:09 +08:00
Brett Zamir
404911827e - Linting (ESLint): Apply new rules ("fixme"->"todo"; prefer regex literals; defaults at end)
- Optimization: Image size
- npm: Bump devDeps (Babel/eslint/rollup-related; imageoptim, testcafe)
2019-09-20 12:40:31 +08:00
Brett Zamir
3808f7d7c1 - Linting (ESLint): Avoid shadowing
- npm: Update devDeps
2019-08-05 21:36:51 -07:00
Moliman
0bb9728067 Use change event to be sure that file is loaded before the function
Click event can trigger the script before the user choose the file, so it will be loader on the next
Open SVG click. Change event trigger the script after the user choose the file.
2019-08-03 03:05:51 -04:00
Brett Zamir
e4231aeb10 - Linting (ESLint): Lint per latest ash-nazg (e.g., named capture)
- Linting (ESLint): Add HTML files to linting and add devDeps for new ash-nazg
- npm: Update devDeps
2019-07-03 17:50:46 +08:00
Brett Zamir
b07d0861b4 - Linting (ESLint): Fix per stricter eslint-plugin-jsdoc context checking
- npm: Update devDep (jsdoc linting plugin)
2019-06-27 13:54:40 +08:00
Brett Zamir
efcde397ac - Optimization: Re-rerun image optimization per update
- Linting (ESLint): Adjust per now applied rules
- Testing: Accessibility test API update
- Docs: Clarify need for Node.js/npm being installed
- npm: Update devDeps and core-js-bundle copy; add new axe testing peer dep. axe-core
2019-06-27 12:24:37 +08:00
Brett Zamir
4177146acd - Linting (ESLint): Remove now unneeded config and add per new update
- Refactoring: Prefer for-of, event.key (newly enforced linting)
- Refactoring: Better var. names
- npm: Update devDeps and update local copies
2019-06-11 16:40:28 +08:00
Brett Zamir
fa4ea90c72 INCOMPLETE: Remove check types file
- Linting: `match-description`, bad returns
- Linting: Use eslint-plugin-jdsoc `preferredTypes` in place of custom file
- Linting: Remove `report-unused-disable-directives` command as have as rule
- Lintin: Avoid overly generic `Array`
- npm: Update devDep
2019-05-24 14:44:57 +08:00
Brett Zamir
d5ef6c5619 - Linting: Use new preference for "object"; fix @example code; bad @returns
- npm: Update devDeps
2019-05-22 23:43:29 +08:00
Brett Zamir
8d179aee0c - Deprecated: Should now use avoidClientSideDownload in place of
`avoidClientSide` (config for `ext-server_opensave.js`).
- Enhancement: Added `avoidClientSideOpen` config for
    `ext-server_opensave.js`
- npm: Update devDeps (including switching from deprecate opn-cli
    package to open-cli)
2019-05-21 17:50:56 +08:00
Brett Zamir
13835a368c - Fix: Ensure PHP files are present in dist/extensions alongside JavaScript files using them
- Fix: Bug in obtaining `extPath` in ext-server_opensave.js
- Enhancement: Add config `avoidClientSide` to avoid using client-side support by default (and always require server)
- Build: Require Node 8.5
2019-04-18 21:13:48 +08:00
Brett Zamir
1d56d75837 - Linting (JSDoc): Reenable jsdoc/valid-jsdoc as fixed; notes re: valid-jsdoc replacement; use same namepath
- npm: Update devDep
2019-04-17 19:12:55 +08:00
Brett Zamir
d84f39cb3f - Docs (JSDoc): Further on preferring void 2019-04-16 08:59:53 +08:00
Brett Zamir
894fed3e80 - Linting (JSDoc): Update per newly enforced require-returns; avoid Closure syntax
- Docs (JSDoc): Prefer `void`
- npm: Update devDeps
2019-04-16 08:58:40 +08:00
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
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
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
cuixiping
2631a21607 fix #334 JS error when changing language 2019-03-16 18:33:42 +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
c6d07fbb7c - Fix: Extension locales with hyphens
- npm: Bump to 4.1.0
2018-11-29 20:41:50 +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
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