Commit Graph

41 Commits

Author SHA1 Message Date
Rachel Fenichel
41c686e733 Use constants 2019-07-31 13:17:20 -07:00
Rachel Fenichel
37250f4ce4 Fix connection highlight rendering 2019-07-31 12:42:34 -07:00
Rachel Fenichel
bcdd691796 Make updating the connection locations called the same way for both renderers 2019-07-31 11:45:32 -07:00
Rachel Fenichel
b4109d7c43 Add no-multi-spaces rule 2019-07-31 09:33:54 -07:00
Rachel Fenichel
eb8f1819e2 Make it possible to choose the renderer at runtime, with a constant. 2019-07-24 14:04:58 -07:00
Erik Pasternak
5911e54dc0 Revert "Propagate the visible state when blocks connect (#2003)"
This reverts commit ec78eeb39b.
2019-07-19 16:03:40 -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
28ad3a9bd3 Blockly.utils.userAgent moved to Blockly.userAgent 2019-05-10 16:56:26 -07:00
Neil Fraser
834fa64674 Use Element constants and ‘i’ variable.
I don’t care about whether we use the Element constants or the ubiquitously known 1 & 3 integers.  But we had a mix.
Also, ’x’ is usually used for horizontal location, ‘i’ is an iterator.
No functional change.
2019-05-02 09:56:37 -07:00
RoboErikG
ec78eeb39b Propagate the visible state when blocks connect (#2003)
* Propagate the visible state when blocks connect

This fixes #1967.

In rendered connections when connecting:
- If the superior connection is hidden this hides the newly connected block.
- If the superior connection isn't hidden it makes sure the block is visible.

In rendered connections when disconnecting:
- If the superior connection is hidden, make the disconnected block stack visible.

TODO before review:
 - write tests.
 - update collapsed message

* Add missing overrides

* Add tests for hidden connections and fix a bug while disposing
2019-04-15 16:23:19 -07:00
Mark Gibson
09ce0873a8 Fix hat logic 2019-02-21 14:49:01 +00:00
alschmiedt
7941651444 Merge pull request #2184 from alschmiedt/blockly_colours
Blockly Themes
2019-01-11 10:57:57 -08:00
alschmiedt
9bfb30bcf2 Fixing review comments 2019-01-10 09:13:02 -08:00
Beka Westberg
969687ec34 Added flipRtl Support for FieldImages (#2203)
* Added flipRtl support for FieldImages. Added a flipRtl test block.

* Added blockfactory support.

* Fixed JSDoc.
2019-01-10 08:59:35 -08:00
alschmiedt
55a46f8299 Fixes error thrown for style defined inline 2019-01-09 13:44:22 -08:00
alschmiedt
bac9a16da0 Adds hat style 2019-01-08 15:13:00 -08:00
Rachel Fenichel
991b70410e Minor cleanup 2018-11-19 12:44:43 -08:00
Rachel Fenichel
4c133e9ecd Highlight and unhilight the closest connection 2018-11-14 11:19:17 -08:00
Rachel Fenichel
7d775908b9 Add insertion markers. 2018-11-14 11:18:32 -08:00
Rachel Fenichel
c1df1c647a Create and use a Blockly.BlockSvg.PathObject type 2018-05-23 11:40:15 -07:00
Rachel Fenichel
206e22e88c Decompose some render functions so they'll be easier to work with 2018-05-22 14:06:51 -07:00
Neil Fraser
1d385f8d69 Require goog.userAgent in the correct files. 2018-04-11 16:59:35 -07:00
Rachel Fenichel
90a3730424 Fix more compiler warnings 2018-03-14 17:05:19 -07:00
Neil Fraser
8cedef49ac Cleanup. 2017-11-07 14:23:41 -08:00
Sam El-Husseini
9c0de1ae8d Avoid IE and Edge re-rendering (#1326)
* Fix wrong width of field_dropdown with an image on Edge / IE

* Avoid re-rendering on IE and Edge by using getBBox().width to compute the text width on those browsers
2017-09-19 15:04:25 -07:00
Rachel Fenichel
71066faff6 Move blockSvg.getHeightWidth to block_render_svg.js (#1118) 2017-05-24 13:38:46 -07:00
Tim Dawborn
d55d9cbd9f Attempt to work around the IE/Edge bug where getComputedTextLength() throws an exception when the SVG node is not visible. This workaround forces a re-render, which in turn, forces a re-calculation of the node width once a block is inserted into the workspace SVG. This workaround is only executed on IE and Edge. See https://groups.google.com/forum/#!topic/blockly/T8IR4t4xAIY for the initial discussion of this issue. 2017-01-27 15:15:09 +11:00
Neil Fraser
4cda20dbbf Fix speling. 2016-11-19 02:40:11 -08:00
Rachel Fenichel
cc9396d739 Prefer functions in workspaceSvg to functions in blockly.js 2016-08-19 14:13:20 -07:00
picklesrus
213469a479 Change the blockly workspace resizing strategy. (#386)
* Add a new method to be called when the contents of the workspace change and
the scrollbars need to be adjusted but the the chrome (trash, toolbox, etc)
are expected to stay in the same place.

Change a bunch of calls to svgResize to either be removed or call the new
method instead.  This is a nice performance win since the offsetHeight/Width
call in svgResize can be expensive, especially when called as often as we do -
there was some layout thrashing.

This also paves the way for moving calls to recordDeleteAreas
(which is also expensive) to a more cacheable spot than on every
mouse down/touch event.

of things (namely the scrollbars)

* Fix size of graph demo when it first loads by calling svgResize.
The graph starts with fixed width and was relying on a resize event
to fire (which I believe was removed in commit
217c681b86).

* Fix the resizing of the code demo.  The demo's tab min-width used to
match the toolbox's width was only being set on a resize event, but
commit 217c681b86 changed how that worked.

* Fix up some comments.

* Use specific workspaces rather than Blockly.getMainWorkspace().

* Make workspace required for resizeSvgContents and update
some calls to send real workspaces rather than ones that are
null.

Remove the private tag on terminateDrag_ because it is only
actually called from outside the BlockSvg object.

* Remove a rogue period.

* Recategorize BlockSvg.terminateDrag_ to @package instead of @private so that
other developers don't use it, but it still can be used by other Blockly classes.

* Add a TODO to fix issue #307.

* Add @package to workspace resizeContents.
2016-06-03 16:11:55 -07:00
Rachel Fenichel
c3f27127d3 lint 2016-06-01 15:31:43 -07:00
Rachel Fenichel
66ca80c42f Make function private 2016-05-31 15:48:32 -07:00
Rachel Fenichel
03de6b6a92 Move connections at the end of render, instead of in the middle of drawing 2016-05-31 15:39:08 -07:00
Rachel Fenichel
4841f136f1 More lint and eslint configuration. 2016-05-25 15:35:11 -07:00
Rachel Fenichel
8597c94a49 lint 2016-05-24 15:35:38 -07:00
Neil Fraser
217c681b86 Use direct call to svg resize rather than event. Also fix issue #296. 2016-05-04 15:00:57 -07:00
Neil Fraser
6c0bf9f966 Routine recompile. 2016-04-21 06:05:25 -07:00
Katelyn Mann
79f91266ac Take into account height of the hat for hat blocks.
Also, position hat blocks correctly in the flyout/toolbox.
This fixes #330.
2016-04-12 14:59:58 -07:00
rachel-fenichel
ae1a0aab8a add isConnected() to connections. 2016-03-30 15:10:59 -07:00
Rachel Fenichel
0a363803f0 Clean up removeConnection; port in more tests. 2016-02-26 14:41:49 -08:00
Rachel Fenichel
9de572283e Refactor: pull rendering code out of block_svg 2016-02-25 13:55:36 -08:00