12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- blocklyApp.WorkspaceComponent = ng.core
- .Component({
- selector: 'blockly-workspace',
- template: `
- <label>
- <h3 #workspaceTitle id="blockly-workspace-title">{{'WORKSPACE'|translate}}</h3>
- </label>
- <div id="blockly-workspace-toolbar" (keydown)="onWorkspaceToolbarKeypress($event)">
- <span *ngFor="#buttonConfig of toolbarButtonConfig">
- <button (click)="buttonConfig.action()"
- class="blocklyTree blocklyWorkspaceToolbarButton">
- {{buttonConfig.text}}
- </button>
- </span>
- <button id="clear-workspace" (click)="clearWorkspace()"
- [attr.aria-disabled]="isWorkspaceEmpty()"
- class="blocklyTree blocklyWorkspaceToolbarButton">
- {{'CLEAR_WORKSPACE'|translate}}
- </button>
- </div>
- <div *ngIf="workspace">
- <ol #tree *ngFor="#block of workspace.topBlocks_; #i = index"
- tabIndex="0" role="group" class="blocklyTree blocklyWorkspaceTree"
- [attr.aria-activedescendant]="getActiveDescId(tree.id)"
- [attr.aria-labelledby]="workspaceTitle.id"
- (keydown)="onKeypress($event, tree)">
- <blockly-workspace-tree [level]=1 [block]="block" [tree]="tree" [isTopLevel]="true">
- </blockly-workspace-tree>
- </ol>
- </div>
- `,
- directives: [blocklyApp.WorkspaceTreeComponent],
- pipes: [blocklyApp.TranslatePipe]
- })
- .Class({
- constructor: [blocklyApp.TreeService, function(_treeService) {
-
-
-
-
-
- this.toolbarButtonConfig =
- ACCESSIBLE_GLOBALS && ACCESSIBLE_GLOBALS.toolbarButtonConfig ?
- ACCESSIBLE_GLOBALS.toolbarButtonConfig : [];
- this.workspace = blocklyApp.workspace;
- this.treeService = _treeService;
- }],
- clearWorkspace: function() {
- this.workspace.clear();
- },
- getActiveDescId: function(tree) {
- return this.treeService.getActiveDescId(tree.id);
- },
- onWorkspaceToolbarKeypress: function(e) {
- this.treeService.onWorkspaceToolbarKeypress(
- e, document.activeElement.id);
- },
- onKeypress: function(e, tree) {
- this.treeService.onKeypress(e, tree);
- },
- isWorkspaceEmpty: function() {
- return !this.workspace.topBlocks_.length;
- }
- });
|