From 18cdb637d9b0695d2d51f62c1b90ef703d19a282 Mon Sep 17 00:00:00 2001 From: Wroud Date: Sun, 30 Aug 2020 16:05:15 +0300 Subject: [PATCH 1/6] feat(core-blocks): input require indicator --- webapp/packages/core-blocks/src/FormControls/InputField.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/webapp/packages/core-blocks/src/FormControls/InputField.tsx b/webapp/packages/core-blocks/src/FormControls/InputField.tsx index 36ad51b805..0ff925ef99 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputField.tsx @@ -44,6 +44,7 @@ export const InputField: InputFieldType = observer(function InputField( ) { const { name, + required, state, children, className, @@ -65,13 +66,14 @@ export const InputField: InputFieldType = observer(function InputField( return styled(useStyles(baseFormControlStyles))( - {children} + {children} {required && '*'} ); From a0f48ad7889465e2e6383b96ac834e1b2179b224 Mon Sep 17 00:00:00 2001 From: Wroud Date: Sun, 30 Aug 2020 16:06:48 +0300 Subject: [PATCH 2/6] fix: preact useMemo deps bug --- webapp/packages/core-di/src/useController.ts | 6 ++++-- webapp/packages/core-theming/src/useStyles.ts | 18 +++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/webapp/packages/core-di/src/useController.ts b/webapp/packages/core-di/src/useController.ts index 80af4427c9..9fb42121f1 100644 --- a/webapp/packages/core-di/src/useController.ts +++ b/webapp/packages/core-di/src/useController.ts @@ -7,7 +7,7 @@ */ import { - useContext, useEffect, useRef, useState, useMemo, + useContext, useEffect, useRef, useMemo, } from 'react'; import { appContext } from './AppContext'; @@ -35,7 +35,9 @@ export function useController(ctor: IServiceConstructor, ...args: any[]): controller.init(...args); } controllerRef.current = controller; - }, [...args]); + }, [...args, args.length]); + /* we put dynamic array length as the dependency because of preact bug, + otherwise useMemo will not be triggered on array change */ useEffect(() => () => { if (isDestructibleController(controllerRef.current)) { diff --git a/webapp/packages/core-theming/src/useStyles.ts b/webapp/packages/core-theming/src/useStyles.ts index c08de54bcb..c8bdaf8fd5 100644 --- a/webapp/packages/core-theming/src/useStyles.ts +++ b/webapp/packages/core-theming/src/useStyles.ts @@ -26,29 +26,29 @@ export type Style = BaseStyles | ThemeSelector * @param componentStyles styles array */ export function useStyles( - ...componentStyles: Array