Spaces:
Running
Running
| /** | |
| * @class L.DrawToolbar | |
| * @aka Toolbar | |
| */ | |
| L.DrawToolbar = L.Toolbar.extend({ | |
| statics: { | |
| TYPE: 'draw' | |
| }, | |
| options: { | |
| polyline: {}, | |
| polygon: {}, | |
| rectangle: {}, | |
| circle: {}, | |
| marker: {} | |
| }, | |
| // @method initialize(): void | |
| initialize: function (options) { | |
| // Ensure that the options are merged correctly since L.extend is only shallow | |
| for (var type in this.options) { | |
| if (this.options.hasOwnProperty(type)) { | |
| if (options[type]) { | |
| options[type] = L.extend({}, this.options[type], options[type]); | |
| } | |
| } | |
| } | |
| this._toolbarClass = 'leaflet-draw-draw'; | |
| L.Toolbar.prototype.initialize.call(this, options); | |
| }, | |
| // @method getModeHandlers(): object | |
| // Get mode handlers information | |
| getModeHandlers: function (map) { | |
| return [ | |
| { | |
| enabled: this.options.polyline, | |
| handler: new L.Draw.Polyline(map, this.options.polyline), | |
| title: L.drawLocal.draw.toolbar.buttons.polyline | |
| }, | |
| { | |
| enabled: this.options.polygon, | |
| handler: new L.Draw.Polygon(map, this.options.polygon), | |
| title: L.drawLocal.draw.toolbar.buttons.polygon | |
| }, | |
| { | |
| enabled: this.options.rectangle, | |
| handler: new L.Draw.Rectangle(map, this.options.rectangle), | |
| title: L.drawLocal.draw.toolbar.buttons.rectangle | |
| }, | |
| { | |
| enabled: this.options.circle, | |
| handler: new L.Draw.Circle(map, this.options.circle), | |
| title: L.drawLocal.draw.toolbar.buttons.circle | |
| }, | |
| { | |
| enabled: this.options.marker, | |
| handler: new L.Draw.Marker(map, this.options.marker), | |
| title: L.drawLocal.draw.toolbar.buttons.marker | |
| } | |
| ]; | |
| }, | |
| // @method getActions(): object | |
| // Get action information | |
| getActions: function (handler) { | |
| return [ | |
| { | |
| enabled: handler.completeShape, | |
| title: L.drawLocal.draw.toolbar.finish.title, | |
| text: L.drawLocal.draw.toolbar.finish.text, | |
| callback: handler.completeShape, | |
| context: handler | |
| }, | |
| { | |
| enabled: handler.deleteLastVertex, | |
| title: L.drawLocal.draw.toolbar.undo.title, | |
| text: L.drawLocal.draw.toolbar.undo.text, | |
| callback: handler.deleteLastVertex, | |
| context: handler | |
| }, | |
| { | |
| title: L.drawLocal.draw.toolbar.actions.title, | |
| text: L.drawLocal.draw.toolbar.actions.text, | |
| callback: this.disable, | |
| context: this | |
| } | |
| ]; | |
| }, | |
| // @method setOptions(): void | |
| // Sets the options to the toolbar | |
| setOptions: function (options) { | |
| L.setOptions(this, options); | |
| for (var type in this._modes) { | |
| if (this._modes.hasOwnProperty(type) && options.hasOwnProperty(type)) { | |
| this._modes[type].handler.setOptions(options[type]); | |
| } | |
| } | |
| } | |
| }); | |