[ARVADOS-WORKBENCH2] updated: 1.4.1-123-g17963753
Git user
git at public.curoverse.com
Wed Nov 20 21:19:49 UTC 2019
Summary of changes:
.../property-field-common.tsx | 31 +++++++++++++---------
.../property-key-field.tsx | 10 +++----
.../property-value-field.tsx | 15 ++++-------
3 files changed, 26 insertions(+), 30 deletions(-)
via 17963753e57340121942857300c41c7852275c4b (commit)
from 2a7002882377baf7dc63f82c26f724f3ec5bdb17 (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 17963753e57340121942857300c41c7852275c4b
Author: Peter Amstutz <pamstutz at veritasgenetics.com>
Date: Wed Nov 20 16:19:12 2019 -0500
15069: Fix typechecking for skipValidation parameter of SearchBarValueField
diff --git a/src/views-components/resource-properties-form/property-field-common.tsx b/src/views-components/resource-properties-form/property-field-common.tsx
index 65d0c7c8..9a6b8ff7 100644
--- a/src/views-components/resource-properties-form/property-field-common.tsx
+++ b/src/views-components/resource-properties-form/property-field-common.tsx
@@ -12,7 +12,12 @@ export interface VocabularyProp {
vocabulary: Vocabulary;
}
-export const mapStateToProps = (state: RootState): VocabularyProp => ({
+export interface ValidationProp {
+ skipValidation?: boolean;
+}
+
+export const mapStateToProps = (state: RootState, validationProp: ValidationProp): VocabularyProp & ValidationProp => ({
+ skipValidation: validationProp.skipValidation,
vocabulary: getVocabulary(state.properties),
});
@@ -33,7 +38,7 @@ export const buildProps = ({ input, meta }: WrappedFieldProps) => {
value: input.value,
onChange: input.onChange,
items: ITEMS_PLACEHOLDER,
- renderSuggestion: (item:PropFieldSuggestion) => item.label,
+ renderSuggestion: (item: PropFieldSuggestion) => item.label,
error: hasError(meta),
helperText: getErrorMsg(meta),
};
@@ -47,20 +52,20 @@ export const handleBlur = (
{ dispatch }: WrappedFieldMetaProps,
{ onBlur, value }: WrappedFieldInputProps,
fieldValue: string) =>
- () => {
- dispatch(change(formName, fieldName, fieldValue));
- onBlur(value);
- };
+ () => {
+ dispatch(change(formName, fieldName, fieldValue));
+ onBlur(value);
+ };
// When selecting a property value, save its ID for later usage.
export const handleSelect = (
fieldName: string,
formName: string,
{ onChange }: WrappedFieldInputProps,
- { dispatch }: WrappedFieldMetaProps ) =>
- (item:PropFieldSuggestion) => {
- if (item) {
- onChange(item.label);
- dispatch(change(formName, fieldName, item.id));
- }
- };
+ { dispatch }: WrappedFieldMetaProps) =>
+ (item: PropFieldSuggestion) => {
+ if (item) {
+ onChange(item.label);
+ dispatch(change(formName, fieldName, item.id));
+ }
+ };
diff --git a/src/views-components/resource-properties-form/property-key-field.tsx b/src/views-components/resource-properties-form/property-key-field.tsx
index e03e9be5..1f921188 100644
--- a/src/views-components/resource-properties-form/property-key-field.tsx
+++ b/src/views-components/resource-properties-form/property-key-field.tsx
@@ -7,19 +7,15 @@ import { WrappedFieldProps, Field, FormName } from 'redux-form';
import { memoize } from 'lodash';
import { Autocomplete } from '~/components/autocomplete/autocomplete';
import { Vocabulary, getTags, getTagKeyID } from '~/models/vocabulary';
-import { handleSelect, handleBlur, connectVocabulary, VocabularyProp, buildProps } from '~/views-components/resource-properties-form/property-field-common';
+import { handleSelect, handleBlur, connectVocabulary, VocabularyProp, ValidationProp, buildProps } from '~/views-components/resource-properties-form/property-field-common';
import { TAG_KEY_VALIDATION } from '~/validators/validators';
import { escapeRegExp } from '~/common/regexp.ts';
export const PROPERTY_KEY_FIELD_NAME = 'key';
export const PROPERTY_KEY_FIELD_ID = 'keyID';
-interface PropertyKeyFieldProps {
- skipValidation?: boolean;
-}
-
export const PropertyKeyField = connectVocabulary(
- ({ vocabulary, skipValidation }: VocabularyProp & PropertyKeyFieldProps) =>
+ ({ vocabulary, skipValidation }: VocabularyProp & ValidationProp) =>
<Field
name={PROPERTY_KEY_FIELD_NAME}
component={PropertyKeyInput}
@@ -36,7 +32,7 @@ const PropertyKeyInput = ({ vocabulary, ...props }: WrappedFieldProps & Vocabula
onBlur={handleBlur(PROPERTY_KEY_FIELD_ID, data.form, props.meta, props.input, getTagKeyID(props.input.value, vocabulary))}
{...buildProps(props)}
/>
- )}/>;
+ )} />;
const getValidation = memoize(
(vocabulary: Vocabulary) =>
diff --git a/src/views-components/resource-properties-form/property-value-field.tsx b/src/views-components/resource-properties-form/property-value-field.tsx
index 6a40f877..99745199 100644
--- a/src/views-components/resource-properties-form/property-value-field.tsx
+++ b/src/views-components/resource-properties-form/property-value-field.tsx
@@ -8,7 +8,7 @@ import { compose } from 'redux';
import { Autocomplete } from '~/components/autocomplete/autocomplete';
import { Vocabulary, isStrictTag, getTagValues, getTagValueID } from '~/models/vocabulary';
import { PROPERTY_KEY_FIELD_ID } from '~/views-components/resource-properties-form/property-key-field';
-import { handleSelect, handleBlur, VocabularyProp, connectVocabulary, buildProps } from '~/views-components/resource-properties-form/property-field-common';
+import { handleSelect, handleBlur, VocabularyProp, ValidationProp, connectVocabulary, buildProps } from '~/views-components/resource-properties-form/property-field-common';
import { TAG_VALUE_VALIDATION } from '~/validators/validators';
import { escapeRegExp } from '~/common/regexp.ts';
@@ -16,22 +16,18 @@ interface PropertyKeyProp {
propertyKey: string;
}
-interface ValidationProp {
- skipValidation?: boolean;
-}
-
-type PropertyValueFieldProps = VocabularyProp & PropertyKeyProp;
+type PropertyValueFieldProps = VocabularyProp & PropertyKeyProp & ValidationProp;
export const PROPERTY_VALUE_FIELD_NAME = 'value';
export const PROPERTY_VALUE_FIELD_ID = 'valueID';
-const connectVocabularyAndPropertyKey = compose<any>(
+const connectVocabularyAndPropertyKey = compose(
connectVocabulary,
formValues({ propertyKey: PROPERTY_KEY_FIELD_ID }),
);
export const PropertyValueField = connectVocabularyAndPropertyKey(
- ({skipValidation, ...props}: PropertyValueFieldProps & ValidationProp) =>
+ ({ skipValidation, ...props }: PropertyValueFieldProps) =>
<Field
name={PROPERTY_VALUE_FIELD_NAME}
component={PropertyValueInput}
@@ -48,7 +44,7 @@ const PropertyValueInput = ({ vocabulary, propertyKey, ...props }: WrappedFieldP
onBlur={handleBlur(PROPERTY_VALUE_FIELD_ID, data.form, props.meta, props.input, getTagValueID(propertyKey, props.input.value, vocabulary))}
{...buildProps(props)}
/>
- )}/>;
+ )} />;
const getValidation = (props: PropertyValueFieldProps) =>
isStrictTag(props.propertyKey, props.vocabulary)
@@ -65,4 +61,3 @@ const getSuggestions = (value: string, tagName: string, vocabulary: Vocabulary)
const re = new RegExp(escapeRegExp(value), "i");
return getTagValues(tagName, vocabulary).filter(v => re.test(v.label) && v.label !== value);
};
-
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list