Commit Graph

101 Commits

Author SHA1 Message Date
Sam El-Husseini 0f3db47fa5 Use generics to derive SVG element type (#4036)
* Encapsulate type in a generic to automatically derive type of SVG element when using createSvgElement
2020-07-13 10:40:31 -07:00
Monica Kozbial 40efb59a34 Unbind event handlers in dispose of zoom controls. (#4031)
* Unbind event handlers in dispose of zoom controls.

* Move event handler references to constructor.
2020-07-10 17:34:53 -07:00
Monica Kozbial fdd0f4f25f Emit UI event on zoom control clicks. (#4025)
* Emit UI event on zoom control clicks.

* Fix typo

* Update jsdoc for mouse event handlers.
2020-07-10 10:15:09 -07:00
Neil Fraser 4e2f8e6e02 Use SPDX licences.
This is a followup to #3127.
At the time, SPDX licenses were pending approval by Google.
2020-02-11 13:27:20 -08:00
Sam El-Husseini e5ec726253 Fix type, caught by typings 2019-10-03 14:41:15 -07:00
Rachel Fenichel 78dc82f7ac Misc cleanup: annotations, and flyoutButton disposal. 2019-10-03 10:40:43 -07:00
Rachel Fenichel 79bedca5a7 Element -> SVGElement (#3140)
* Use SVGElement instead of Element for the results of createSvgElement

* More SVGElement annotations.
2019-10-02 16:12:31 -07:00
Neil Fraser b46a4fe286 Bring our license format up to date (#3127)
* Google changed from an Inc to an LLC.

This happened back in 2017 but we didn’t notice.  Officially we should update files from Inc to LLC when they are changed as part of regular edits, but this is a nightmare to remember for the next decade.

* Remove project description/titles from licenses

This is no longer part of Google’s header requirements.  Our existing descriptions were useless (“Visual Blocks Editor”) or grossly obselete (“Visual Blocks Language”).

* License no longer requires URL.

* Fix license regexps.
2019-10-02 14:46:56 -07:00
Neil Fraser 6650ecf13f Make dynamic variables be an optional module.
Also straighten out some dependencies.
2019-09-27 10:48:14 -07:00
Neil Fraser 75cf614104 Break CSS into modules. (#3084)
* Break CSS into modules.

Drops the compile test by 3 KB.
Remove obsolete .blocklyDraggable class stub (it used to be dynamically changed).
Remove unused menuseparator CSS.
2019-09-25 18:01:19 -07:00
Neil Fraser 096959fde9 Cleanup of last fortnight’s commits. (#2865)
No functional changes.
2019-08-19 14:07:48 -07:00
Neil Fraser 98a98bcce6 Add Blockly.utils.dom.XLINK_NS
And fix provide/require mixup.
2019-06-07 10:32:57 -07:00
Neil Fraser 848d3a3509 Move setCssTransform & createSvgElement to dom.
Also move SVG_NS and HTML_NS properties.
2019-06-07 10:32:57 -07:00
Neil Fraser d1a29739d8 Move utilities into own directory.
TODO: There are more functions which may be migrated into dom and string.
2019-06-07 10:32:57 -07:00
Neil Fraser 405b1e4e78 Lint issues found while debugging. 2019-03-27 15:47:29 -07:00
Beka Westberg 9dec2da5c5 Movement Updates (#2247)
This is a squash and merge of a large set of changes by @BeksOmega 

* Added functionality to scrolling, dragging, and zooming.

* Fixed incorrect changes to workspaceChanged function.

* Fixed comment.

* Fixed typo.

* Removed scrollbar.set calls from workspace_svg.

* Removed scrollbar.resize() call.

* Added move options to playground.

* Fixed scroll_ calls that replaced scrollbar.set calls.

* Removed this.scrollbar checks.

* Changed zoom so that it always zooms towards the coordinates. Changed isContentBounded_ to be separate from isMovable_ (b/c of the previous change zoomControls had to be added to the bounded check). Fixed scroll_() calls... again.

* Changed procedures so the Highlight definition option is only available if the workspace is moveable.

* Fixed scrollCenter so that it works with flyout toolboxes.

* Fixed zoomToFit so that it works with horizontal flyout toolboxes.

* Fixed Typo.

* Fixed bumping blocks when the workspace is not movable.

* Fixed bumping not working with left and top toolbox positions.

* Re-Added not allowing scrollCenter if the workspace is not movable. Disabled scrollCenter button for this case.

* Cleaned up formatting.

* Fixed bumping... again. Reformatted workspaceChanged a bit.

* Changed blocks to be completely bumped into the workspace.

* Reorganized metrics-getting for workspaceChanged.

* Added bumping workspace comments. Moved event checking.

* Renamed workspaceChanged to bumpObjects.

* Added a bumpObjects developer reminder.

* Added warning to zoomToFit.

* Cleaned up some text.

* Added better inline documentation.

* Fixed up inline docs.

* Cleaned up comments.

* Fixed zoomCenter not actually zooming towards the center.

* Fixed zoomControls error on unmovable bottom-toolbox workspaces

* Fixed programatically placing blocks in an unmovable workspace.

* Removed unnecessary translate call in inject.

* Reversed removal of translate. (apparently it was necessary)

* Cleaned up code in response to first round of reviews.

* Added unit comments to the zoom function.

* Removed bumpObjectsEventChecker. Added BUMP_EVENTS list to Blockly.Events.

* Changed getWorkspaceObjectMetrics call to getBoundingRectangle().

* Fixed utils.mouseToSvg (was causing problems with zoom on wheel if the page was scrolled).

* Fixed zoom when page is scrolled (actually this time). Reverted changes to utils.mouseToSvg.

* Fixed centerOnBlock.

* Added unit docs to translate. Moved setting the grid position to the translate function.

* Added TODO's.
2019-02-18 15:28:51 -08:00
Beka Westberg 363ff487a4 Changed trashcan and zoom controls to be positioned in the opposite corner of the toolbox. Fixed trashcan hotspot being incorrect. 2019-01-28 15:24:56 -08:00
Beka Westberg d2277f0c4b Updated createZoomSVG comments. 2019-01-07 16:04:10 -08:00
Beka Westberg 96e754cf36 Updated Comments. 2018-12-19 18:10:57 -08:00
Beka Westberg 9ee7319ac5 Trashcan/Zoom Anchored to Top when Toolbox is on Bottom. 2018-12-19 10:26:07 -08:00
Rachel Fenichel 261a067a31 Merge pull request #2157 from BeksOmega/feature/TrashcanContents
Added flyout to trashcan to "get back" deleted blocks.`
2018-12-17 15:23:17 -08:00
Beka Westberg 5f2d5df321 Fixed nits. Changed contents to store XML. Added removing IDs from all descendants. Removed deleteNext. 2018-12-11 16:46:24 -08:00
Mehdi Yeganeh fc47878f2a #172, Fixed [Edge, IE] Zoom control mouseover is not clipped 2018-12-08 16:37:03 +03:30
Mehdi Yeganeh 56d5f166de #172, Fixed [Edge, IE] Zoom control mouseover is not clipped 2018-12-08 16:16:59 +03:30
Beka Westberg 15b34f7e73 Added flyout to trashcan to "get back" deleted blocks.` 2018-12-07 10:44:24 -08:00
Andrew n marshall 411ec9724e Replacing node.parentNode.removeChild(node)
...with Blockly.utils.removeNode(..), which includes
a null/undefined check on parentNode before continuing.
2018-09-04 13:31:53 -07:00
Rachel Fenichel 8f675fd82e Add support for transitioning the workspace block and bubble canvases on scrollCenter 2018-08-24 11:55:55 -07:00
Neil Fraser c51cf0b79c Remove goog.dom.removeNode 2018-07-11 12:20:02 -07:00
Neil Fraser 284b79407e Require Blockly.utils where needed. 2018-07-11 12:20:02 -07:00
Rachel Fenichel 744bb9b6eb Add comments explaining unique IDs on clip paths 2018-04-30 13:01:04 -07:00
Rachel Fenichel e65c3a7c95 Fix parameter annotation 2018-04-25 17:37:44 -07:00
Rachel Fenichel 0cfe5a610c Decompose out some functions for creating zoom controls 2018-04-25 17:35:07 -07:00
Rachel Fenichel 1e3450a051 Indentation lint that blocks moving to eslint 4.0 2018-01-23 17:27:35 -08:00
Neil Fraser fc8d4c90b4 Compatibility for Closure Compiler. (#1240) 2017-07-31 09:07:41 -07:00
Neil Fraser f6aef459fc API-breaking cleanup. But doubtful anyone will be affected. (#748)
* Make add/removeClass return whether they did anything.
* Move more functions onto utils.
* Move bind functions to Blockly.
* Routine recompile.
2016-11-15 13:54:33 -08:00
Neil Fraser 4d65b606bd Set current workspace when clicking zoom controls. Issue #440 2016-10-23 06:38:04 -07:00
Neil Fraser f8a916438c Resets zoom to startScale instead of 1. PR #687 2016-10-07 18:29:38 -07:00
Rachel Fenichel ed983333eb bindEventWithChecks_ for internal use, and bindEvent_ with old behaviour but deprecated 2016-09-23 13:46:11 -07:00
Rachel Fenichel b771d8daf4 Cleanup 2016-09-07 18:14:05 -07:00
Rachel Fenichel 109e4bb352 Move code to touch.js 2016-09-07 17:42:09 -07:00
Rachel Fenichel 1c025672b3 Clear touch identifier at the ends of more drags. Includes flyout background, right-clicks on blocks, and loading sounds. 2016-08-31 15:56:37 -07:00
Rachel Fenichel a27fe99be4 Merge branch 'develop' into feature/horizontal_toolbox_port 2016-04-25 14:25:36 -07:00
Neil Fraser fd7d4a2bef Make scrollCenter public, remove zoomReset. 2016-04-21 04:52:43 -07:00
rachel-fenichel 21e999678c correctly position trash can and zoom controls when the flyout is always open; add flyout and toolbox size to main workspace metrics; get rid of flyout's vertical offset. 2016-04-13 15:30:11 -07:00
rachel-fenichel b22b25e8f8 correctly position the trash can and zoom controls for RTL, toolbox at left 2016-04-13 14:04:14 -07:00
Katelyn Mann e39a0b7069 Add event preventDefault() calls to the end of zoom button handlers so the
browser doesn't try to handle them itself.  This keeps it from selecting text
on double clicks.
2016-04-11 15:33:05 -07:00
Neil Fraser 39fbd24659 Remove setProcedureParameters from API (use domToMutation instead). 2016-03-22 10:48:13 -07:00
Neil Fraser 890d8d8d73 Fix zoom center button. Reverse disconnect wiggle. 2015-09-22 17:28:51 -07:00
Neil Fraser f9d47bd39e Lay out trashcan and zoom controls more flexibly. 2015-09-01 22:44:33 +01:00
carlosperate 466115d52b Revert DOM injection order of the zoom control images. 2015-08-21 20:51:35 +01:00