Commit Graph

249 Commits (3fe912eba8abc04f2af056c5948a7e660628c2c8)

Author SHA1 Message Date
cuixiping d0348ddf4e Fix: fix the default src of empty iframe to avoid loading index page 2020-01-07 18:14:05 +08:00
Brett Zamir 97f64d2189 - Refactoring: Move `build-html` to `build` directory
- Optimization: Remove old build/tools closure/yuicompressor code
- Testing: Produce mochawesome report
- Testing: Cypress with multiple reporters (was expecting we'd need, but doesn't hurt to add for now)
- Docs: Add testing badge
- Docs: Reprioritize `docs` in commit lists (prioritize user-facing)
- npm: Update `package-lock.json` (seems to have fixed so Cypress shows incremental results)
2020-01-06 13:42:52 +08:00
Brett Zamir bf2409fd4c - Refactoring: lbs; clarify 2020-01-05 17:42:47 +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 0029a932b2 - Fix: Misspelling for `dropXMLInternalSubset` method (also fixes
use in imagelib when defaulting to image's title)
- Fix: Redirect paths for imagelib redirect checks
2020-01-04 17:32:19 +08:00
Brett Zamir e0ceec2a38 - Docs(imagelib): Further jsdoc work 2020-01-04 17:05:11 +08:00
Brett Zamir d7d6b87255 - Docs(imagelib): JSDocs for extension 2020-01-04 16:45:18 +08:00
Brett Zamir 77eb85e91c - Refactoring: Remove redundant check 2020-01-04 16:43:42 +08:00
Brett Zamir 92f8a5be57 - Refactoring: Avoid redundant creation of text node for strings when passing to `append` 2020-01-04 16:43:03 +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 1d590400f4 - Fix (openclipart browser): Redirect on lacking browser support 2019-12-26 08:11:55 +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 da819950dd - License: Relicense ext-mathjax from Apache-2.0 to MIT per https://github.com /josegaert/ext-mathjax/issues/6
- License: Reorder license listing in `jquery.contextMenu.js` so that more permissive is noticeable first
- License: Clarify in `@license` that `ext-server_moinsave.js` is MIT OR GPL-2.0-or-later per subsequent text
- Optimization: Remove unused `jquery-ui-1.8.custom.min.js` file
2019-11-30 11:54:58 +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 a09c47283e - Linting: Add `ignore` folder to ignore file; ensure license versions are valid semver
- npm: Update devDeps
2019-11-13 14:16:06 +08: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 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 fc0c53f61a - Breaking change: Switch from deprecated `@babel/polyfill` to
`core-js-bundle` and `regenerator-runtime` replacements
- Fix: Fully redirect extension entrances for lacking browser support
- Docs: Simplify comments in HTML files re: script purposes
- Docs: Update release instructions
- npm: Update devDeps (jsdoc, security audit)
- npm: Bump to 5.0.0
2019-05-07 08:02:32 +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 0c1ddd44fa - Refactoring: Destructuring, templates, label Unicode code point
- npm: Rename `build-doc` to `build-docs`; add `open-docs` script
2019-04-08 10:51:34 +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 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 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 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 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 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 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 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 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 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 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 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