Make trashcan and zoomcontrols optional modules. (#3043)

Saves 6 KB when compiled if there is no trashcan nor zoomcontrols.
This commit is contained in:
Neil Fraser
2019-09-18 15:55:12 -07:00
committed by GitHub
parent ebdaf4dd46
commit ec34698c53
3 changed files with 8 additions and 3 deletions

View File

@@ -33,7 +33,6 @@ goog.require('Blockly.ContextMenu');
goog.require('Blockly.Events');
goog.require('Blockly.Events.Ui');
goog.require('Blockly.Events.BlockMove');
goog.require('Blockly.Grid');
goog.require('Blockly.Msg');
goog.require('Blockly.RenderedConnection');
goog.require('Blockly.Tooltip');

View File

@@ -29,6 +29,8 @@ goog.provide('Blockly.requires');
// Blockly Core.
goog.require('Blockly');
goog.require('Blockly.Trashcan');
goog.require('Blockly.ZoomControls');
// Blockly Fields.
goog.require('Blockly.FieldAngle');
goog.require('Blockly.FieldCheckbox');

View File

@@ -41,7 +41,6 @@ goog.require('Blockly.Options');
goog.require('Blockly.ScrollbarPair');
goog.require('Blockly.Touch');
goog.require('Blockly.TouchGesture');
goog.require('Blockly.Trashcan');
goog.require('Blockly.utils');
goog.require('Blockly.utils.Coordinate');
goog.require('Blockly.utils.dom');
@@ -55,7 +54,6 @@ goog.require('Blockly.WorkspaceCommentSvg');
goog.require('Blockly.WorkspaceCommentSvg.render');
goog.require('Blockly.WorkspaceDragSurfaceSvg');
goog.require('Blockly.Xml');
goog.require('Blockly.ZoomControls');
/**
@@ -766,6 +764,9 @@ Blockly.WorkspaceSvg.prototype.newBlock = function(prototypeName, opt_id) {
* @package
*/
Blockly.WorkspaceSvg.prototype.addTrashcan = function() {
if (!Blockly.Trashcan) {
throw Error('Missing require for Blockly.Trashcan');
}
/** @type {Blockly.Trashcan} */
this.trashcan = new Blockly.Trashcan(this);
var svgTrashcan = this.trashcan.createDom();
@@ -777,6 +778,9 @@ Blockly.WorkspaceSvg.prototype.addTrashcan = function() {
* @package
*/
Blockly.WorkspaceSvg.prototype.addZoomControls = function() {
if (!Blockly.ZoomControls) {
throw Error('Missing require for Blockly.ZoomControls');
}
/** @type {Blockly.ZoomControls} */
this.zoomControls_ = new Blockly.ZoomControls(this);
var svgZoomControls = this.zoomControls_.createDom();