123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /**
- * @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]);
- }
- }
- }
- });
|