Skip to content

Commit

Permalink
revert LayerDescriptor union and cast to VectorLayerDescriptor instead
Browse files Browse the repository at this point in the history
  • Loading branch information
nreese committed Apr 16, 2020
1 parent 1f7080b commit 3c6c15d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 13 deletions.
30 changes: 21 additions & 9 deletions x-pack/legacy/plugins/maps/common/migrations/join_agg_key.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@ import {
LAYER_TYPE,
VECTOR_STYLES,
} from '../constants';
import { AggDescriptor, JoinDescriptor, LayerDescriptor } from '../descriptor_types';
import {
AggDescriptor,
JoinDescriptor,
LayerDescriptor,
VectorLayerDescriptor,
} from '../descriptor_types';
import { MapSavedObjectAttributes } from '../../../../../plugins/maps/common/map_saved_object_type';

const GROUP_BY_DELIMITER = '_groupby_';
Expand Down Expand Up @@ -59,14 +64,21 @@ export function migrateJoinAggKey({
const layerList: LayerDescriptor[] = JSON.parse(attributes.layerListJSON);
layerList.forEach((layerDescriptor: LayerDescriptor) => {
if (
(layerDescriptor.type === LAYER_TYPE.VECTOR ||
layerDescriptor.type === LAYER_TYPE.BLENDED_VECTOR) &&
layerDescriptor.style &&
layerDescriptor.joins &&
layerDescriptor.joins.length
layerDescriptor.type === LAYER_TYPE.VECTOR ||
layerDescriptor.type === LAYER_TYPE.BLENDED_VECTOR
) {
const vectorLayerDescriptor = layerDescriptor as VectorLayerDescriptor;

if (
!vectorLayerDescriptor.style ||
!vectorLayerDescriptor.joins ||
vectorLayerDescriptor.joins.length === 0
) {
return;
}

const legacyJoinFields = new Map<string, JoinDescriptor>();
layerDescriptor.joins.forEach((joinDescriptor: JoinDescriptor) => {
vectorLayerDescriptor.joins.forEach((joinDescriptor: JoinDescriptor) => {
_.get(joinDescriptor, 'right.metrics', []).forEach((aggDescriptor: AggDescriptor) => {
const legacyAggKey = getLegacyAggKey({
aggType: aggDescriptor.type,
Expand All @@ -84,8 +96,8 @@ export function migrateJoinAggKey({
});
});

Object.keys(layerDescriptor.style.properties).forEach(key => {
const style: any = layerDescriptor.style!.properties[key as VECTOR_STYLES];
Object.keys(vectorLayerDescriptor.style.properties).forEach(key => {
const style: any = vectorLayerDescriptor.style!.properties[key as VECTOR_STYLES];
if (_.get(style, 'options.field.origin') === FIELD_ORIGIN.JOIN) {
const joinDescriptor = legacyJoinFields.get(style.options.field.name);
if (joinDescriptor) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ export type SourceDescriptor =
| ESGeoGridSourceDescriptor
| EMSFileSourceDescriptor;

export type BaseLayerDescriptor = {
export type LayerDescriptor = {
__dataRequests?: DataRequestDescriptor[];
__isInErrorState?: boolean;
__errorMessage?: string;
Expand All @@ -123,13 +123,11 @@ export type BaseLayerDescriptor = {
visible?: boolean;
};

export type VectorLayerDescriptor = BaseLayerDescriptor & {
export type VectorLayerDescriptor = LayerDescriptor & {
joins?: JoinDescriptor[];
style?: VectorStyleDescriptor;
};

export type LayerDescriptor = VectorLayerDescriptor;

export type RangeFieldMeta = {
min: number;
max: number;
Expand Down

0 comments on commit 3c6c15d

Please sign in to comment.