From fc9dd03cab398af4af1aa575883f2a3a0c894d23 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 6 Jan 2022 15:27:02 +0100 Subject: [PATCH] Add getStylePreview to Layer --- src/style_manager/model/Layer.js | 9 +++++++++ src/style_manager/model/PropertyStack.js | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/src/style_manager/model/Layer.js b/src/style_manager/model/Layer.js index 3355fb708..9d9343846 100644 --- a/src/style_manager/model/Layer.js +++ b/src/style_manager/model/Layer.js @@ -109,6 +109,15 @@ export default class Layer extends Model { return this.prop?.moveLayer(this, index); } + /** + * Get style object for the preview. + * @param {Object} [opts={}] Options. Same of `PropertyStack.getStyleFromLayer` + * @returns {Object} Style object + */ + getStylePreview(opts = {}) { + return this.prop?.getStylePreview(this, opts); + } + upValues(props = {}) { return this.set('values', { ...this.getValues(), diff --git a/src/style_manager/model/PropertyStack.js b/src/style_manager/model/PropertyStack.js index 0cabd692b..0ac9d7a3c 100644 --- a/src/style_manager/model/PropertyStack.js +++ b/src/style_manager/model/PropertyStack.js @@ -209,6 +209,7 @@ export default class PropertyStack extends PropertyComposite { * @param {[Layer]} layer * @param {Object} [opts={}] Options * @param {Boolean} [opts.camelCase] Return property names in camelCase. + * @param {Object} [opts.number] Limit the result of the number types, eg. `number: { min: -3, max: 3 }` * @returns {Object} Style object */ getStyleFromLayer(layer, opts = {}) { @@ -253,6 +254,13 @@ export default class PropertyStack extends PropertyComposite { : style; } + /** + * Get preview style object from the layer. + * If the property has `preview: false` the returned object will be empty. + * @param {[Layer]} layer + * @param {Object} [opts={}] Options. Same of `getStyleFromLayer` + * @returns {Object} Style object + */ getStylePreview(layer, opts = {}) { let result = {}; const preview = this.get('preview');