Skip to content

Commit

Permalink
remove sortOrder
Browse files Browse the repository at this point in the history
  • Loading branch information
mbondyra committed Dec 2, 2020
1 parent af5f00e commit f072f69
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 142 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ describe('last_value', () => {
operationType: 'last_value',
params: {
sortField: 'datefield',
sortOrder: 'asc',
},
},
},
Expand All @@ -90,7 +89,7 @@ describe('last_value', () => {
field: 'a',
size: 1,
sortField: 'datefield',
sortOrder: 'asc',
sortOrder: 'desc',
}),
})
);
Expand All @@ -107,7 +106,6 @@ describe('last_value', () => {
dataType: 'string',
params: {
sortField: 'datefield',
sortOrder: 'asc',
},
};
const indexPattern = createMockedIndexPattern();
Expand All @@ -120,7 +118,6 @@ describe('last_value', () => {
sourceField: 'bytes',
params: expect.objectContaining({
sortField: 'datefield',
sortOrder: 'asc',
}),
})
);
Expand All @@ -136,7 +133,6 @@ describe('last_value', () => {
dataType: 'number',
params: {
sortField: 'datefield',
sortOrder: 'asc',
},
};
const indexPattern = createMockedIndexPattern();
Expand Down Expand Up @@ -235,21 +231,6 @@ describe('last_value', () => {
expect(lastValueColumn.dataType).toEqual('boolean');
});

it('should set sortOrder to desc by default', () => {
const lastValueColumn = lastValueOperation.buildColumn({
indexPattern: createMockedIndexPattern(),
field: {
aggregatable: true,
searchable: true,
type: 'boolean',
name: 'test',
displayName: 'test',
},
layer: { columns: {}, columnOrder: [], indexPatternId: '' },
});
expect(lastValueColumn.params.sortOrder).toEqual('desc');
});

it('should use indexPattern timeFieldName as a default sortField', () => {
const lastValueColumn = lastValueOperation.buildColumn({
indexPattern: createMockedIndexPattern(),
Expand Down Expand Up @@ -418,69 +399,6 @@ describe('last_value', () => {
},
});
});

it('should render sortOrder value and options', () => {
const setStateSpy = jest.fn();
const instance = shallow(
<InlineOptions
{...defaultProps}
state={state}
setState={setStateSpy}
columnId="col1"
currentColumn={state.layers.first.columns.col2 as LastValueIndexPatternColumn}
layerId="first"
/>
);

const select = instance
.find('[data-test-subj="lns-indexPattern-lastValue-sortOrder"]')
.find(EuiButtonGroup);

expect(select.prop('idSelected')).toEqual('lns-lastValue-ascending');

expect(select.prop('options')!.map(({ value }: { value?: string }) => value)).toEqual([
'asc',
'desc',
]);
});

it('should update state when changing sortOrder', () => {
const setStateSpy = jest.fn();
const instance = shallow(
<InlineOptions
{...defaultProps}
state={state}
setState={setStateSpy}
columnId="col1"
currentColumn={state.layers.first.columns.col2 as LastValueIndexPatternColumn}
layerId="first"
/>
);

const select = instance
.find('[data-test-subj="lns-indexPattern-lastValue-sortOrder"]')
.find(EuiButtonGroup);

select.prop('onChange')!('lns-lastValue-descending');
expect(setStateSpy).toHaveBeenCalledWith({
...state,
layers: {
first: {
...state.layers.first,
columns: {
...state.layers.first.columns,
col2: {
...state.layers.first.columns.col2,
params: {
...(state.layers.first.columns.col2 as LastValueIndexPatternColumn).params,
sortOrder: 'desc',
},
},
},
},
},
});
});
});

describe('getErrorMessage', () => {
Expand All @@ -495,7 +413,7 @@ describe('last_value', () => {
isBucketed: false,
label: 'Last value of test',
operationType: 'last_value',
params: { sortField: 'timestamp', sortOrder: 'desc' },
params: { sortField: 'timestamp' },
scale: 'ratio',
sourceField: 'bytes',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ export interface LastValueIndexPatternColumn extends FieldBasedIndexPatternColum
operationType: 'last_value';
params: {
sortField: string;
sortOrder: 'asc' | 'desc';
// last value on numeric fields can be formatted
format?: {
id: string;
Expand Down Expand Up @@ -149,12 +148,6 @@ export const lastValueOperation: OperationDefinition<LastValueIndexPatternColumn
);
}

const sortOrder =
(previousColumn?.params &&
'sortOrder' in previousColumn.params &&
previousColumn?.params?.sortOrder) ||
'desc';

return {
label: ofName(field.displayName),
dataType: field.type as DataType,
Expand All @@ -163,7 +156,6 @@ export const lastValueOperation: OperationDefinition<LastValueIndexPatternColumn
scale: field.type === 'string' ? 'ordinal' : 'ratio',
sourceField: field.name,
params: {
sortOrder,
sortField,
},
};
Expand All @@ -177,7 +169,7 @@ export const lastValueOperation: OperationDefinition<LastValueIndexPatternColumn
field: column.sourceField,
aggregate: 'concat',
size: 1,
sortOrder: column.params.sortOrder,
sortOrder: 'desc',
sortField: column.params.sortField,
},
}),
Expand All @@ -196,22 +188,6 @@ export const lastValueOperation: OperationDefinition<LastValueIndexPatternColumn
paramEditor: ({ state, setState, currentColumn, layerId }) => {
const currentIndexPattern = state.indexPatterns[state.layers[layerId].indexPatternId];
const dateFields = getDateFields(currentIndexPattern);
const sortOrderButtons = [
{
id: `lns-lastValue-ascending`,
label: i18n.translate('xpack.lens.indexPattern.lastValue.sortFieldAscending', {
defaultMessage: 'Ascending',
}),
value: 'asc',
},
{
id: `lns-lastValue-descending`,
label: i18n.translate('xpack.lens.indexPattern.lastValue.sortField', {
defaultMessage: 'Descending',
}),
value: 'desc',
},
];
const isSortFieldInvalid = !!getInvalidSortFieldMessage(
currentColumn.params.sortField,
currentIndexPattern
Expand Down Expand Up @@ -275,39 +251,6 @@ export const lastValueOperation: OperationDefinition<LastValueIndexPatternColumn
}
/>
</EuiFormRow>
<EuiFormRow
label={i18n.translate('xpack.lens.indexPattern.lastValue.sortOrder', {
defaultMessage: 'Sort order',
})}
display="columnCompressed"
fullWidth
>
<EuiButtonGroup
isFullWidth
legend={i18n.translate('xpack.lens.indexPattern.lastValue.sortOrder', {
defaultMessage: 'Sort order',
})}
buttonSize="compressed"
data-test-subj="lns-indexPattern-lastValue-sortOrder"
name="sortOrder"
options={sortOrderButtons}
idSelected={
sortOrderButtons.find(({ value }) => value === currentColumn.params?.sortOrder)!.id
}
onChange={(optionId: string) => {
const value = sortOrderButtons.find(({ id }) => id === optionId)!.value;
setState(
updateColumnParam({
state,
layerId,
currentColumn,
paramName: 'sortOrder',
value,
})
);
}}
/>
</EuiFormRow>
</>
);
},
Expand Down

0 comments on commit f072f69

Please sign in to comment.