Add multiple users (#350)

add modal to invite multiple users
This commit is contained in:
Louis Delbosc
2022-11-28 15:02:32 +01:00
committed by GitHub
parent 94a7b750a8
commit ae76b25311
4 changed files with 304 additions and 59 deletions

View File

@@ -1,5 +1,5 @@
import {theme, vars} from 'app/client/ui2018/cssVars';
import {dom, DomElementArg, Observable, styled} from 'grainjs';
import {dom, IDomArgs, DomElementArg, IInputOptions, Observable, styled, subscribe} from 'grainjs';
export const cssInput = styled('input', `
font-size: ${vars.mediumFontSize};
@@ -46,3 +46,25 @@ export function textInput(obs: Observable<string>, ...args: DomElementArg[]): HT
...args,
);
}
export function textarea(
obs: Observable<string>, options: IInputOptions, ...args: IDomArgs<HTMLTextAreaElement>
): HTMLTextAreaElement {
const isValid = options.isValid;
function setValue(elem: HTMLTextAreaElement) {
obs.set(elem.value);
if (isValid) { isValid.set(elem.validity.valid); }
}
return dom('textarea', ...args,
dom.prop('value', obs),
(isValid ?
(elem) => dom.autoDisposeElem(elem,
subscribe(obs, (use) => isValid.set(elem.checkValidity()))) :
null),
options.onInput ? dom.on('input', (e, elem) => setValue(elem)) : null,
dom.on('change', (e, elem) => setValue(elem)),
);
}