[ARVADOS-WORKBENCH2] updated: 1.2.1-1098-ga738a3b
Git user
git at public.curoverse.com
Tue Dec 4 15:29:04 EST 2018
Summary of changes:
src/common/formatters.ts | 11 +++++++++++
src/models/search-bar.ts | 4 ++--
src/store/search-bar/search-bar-actions.ts | 8 ++++----
.../search-bar-advanced-properties-view.tsx | 19 ++++++++++---------
4 files changed, 27 insertions(+), 15 deletions(-)
via a738a3bda2cd15740388f97488aaeb04edfd2385 (commit)
from 85d29bbab95a2c63314a5f637503548106c56de6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit a738a3bda2cd15740388f97488aaeb04edfd2385
Author: Daniel Kos <daniel.kos at contractors.roche.com>
Date: Tue Dec 4 21:29:01 2018 +0100
Fix showing undefined in chips if there's no value
Feature #14280
Arvados-DCO-1.1-Signed-off-by: Daniel Kos <daniel.kos at contractors.roche.com>
diff --git a/src/common/formatters.ts b/src/common/formatters.ts
index e209787..5383c66 100644
--- a/src/common/formatters.ts
+++ b/src/common/formatters.ts
@@ -2,6 +2,8 @@
//
// SPDX-License-Identifier: AGPL-3.0
+import { PropertyValue } from "~/models/search-bar";
+
export const formatDate = (isoDate?: string) => {
if (isoDate) {
const date = new Date(isoDate);
@@ -67,3 +69,12 @@ const FILE_SIZES = [
unit: "B"
}
];
+
+export const formatPropertyValue = (pv: PropertyValue) => {
+ if (pv.key) {
+ return pv.value
+ ? `${pv.key}: ${pv.value}`
+ : pv.key;
+ }
+ return "";
+};
diff --git a/src/models/search-bar.ts b/src/models/search-bar.ts
index abc4b72..798f9c8 100644
--- a/src/models/search-bar.ts
+++ b/src/models/search-bar.ts
@@ -14,10 +14,10 @@ export type SearchBarAdvanceFormData = {
saveQuery: boolean;
queryName: string;
searchValue: string;
- properties: PropertyValues[];
+ properties: PropertyValue[];
};
-export interface PropertyValues {
+export interface PropertyValue {
key: string;
value: string;
}
diff --git a/src/store/search-bar/search-bar-actions.ts b/src/store/search-bar/search-bar-actions.ts
index 16cad43..9d1c6ac 100644
--- a/src/store/search-bar/search-bar-actions.ts
+++ b/src/store/search-bar/search-bar-actions.ts
@@ -15,7 +15,7 @@ import { GroupClass } from '~/models/group';
import { SearchView } from '~/store/search-bar/search-bar-reducer';
import { navigateTo, navigateToSearchResults } from '~/store/navigation/navigation-action';
import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions';
-import { ClusterObjectType, PropertyValues, SearchBarAdvanceFormData } from '~/models/search-bar';
+import { ClusterObjectType, PropertyValue, SearchBarAdvanceFormData } from '~/models/search-bar';
import { debounce } from 'debounce';
import * as _ from "lodash";
import { getModifiedKeysValues } from "~/common/objects";
@@ -353,7 +353,7 @@ export const parseSearchQuery: (query: string) => ParseSearchQuery = (searchValu
const getFirstProp = (sq: ParseSearchQuery, name: string) => sq.properties[name] && sq.properties[name][0];
const getPropValue = (sq: ParseSearchQuery, name: string, value: string) => sq.properties[name] && sq.properties[name].find((v: string) => v === value);
-const getProperties = (sq: ParseSearchQuery): PropertyValues[] => {
+const getProperties = (sq: ParseSearchQuery): PropertyValue[] => {
if (sq.properties.has) {
return sq.properties.has.map((value: string) => {
const v = value.split(':');
@@ -466,12 +466,12 @@ export const initAdvanceFormProjectsTree = () =>
dispatch<any>(initUserProject(SEARCH_BAR_ADVANCE_FORM_PICKER_ID));
};
-export const changeAdvanceFormProperty = (property: string, value: PropertyValues[] | string = '') =>
+export const changeAdvanceFormProperty = (property: string, value: PropertyValue[] | string = '') =>
(dispatch: Dispatch) => {
dispatch(change(SEARCH_BAR_ADVANCE_FORM_NAME, property, value));
};
-export const updateAdvanceFormProperties = (propertyValues: PropertyValues) =>
+export const updateAdvanceFormProperties = (propertyValues: PropertyValue) =>
(dispatch: Dispatch) => {
dispatch(arrayPush(SEARCH_BAR_ADVANCE_FORM_NAME, 'properties', propertyValues));
};
diff --git a/src/views-components/search-bar/search-bar-advanced-properties-view.tsx b/src/views-components/search-bar/search-bar-advanced-properties-view.tsx
index 0384de2..d4044f9 100644
--- a/src/views-components/search-bar/search-bar-advanced-properties-view.tsx
+++ b/src/views-components/search-bar/search-bar-advanced-properties-view.tsx
@@ -13,10 +13,11 @@ import {
changeAdvanceFormProperty,
updateAdvanceFormProperties
} from '~/store/search-bar/search-bar-actions';
-import { PropertyValues } from '~/models/search-bar';
+import { PropertyValue } from '~/models/search-bar';
import { ArvadosTheme } from '~/common/custom-theme';
import { SearchBarKeyField, SearchBarValueField } from '~/views-components/form-fields/search-bar-form-fields';
import { Chips } from '~/components/chips/chips';
+import { formatPropertyValue } from "~/common/formatters";
type CssRules = 'label' | 'button';
@@ -35,14 +36,14 @@ interface SearchBarAdvancedPropertiesViewDataProps {
submitting: boolean;
invalid: boolean;
pristine: boolean;
- propertyValues: PropertyValues;
- fields: PropertyValues[];
+ propertyValues: PropertyValue;
+ fields: PropertyValue[];
}
interface SearchBarAdvancedPropertiesViewActionProps {
setProps: () => void;
- addProp: (propertyValues: PropertyValues) => void;
- getAllFields: (propertyValues: PropertyValues[]) => PropertyValues[] | [];
+ addProp: (propertyValues: PropertyValue) => void;
+ getAllFields: (propertyValues: PropertyValue[]) => PropertyValue[] | [];
}
type SearchBarAdvancedPropertiesViewProps = SearchBarAdvancedPropertiesViewDataProps
@@ -57,10 +58,10 @@ const mapStateToProps = (state: RootState) => {
};
const mapDispatchToProps = (dispatch: Dispatch) => ({
- setProps: (propertyValues: PropertyValues[]) => {
+ setProps: (propertyValues: PropertyValue[]) => {
dispatch<any>(changeAdvanceFormProperty('properties', propertyValues));
},
- addProp: (propertyValues: PropertyValues) => {
+ addProp: (propertyValues: PropertyValue) => {
dispatch<any>(updateAdvanceFormProperties(propertyValues));
dispatch<any>(changeAdvanceFormProperty('key'));
dispatch<any>(changeAdvanceFormProperty('value'));
@@ -95,8 +96,8 @@ export const SearchBarAdvancedPropertiesView = connect(mapStateToProps, mapDispa
<Chips values={getAllFields(fields)}
deletable
onChange={setProps}
- getLabel={(field: PropertyValues) => `${field.key}: ${field.value}`} />
+ getLabel={(field: PropertyValue) => formatPropertyValue(field)} />
</Grid>
</Grid>
)
-);
\ No newline at end of file
+);
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list