|
|
|
|
@@ -1374,7 +1374,7 @@ Blockly.utils.svgPaths.arc=function(a,b,c,d){return a+" "+c+" "+c+" "+b+d};Block
|
|
|
|
|
Blockly.blockRendering.constants.TAB_HEIGHT=15;Blockly.blockRendering.constants.TAB_OFFSET_FROM_TOP=5;Blockly.blockRendering.constants.TAB_VERTICAL_OVERLAP=2.5;Blockly.blockRendering.constants.TAB_WIDTH=8;Blockly.blockRendering.constants.NOTCH_WIDTH=15;Blockly.blockRendering.constants.NOTCH_HEIGHT=4;Blockly.blockRendering.constants.MIN_BLOCK_WIDTH=12;Blockly.blockRendering.constants.EMPTY_BLOCK_SPACER_HEIGHT=16;Blockly.blockRendering.constants.CORNER_RADIUS=8;
|
|
|
|
|
Blockly.blockRendering.constants.NOTCH_OFFSET_LEFT=Blockly.blockRendering.constants.NOTCH_WIDTH;Blockly.blockRendering.constants.NOTCH_OFFSET_ROUNDED_CORNER_PREV=Blockly.blockRendering.constants.NOTCH_OFFSET_LEFT-Blockly.blockRendering.constants.CORNER_RADIUS;Blockly.blockRendering.constants.STATEMENT_BOTTOM_SPACER=5;Blockly.blockRendering.constants.STATEMENT_INPUT_PADDING_LEFT=20;Blockly.blockRendering.constants.BETWEEN_STATEMENT_PADDING_Y=4;Blockly.blockRendering.constants.MAX_BOTTOM_WIDTH=66.5;
|
|
|
|
|
Blockly.blockRendering.constants.START_HAT_HEIGHT=15;Blockly.blockRendering.constants.START_HAT_WIDTH=100;Blockly.blockRendering.constants.SPACER_DEFAULT_HEIGHT=15;Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT=24;Blockly.blockRendering.constants.EMPTY_INLINE_INPUT_PADDING=14.5;Blockly.blockRendering.constants.EMPTY_INLINE_INPUT_HEIGHT=Blockly.blockRendering.constants.TAB_HEIGHT+11;Blockly.blockRendering.constants.EXTERNAL_VALUE_INPUT_PADDING=2;
|
|
|
|
|
Blockly.blockRendering.constants.EMPTY_STATEMENT_INPUT_HEIGHT=Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT;Blockly.blockRendering.constants.EMPTY_STATEMENT_INPUT_WIDTH=32;Blockly.blockRendering.constants.POPULATED_STATEMENT_INPUT_WIDTH=25;Blockly.blockRendering.constants.START_POINT=Blockly.utils.svgPaths.moveBy(0,0);Blockly.blockRendering.constants.JAGGED_TEETH_HEIGHT=12;Blockly.blockRendering.constants.JAGGED_TEETH_WIDTH=6;
|
|
|
|
|
Blockly.blockRendering.constants.EMPTY_STATEMENT_INPUT_HEIGHT=Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT;Blockly.blockRendering.constants.START_POINT=Blockly.utils.svgPaths.moveBy(0,0);Blockly.blockRendering.constants.JAGGED_TEETH_HEIGHT=12;Blockly.blockRendering.constants.JAGGED_TEETH_WIDTH=6;
|
|
|
|
|
Blockly.blockRendering.constants.JAGGED_TEETH=function(){var a=Blockly.blockRendering.constants.JAGGED_TEETH_HEIGHT,b=Blockly.blockRendering.constants.JAGGED_TEETH_WIDTH,c=Blockly.utils.svgPaths.line([Blockly.utils.svgPaths.point(6,3),Blockly.utils.svgPaths.point(-12,6),Blockly.utils.svgPaths.point(6,3)]);return{height:a,width:b,path:c}}();
|
|
|
|
|
Blockly.blockRendering.constants.START_HAT=function(){var a=Blockly.blockRendering.constants.START_HAT_HEIGHT,b=Blockly.blockRendering.constants.START_HAT_WIDTH,c=Blockly.utils.svgPaths.curve("c",[Blockly.utils.svgPaths.point(30,-a),Blockly.utils.svgPaths.point(70,-a),Blockly.utils.svgPaths.point(b,0)]);return{height:a,width:b,path:c}}();
|
|
|
|
|
Blockly.blockRendering.constants.PUZZLE_TAB=function(){function a(a){a=a?-1:1;var d=-a,e=c/2,f=e+2.5,l=e+.5,n=Blockly.utils.svgPaths.point(-b,a*e);e=Blockly.utils.svgPaths.point(b,a*e);return Blockly.utils.svgPaths.curve("c",[Blockly.utils.svgPaths.point(0,a*f),Blockly.utils.svgPaths.point(-b,d*l),n])+Blockly.utils.svgPaths.curve("s",[Blockly.utils.svgPaths.point(b,2.5*d),e])}var b=Blockly.blockRendering.constants.TAB_WIDTH,c=Blockly.blockRendering.constants.TAB_HEIGHT,d=a(!0),e=a(!1);return{width:b,
|
|
|
|
|
@@ -1391,8 +1391,8 @@ Blockly.blockRendering.JaggedEdge=function(){Blockly.blockRendering.JaggedEdge.s
|
|
|
|
|
Blockly.blockRendering.Field=function(a,b){Blockly.blockRendering.Field.superClass_.constructor.call(this);this.field=a;this.isEditable=a.isCurrentlyEditable();this.flipRtl=a instanceof Blockly.FieldImage&&a.getFlipRtl();this.type="field";var c=this.field.getSize();this.height=c.height;this.width=c.width;this.parentInput=b};goog.inherits(Blockly.blockRendering.Field,Blockly.blockRendering.Measurable);
|
|
|
|
|
Blockly.blockRendering.InlineInput=function(a){Blockly.blockRendering.InlineInput.superClass_.constructor.call(this,a);this.type="inline input";this.connectedBlock?(this.width=this.connectedBlockWidth+Blockly.blockRendering.constants.DARK_PATH_OFFSET,this.height=this.connectedBlockHeight+Blockly.blockRendering.constants.DARK_PATH_OFFSET):(this.height=Blockly.blockRendering.constants.EMPTY_INLINE_INPUT_HEIGHT,this.width=this.connectionShape.width+Blockly.blockRendering.constants.EMPTY_INLINE_INPUT_PADDING);
|
|
|
|
|
this.connectionOffsetY=Blockly.blockRendering.constants.TAB_OFFSET_FROM_TOP;this.connectionHeight=this.connectionShape.height;this.connectionWidth=this.connectionShape.width};goog.inherits(Blockly.blockRendering.InlineInput,Blockly.blockRendering.Input);
|
|
|
|
|
Blockly.blockRendering.StatementInput=function(a){Blockly.blockRendering.StatementInput.superClass_.constructor.call(this,a);this.type="statement input";this.connectedBlock?(this.width=Blockly.blockRendering.constants.POPULATED_STATEMENT_INPUT_WIDTH,this.height=this.connectedBlockHeight+Blockly.blockRendering.constants.STATEMENT_BOTTOM_SPACER,this.connectedBlock.nextConnection&&(this.height-=this.notchShape.height)):(this.height=Blockly.blockRendering.constants.EMPTY_STATEMENT_INPUT_HEIGHT,this.width=
|
|
|
|
|
Blockly.blockRendering.constants.EMPTY_STATEMENT_INPUT_WIDTH)};goog.inherits(Blockly.blockRendering.StatementInput,Blockly.blockRendering.Input);
|
|
|
|
|
Blockly.blockRendering.StatementInput=function(a){Blockly.blockRendering.StatementInput.superClass_.constructor.call(this,a);this.type="statement input";this.connectedBlock?(this.height=this.connectedBlockHeight+Blockly.blockRendering.constants.STATEMENT_BOTTOM_SPACER,this.connectedBlock.nextConnection&&(this.height-=this.notchShape.height)):this.height=Blockly.blockRendering.constants.EMPTY_STATEMENT_INPUT_HEIGHT;this.width=Blockly.blockRendering.constants.NOTCH_OFFSET_LEFT+this.notchShape.width};
|
|
|
|
|
goog.inherits(Blockly.blockRendering.StatementInput,Blockly.blockRendering.Input);
|
|
|
|
|
Blockly.blockRendering.ExternalValueInput=function(a){Blockly.blockRendering.ExternalValueInput.superClass_.constructor.call(this,a);this.type="external value input";this.height=this.connectedBlock?this.connectedBlockHeight-2*Blockly.blockRendering.constants.TAB_OFFSET_FROM_TOP:this.connectionShape.height;this.width=this.connectionShape.width+Blockly.blockRendering.constants.EXTERNAL_VALUE_INPUT_PADDING;this.connectionOffsetY=Blockly.blockRendering.constants.TAB_OFFSET_FROM_TOP;this.connectionHeight=
|
|
|
|
|
this.connectionShape.height;this.connectionWidth=this.connectionShape.width};goog.inherits(Blockly.blockRendering.ExternalValueInput,Blockly.blockRendering.Input);Blockly.blockRendering.OutputConnection=function(){Blockly.blockRendering.OutputConnection.superClass_.constructor.call(this);this.type="output connection";this.height=this.connectionShape.height;this.width=this.connectionShape.width;this.connectionOffsetY=Blockly.blockRendering.constants.TAB_OFFSET_FROM_TOP;this.startX=this.width};
|
|
|
|
|
goog.inherits(Blockly.blockRendering.OutputConnection,Blockly.blockRendering.Measurable);Blockly.blockRendering.PreviousConnection=function(){Blockly.blockRendering.PreviousConnection.superClass_.constructor.call(this);this.type="previous connection";this.height=this.notchShape.height;this.width=this.notchShape.width};goog.inherits(Blockly.blockRendering.PreviousConnection,Blockly.blockRendering.Measurable);
|
|
|
|
|
@@ -1422,8 +1422,8 @@ Blockly.blockRendering.RenderInfo.prototype.getInRowSpacing_=function(a,b){if(!a
|
|
|
|
|
b.isInput){if(a.isEditable){if(b.isInlineInput()||b.isExternalInput())return Blockly.blockRendering.constants.SMALL_PADDING}else{if(b.isInlineInput()||b.isExternalInput())return Blockly.blockRendering.constants.MEDIUM_LARGE_PADDING;if(b.isStatementInput())return Blockly.blockRendering.constants.LARGE_PADDING}return Blockly.blockRendering.constants.LARGE_PADDING-1}if(a.isIcon()&&!b.isInput)return Blockly.blockRendering.constants.LARGE_PADDING;if(a.isInlineInput()&&!b.isInput)return b.isEditable?Blockly.blockRendering.constants.MEDIUM_PADDING:
|
|
|
|
|
Blockly.blockRendering.constants.LARGE_PADDING;if(a.isSquareCorner()){if(b.isHat())return Blockly.blockRendering.constants.NO_PADDING;if(b.isPreviousConnection())return Blockly.blockRendering.constants.NOTCH_OFFSET_LEFT;if(b.isNextConnection()){var c=(this.RTL?1:-1)*Blockly.blockRendering.constants.DARK_PATH_OFFSET/2;return Blockly.blockRendering.constants.NOTCH_OFFSET_LEFT+c}}if(a.isRoundedCorner()){if(b.isPreviousConnection())return Blockly.blockRendering.constants.NOTCH_OFFSET_ROUNDED_CORNER_PREV;
|
|
|
|
|
if(b.isNextConnection())return c=(this.RTL?1:-1)*Blockly.blockRendering.constants.DARK_PATH_OFFSET/2,Blockly.blockRendering.constants.NOTCH_OFFSET_ROUNDED_CORNER_PREV+c}return!a.isInput&&!b.isInput&&a.isEditable==b.isEditable||b.isJaggedEdge()?Blockly.blockRendering.constants.LARGE_PADDING:Blockly.blockRendering.constants.MEDIUM_PADDING};
|
|
|
|
|
Blockly.blockRendering.RenderInfo.prototype.computeBounds_=function(){for(var a=0,b=0,c=0,d=0;d<this.rows.length;d++){var e=this.rows[d];e.measure();e.hasStatement||(b=Math.max(b,e.width));if(e.hasStatement){var f=e.getLastInput();a=Math.max(a,e.width-f.width)}c=Math.max(c,e.widthWithConnectedBlocks)}this.width=(this.statementEdge=a)?Math.max(b,a+2*Blockly.blockRendering.constants.NOTCH.width):b;for(d=0;d<this.rows.length;d++)e=this.rows[d],e.hasStatement&&(e.statementEdge=this.statementEdge);this.widthWithChildren=
|
|
|
|
|
Math.max(b,c);this.outputConnection&&(this.startX=this.outputConnection.width,this.width+=this.outputConnection.width,this.widthWithChildren+=this.outputConnection.width)};
|
|
|
|
|
Blockly.blockRendering.RenderInfo.prototype.computeBounds_=function(){for(var a=0,b=0,c=0,d=0;d<this.rows.length;d++){var e=this.rows[d];e.measure();b=Math.max(b,e.width);if(e.hasStatement){var f=e.getLastInput();a=Math.max(a,e.width-f.width)}c=Math.max(c,e.widthWithConnectedBlocks)}this.statementEdge=a;this.width=b;for(d=0;d<this.rows.length;d++)e=this.rows[d],e.hasStatement&&(e.statementEdge=this.statementEdge);this.widthWithChildren=Math.max(b,c);this.outputConnection&&(this.startX=this.outputConnection.width,
|
|
|
|
|
this.width+=this.outputConnection.width,this.widthWithChildren+=this.outputConnection.width)};
|
|
|
|
|
Blockly.blockRendering.RenderInfo.prototype.alignRowElements_=function(){for(var a=0;a<this.rows.length;a++){var b=this.rows[a];if(!b.hasInlineInput){if(b.hasStatement){var c=b.getLastInput();c=b.width-c.width;var d=this.statementEdge-this.startX}else c=b.width,d=this.width-this.startX;"bottom row"===b.type&&b.hasFixedWidth&&(d=Blockly.blockRendering.constants.MAX_BOTTOM_WIDTH);(c=d-c)&&this.addAlignmentPadding_(b,c)}}};
|
|
|
|
|
Blockly.blockRendering.RenderInfo.prototype.addAlignmentPadding_=function(a,b){var c=a.elements,d=a.getLastInput();if(d){var e=a.getFirstSpacer(),f=a.getLastSpacer();if(a.hasExternalInput||a.hasStatement)f=c[c.length-3];d.align==Blockly.ALIGN_LEFT?f.width+=b:d.align==Blockly.ALIGN_CENTRE?(e.width+=b/2,f.width+=b/2):d.align==Blockly.ALIGN_RIGHT&&(e.width+=b);a.width+=b}else if("top row"===a.type||"bottom row"===a.type)a.getLastSpacer().width+=b,a.width+=b};
|
|
|
|
|
Blockly.blockRendering.RenderInfo.prototype.addRowSpacing_=function(){var a=this.rows;this.rows=[];for(var b=0;b<a.length;b++)this.rows.push(a[b]),b!==a.length-1&&this.rows.push(this.makeSpacerRow_(a[b],a[b+1]))};Blockly.blockRendering.RenderInfo.prototype.makeSpacerRow_=function(a,b){var c=this.getSpacerRowHeight_(a,b),d=this.getSpacerRowWidth_(a,b);c=new Blockly.blockRendering.BetweenRowSpacer(c,d);a.hasStatement&&(c.followsStatement=!0);return c};
|
|
|
|
|
@@ -1464,8 +1464,8 @@ Blockly.blockRendering.Drawer.prototype.drawOutline_=function(){this.drawTop_();
|
|
|
|
|
Blockly.blockRendering.Drawer.prototype.drawTop_=function(){var a=this.info_.topRow,b=a.elements;this.highlighter_&&(this.highlighter_.drawTopCorner(a),this.highlighter_.drawRightSideRow(a));this.positionPreviousConnection_();this.outlinePath_+=Blockly.utils.svgPaths.moveBy(a.xPos,this.info_.startY);for(var c=0,d;d=b[c];c++)"round corner"===d.type?this.outlinePath_+=Blockly.blockRendering.constants.OUTSIDE_CORNERS.topLeft:"previous connection"===d.type?this.outlinePath_+=a.notchShape.pathLeft:"hat"===
|
|
|
|
|
d.type?this.outlinePath_+=Blockly.blockRendering.constants.START_HAT.path:d.isSpacer()&&(this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("h",d.width));this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("v",a.height)};Blockly.blockRendering.Drawer.prototype.drawJaggedEdge_=function(a){this.highlighter_&&this.highlighter_.drawJaggedEdge_(a);this.outlinePath_+=Blockly.blockRendering.constants.JAGGED_TEETH.path+Blockly.utils.svgPaths.lineOnAxis("v",a.height-Blockly.blockRendering.constants.JAGGED_TEETH.height)};
|
|
|
|
|
Blockly.blockRendering.Drawer.prototype.drawValueInput_=function(a){var b=a.getLastInput();this.highlighter_&&this.highlighter_.drawValueInput(a);this.positionExternalValueConnection_(a);this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("H",a.xPos+a.width)+b.connectionShape.pathDown+Blockly.utils.svgPaths.lineOnAxis("v",a.height-b.connectionHeight)};
|
|
|
|
|
Blockly.blockRendering.Drawer.prototype.drawStatementInput_=function(a){this.highlighter_&&this.highlighter_.drawStatementInput(a);var b=Blockly.blockRendering.constants.NOTCH.pathRight+" h -"+(Blockly.blockRendering.constants.NOTCH_WIDTH-Blockly.blockRendering.constants.CORNER_RADIUS)+Blockly.blockRendering.constants.INSIDE_CORNERS.pathTop;this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("H",a.xPos+a.statementEdge+Blockly.blockRendering.constants.NOTCH_OFFSET_LEFT+Blockly.blockRendering.constants.NOTCH.width)+
|
|
|
|
|
b+Blockly.utils.svgPaths.lineOnAxis("v",a.height-2*Blockly.blockRendering.constants.INSIDE_CORNERS.height)+Blockly.blockRendering.constants.INSIDE_CORNERS.pathBottom;this.positionStatementInputConnection_(a)};Blockly.blockRendering.Drawer.prototype.drawRightSideRow_=function(a){this.highlighter_&&this.highlighter_.drawRightSideRow(a);this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("H",a.xPos+a.width)+Blockly.utils.svgPaths.lineOnAxis("V",a.yPos+a.height)};
|
|
|
|
|
Blockly.blockRendering.Drawer.prototype.drawStatementInput_=function(a){this.highlighter_&&this.highlighter_.drawStatementInput(a);var b=a.getLastInput(),c=Blockly.blockRendering.constants.NOTCH.pathRight+" h -"+(Blockly.blockRendering.constants.NOTCH_WIDTH-Blockly.blockRendering.constants.CORNER_RADIUS)+Blockly.blockRendering.constants.INSIDE_CORNERS.pathTop;this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("H",b.xPos+b.width)+c+Blockly.utils.svgPaths.lineOnAxis("v",a.height-2*Blockly.blockRendering.constants.INSIDE_CORNERS.height)+
|
|
|
|
|
Blockly.blockRendering.constants.INSIDE_CORNERS.pathBottom;this.positionStatementInputConnection_(a)};Blockly.blockRendering.Drawer.prototype.drawRightSideRow_=function(a){this.highlighter_&&this.highlighter_.drawRightSideRow(a);this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("H",a.xPos+a.width)+Blockly.utils.svgPaths.lineOnAxis("V",a.yPos+a.height)};
|
|
|
|
|
Blockly.blockRendering.Drawer.prototype.drawBottom_=function(){var a=this.info_.bottomRow,b=a.elements;this.highlighter_&&this.highlighter_.drawBottomRow(a);this.positionNextConnection_();this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("v",a.height-a.overhangY);for(var c=b.length-1;0<=c;c--){var d=b[c];"next connection"===d.type?this.outlinePath_+=a.notchShape.pathRight:"square corner"===d.type?this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("H",a.xPos):"round corner"===d.type?this.outlinePath_+=
|
|
|
|
|
Blockly.blockRendering.constants.OUTSIDE_CORNERS.bottomLeft:d.isSpacer()&&(this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("h",-1*d.width))}};Blockly.blockRendering.Drawer.prototype.drawLeft_=function(){this.highlighter_&&this.highlighter_.drawLeft();var a=this.info_.outputConnection;this.positionOutputConnection_();a&&(this.outlinePath_+=Blockly.utils.svgPaths.lineOnAxis("V",a.connectionOffsetY+a.height)+a.connectionShape.pathUp);this.outlinePath_+="z"};
|
|
|
|
|
Blockly.blockRendering.Drawer.prototype.drawInternals_=function(){for(var a=0;a<this.info_.rows.length;a++){var b=this.info_.rows[a];if(!b.isSpacer())for(var c=0;c<b.elements.length;c++){var d=b.elements[c];d.isInlineInput()?this.drawInlineInput_(d):(d.isIcon()||d.isField())&&this.layoutField_(d)}}};
|
|
|
|
|
@@ -1690,10 +1690,12 @@ Blockly.ASTNode.prototype["in"]=function(){switch(this.type_){case Blockly.ASTNo
|
|
|
|
|
Blockly.ASTNode.prototype.prev=function(){switch(this.type_){case Blockly.ASTNode.types.WORKSPACE:var a=new Blockly.utils.Coordinate(this.wsCoordinate_.x-Blockly.ASTNode.wsMove_,this.wsCoordinate_.y);return Blockly.ASTNode.createWorkspaceNode(this.location_,a);case Blockly.ASTNode.types.STACK:return this.navigateBetweenStacks_(!1);case Blockly.ASTNode.types.FIELD:return this.findPrevForField_();case Blockly.ASTNode.types.INPUT:return this.findPrevForInput_();case Blockly.ASTNode.types.BLOCK:a=this.location_.outputConnection;
|
|
|
|
|
if(a=this.location_.previousConnection||a)return Blockly.ASTNode.createConnectionNode(a);break;case Blockly.ASTNode.types.PREVIOUS:if(a=this.location_.targetConnection)return Blockly.ASTNode.createConnectionNode(a);break;case Blockly.ASTNode.types.NEXT:return Blockly.ASTNode.createBlockNode(this.location_.getSourceBlock())}return null};
|
|
|
|
|
Blockly.ASTNode.prototype.out=function(){switch(this.type_){case Blockly.ASTNode.types.STACK:var a=this.location_.getRelativeToSurfaceXY();a=new Blockly.utils.Coordinate(a.x,a.y+Blockly.ASTNode.DEFAULT_OFFSET_Y);return Blockly.ASTNode.createWorkspaceNode(this.location_.workspace,a);case Blockly.ASTNode.types.OUTPUT:return(a=this.location_.targetConnection)?Blockly.ASTNode.createConnectionNode(a):Blockly.ASTNode.createStackNode(this.location_.getSourceBlock());case Blockly.ASTNode.types.FIELD:return Blockly.ASTNode.createBlockNode(this.location_.getSourceBlock());
|
|
|
|
|
case Blockly.ASTNode.types.INPUT:return Blockly.ASTNode.createBlockNode(this.location_.getSourceBlock());case Blockly.ASTNode.types.BLOCK:return this.getOutAstNodeForBlock_(this.location_);case Blockly.ASTNode.types.PREVIOUS:return this.getOutAstNodeForBlock_(this.location_.getSourceBlock());case Blockly.ASTNode.types.NEXT:return this.getOutAstNodeForBlock_(this.location_.getSourceBlock())}return null};Blockly.user={};Blockly.user.keyMap={};Blockly.user.keyMap.map_={};Blockly.user.keyMap.modifierKeys=["Shift","Control","Alt","Meta"];Blockly.user.keyMap.setActionForKey=function(a,b){var c=Blockly.user.keyMap.getKeyByAction(b);c&&delete Blockly.user.keyMap.map_[c];Blockly.user.keyMap.map_[a]=b};Blockly.user.keyMap.setKeyMap=function(a){Blockly.user.keyMap.map_=a};Blockly.user.keyMap.getKeyMap=function(){return Object.assign({},Blockly.user.keyMap.map_)};Blockly.user.keyMap.getActionByKeyCode=function(a){return Blockly.user.keyMap.map_[a]};
|
|
|
|
|
case Blockly.ASTNode.types.INPUT:return Blockly.ASTNode.createBlockNode(this.location_.getSourceBlock());case Blockly.ASTNode.types.BLOCK:return this.getOutAstNodeForBlock_(this.location_);case Blockly.ASTNode.types.PREVIOUS:return this.getOutAstNodeForBlock_(this.location_.getSourceBlock());case Blockly.ASTNode.types.NEXT:return this.getOutAstNodeForBlock_(this.location_.getSourceBlock())}return null};Blockly.utils.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,FF_HASH:163,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,
|
|
|
|
|
N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,
|
|
|
|
|
PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255};Blockly.user={};Blockly.user.keyMap={};Blockly.user.keyMap.map_={};Blockly.user.keyMap.modifierKeys=["Shift","Control","Alt","Meta"];Blockly.user.keyMap.setActionForKey=function(a,b){var c=Blockly.user.keyMap.getKeyByAction(b);c&&delete Blockly.user.keyMap.map_[c];Blockly.user.keyMap.map_[a]=b};Blockly.user.keyMap.setKeyMap=function(a){Blockly.user.keyMap.map_=a};Blockly.user.keyMap.getKeyMap=function(){return Object.assign({},Blockly.user.keyMap.map_)};Blockly.user.keyMap.getActionByKeyCode=function(a){return Blockly.user.keyMap.map_[a]};
|
|
|
|
|
Blockly.user.keyMap.getKeyByAction=function(a){for(var b=Object.keys(Blockly.user.keyMap.map_),c=0,d;d=b[c];c++)if(Blockly.user.keyMap.map_[d].name===a.name)return d;return null};Blockly.user.keyMap.serializeKeyEvent=function(a){for(var b=Blockly.user.keyMap.modifierKeys,c="",d=0,e;e=b[d];d++)a.getModifierState(e)&&(c+=e);return c+=a.keyCode};
|
|
|
|
|
Blockly.user.keyMap.createDefaultKeyMap=function(){var a={};a[goog.events.KeyCodes.W]=Blockly.navigation.ACTION_PREVIOUS;a[goog.events.KeyCodes.A]=Blockly.navigation.ACTION_OUT;a[goog.events.KeyCodes.S]=Blockly.navigation.ACTION_NEXT;a[goog.events.KeyCodes.D]=Blockly.navigation.ACTION_IN;a[goog.events.KeyCodes.I]=Blockly.navigation.ACTION_INSERT;a[goog.events.KeyCodes.ENTER]=Blockly.navigation.ACTION_MARK;a[goog.events.KeyCodes.X]=Blockly.navigation.ACTION_DISCONNECT;a[goog.events.KeyCodes.T]=Blockly.navigation.ACTION_TOOLBOX;
|
|
|
|
|
a[goog.events.KeyCodes.E]=Blockly.navigation.ACTION_EXIT;a[goog.events.KeyCodes.ESC]=Blockly.navigation.ACTION_EXIT;return a};Blockly.navigation={};Blockly.navigation.cursor_=null;Blockly.navigation.marker_=null;Blockly.navigation.currentCategory_=null;Blockly.navigation.flyoutBlock_=null;Blockly.navigation.loggingCallback=null;Blockly.navigation.STATE_FLYOUT=1;Blockly.navigation.STATE_WS=2;Blockly.navigation.STATE_TOOLBOX=3;Blockly.navigation.currentState_=Blockly.navigation.STATE_WS;Blockly.navigation.setCursor=function(a){Blockly.navigation.cursor_=a};
|
|
|
|
|
Blockly.user.keyMap.createDefaultKeyMap=function(){var a={};a[Blockly.utils.KeyCodes.W]=Blockly.navigation.ACTION_PREVIOUS;a[Blockly.utils.KeyCodes.A]=Blockly.navigation.ACTION_OUT;a[Blockly.utils.KeyCodes.S]=Blockly.navigation.ACTION_NEXT;a[Blockly.utils.KeyCodes.D]=Blockly.navigation.ACTION_IN;a[Blockly.utils.KeyCodes.I]=Blockly.navigation.ACTION_INSERT;a[Blockly.utils.KeyCodes.ENTER]=Blockly.navigation.ACTION_MARK;a[Blockly.utils.KeyCodes.X]=Blockly.navigation.ACTION_DISCONNECT;a[Blockly.utils.KeyCodes.T]=
|
|
|
|
|
Blockly.navigation.ACTION_TOOLBOX;a[Blockly.utils.KeyCodes.E]=Blockly.navigation.ACTION_EXIT;a[Blockly.utils.KeyCodes.ESC]=Blockly.navigation.ACTION_EXIT;return a};Blockly.navigation={};Blockly.navigation.cursor_=null;Blockly.navigation.marker_=null;Blockly.navigation.currentCategory_=null;Blockly.navigation.flyoutBlock_=null;Blockly.navigation.loggingCallback=null;Blockly.navigation.STATE_FLYOUT=1;Blockly.navigation.STATE_WS=2;Blockly.navigation.STATE_TOOLBOX=3;Blockly.navigation.currentState_=Blockly.navigation.STATE_WS;Blockly.navigation.setCursor=function(a){Blockly.navigation.cursor_=a};
|
|
|
|
|
Blockly.navigation.setMarker=function(a){Blockly.navigation.marker_=a};Blockly.navigation.markAtCursor=function(){Blockly.navigation.marker_.setLocation(Blockly.navigation.cursor_.getCurNode())};Blockly.navigation.removeMark=function(){Blockly.navigation.marker_.setLocation(null);Blockly.navigation.marker_.hide()};
|
|
|
|
|
Blockly.navigation.focusToolbox=function(){Blockly.navigation.resetFlyout(!1);Blockly.navigation.currentState_=Blockly.navigation.STATE_TOOLBOX;var a=Blockly.getMainWorkspace(),b=a.getToolbox();Blockly.navigation.marker_.getCurNode()||Blockly.navigation.markAtCursor();a&&!Blockly.navigation.currentCategory_&&(Blockly.navigation.currentCategory_=b.tree_.firstChild_);b.tree_.setSelectedItem(Blockly.navigation.currentCategory_)};
|
|
|
|
|
Blockly.navigation.nextCategory=function(){if(Blockly.navigation.currentCategory_){var a=Blockly.navigation.currentCategory_.getNextShownNode();a&&(a.select(),Blockly.navigation.currentCategory_=a)}};Blockly.navigation.previousCategory=function(){if(Blockly.navigation.currentCategory_){var a=Blockly.navigation.currentCategory_.getPreviousShownNode();a&&(a.select(),Blockly.navigation.currentCategory_=a)}};
|
|
|
|
|
@@ -1793,9 +1795,7 @@ MAIN:"main",MARQUEE:"marquee",MATH:"math",MENU:"menu",MENUBAR:"menubar",MENUITEM
|
|
|
|
|
TABPANEL:"tabpanel",TEXTBOX:"textbox",TEXTINFO:"textinfo",TIMER:"timer",TOOLBAR:"toolbar",TOOLTIP:"tooltip",TREE:"tree",TREEGRID:"treegrid",TREEITEM:"treeitem"};
|
|
|
|
|
Blockly.utils.aria.State={ACTIVEDESCENDANT:"activedescendant",ATOMIC:"atomic",AUTOCOMPLETE:"autocomplete",BUSY:"busy",CHECKED:"checked",COLINDEX:"colindex",CONTROLS:"controls",DESCRIBEDBY:"describedby",DISABLED:"disabled",DROPEFFECT:"dropeffect",EXPANDED:"expanded",FLOWTO:"flowto",GRABBED:"grabbed",HASPOPUP:"haspopup",HIDDEN:"hidden",INVALID:"invalid",LABEL:"label",LABELLEDBY:"labelledby",LEVEL:"level",LIVE:"live",MULTILINE:"multiline",MULTISELECTABLE:"multiselectable",ORIENTATION:"orientation",OWNS:"owns",
|
|
|
|
|
POSINSET:"posinset",PRESSED:"pressed",READONLY:"readonly",RELEVANT:"relevant",REQUIRED:"required",ROWINDEX:"rowindex",SELECTED:"selected",SETSIZE:"setsize",SORT:"sort",VALUEMAX:"valuemax",VALUEMIN:"valuemin",VALUENOW:"valuenow",VALUETEXT:"valuetext"};Blockly.utils.aria.setRole=function(a,b){b?a.setAttribute(Blockly.utils.aria.ROLE_ATTRIBUTE_,b):Blockly.utils.aria.removeRole(a)};Blockly.utils.aria.getRole=function(a){return a.getAttribute(Blockly.utils.aria.ROLE_ATTRIBUTE_)||null};
|
|
|
|
|
Blockly.utils.aria.removeRole=function(a){a.removeAttribute(Blockly.utils.aria.ROLE_ATTRIBUTE_)};Blockly.utils.aria.setState=function(a,b,c){Array.isArray(c)&&(c=c.join(" "));b=Blockly.utils.aria.getAriaAttributeName_(b);a.setAttribute(b,c)};Blockly.utils.aria.getAriaAttributeName_=function(a){return Blockly.utils.aria.ARIA_PREFIX_+a};Blockly.utils.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,FF_HASH:163,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,
|
|
|
|
|
N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,
|
|
|
|
|
PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255};Blockly.tree={};Blockly.tree.BaseNode=function(a,b){Blockly.Component.call(this);this.config_=b;this.content_=a;this.expanded_=this.selected_=!1;this.toolTip_=null;this.isUserCollapsible_=!0;this.depth_=-1};goog.inherits(Blockly.tree.BaseNode,Blockly.Component);Blockly.tree.BaseNode.allNodes={};Blockly.tree.BaseNode.prototype.disposeInternal=function(){Blockly.tree.BaseNode.superClass_.disposeInternal.call(this);this.tree&&(this.tree=null);this.setElementInternal(null)};
|
|
|
|
|
Blockly.utils.aria.removeRole=function(a){a.removeAttribute(Blockly.utils.aria.ROLE_ATTRIBUTE_)};Blockly.utils.aria.setState=function(a,b,c){Array.isArray(c)&&(c=c.join(" "));b=Blockly.utils.aria.getAriaAttributeName_(b);a.setAttribute(b,c)};Blockly.utils.aria.getAriaAttributeName_=function(a){return Blockly.utils.aria.ARIA_PREFIX_+a};Blockly.tree={};Blockly.tree.BaseNode=function(a,b){Blockly.Component.call(this);this.config_=b;this.content_=a;this.expanded_=this.selected_=!1;this.toolTip_=null;this.isUserCollapsible_=!0;this.depth_=-1};goog.inherits(Blockly.tree.BaseNode,Blockly.Component);Blockly.tree.BaseNode.allNodes={};Blockly.tree.BaseNode.prototype.disposeInternal=function(){Blockly.tree.BaseNode.superClass_.disposeInternal.call(this);this.tree&&(this.tree=null);this.setElementInternal(null)};
|
|
|
|
|
Blockly.tree.BaseNode.prototype.initAccessibility=function(){var a=this.getElement();if(a){var b=this.getLabelElement();b&&!b.id&&(b.id=this.getId()+".label");Blockly.utils.aria.setRole(a,Blockly.utils.aria.Role.TREEITEM);Blockly.utils.aria.setState(a,Blockly.utils.aria.State.SELECTED,!1);Blockly.utils.aria.setState(a,Blockly.utils.aria.State.LEVEL,this.getDepth());b&&Blockly.utils.aria.setState(a,Blockly.utils.aria.State.LABELLEDBY,b.id);(b=this.getIconElement())&&Blockly.utils.aria.setRole(b,Blockly.utils.aria.Role.PRESENTATION);
|
|
|
|
|
(b=this.getExpandIconElement())&&Blockly.utils.aria.setRole(b,Blockly.utils.aria.Role.PRESENTATION);if(b=this.getChildrenElement())if(Blockly.utils.aria.setRole(b,Blockly.utils.aria.Role.GROUP),b.hasChildNodes())for(Blockly.utils.aria.setState(a,Blockly.utils.aria.State.EXPANDED,!1),a=this.getChildCount(),b=1;b<=a;b++){var c=this.getChildAt(b-1).getElement();Blockly.utils.aria.setState(c,Blockly.utils.aria.State.SETSIZE,a);Blockly.utils.aria.setState(c,Blockly.utils.aria.State.POSINSET,b)}}};
|
|
|
|
|
Blockly.tree.BaseNode.prototype.createDom=function(){var a=document.createElement("div");a.appendChild(this.toDom());this.setElementInternal(a)};Blockly.tree.BaseNode.prototype.enterDocument=function(){Blockly.tree.BaseNode.superClass_.enterDocument.call(this);Blockly.tree.BaseNode.allNodes[this.getId()]=this;this.initAccessibility()};Blockly.tree.BaseNode.prototype.exitDocument=function(){Blockly.tree.BaseNode.superClass_.exitDocument.call(this);delete Blockly.tree.BaseNode.allNodes[this.getId()]};
|
|
|
|
|
|