From 24d6990649bde018d4b1a60dd903773ea052900d Mon Sep 17 00:00:00 2001 From: hu de yi Date: Fri, 11 Apr 2025 16:31:59 +0800 Subject: [PATCH 1/2] deprecated Class.setOptions --- packages/maptalks/src/core/Class.ts | 11 ++++++++--- packages/maptalks/src/geometry/Geometry.ts | 2 +- .../maptalks/src/geometry/ext/Geometry.InfoWindow.ts | 2 +- packages/maptalks/src/layer/tile/WMSTileLayer.ts | 2 +- packages/maptalks/src/ui/Menuable.ts | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/maptalks/src/core/Class.ts b/packages/maptalks/src/core/Class.ts index 28e98f4678..512250ed15 100644 --- a/packages/maptalks/src/core/Class.ts +++ b/packages/maptalks/src/core/Class.ts @@ -57,10 +57,10 @@ class Class { * @param options - options to set */ constructor(options?: ClassOptions) { - if (!this || !this.setOptions) { + if (!this || !this._setOptions) { throw new Error('Class instance is being created without "new" operator.'); } - this.setOptions(options); + this._setOptions(options); this.callInitHooks(); this._isUpdatingOptions = false; } @@ -107,7 +107,7 @@ class Class { * Merges options with the default options of the object. * @param options - options to set */ - setOptions(options: ClassOptions) { + _setOptions(options: ClassOptions) { if (!this.hasOwnProperty('options') || isNil(this.options)) { this.options = this.options ? Object.create(this.options) : {}; } @@ -120,6 +120,11 @@ class Class { return this; } + setOptions(options: ClassOptions) { + console.warn('setOptions(options) It is a private method and deprecated, please use _setOptions(options) instead.'); + return this._setOptions(options); + } + /** * * 更新options中指定的配置项。 diff --git a/packages/maptalks/src/geometry/Geometry.ts b/packages/maptalks/src/geometry/Geometry.ts index 0f47e87590..33781cbb2b 100644 --- a/packages/maptalks/src/geometry/Geometry.ts +++ b/packages/maptalks/src/geometry/Geometry.ts @@ -1331,7 +1331,7 @@ export class Geometry extends JSONAble(Eventable(Handlerable(Class))) { delete opts['symbol']; delete opts['id']; delete opts['properties']; - this.setOptions(opts); + this._setOptions(opts); if (symbol) { this.setSymbol(symbol); } diff --git a/packages/maptalks/src/geometry/ext/Geometry.InfoWindow.ts b/packages/maptalks/src/geometry/ext/Geometry.InfoWindow.ts index 7b8807e292..13a07795ba 100644 --- a/packages/maptalks/src/geometry/ext/Geometry.InfoWindow.ts +++ b/packages/maptalks/src/geometry/ext/Geometry.InfoWindow.ts @@ -45,7 +45,7 @@ Geometry.include(/** @lends Geometry.prototype */ { } this._infoWinOptions = extend({}, options); if (this._infoWindow) { - this._infoWindow.setOptions(options); + this._infoWindow._setOptions(options); } else if (this.getMap()) { this._bindInfoWindow(); } diff --git a/packages/maptalks/src/layer/tile/WMSTileLayer.ts b/packages/maptalks/src/layer/tile/WMSTileLayer.ts index d668500605..b17ca0fcea 100644 --- a/packages/maptalks/src/layer/tile/WMSTileLayer.ts +++ b/packages/maptalks/src/layer/tile/WMSTileLayer.ts @@ -68,7 +68,7 @@ class WMSTileLayer extends TileLayer { wmsExcludeParams = extend({}, this.options); } this.wmsParams = extend({} as WMSTileLayerOptionsType, defaultWmsParams); - this.setOptions(options); + this._setOptions(options); this.setZIndex(options.zIndex); if (!Browser.proxy) { this._optionsHook(options); diff --git a/packages/maptalks/src/ui/Menuable.ts b/packages/maptalks/src/ui/Menuable.ts index 19112abcbc..89c3013e14 100644 --- a/packages/maptalks/src/ui/Menuable.ts +++ b/packages/maptalks/src/ui/Menuable.ts @@ -65,7 +65,7 @@ const Menuable = { this._menuOptions = options; if (this._menu) { - this._menu.setOptions(options); + this._menu._setOptions(options); } else { this.on('contextmenu', this._defaultOpenMenu, this); } From 879d4508e28d3bc22d2b7ac0aabee69ed01606dd Mon Sep 17 00:00:00 2001 From: hu de yi Date: Fri, 11 Apr 2025 16:44:22 +0800 Subject: [PATCH 2/2] updates --- packages/maptalks/src/core/Class.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/maptalks/src/core/Class.ts b/packages/maptalks/src/core/Class.ts index 512250ed15..35c97606c4 100644 --- a/packages/maptalks/src/core/Class.ts +++ b/packages/maptalks/src/core/Class.ts @@ -121,7 +121,7 @@ class Class { } setOptions(options: ClassOptions) { - console.warn('setOptions(options) It is a private method and deprecated, please use _setOptions(options) instead.'); + console.warn('setOptions(options) It is a private method and deprecated, please use _setOptions(options) instead. If you want to update options, please use config(options) instead.'); return this._setOptions(options); }