Commit Graph

37 Commits (8f53e34c0c76b4ae16922cb2c8f1969120f03b97)

Author SHA1 Message Date
Brett Zamir d173df34d2 - Fix (Embedded API): Cross-domain may fail to even access `origin` or `contentDocument`
- Fix (Embedded API): Avoid adding URL to iframe src if there are no arguments
- Fix (Cross-domain usage): Recover from exceptions with `localStorage`
- Docs (JSDoc): Missing function
2018-05-30 19:39:00 +08:00
Brett Zamir a5ad91a370 - Refactoring: Sort Embedded functions alphabetically and add lbs for better visibiilty in code
- i18n: Clarify locale messages (where still available as English) to reflect fact that Chrome only has "Save as" via context menu/right-click, not via file menu (toward #192)
- Linting (ESLint): Avoid linting jsdoc folder
2018-05-30 16:00:06 +08:00
tetedacier d098dc0914 Bugfix/separate declaration from exposition (#245)
* Separate definition from exposition

* Suppress previous documentation before generating new one

* Restore deleted line

* Set up verbosity to provide details on what's going on
2018-05-29 09:43:02 -07:00
Brett Zamir 5ad83b9b87 - Refactoring: Clean-up
- Fix: Race condition with svgicons and seticonsize
- Embedded editor: Use module form for now; drop unused inline attribute
- Embedded editor: Fix PNG export; work toward restoring PDF (add `getUIStrings` method to editor for assisting)
- canvg and importScript fixes
2018-05-25 22:43:01 +08:00
Brett Zamir ae2394f086 (INCOMPLETE: ES6 Module conversion and linting)
- Breaking change: Require `new` with `EmbeddedSVGEdit` (allows us to use `class` internally)
- Breaking change: If `svgcanvas.setUiStrings` must now be called if not using editor in order
    to get strings (for sake of i18n) (and if using path.js alone, must also have its `setUiStrings` called)
- Breaking change (ext-overview-window): Avoid global `overviewWindowGlobals`
- Breaking change (ext-imagelib): Change to object-based encoding for namespacing of
    messages (though keep stringifying/parsing ourselves until we remove IE9 support)
- Breaking change: Rename `jquery.js` to `jquery.min.js`
- Breaking change: Remove `scoped` attribute from `style`; it is now deprecated and
    obsolete; also move to head (after other stylesheets)
- Enhancement: Make SpinButton plugin independent of SVGEdit via
    generic state object for tool_scale
- Enhancement: Remove now unused Python l10n scripts (#238)
- Enhancement: ES6 Modules (including jQuery plugins but not jQuery)
- Enhancement: Further JSDoc (incomplete)
- Enhancement (Optimization): Compress images using imageoptim (and add
    npm script) (per #215)
- Fix: i18nize path.js strings and canvas notifications
- Fix: Attempt i18n for ext-markers
- Refactoring (ext-storage): Move locale info to own file imported by the extension (toward modularity; still should be split into separate files by language and *dynamically* imported, but we'll wait for better `import` support to refactor this)
- Refactoring: For imagelib, add local jQuery copy (using old 1.4.4 as had
    been using from server)
- Refactoring: For MathJax, add local copy (using old 2.3 as had been using from
    server); server had not been working
- Refactoring: Remove `use strict` (implicit in modules)
- Refactoring: Remove trailing whitespace, fix some code within comments
- Refactoring: Expect `jQuery` global rather than `$` for better modularity
    (also to adapt line later once available via `import`)
- Refactoring: Prefer `const` (and then `let`)
- Refactoring: Add block scope keywords closer to first block in which they appear
- Refactoring: Use ES6 `class`
- Refactoring `$.isArray` -> `Array.isArray` and avoid some other jQuery core methods
    with simple VanillaJS replacements
- Refactoring: Use abbreviated object property syntax
- Refactoring: Object destructuring
- Refactoring: Remove `uiStrings` contents in svg-editor.js (obtains from locale)
- Refactoring: Add favicon to embedded API file
- Refactoring: Use arrow functions for brief functions (incomplete)
- Refactoring: Use `Array.prototype.includes`/`String.prototype.includes`;
    `String.prototype.startsWith`, `String.prototype.trim`
- Refactoring: Remove now unnecessary svgutils do/while resetting of variables
- Refactoring: Use shorthand methods for object literals (avoid ": function")
- Refactoring: Avoid quoting object property keys where unnecessary
- Refactoring: Just do truthy/falsey check for lengths in place of comparison to 0
- Refactoring (Testing): Avoid jQuery usage within most test files (defer script,
    also in preparation for future switch to ES6 modules for tests)
- Refactoring: Make jpicker variable declaration indent bearable
- Refactoring (Linting): Finish svgcanvas.js
- Docs: Mention in comment no longer an entry file as before
- Docs: Migrate old config, extensions, and FAQ docs
- Licensing: Indicate MIT is license type of rgbcolor; rename/add license file name for
    jgraduate and screencast to reflect type (Apache 2.0); rename file to reflect it
    contains license information (of type MIT) for Raphael icons
2018-05-22 18:02:57 +08:00
Brett Zamir 10291dc556 - Remove carriage returns; fixes #37
- Remove extra spaces from svgcanvas, embedapi
2018-05-18 15:39:36 +08:00
Brett Zamir 52353c6321 - Further convert tabs -> 2 spaces in JS code comments (except in test performance
file where used for alignment though use tab escape within JS), CSS
    (including comments), PHP, SVG, JSON, XUL
- Remove extra spaces in svgcanvas.js, ext-connector.js
2018-05-18 14:41:43 +08:00
codedread 4043c6e537 Change all tab indentations to 2sp indentation. Addresses issue #37 2018-05-17 21:02:30 -07:00
Brett Zamir 340915be4e - Linting (ESLint): Finish extensions and most files in editor/; unfinished: `editor/svg-editor.js`, `editor/svgcanvas.js`
- Linting (ESLint): Fix ignore file paths
- History `elem` fix
2018-05-16 12:08:41 +08:00
Brett Zamir abc9cd6ffb Move embedapi.html code which is not part of the API into embedapi-dom.js; demo export PDF in embedded editor; add new exportPDF method to canvas (and exposed to embedded editor) which can support JSON-able data URI string response, removing PDF exporting from rasterExport; JSLint; move dependency checking code for canvg and jsPDF to utilities; simplify Utils calls; allow for custom PDF export handler (but not yet implemented in server-based extensions); import PDF todo
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2860 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-05-22 10:21:29 +00:00
Brett Zamir 582e71cb1b Minor: Spacing
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2825 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-04-09 22:47:39 +00:00
Brett Zamir 20361c88d1 Update functions available to embedded editor; fix important ID situation with embedded API
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2821 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-04-09 06:51:05 +00:00
Brett Zamir 8f1c74260b Use proper DOM interface in JSDoc comment
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2726 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-03-02 23:31:41 +00:00
Brett Zamir 8bf64a2af7 Rmv empty comment
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2725 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-03-02 23:09:27 +00:00
Brett Zamir 3560444cc7 In case the frame changes location to an untrusted source such as via link click, the embedding API is now required to supply a list of any other origins that should be allowed.
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2724 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-03-02 01:25:39 +00:00
Brett Zamir 314bcb2e76 Critical security fix for embedded editor
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2723 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-03-02 01:11:23 +00:00
Brett Zamir 1e2e6529d2 Critical privacy/data integrity fix: Move cross-domain capable message listener into own extension (ext-xdomain-messaging.js) and do not include by default (the extension now won't work anyways without an allowedOrigins config first being set (in config.js) for security reasons (and not via URL)); add allowedOrigins config and demo use in config-sample.js; JSLint; update embedapi.html to supply the xdomain extension in case running xdomain (again, allowedOrigins must be supplied in the local copy of config.js for this to work); modify embedapi.js to allow reuse of cross-domain API with same-domain usage, but without the intermediate JSON parsing which could lose some non-JSONable arguments or response.
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2714 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-02-22 04:08:24 +00:00
Brett Zamir f22e95f437 Tab fixes
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2651 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-01-31 08:57:22 +00:00
Brett Zamir 881d82859b Minor clean-up; remove old comment
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2647 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-01-31 07:13:17 +00:00
Brett Zamir 5f01a845e6 Clarify, JSLintify examples in comments
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2646 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-01-31 04:54:49 +00:00
Brett Zamir 75bd787023 JSLint
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2644 eee81c28-f429-11dd-99c0-75d572ba1ddd
2014-01-31 02:13:37 +00:00
Brett Zamir 009a9e67ce Note on limitations (these limitations existed previously to the eval() dependency removal)
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2596 eee81c28-f429-11dd-99c0-75d572ba1ddd
2013-10-14 03:25:35 +00:00
Brett Zamir 80c16aa6ef Move back to string messages for postMessage for sake of IE9 (though not with eval); avoid IE9 error with localStorage and missing select icon
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2590 eee81c28-f429-11dd-99c0-75d572ba1ddd
2013-10-14 01:24:52 +00:00
Brett Zamir ffde8814ac Fix security issue by avoiding use of eval() within postMessage calls between embedAPI and main editor (also namespace the messages and protect the imagelib extension message listener from non-string messages); avoid embedAPI's unneeded randomizing of callback IDs in favor of incrementing; deprecate old embedded_svg_edit API name in favor of JS/JSLint-friendly EmbeddedSVGEdit name (and allow it to be instantiated w/o new keyword); JSLint/HTML5-ize embedAPI files, remove HTML5/browser-optional type="text/javascript", remove unused comments for embedAPI
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2585 eee81c28-f429-11dd-99c0-75d572ba1ddd
2013-10-13 23:59:32 +00:00
Bruno Heridet 9f58a680c3 removed unneeded json_encode / json_decode for 3 reasons:
- it's available natively since IE8 and it's provided by Chrome Frame which is a requirement for old IE
- it's only used for postMessage exchange which is a newer API than JSON
- if ever we would need it, it should be added in an external lib, not inside the editor code itself

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2462 eee81c28-f429-11dd-99c0-75d572ba1ddd
2013-02-23 17:37:05 +00:00
Bruno Heridet 3d61d46f6b cleaned inconsistencies with comma spacing
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2396 eee81c28-f429-11dd-99c0-75d572ba1ddd
2013-02-15 16:51:48 +00:00
Mark MacKay 650fa70404 added zoomChanged to the embedded api, partial patch from RobertLeePlummerJr #973
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2197 eee81c28-f429-11dd-99c0-75d572ba1ddd
2012-11-28 04:32:59 +00:00
Jeff Schiller d85a7bc8a2 Add deleteCurrentLayer() to Drawing
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1953 eee81c28-f429-11dd-99c0-75d572ba1ddd
2011-01-30 17:11:56 +00:00
Jeff Schiller 00d05776a2 Move setLayerVisibility() and setLayerOpacity() into Drawing and some tests
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1943 eee81c28-f429-11dd-99c0-75d572ba1ddd
2011-01-28 07:39:30 +00:00
Jeff Schiller ec56e8b2c3 Move setCurrentLayer() into Drawing. Rename getCurrentLayer() to getCurrentLayerName() and move into Drawing. Tests.
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1937 eee81c28-f429-11dd-99c0-75d572ba1ddd
2011-01-26 03:18:59 +00:00
Jeff Schiller 97071abd0e Move getLayer() into Drawing with tests
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1928 eee81c28-f429-11dd-99c0-75d572ba1ddd
2011-01-17 05:02:08 +00:00
Jeff Schiller 6f9f943093 Move hasLayer() into svgedit.draw.Drawing
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1926 eee81c28-f429-11dd-99c0-75d572ba1ddd
2011-01-16 23:18:51 +00:00
Jeff Schiller 0db154bff4 Rename document module to draw. Add getNumLayers() to draw module.
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1925 eee81c28-f429-11dd-99c0-75d572ba1ddd
2011-01-16 23:07:35 +00:00
Jeff Schiller 4a133d490d Move undo/redo functionality into history.js. Started unit test file.
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1864 eee81c28-f429-11dd-99c0-75d572ba1ddd
2010-11-12 19:08:29 +00:00
Jeff Schiller faa165eb9d Change encoding from Western to UTF-8
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1201 eee81c28-f429-11dd-99c0-75d572ba1ddd
2010-01-12 20:39:03 +00:00
Kevin Kwok e689ca3dcf Fixed embed API
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@967 eee81c28-f429-11dd-99c0-75d572ba1ddd
2009-11-22 20:33:12 +00:00
Kevin Kwok db5df84bcc Embed communication protocol updated, embed api file added
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@966 eee81c28-f429-11dd-99c0-75d572ba1ddd
2009-11-22 20:13:06 +00:00