@selfcommunity/react-ui 0.10.0-alpha.4 → 0.10.0-alpha.6
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.
- package/lib/cjs/components/TagAutocomplete/TagAutocomplete.d.ts +1 -1
- package/lib/cjs/components/TagAutocomplete/TagAutocomplete.js +3 -3
- package/lib/esm/components/TagAutocomplete/TagAutocomplete.d.ts +1 -1
- package/lib/esm/components/TagAutocomplete/TagAutocomplete.js +3 -3
- package/lib/umd/react-ui.js +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@ import { TextFieldProps } from '@mui/material/TextField';
|
|
|
2
2
|
import { AutocompleteProps } from '@mui/material';
|
|
3
3
|
import { SCTagType } from '@selfcommunity/types/src/index';
|
|
4
4
|
import { TagChipProps } from '../../shared/TagChip';
|
|
5
|
-
export interface TagAutocompleteProps extends Pick<AutocompleteProps<SCTagType | null, any, any, any>, Exclude<keyof AutocompleteProps<SCTagType | null, any, any, any>, 'open' | 'onOpen' | 'onClose' | 'onChange' | 'filterSelectedOptions' | 'disableCloseOnSelect' | 'options' | 'getOptionLabel' | 'value' | 'selectOnFocus' | 'clearOnBlur' | 'blurOnSelect' | 'handleHomeEndKeys' | '
|
|
5
|
+
export interface TagAutocompleteProps extends Pick<AutocompleteProps<SCTagType | null, any, any, any>, Exclude<keyof AutocompleteProps<SCTagType | null, any, any, any>, 'open' | 'onOpen' | 'onClose' | 'onChange' | 'filterSelectedOptions' | 'disableCloseOnSelect' | 'options' | 'getOptionLabel' | 'value' | 'selectOnFocus' | 'clearOnBlur' | 'blurOnSelect' | 'handleHomeEndKeys' | 'noOptionsText' | 'isOptionEqualToValue' | 'renderTags' | 'renderOption' | 'renderInput'>> {
|
|
6
6
|
defaultValue: SCTagType[] | any;
|
|
7
7
|
/**
|
|
8
8
|
* The props applied to text field
|
|
@@ -56,7 +56,7 @@ const TagAutocomplete = (inProps) => {
|
|
|
56
56
|
const [open, setOpen] = (0, react_1.useState)(false);
|
|
57
57
|
const [value, setValue] = (0, react_1.useState)(typeof defaultValue === 'string' ? null : defaultValue);
|
|
58
58
|
// HOOKS
|
|
59
|
-
const { scAddressingTags } = (0, react_core_1.useSCFetchAddressingTagList)({ fetch:
|
|
59
|
+
const { scAddressingTags } = (0, react_core_1.useSCFetchAddressingTagList)({ fetch: open || defaultValue });
|
|
60
60
|
(0, react_1.useEffect)(() => {
|
|
61
61
|
if (value === null) {
|
|
62
62
|
return;
|
|
@@ -64,7 +64,7 @@ const TagAutocomplete = (inProps) => {
|
|
|
64
64
|
onChange && onChange(value);
|
|
65
65
|
}, [value]);
|
|
66
66
|
(0, react_1.useEffect)(() => {
|
|
67
|
-
if (scAddressingTags && typeof defaultValue === 'string') {
|
|
67
|
+
if ((scAddressingTags === null || scAddressingTags === void 0 ? void 0 : scAddressingTags.length) !== 0 && typeof defaultValue === 'string') {
|
|
68
68
|
setValue(scAddressingTags.find((t) => t.id === Number(defaultValue)));
|
|
69
69
|
}
|
|
70
70
|
}, [scAddressingTags, defaultValue]);
|
|
@@ -79,7 +79,7 @@ const TagAutocomplete = (inProps) => {
|
|
|
79
79
|
setValue(newValue);
|
|
80
80
|
};
|
|
81
81
|
// Render
|
|
82
|
-
return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ className: classes.root, open: open, onOpen: handleOpen, onClose: handleClose, options: scAddressingTags || [], getOptionLabel: (option) => option.name || '', value: value, selectOnFocus: true, clearOnBlur: true, handleHomeEndKeys: true, clearIcon: null, noOptionsText: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.layer.audience.tags.empty", defaultMessage: "ui.composer.layer.audience.tags.empty" }), onChange: handleChange, isOptionEqualToValue: (option, value) => value.id === option.id, renderTags: (value, getTagProps) => {
|
|
82
|
+
return ((0, jsx_runtime_1.jsx)(Root, Object.assign({ className: classes.root, open: open, onOpen: handleOpen, onClose: handleClose, options: scAddressingTags || [], getOptionLabel: (option) => option.name || '', value: value, selectOnFocus: true, clearOnBlur: true, handleHomeEndKeys: true, clearIcon: null, noOptionsText: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.layer.audience.tags.empty", defaultMessage: "ui.composer.layer.audience.tags.empty" }), onChange: handleChange, isOptionEqualToValue: (option, value) => (value === null || value === void 0 ? void 0 : value.id) === (option === null || option === void 0 ? void 0 : option.id), renderTags: (value, getTagProps) => {
|
|
83
83
|
return value.map((option, index) => (0, jsx_runtime_1.jsx)(TagChip_1.default, Object.assign({ tag: option }, getTagProps({ index })), option.id));
|
|
84
84
|
}, renderOption: (props, option, { selected, inputValue }) => {
|
|
85
85
|
const matches = (0, match_1.default)(option.name, inputValue);
|
|
@@ -2,7 +2,7 @@ import { TextFieldProps } from '@mui/material/TextField';
|
|
|
2
2
|
import { AutocompleteProps } from '@mui/material';
|
|
3
3
|
import { SCTagType } from '@selfcommunity/types/src/index';
|
|
4
4
|
import { TagChipProps } from '../../shared/TagChip';
|
|
5
|
-
export interface TagAutocompleteProps extends Pick<AutocompleteProps<SCTagType | null, any, any, any>, Exclude<keyof AutocompleteProps<SCTagType | null, any, any, any>, 'open' | 'onOpen' | 'onClose' | 'onChange' | 'filterSelectedOptions' | 'disableCloseOnSelect' | 'options' | 'getOptionLabel' | 'value' | 'selectOnFocus' | 'clearOnBlur' | 'blurOnSelect' | 'handleHomeEndKeys' | '
|
|
5
|
+
export interface TagAutocompleteProps extends Pick<AutocompleteProps<SCTagType | null, any, any, any>, Exclude<keyof AutocompleteProps<SCTagType | null, any, any, any>, 'open' | 'onOpen' | 'onClose' | 'onChange' | 'filterSelectedOptions' | 'disableCloseOnSelect' | 'options' | 'getOptionLabel' | 'value' | 'selectOnFocus' | 'clearOnBlur' | 'blurOnSelect' | 'handleHomeEndKeys' | 'noOptionsText' | 'isOptionEqualToValue' | 'renderTags' | 'renderOption' | 'renderInput'>> {
|
|
6
6
|
defaultValue: SCTagType[] | any;
|
|
7
7
|
/**
|
|
8
8
|
* The props applied to text field
|
|
@@ -54,7 +54,7 @@ const TagAutocomplete = (inProps) => {
|
|
|
54
54
|
const [open, setOpen] = useState(false);
|
|
55
55
|
const [value, setValue] = useState(typeof defaultValue === 'string' ? null : defaultValue);
|
|
56
56
|
// HOOKS
|
|
57
|
-
const { scAddressingTags } = useSCFetchAddressingTagList({ fetch:
|
|
57
|
+
const { scAddressingTags } = useSCFetchAddressingTagList({ fetch: open || defaultValue });
|
|
58
58
|
useEffect(() => {
|
|
59
59
|
if (value === null) {
|
|
60
60
|
return;
|
|
@@ -62,7 +62,7 @@ const TagAutocomplete = (inProps) => {
|
|
|
62
62
|
onChange && onChange(value);
|
|
63
63
|
}, [value]);
|
|
64
64
|
useEffect(() => {
|
|
65
|
-
if (scAddressingTags && typeof defaultValue === 'string') {
|
|
65
|
+
if ((scAddressingTags === null || scAddressingTags === void 0 ? void 0 : scAddressingTags.length) !== 0 && typeof defaultValue === 'string') {
|
|
66
66
|
setValue(scAddressingTags.find((t) => t.id === Number(defaultValue)));
|
|
67
67
|
}
|
|
68
68
|
}, [scAddressingTags, defaultValue]);
|
|
@@ -77,7 +77,7 @@ const TagAutocomplete = (inProps) => {
|
|
|
77
77
|
setValue(newValue);
|
|
78
78
|
};
|
|
79
79
|
// Render
|
|
80
|
-
return (_jsx(Root, Object.assign({ className: classes.root, open: open, onOpen: handleOpen, onClose: handleClose, options: scAddressingTags || [], getOptionLabel: (option) => option.name || '', value: value, selectOnFocus: true, clearOnBlur: true, handleHomeEndKeys: true, clearIcon: null, noOptionsText: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.tags.empty", defaultMessage: "ui.composer.layer.audience.tags.empty" }), onChange: handleChange, isOptionEqualToValue: (option, value) => value.id === option.id, renderTags: (value, getTagProps) => {
|
|
80
|
+
return (_jsx(Root, Object.assign({ className: classes.root, open: open, onOpen: handleOpen, onClose: handleClose, options: scAddressingTags || [], getOptionLabel: (option) => option.name || '', value: value, selectOnFocus: true, clearOnBlur: true, handleHomeEndKeys: true, clearIcon: null, noOptionsText: _jsx(FormattedMessage, { id: "ui.composer.layer.audience.tags.empty", defaultMessage: "ui.composer.layer.audience.tags.empty" }), onChange: handleChange, isOptionEqualToValue: (option, value) => (value === null || value === void 0 ? void 0 : value.id) === (option === null || option === void 0 ? void 0 : option.id), renderTags: (value, getTagProps) => {
|
|
81
81
|
return value.map((option, index) => _jsx(TagChip, Object.assign({ tag: option }, getTagProps({ index })), option.id));
|
|
82
82
|
}, renderOption: (props, option, { selected, inputValue }) => {
|
|
83
83
|
const matches = match(option.name, inputValue);
|