@kwiz/fluentui 1.0.164 → 1.0.168

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Dropdown, makeStyles, mergeClasses, Option } from '@fluentui/react-components';
3
- import { CommonLogger, filterEmptyEntries, firstOrNull, isNotEmptyArray, isNotEmptyString, isNullOrUndefined, isUndefined } from '@kwiz/common';
4
- import React, { useEffect, useMemo, useState } from 'react';
3
+ import { CommonLogger, filterEmptyEntries, firstOrNull, isNotEmptyArray, isNotEmptyString, isNullOrUndefined } from '@kwiz/common';
4
+ import React, { useMemo, useState } from 'react';
5
5
  import { useKWIZFluentContext } from '../helpers/context-internal';
6
+ import { useControlledStateTracker } from '../helpers/use-controlled-state-tracker';
6
7
  const logger = new CommonLogger("DropdownEX");
7
8
  const useStyles = makeStyles({
8
9
  root: {
@@ -17,24 +18,17 @@ const useStyles = makeStyles({
17
18
  function $DropdownEX(props, ref) {
18
19
  const classes = useStyles();
19
20
  const ctx = useKWIZFluentContext();
20
- const [isUnControlled, setIsUnControlled] = useState(!isUndefined(props.defaultSelected));
21
- const __isUnControlled = !isUndefined(props.defaultSelected);
22
- useEffect(() => {
23
- if (__isUnControlled !== isUnControlled) {
24
- logger.error(`A DropdownEX control was switched from controlled to uncontrolled mode. This is not supported.`);
25
- setIsUnControlled(__isUnControlled);
26
- if (!__isUnControlled) {
27
- setUncontrolledSelected(props.selected);
28
- }
29
- }
30
- }, [__isUnControlled, isUnControlled]);
31
- const [uncontrolledSelected, setUncontrolledSelected] = useState(isUnControlled ? props.defaultSelected : props.selected);
32
- const selectedValueToUse = isUnControlled ? uncontrolledSelected : props.selected;
33
- const selected = Array.isArray(selectedValueToUse) ? selectedValueToUse : isNullOrUndefined(selectedValueToUse) ? [] : [selectedValueToUse];
21
+ const { valueToUse, setValue } = useControlledStateTracker({
22
+ name: "DropdownEX",
23
+ value: props.selected,
24
+ defaultValue: props.defaultSelected
25
+ });
26
+ //normalized as array
27
+ const selected = Array.isArray(valueToUse) ? valueToUse : isNullOrUndefined(valueToUse) ? [] : [valueToUse];
34
28
  //sometimes control will lose value when re-rendered
35
29
  //use case: public forms when editing other fields after the dropdown was set
36
30
  //re-set the text value manually to fix
37
- let text = filterEmptyEntries((Array.isArray(selectedValueToUse) ? selectedValueToUse : [selectedValueToUse]).map(s => {
31
+ let text = filterEmptyEntries(selected.map(s => {
38
32
  let v = firstOrNull(props.items, i => i.key === s);
39
33
  return v ? v.value : '';
40
34
  })).join(', ');
@@ -62,11 +56,11 @@ function $DropdownEX(props, ref) {
62
56
  let o = firstOrNull(props.items, i => i.key === data.optionValue);
63
57
  if (props.multiselect) {
64
58
  let current = data.selectedOptions.map(s => firstOrNull(props.items, i => i.key === s));
65
- setUncontrolledSelected(current.map(o => o.key));
59
+ setValue(current.map(o => o.key));
66
60
  props.onSelect(o, current);
67
61
  }
68
62
  else {
69
- setUncontrolledSelected(o.key);
63
+ setValue(o === null || o === void 0 ? void 0 : o.key);
70
64
  props.onSelect(o);
71
65
  }
72
66
  }, children: items.map(i => _jsx(Option, { value: i.key, text: i.value, children: i.option ? i.option : i.value }, i.key)) })));
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/controls/dropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/controls/dropdown.tsx"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export function FormFieldEX(props) {
16
16
  }
17
17
  return error;
18
18
  }, [validation, required, value]);
19
- const [error, setError] = useState(validate_internal());
19
+ const [error, setError] = useState("");
20
20
  useEffect(() => {
21
21
  const newError = validate_internal();
22
22
  if (!stringEqualsOrEmpty(newError, error))
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/controls/field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAY1D,MAAM,UAAU,WAAW,CAAY,KAAwB;IAC3D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEvD,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,wBAAwB;QACxB,IAAI,KAAK,GAAG,UAAU;YAClB,CAAC,CAAC,UAAU,EAAE;YACd,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC/E,KAAK,GAAG,wBAAwB,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;YACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,iBAAiB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAElC,OAAO,KAAC,KAAK,oBAAK,KAAK,IACnB,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,CAAC,UAAU,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YACnJ,KAAK,CAAC,QAAQ,IACX,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/controls/field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAY1D,MAAM,UAAU,WAAW,CAAY,KAAwB;IAC3D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEvD,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,wBAAwB;QACxB,IAAI,KAAK,GAAG,UAAU;YAClB,CAAC,CAAC,UAAU,EAAE;YACd,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC/E,KAAK,GAAG,wBAAwB,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;YACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,iBAAiB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAElC,OAAO,KAAC,KAAK,oBAAK,KAAK,IACnB,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,CAAC,UAAU,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YACnJ,KAAK,CAAC,QAAQ,IACX,CAAC;AACb,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { MutableRefObject } from "react";
2
+ import { ButtonEXProps } from "../types";
2
3
  /** T would be some sort of FormData {
3
4
  * field:type1
4
5
  * }
@@ -14,19 +15,22 @@ type FormField<FormData> = {
14
15
  key: FieldName;
15
16
  validation?: (value: FormData[FieldName], values: FormData) => string;
16
17
  /** should not be an uncontrolled control */
17
- fieldControl: (value: FormData[FieldName], setValue: (value: FormData[FieldName]) => void) => JSX.Element;
18
+ fieldControl: (value: FormData[FieldName], setValue: (value: FormData[FieldName], otherValues?: Partial<FormData>) => void, values: FormData) => JSX.Element;
18
19
  };
19
20
  }[keyof FormData & string];
20
21
  /** render a form in a dialog, with or without a trigger button to open/close the dialog. */
21
- export declare function FormDialogEX<FormData>({ defaultValues, fields, buttonIcon, buttonTitle, dialogTitle, onSubmit, onClose }: {
22
+ export declare function FormDialogEX<FormData>({ defaultValues, fields, buttonIcon, buttonTitle, buttonProps, dialogTitle, onSubmit, onClose, actions }: {
22
23
  defaultValues: FormData;
23
24
  fields: FormField<FormData>[];
24
25
  buttonIcon?: JSX.Element;
25
26
  buttonTitle?: string;
27
+ buttonProps?: Partial<ButtonEXProps>;
26
28
  dialogTitle: string;
27
29
  /** called if form fields are all valid */
28
30
  onSubmit: (values: FormData) => Promise<string>;
29
31
  onClose?: () => void;
32
+ /** additional button actions at the bottom */
33
+ actions?: JSX.Element[];
30
34
  }): import("react/jsx-runtime").JSX.Element;
31
35
  /** render a form in-line, set the handlers for clear / submit and trigger them from your own code */
32
36
  export declare function FormEX<FormData>({ defaultValues, fields, onSubmit, clear, submit }: {
@@ -18,18 +18,18 @@ import { PleaseWait } from "./please-wait";
18
18
  import { Prompter } from "./prompt";
19
19
  import { Vertical } from "./vertical";
20
20
  /** render a form in a dialog, with or without a trigger button to open/close the dialog. */
21
- export function FormDialogEX({ defaultValues, fields, buttonIcon, buttonTitle, dialogTitle, onSubmit, onClose }) {
21
+ export function FormDialogEX({ defaultValues, fields, buttonIcon, buttonTitle, buttonProps, dialogTitle, onSubmit, onClose, actions }) {
22
22
  const addButton = !isNullOrUndefined(buttonIcon) || isNotEmptyString(buttonTitle);
23
23
  const [show, setShow] = useState(false);
24
24
  const clear = useRef();
25
25
  const submit = useRef();
26
- return _jsxs(_Fragment, { children: [addButton && _jsx(ButtonEXPrimarySubtle, { icon: buttonIcon, title: buttonTitle, onClick: () => { var _a; (_a = clear.current) === null || _a === void 0 ? void 0 : _a.call(clear); setShow(true); } }), (show || !addButton) && _jsx(Prompter, { title: dialogTitle, onCancel: () => {
26
+ return _jsxs(_Fragment, { children: [addButton && _jsx(ButtonEXPrimarySubtle, Object.assign({}, (buttonProps || {}), { icon: buttonIcon, title: buttonTitle, onClick: () => { var _a; (_a = clear.current) === null || _a === void 0 ? void 0 : _a.call(clear); setShow(true); } })), (show || !addButton) && _jsx(Prompter, { title: dialogTitle, onCancel: () => {
27
27
  setShow(false);
28
28
  onClose === null || onClose === void 0 ? void 0 : onClose();
29
29
  }, okButtonProps: {
30
30
  //disabled: !valid >> no other way to show field validations
31
31
  appearance: "primary"
32
- }, onOK: () => { var _a; return (_a = submit.current) === null || _a === void 0 ? void 0 : _a.call(submit); }, children: _jsx(FormEX, { defaultValues: defaultValues, fields: fields, submit: submit, clear: clear, onSubmit: (values) => __awaiter(this, void 0, void 0, function* () {
32
+ }, onOK: () => { var _a; return (_a = submit.current) === null || _a === void 0 ? void 0 : _a.call(submit); }, actions: actions, children: _jsx(FormEX, { defaultValues: defaultValues, fields: fields, submit: submit, clear: clear, onSubmit: (values) => __awaiter(this, void 0, void 0, function* () {
33
33
  let serverError = yield onSubmit(values);
34
34
  if (isNullOrEmptyString(serverError))
35
35
  setShow(false);
@@ -75,6 +75,6 @@ export function FormEX({ defaultValues, fields, onSubmit, clear, submit }) {
75
75
  function FormEX_internal({ fields, setValid, inProgress, submitError, values, setValues }) {
76
76
  return _jsxs(Vertical, { children: [inProgress && _jsx(PleaseWait, {}), _jsx(Internal_FormEX, { submitError: submitError, onValid: isValid => setValid(isValid), children: filterEmptyEntries(fields).map(field => _jsxs(FormFieldEX, { label: field.label, hint: field.hint, formKey: field.key, required: field.required, value: values[field.key], validation: field.validation ? () => {
77
77
  return field.validation(values[field.key], values);
78
- } : undefined, children: [isNullOrUndefined(values[field.key]) && CommonConfig.i.IsLocalDev && _jsx(MessageBar, { layout: "multiline", intent: "warning", children: "This should be a controlled element, value should never be null or your control might get out of sync." }), field.fieldControl(values[field.key], newValue => setValues(Object.assign(Object.assign({}, values), { [field.key]: newValue })))] }, field.key)) })] });
78
+ } : undefined, children: [isNullOrUndefined(values[field.key]) && CommonConfig.i.IsLocalDev && _jsx(MessageBar, { layout: "multiline", intent: "warning", children: "This should be a controlled element, value should never be null or your control might get out of sync." }), field.fieldControl(values[field.key], (newValue, otherValues) => setValues(Object.assign(Object.assign(Object.assign({}, values), (otherValues || {})), { [field.key]: newValue })), values)] }, field.key)) })] });
79
79
  }
80
80
  //# sourceMappingURL=form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/controls/form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/controls/form.tsx"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export * from './svg';
39
39
  export * from './table';
40
40
  export * from './tabs';
41
41
  export * from './tag-ex';
42
+ export * from './tag-picker-ex';
42
43
  export * from './toolbar';
43
44
  export * from './vertical';
44
45
  export * from './vertical-content';
@@ -39,6 +39,7 @@ export * from './svg';
39
39
  export * from './table';
40
40
  export * from './tabs';
41
41
  export * from './tag-ex';
42
+ export * from './tag-picker-ex';
42
43
  export * from './toolbar';
43
44
  export * from './vertical';
44
45
  export * from './vertical-content';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
@@ -25,6 +25,18 @@ export type tableItemExpandedValueType = {
25
25
  };
26
26
  export type tableItemValueType = primitiveTypes | tableItemExpandedValueType;
27
27
  type itemTypeBase = IDictionary<tableItemValueType>;
28
+ interface iPropsBaseNoSelect {
29
+ selectionMode?: never;
30
+ getItemKey?: never;
31
+ selection?: never;
32
+ onSelect?: never;
33
+ }
34
+ interface iPropsSelect<ItemType extends itemTypeBase, ItemKeyType extends string | number> {
35
+ selectionMode: "single" | "multiselect";
36
+ getItemKey: (item: ItemType) => ItemKeyType;
37
+ selection: ItemKeyType[];
38
+ onSelect: (selection: ItemKeyType[]) => void;
39
+ }
28
40
  interface iPropsBase<ItemType extends itemTypeBase> {
29
41
  columns: colType[];
30
42
  /** item is a dictionary. Values are primitives, or tableItemExpandedValueType */
@@ -32,14 +44,11 @@ interface iPropsBase<ItemType extends itemTypeBase> {
32
44
  css?: string[];
33
45
  rowCss?: string[];
34
46
  getItemMenu?: (item: ItemType, index: number) => iMenuItemEX[];
35
- selectionMode?: "single" | "multiselect";
36
- selection?: number[];
37
- onSelectionChange?: (selected: number[]) => void;
38
47
  }
39
- interface iPropsUnfreezed<ItemType extends itemTypeBase> extends iPropsBase<ItemType> {
48
+ interface iPropsUnfreezed<ItemType extends itemTypeBase, ItemKeyType extends string | number> extends iPropsBase<ItemType> {
40
49
  maxHeight: never;
41
50
  }
42
- interface iPropsFreezed<ItemType extends itemTypeBase> extends iPropsBase<ItemType> {
51
+ interface iPropsFreezed<ItemType extends itemTypeBase, ItemKeyType extends string | number> extends iPropsBase<ItemType> {
43
52
  stickyTop?: true;
44
53
  stickyLeft?: true | 1 | 2;
45
54
  /** default: small - keep 40px of first cell visible. medium=80px cover=none */
@@ -49,6 +58,6 @@ interface iPropsFreezed<ItemType extends itemTypeBase> extends iPropsBase<ItemTy
49
58
  */
50
59
  maxHeight?: string;
51
60
  }
52
- type iProps<ItemType extends itemTypeBase> = iPropsUnfreezed<ItemType> | iPropsFreezed<ItemType>;
53
- export declare function TableEX<ItemType extends itemTypeBase>(props: iProps<ItemType>): import("react/jsx-runtime").JSX.Element;
61
+ type iProps<ItemType extends itemTypeBase, ItemKeyType extends string | number> = iPropsUnfreezed<ItemType, ItemKeyType> & iPropsSelect<ItemType, ItemKeyType> | iPropsFreezed<ItemType, ItemKeyType> & iPropsSelect<ItemType, ItemKeyType> | iPropsUnfreezed<ItemType, ItemKeyType> & iPropsBaseNoSelect | iPropsFreezed<ItemType, ItemKeyType> & iPropsBaseNoSelect;
62
+ export declare function TableEX<ItemType extends itemTypeBase, ItemKeyType extends string | number>(props: iProps<ItemType, ItemKeyType>): import("react/jsx-runtime").JSX.Element;
54
63
  export {};
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { createTableColumn, makeStyles, Table, TableBody, TableCell, TableCellActions, TableCellLayout, TableHeader, TableHeaderCell, TableRow, TableSelectionCell, tokens, useArrowNavigationGroup, useTableFeatures, useTableSelection, useTableSort } from "@fluentui/react-components";
2
+ import { createTableColumn, makeStyles, Table, TableBody, TableCell, TableCellActions, TableCellLayout, TableHeader, TableHeaderCell, TableRow, TableSelectionCell, tokens, useArrowNavigationGroup, useTableFeatures, useTableSort } from "@fluentui/react-components";
3
3
  import { CheckboxCheckedRegular, CheckboxUncheckedRegular, ChevronCircleLeftFilled, ChevronCircleLeftRegular, ChevronCircleRightFilled, ChevronCircleRightRegular, EqualCircleFilled, EqualCircleRegular, FilterDismissRegular, FilterFilled, FilterRegular, MoreVerticalRegular } from "@fluentui/react-icons";
4
- import { dateFormat, firstOrNull, isBoolean, isDate, isFunction, isNotEmptyString, isNullOrEmptyString, isNullOrNaN, isNullOrUndefined, isNumber, isPrimitiveValue, isString, stopEvent } from "@kwiz/common";
5
- import { useMemo, useState } from "react";
4
+ import { dateFormat, filterEmptyEntries, firstOrNull, isBoolean, isDate, isFunction, isNotEmptyString, isNullOrEmptyString, isNullOrNaN, isNullOrUndefined, isNumber, isPrimitiveValue, isString, stopEvent } from "@kwiz/common";
5
+ import { useCallback, useMemo, useState } from "react";
6
6
  import { useShowOnHover } from "../helpers";
7
7
  import { mergeClassesEX } from "../styles/styles";
8
8
  import { ButtonEX } from "./button";
@@ -78,7 +78,7 @@ const useStyles = makeStyles({
78
78
  }
79
79
  });
80
80
  export function TableEX(props) {
81
- const { items, columns, getItemMenu, selectionMode, onSelectionChange, selection } = props;
81
+ const { items, columns, getItemMenu, selectionMode } = props;
82
82
  const css = useStyles();
83
83
  const showOnHover = useShowOnHover();
84
84
  const fProps = props;
@@ -213,7 +213,7 @@ export function TableEX(props) {
213
213
  as: _jsxs(Horizontal, { hSpaced: true, children: [_jsx(ButtonEX, { icon: filterop === "lt" ? _jsx(ChevronCircleLeftFilled, {}) : _jsx(ChevronCircleLeftRegular, {}), title: "Less than", onClick: (e) => { stopEvent(e); setFilterop("lt"); } }), _jsx(ButtonEX, { icon: filterop === "eq" ? _jsx(EqualCircleFilled, {}) : _jsx(EqualCircleRegular, {}), title: "Equals", onClick: (e) => { stopEvent(e); setFilterop("eq"); } }), _jsx(ButtonEX, { icon: filterop === "gt" ? _jsx(ChevronCircleRightFilled, {}) : _jsx(ChevronCircleRightRegular, {}), title: "Greater than", onClick: (e) => { stopEvent(e); setFilterop("gt"); } })] }, "filterMenuItemOperator")
214
214
  }), [filterop]);
215
215
  // #endregion
216
- // #region Sort and Select
216
+ // #region Sort
217
217
  const table_columns = useMemo(() => normalizedCols.map(col => createTableColumn({
218
218
  columnId: col.key,
219
219
  compare: (a, b) => {
@@ -236,13 +236,6 @@ export function TableEX(props) {
236
236
  const table_features = useTableFeatures({ columns: table_columns, items: filteredItems }, [
237
237
  useTableSort({
238
238
  defaultSortState: { sortColumn: normalizedCols[0].key, sortDirection: "ascending" }
239
- }),
240
- useTableSelection({
241
- selectionMode,
242
- selectedItems: selection,
243
- onSelectionChange: (e, data) => {
244
- onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange([...data.selectedItems]);
245
- }
246
239
  })
247
240
  ]);
248
241
  const headerSortProps = (columnId) => ({
@@ -253,12 +246,36 @@ export function TableEX(props) {
253
246
  });
254
247
  const rows = table_features.sort.sort(table_features.getRows());
255
248
  // #endregion
256
- const tbl = _jsxs(Table, Object.assign({ className: mergeClassesEX(css.table, props.css) }, keyboardNavAttr, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [isNotEmptyString(selectionMode) && _jsx(TableSelectionCell, { type: "checkbox", className: mergeClassesEX(selectionCellClasses, selectionCellHeaderClasses), checked: table_features.selection.allRowsSelected ? true : table_features.selection.someRowsSelected ? "mixed" : false, onClick: selectionMode === "multiselect"
257
- ? table_features.selection.toggleAllRows : undefined, onKeyDown: selectionMode === "multiselect"
249
+ // #selection
250
+ const { onSelect, selection, getItemKey } = Object.assign({ selection: [] }, props);
251
+ const allSelected = selection.length === rows.length;
252
+ const toggleRow = useCallback((item) => {
253
+ if (isNotEmptyString(selectionMode)) {
254
+ const key = getItemKey(item);
255
+ if (!isNullOrUndefined(key)) {
256
+ if (!selection.includes(key)) {
257
+ if (selectionMode === "multiselect")
258
+ onSelect([...selection, key]); //add
259
+ else
260
+ onSelect([key]); //change - select one
261
+ }
262
+ else //selected
263
+ {
264
+ if (selectionMode === "multiselect") //remove selected
265
+ {
266
+ onSelect(selection.filter(s => s !== item.key));
267
+ }
268
+ }
269
+ }
270
+ }
271
+ }, [selection, onSelect, selectionMode]);
272
+ // #endregion
273
+ const tbl = _jsxs(Table, Object.assign({ className: mergeClassesEX(css.table, props.css) }, keyboardNavAttr, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [isNotEmptyString(selectionMode) && _jsx(TableSelectionCell, { type: "checkbox", className: mergeClassesEX(selectionCellClasses, selectionCellHeaderClasses), checked: allSelected ? true : selection.length > 0 ? "mixed" : false, onClick: selectionMode === "multiselect"
274
+ ? () => onSelect(filterEmptyEntries(allSelected ? [] : rows.map(r => getItemKey(r.item)))) : undefined, onKeyDown: selectionMode === "multiselect"
258
275
  ? (e) => {
259
276
  if (e.key === " ") {
260
277
  stopEvent(e);
261
- table_features.selection.toggleAllRows(e);
278
+ onSelect(filterEmptyEntries(allSelected ? [] : rows.map(r => getItemKey(r.item))));
262
279
  }
263
280
  } : undefined }), normalizedCols.map((col, coli) => _jsxs(TableHeaderCell, Object.assign({ className: mergeClassesEX((coli === 0 ? firstHeaderCellClasses : coli === 1 ? secondHeaderCellClasses : headerCellClasses), col.headerCss, col.nowrap ? css.nowrap : undefined) }, (col.sortable ? headerSortProps(col.key) : {}), { children: [isString(col.renderer) ? col.renderer : col.renderer(), col.filter
264
281
  ? _jsx(MenuEx, { trigger: {
@@ -291,12 +308,12 @@ export function TableEX(props) {
291
308
  : []),
292
309
  { title: "Clear filter", icon: _jsx(FilterDismissRegular, {}), onClick: (e) => { stopEvent(e); setFilter(null); } },
293
310
  ] })
294
- : undefined] }), `h${coli}`))] }) }), _jsx(TableBody, { children: rows.map((row, rowi) => _jsxs(TableRow, { className: mergeClassesEX(props.rowCss), onClick: (e) => table_features.selection.toggleRow(e, row.rowId), onKeyDown: (e) => {
311
+ : undefined] }), `h${coli}`))] }) }), _jsx(TableBody, { children: rows.map((row, rowi) => _jsxs(TableRow, { className: mergeClassesEX(props.rowCss), onClick: (e) => toggleRow(row.item), onKeyDown: (e) => {
295
312
  if (e.key === " ") {
296
313
  stopEvent(e);
297
- table_features.selection.toggleRow(e, row.rowId);
314
+ toggleRow(row.item);
298
315
  }
299
- }, children: [isNotEmptyString(selectionMode) && _jsx(TableSelectionCell, { className: mergeClassesEX(selectionCellClasses), checked: table_features.selection.isRowSelected(row.rowId), type: selectionMode === "single" ? "radio" : "checkbox", radioIndicator: { "aria-label": "Select row" } }), normalizedCols.map((col, coli) => {
316
+ }, children: [isNotEmptyString(selectionMode) && _jsx(TableSelectionCell, { subtle: true, className: mergeClassesEX(selectionCellClasses), checked: selection.includes(getItemKey(row.item)), type: selectionMode === "single" ? "radio" : "checkbox", radioIndicator: { "aria-label": "Select row" } }), normalizedCols.map((col, coli) => {
300
317
  const normalizedColValue = normalizeColValue(row.item[col.key]);
301
318
  return _jsxs(TableCell, { tabIndex: 0, role: "gridcell", className: mergeClassesEX((coli === 0 ? firstCellClasses : coli === 1 ? secondCellClasses : []), col.css, col.nowrap ? css.nowrap : undefined), children: [_jsx(TableCellLayout, { media: normalizedColValue.media, appearance: col.primary ? "primary" : undefined, description: normalizedColValue.description, children: isFunction(normalizedColValue.renderer) ? normalizedColValue.renderer() : normalizedColValue.renderer }), menuIndex === coli && _jsx(TableCellActions, { children: _jsx(MenuEx, { trigger: { icon: _jsx(MoreVerticalRegular, {}), title: "more" }, items: getItemMenu(row.item, rowi) }) })] }, `h${coli}`);
302
319
  })] }, `i${rowi}`)) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/controls/table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/controls/table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { TagPickerOptionProps, TagPickerProps, TagProps } from '@fluentui/react-components';
2
+ import { EventData, EventHandler } from '@fluentui/react-utilities';
3
+ import * as React from 'react';
4
+ declare type TagPickerOnOptionSelectData<keyType extends string = string> = {
5
+ value: keyType;
6
+ selectedOptions: keyType[];
7
+ } & (EventData<'click', React.MouseEvent<HTMLDivElement>> | EventData<'keydown', React.KeyboardEvent<HTMLDivElement>>);
8
+ interface iProps<keyType extends string = string> extends Omit<TagPickerProps, "children" | "onOptionSelect"> {
9
+ selectedTagsTitle?: string;
10
+ selectTagsTitle?: string;
11
+ placeholder?: string;
12
+ getSelectedTagProps?: (key: keyType) => Partial<TagProps>;
13
+ getTagProps?: (key: keyType) => Partial<TagPickerOptionProps>;
14
+ selectedOptions?: keyType[];
15
+ defaultSelectedOptions?: keyType[];
16
+ options: {
17
+ key: keyType;
18
+ text: string;
19
+ }[];
20
+ onOptionSelect?: EventHandler<TagPickerOnOptionSelectData<keyType>>;
21
+ }
22
+ export declare function TagPickerEx<keyType extends string = string>(props: React.PropsWithChildren<iProps<keyType>>): import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tag, TagPicker, TagPickerControl, TagPickerGroup, TagPickerInput, TagPickerList, TagPickerOption, useTagPickerFilter } from '@fluentui/react-components';
3
+ import { CommonLogger, isNotEmptyArray, isNullOrEmptyArray, isNullOrEmptyString, toHash } from '@kwiz/common';
4
+ import * as React from 'react';
5
+ import { useControlledStateTracker } from '../helpers/use-controlled-state-tracker';
6
+ const logger = new CommonLogger("TagPickerEx");
7
+ export function TagPickerEx(props) {
8
+ const { valueToUse, setValue } = useControlledStateTracker({
9
+ name: "TagPickerEx",
10
+ value: props.selectedOptions,
11
+ defaultValue: props.defaultSelectedOptions
12
+ });
13
+ //normalized as array
14
+ const selected = isNotEmptyArray(valueToUse) ? valueToUse : [];
15
+ const optionsHash = React.useMemo(() => {
16
+ return toHash(props.options, o => o.key, undefined, o => o.text);
17
+ }, [props.options]);
18
+ const getOptionText = React.useCallback((option) => {
19
+ return optionsHash[option];
20
+ }, [optionsHash]);
21
+ const [query, setQuery] = React.useState("");
22
+ const children = useTagPickerFilter({
23
+ query,
24
+ options: Object.keys(optionsHash),
25
+ noOptionsElement: (_jsx(TagPickerOption, { value: "no-matches", children: isNullOrEmptyString(query)
26
+ ? "No more options"
27
+ : "We couldn't find any matches" })),
28
+ renderOption: (option) => {
29
+ var _a;
30
+ return (_jsx(TagPickerOption, Object.assign({ value: option, text: getOptionText(option), children: getOptionText(option) }, (((_a = props.getTagProps) === null || _a === void 0 ? void 0 : _a.call(props, option)) || {})), option));
31
+ },
32
+ filter: (option) => !selected.includes(option) &&
33
+ getOptionText(option).toLowerCase().includes(query.toLowerCase()),
34
+ });
35
+ const showPlaceholder = isNullOrEmptyArray(selected);
36
+ const inputTitle = showPlaceholder ? props.placeholder : props.selectTagsTitle;
37
+ return _jsxs(TagPicker, Object.assign({}, props, { onOptionSelect: (e, data) => {
38
+ var _a;
39
+ setValue(data.selectedOptions);
40
+ (_a = props.onOptionSelect) === null || _a === void 0 ? void 0 : _a.call(props, e, data);
41
+ }, children: [_jsxs(TagPickerControl, { children: [_jsx(TagPickerGroup, { "aria-label": props.selectedTagsTitle || "Selected tags", title: props.selectedTagsTitle || "Selected tags", children: selected.map((option) => {
42
+ var _a;
43
+ return (_jsx(Tag, Object.assign({ value: option, as: 'span', children: getOptionText(option) }, (((_a = props.getSelectedTagProps) === null || _a === void 0 ? void 0 : _a.call(props, option)) || {})), option));
44
+ }) }), _jsx(TagPickerInput, { "aria-label": inputTitle || "Select tags", title: inputTitle || "Select tags", placeholder: showPlaceholder ? inputTitle : undefined, value: query, onChange: (e) => setQuery(e.target.value) })] }), _jsx(TagPickerList, { children: children })] }));
45
+ }
46
+ //# sourceMappingURL=tag-picker-ex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-picker-ex.js","sourceRoot":"","sources":["../../src/controls/tag-picker-ex.tsx"],"names":[],"mappings":"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"}
@@ -4,9 +4,10 @@ export * from './drag-drop';
4
4
  export * from './hooks';
5
5
  export * from './hooks-events';
6
6
  export * from './use-alerts';
7
- export * from './use-editable-control';
7
+ export * from './use-track-changes';
8
8
  export * from './use-highlight';
9
9
  export * from './use-reload';
10
10
  export * from './use-show-on-hover';
11
11
  export * from './use-theme';
12
12
  export * from './use-toast';
13
+ export * from './use-controlled-state-tracker';
@@ -4,10 +4,11 @@ export * from './drag-drop';
4
4
  export * from './hooks';
5
5
  export * from './hooks-events';
6
6
  export * from './use-alerts';
7
- export * from './use-editable-control';
7
+ export * from './use-track-changes';
8
8
  export * from './use-highlight';
9
9
  export * from './use-reload';
10
10
  export * from './use-show-on-hover';
11
11
  export * from './use-theme';
12
12
  export * from './use-toast';
13
+ export * from './use-controlled-state-tracker';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function useControlledStateTracker<ValueType>(props: {
2
+ name: string;
3
+ value?: ValueType;
4
+ defaultValue?: ValueType;
5
+ }): {
6
+ valueToUse: ValueType;
7
+ setValue: import("react").Dispatch<import("react").SetStateAction<ValueType>>;
8
+ };
@@ -0,0 +1,20 @@
1
+ import { CommonLogger, isUndefined } from "@kwiz/common";
2
+ import { useEffect, useState } from "react";
3
+ const logger = new CommonLogger("useControlledStateTracker");
4
+ export function useControlledStateTracker(props) {
5
+ const [isUnControlled, setIsUnControlled] = useState(!isUndefined(props.defaultValue));
6
+ const __isUnControlled = !isUndefined(props.defaultValue);
7
+ useEffect(() => {
8
+ if (__isUnControlled !== isUnControlled) {
9
+ logger.error(`${props.name} control was switched from controlled to uncontrolled mode. This is not supported.`);
10
+ setIsUnControlled(__isUnControlled);
11
+ if (!__isUnControlled) {
12
+ setUncontrolledSelected(props.value);
13
+ }
14
+ }
15
+ }, [__isUnControlled, isUnControlled]);
16
+ const [uncontrolledSelected, setUncontrolledSelected] = useState(isUnControlled ? props.defaultValue : props.value);
17
+ const valueToUse = isUnControlled ? uncontrolledSelected : props.value;
18
+ return { valueToUse, setValue: setUncontrolledSelected };
19
+ }
20
+ //# sourceMappingURL=use-controlled-state-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-controlled-state-tracker.js","sourceRoot":"","sources":["../../src/helpers/use-controlled-state-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAE7D,MAAM,UAAU,yBAAyB,CAAY,KAAoE;IACrH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAEvF,MAAM,gBAAgB,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,oFAAoF,CAAC,CAAC;YAChH,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpH,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACvE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;AAC7D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export interface iUseReloadTracker {
2
- /** marker to set as dependency */
2
+ /** marker to set as dependency when you want to re-run the effect when reload was called */
3
3
  reloadKey: number;
4
4
  /** call to reload */
5
5
  reload: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-reload.js","sourceRoot":"","sources":["../../src/helpers/use-reload.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAYrC,oFAAoF;AACpF,MAAM,UAAU,gBAAgB;IAC5B,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,OAAqB,EAAE,EAAE;QAChD,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACjB,qBAAqB;YACrB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YAC3D,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5B,4CAA4C;YAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC,EAAC,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO;QACH,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK;KACtC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"use-reload.js","sourceRoot":"","sources":["../../src/helpers/use-reload.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAYrC,oFAAoF;AACpF,MAAM,UAAU,gBAAgB;IAC5B,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,OAAqB,EAAE,EAAE;QAChD,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACjB,qBAAqB;YACrB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YAC3D,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5B,4CAA4C;YAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO;QACH,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK;KACtC,CAAC;AACN,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { MutableRefObject } from "react";
2
+ export interface iTrackChanges {
3
+ hasChanges: boolean;
4
+ hasChangesRef: MutableRefObject<boolean>;
5
+ setHasChanges: (newValue: boolean) => Promise<boolean>;
6
+ onSaveChanges: (worker: () => Promise<{
7
+ success: boolean;
8
+ message?: string;
9
+ }>) => Promise<void>;
10
+ /** if there are changes, prompt the user. otherwise just call handler. */
11
+ doIfNoChanges: <ReturnType>(handler: () => ReturnType) => ReturnType;
12
+ }
13
+ export declare function useTrackChanges(): {
14
+ trackChanges: iTrackChanges;
15
+ /** include in your react control */
16
+ trackChangesElement: JSX.Element;
17
+ };
18
+ /** @deprecated renamed to useTrackChanges */
19
+ export declare function useEditableControl(): {
20
+ editablePageElement: JSX.Element;
21
+ hasChanges: boolean;
22
+ hasChangesRef: MutableRefObject<boolean>;
23
+ setHasChanges: (newValue: boolean) => Promise<boolean>;
24
+ onSaveChanges: (worker: () => Promise<{
25
+ success: boolean;
26
+ message?: string;
27
+ }>) => Promise<void>;
28
+ /** if there are changes, prompt the user. otherwise just call handler. */
29
+ doIfNoChanges: <ReturnType>(handler: () => ReturnType) => ReturnType;
30
+ };
@@ -9,18 +9,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { Toast, ToastTitle, Toaster, useId, useToastController } from "@fluentui/react-components";
12
+ import { GetError } from "@kwiz/common";
12
13
  import { useCallback, useState } from "react";
13
14
  import { PleaseWait } from "../controls/please-wait";
14
15
  import { useEffectOnlyOnMount, useStateEX } from "./hooks";
16
+ import { useAlerts } from "./use-alerts";
15
17
  /* Provides useful helpers for tracking if control has changes, and handling the save changes with progress bar and on success/fail messages. */
16
- export function useEditableControl() {
18
+ export function useTrackChanges() {
19
+ const alerts = useAlerts();
17
20
  const [showProgress, setShowProgress] = useState(false);
18
- const [hasChanges, setHasChanges, hasChangesRef] = useStateEX(false, { skipUpdateIfSame: true });
21
+ const [hasChanges, setHasChanges, hasChangesRef] = useStateEX(false, { name: "hasChanges", skipUpdateIfSame: true });
19
22
  const toasterId = useId("toaster");
20
23
  const { dispatchToast } = useToastController(toasterId);
21
24
  const onSaveChanges = useCallback((worker) => __awaiter(this, void 0, void 0, function* () {
22
25
  setShowProgress(true);
23
- const success = yield worker();
26
+ let success;
27
+ try {
28
+ success = yield worker();
29
+ }
30
+ catch (e) {
31
+ success = { success: false, message: `Something went wrong: ${GetError(e)}` };
32
+ }
24
33
  setShowProgress(false);
25
34
  if (success.success !== true) {
26
35
  dispatchToast(_jsx(Toast, { children: _jsx(ToastTitle, { children: success.message || "Could not save your changes." }) }), { intent: "warning", timeout: 10000 });
@@ -30,8 +39,27 @@ export function useEditableControl() {
30
39
  dispatchToast(_jsx(Toast, { children: _jsx(ToastTitle, { children: success.message || "Changes saved!" }) }), { intent: "success", timeout: 2000 });
31
40
  }
32
41
  }), useEffectOnlyOnMount);
42
+ const doIfNoChanges = useCallback((handler, prompt) => {
43
+ if (hasChanges)
44
+ alerts.confirmEX(prompt || "You will lose unsaved changes. Continue?").then(result => {
45
+ if (result) {
46
+ setHasChanges(false);
47
+ return handler();
48
+ }
49
+ });
50
+ else
51
+ return handler();
52
+ }, [hasChanges, alerts]);
33
53
  return {
34
- hasChanges, hasChangesRef, setHasChanges, onSaveChanges, editablePageElement: _jsxs(_Fragment, { children: [showProgress && _jsx(PleaseWait, {}), _jsx(Toaster, { toasterId: toasterId })] })
54
+ trackChanges: {
55
+ hasChanges, hasChangesRef, setHasChanges, onSaveChanges, doIfNoChanges
56
+ },
57
+ trackChangesElement: _jsxs(_Fragment, { children: [alerts.alertPrompt, showProgress && _jsx(PleaseWait, {}), _jsx(Toaster, { toasterId: toasterId })] })
35
58
  };
36
59
  }
37
- //# sourceMappingURL=use-editable-control.js.map
60
+ /** @deprecated renamed to useTrackChanges */
61
+ export function useEditableControl() {
62
+ const { trackChanges, trackChangesElement } = useTrackChanges();
63
+ return Object.assign(Object.assign({}, trackChanges), { editablePageElement: trackChangesElement });
64
+ }
65
+ //# sourceMappingURL=use-track-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-track-changes.js","sourceRoot":"","sources":["../../src/helpers/use-track-changes.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kwiz/fluentui",
3
- "version": "1.0.164",
3
+ "version": "1.0.168",
4
4
  "description": "KWIZ common controls for FluentUI",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -82,6 +82,7 @@
82
82
  "peerDependencies": {
83
83
  "@fluentui/react-components": ">=9.54.17 <10.0.0",
84
84
  "@fluentui/react-icons": "^2.0.269",
85
+ "@fluentui/react-utilities": "^9.18.20",
85
86
  "@types/react": ">=16.14.0 <19.0.0",
86
87
  "@types/react-dom": ">=16.9.0 <19.0.0",
87
88
  "react": ">=16.14.0 <19.0.0",
@@ -1,10 +0,0 @@
1
- export declare function useEditableControl(): {
2
- hasChanges: boolean;
3
- hasChangesRef: import("react").MutableRefObject<boolean>;
4
- setHasChanges: (newValue: import("react").SetStateAction<boolean>) => Promise<boolean>;
5
- onSaveChanges: (worker: () => Promise<{
6
- success: boolean;
7
- message?: string;
8
- }>) => Promise<void>;
9
- editablePageElement: import("react/jsx-runtime").JSX.Element;
10
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-editable-control.js","sourceRoot":"","sources":["../../src/helpers/use-editable-control.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D,gJAAgJ;AAChJ,MAAM,UAAU,kBAAkB;IAC9B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAO,MAA8D,EAAE,EAAE;QACvG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC;QAC/B,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,aAAa,CAAC,KAAC,KAAK,cAChB,KAAC,UAAU,cAAE,OAAO,CAAC,OAAO,IAAI,8BAA8B,GAAc,GACxE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;aACI,CAAC;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,aAAa,CAAC,KAAC,KAAK,cAChB,KAAC,UAAU,cAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB,GAAc,GAC1D,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,CAAA,EAAE,oBAAoB,CAAC,CAAC;IAEzB,OAAO;QACH,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,8BACzE,YAAY,IAAI,KAAC,UAAU,KAAG,EAC/B,KAAC,OAAO,IAAC,SAAS,EAAE,SAAS,GAAI,IAClC;KACN,CAAC;AACN,CAAC"}