mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[Maps] Do not clear non-ordinal fields when modifying field-settings in tooltips or sort-order (#55483) (#55571)
This commit is contained in:
parent
f5a19ed790
commit
9153abef4e
5 changed files with 8 additions and 18 deletions
|
@ -753,9 +753,9 @@ export function clearMissingStyleProperties(layerId) {
|
|||
return;
|
||||
}
|
||||
|
||||
const ordinalFields = await targetLayer.getOrdinalFields();
|
||||
const nextFields = await targetLayer.getFields(); //take into account all fields, since labels can be driven by any field (source or join)
|
||||
const { hasChanges, nextStyleDescriptor } = style.getDescriptorWithMissingStylePropsRemoved(
|
||||
ordinalFields
|
||||
nextFields
|
||||
);
|
||||
if (hasChanges) {
|
||||
dispatch(updateLayerStyle(layerId, nextStyleDescriptor));
|
||||
|
|
|
@ -340,10 +340,6 @@ export class AbstractLayer {
|
|||
return [];
|
||||
}
|
||||
|
||||
async getOrdinalFields() {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getCategoricalFields() {
|
||||
return [];
|
||||
}
|
||||
|
|
|
@ -175,7 +175,7 @@ export class VectorStyle extends AbstractStyle {
|
|||
* This method does not update its descriptor. It just returns a new descriptor that the caller
|
||||
* can then use to update store state via dispatch.
|
||||
*/
|
||||
getDescriptorWithMissingStylePropsRemoved(nextOrdinalFields) {
|
||||
getDescriptorWithMissingStylePropsRemoved(nextFields) {
|
||||
const originalProperties = this.getRawProperties();
|
||||
const updatedProperties = {};
|
||||
|
||||
|
@ -192,7 +192,7 @@ export class VectorStyle extends AbstractStyle {
|
|||
return;
|
||||
}
|
||||
|
||||
const matchingOrdinalField = nextOrdinalFields.find(ordinalField => {
|
||||
const matchingOrdinalField = nextFields.find(ordinalField => {
|
||||
return fieldName === ordinalField.getName();
|
||||
});
|
||||
|
||||
|
|
|
@ -66,21 +66,19 @@ describe('getDescriptorWithMissingStylePropsRemoved', () => {
|
|||
it('Should return no changes when next oridinal fields contain existing style property fields', () => {
|
||||
const vectorStyle = new VectorStyle({ properties }, new MockSource());
|
||||
|
||||
const nextOridinalFields = [new MockField({ fieldName })];
|
||||
const { hasChanges } = vectorStyle.getDescriptorWithMissingStylePropsRemoved(
|
||||
nextOridinalFields
|
||||
);
|
||||
const nextFields = [new MockField({ fieldName })];
|
||||
const { hasChanges } = vectorStyle.getDescriptorWithMissingStylePropsRemoved(nextFields);
|
||||
expect(hasChanges).toBe(false);
|
||||
});
|
||||
|
||||
it('Should clear missing fields when next oridinal fields do not contain existing style property fields', () => {
|
||||
const vectorStyle = new VectorStyle({ properties }, new MockSource());
|
||||
|
||||
const nextOridinalFields = [];
|
||||
const nextFields = [];
|
||||
const {
|
||||
hasChanges,
|
||||
nextStyleDescriptor,
|
||||
} = vectorStyle.getDescriptorWithMissingStylePropsRemoved(nextOridinalFields);
|
||||
} = vectorStyle.getDescriptorWithMissingStylePropsRemoved(nextFields);
|
||||
expect(hasChanges).toBe(true);
|
||||
expect(nextStyleDescriptor.properties).toEqual({
|
||||
fillColor: {
|
||||
|
|
|
@ -209,10 +209,6 @@ export class VectorLayer extends AbstractLayer {
|
|||
return [...numberFieldOptions, ...this._getJoinFields()];
|
||||
}
|
||||
|
||||
async getOrdinalFields() {
|
||||
return [...(await this.getDateFields()), ...(await this.getNumberFields())];
|
||||
}
|
||||
|
||||
async getCategoricalFields() {
|
||||
return await this._source.getCategoricalFields();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue