cluster?: string;
projectUuid?: string;
inTrash: boolean;
+ pastVersions: boolean;
dateFrom: string;
dateTo: string;
saveQuery: boolean;
cluster: undefined,
projectUuid: undefined,
inTrash: true,
+ pastVersions: false,
dateFrom: '',
dateTo: '',
properties: [{
cluster: 'c97qx',
projectUuid: undefined,
inTrash: true,
+ pastVersions: false,
dateFrom: '2017-08-01',
dateTo: '',
properties: [{
cluster: 'c97qx',
projectUuid: undefined,
inTrash: true,
+ pastVersions: false,
dateFrom: '2017-08-01',
dateTo: '',
properties: [
cluster: undefined,
projectUuid: undefined,
inTrash: false,
+ pastVersions: false,
dateFrom: '',
dateTo: '',
properties: [
cluster: undefined,
projectUuid: undefined,
inTrash: false,
+ pastVersions: false,
dateFrom: '',
dateTo: '',
properties: [
cluster: undefined,
projectUuid: undefined,
inTrash: false,
+ pastVersions: false,
dateFrom: '',
dateTo: '',
properties: [
cluster: data.cluster,
projectUuid: data.projectUuid,
inTrash: data.inTrash,
+ pastVersions: data.pastVersions,
dateFrom: data.dateFrom,
dateTo: data.dateTo,
};
['cluster', 'cluster'],
['project', 'projectUuid'],
[`is:${parser.States.TRASHED}`, 'inTrash'],
+ [`is:${parser.States.PAST_VERSION}`, 'pastVersions'],
['from', 'dateFrom'],
['to', 'dateTo']
];
cluster: getValue(Keywords.CLUSTER),
projectUuid: getValue(Keywords.PROJECT),
inTrash: parser.isTrashed(tokens),
+ pastVersions: parser.isPastVersion(tokens),
dateFrom: getValue(Keywords.FROM) || '',
dateTo: getValue(Keywords.TO) || '',
properties: vocabulary
}
export enum States {
- TRASHED = 'trashed'
+ TRASHED = 'trashed',
+ PAST_VERSION = 'pastVersion'
}
const keyValuePattern = (key: string) => new RegExp(`${key}:([^ ]*)`);
}, [] as Property[]);
-export const isTrashed = (tokens: string[]) => {
+export const isTrashed = (tokens: string[]) => isSomeState(States.TRASHED, tokens);
+
+export const isPastVersion = (tokens: string[]) => isSomeState(States.PAST_VERSION, tokens);
+
+const isSomeState = (state: string, tokens: string[]) => {
for (const token of tokens) {
const match = token.match(keyValuePattern(Keywords.IS)) || ['', ''];
if (match) {
const [, value] = match;
- if(value === States.TRASHED) {
+ if(value === state) {
return true;
}
}
typeFilters(dataExplorer.columns)
),
order: getOrder(dataExplorer),
- includeTrash: getAdvancedDataFromQuery(query).inTrash
+ includeTrash: getAdvancedDataFromQuery(query).inTrash,
+ includeOldVersions: getAdvancedDataFromQuery(query).pastVersions
});
const getOrder = (dataExplorer: DataExplorer) => {
component={CheckboxField}
label="In trash" />;
+export const SearchBarPastVersionsField = () =>
+ <Field
+ name='pastVersions'
+ component={CheckboxField}
+ label="Past versions" />;
+
export const SearchBarDateFromField = () =>
<Field
name='dateFrom'
import {
SearchBarTypeField, SearchBarClusterField, SearchBarProjectField, SearchBarTrashField,
SearchBarDateFromField, SearchBarDateToField, SearchBarPropertiesField,
- SearchBarSaveSearchField, SearchBarQuerySearchField
+ SearchBarSaveSearchField, SearchBarQuerySearchField, SearchBarPastVersionsField
} from '~/views-components/form-fields/search-bar-form-fields';
import { treePickerActions } from "~/store/tree-picker/tree-picker-actions";
<Grid item xs={5}>
<SearchBarTrashField />
</Grid>
+ <Grid item xs={5}>
+ <SearchBarPastVersionsField />
+ </Grid>
</Grid>
<IconButton onClick={closeAdvanceView} className={classes.closeIcon}>
<CloseIcon />