Fix disabled button with AccountSelect

This commit is contained in:
elforjani3
2020-11-02 17:16:50 +02:00
parent 28fe1c25e6
commit 5b32d8fe7d
5 changed files with 17 additions and 10 deletions

View File

@@ -76,6 +76,7 @@ export default function AccountsSelectList({
popoverProps={{ minimal: true }} popoverProps={{ minimal: true }}
filterable={true} filterable={true}
onItemSelect={onAccountSelect} onItemSelect={onAccountSelect}
disabled={disabled}
> >
<Button <Button
disabled={disabled} disabled={disabled}

View File

@@ -1,13 +1,12 @@
import React, { useCallback } from 'react'; import React, { useCallback } from 'react';
import { import { ListSelect } from 'components';
ListSelect,
} from 'components';
export default function AccountsTypesSelect({ export default function AccountsTypesSelect({
accountsTypes, accountsTypes,
selectedTypeId, selectedTypeId,
defaultSelectText = 'Select account type', defaultSelectText = 'Select account type',
onTypeSelected, onTypeSelected,
disabled = false,
...restProps ...restProps
}) { }) {
// Filters accounts types items. // Filters accounts types items.
@@ -28,7 +27,8 @@ export default function AccountsTypesSelect({
}; };
const items = accountsTypes.map((type) => ({ const items = accountsTypes.map((type) => ({
id: type.id, label: type.label, id: type.id,
label: type.label,
})); }));
return ( return (
@@ -40,6 +40,7 @@ export default function AccountsTypesSelect({
defaultText={defaultSelectText} defaultText={defaultSelectText}
onItemSelect={handleItemSelected} onItemSelect={handleItemSelected}
itemPredicate={filterAccountTypeItems} itemPredicate={filterAccountTypeItems}
disabled={disabled}
{...restProps} {...restProps}
/> />
); );

View File

@@ -15,7 +15,7 @@ export default function ListSelect({
initialSelectedItem, initialSelectedItem,
onItemSelect, onItemSelect,
disabled = false,
...selectProps ...selectProps
}) { }) {
const selectedItemObj = useMemo( const selectedItemObj = useMemo(
@@ -24,7 +24,10 @@ export default function ListSelect({
); );
const selectedInitialItem = useMemo( const selectedInitialItem = useMemo(
() => selectProps.items.find((i) => i[selectedItemProp] === initialSelectedItem), () =>
selectProps.items.find(
(i) => i[selectedItemProp] === initialSelectedItem,
),
[initialSelectedItem], [initialSelectedItem],
); );
@@ -65,10 +68,12 @@ export default function ListSelect({
onItemSelect={handleItemSelect} onItemSelect={handleItemSelect}
{...selectProps} {...selectProps}
noResults={noResults} noResults={noResults}
disabled={disabled}
> >
<Button <Button
text={currentItem ? currentItem[labelProp] : defaultText} text={currentItem ? currentItem[labelProp] : defaultText}
loading={isLoading} loading={isLoading}
disabled={disabled}
{...buttonProps} {...buttonProps}
/> />
</Select> </Select>

View File

@@ -282,7 +282,7 @@ function AccountFormDialogContent({
selectedTypeId={values.account_type_id} selectedTypeId={values.account_type_id}
defaultSelectText={<T id={'select_account_type'} />} defaultSelectText={<T id={'select_account_type'} />}
onTypeSelected={onChangeAccountType} onTypeSelected={onChangeAccountType}
buttonProps={{ disabled: action === 'edit' }} disabled={action === 'edit'}
popoverProps={{ minimal: true }} popoverProps={{ minimal: true }}
/> />
</FormGroup> </FormGroup>

View File

@@ -149,11 +149,11 @@ export const editAccount = (id, form) => {
}; };
export const activateAccount = ({ id }) => { export const activateAccount = ({ id }) => {
return (dispatch) => ApiService.post(`accounts/${id}/active`); return (dispatch) => ApiService.post(`accounts/${id}/activate`);
}; };
export const inactiveAccount = ({ id }) => { export const inactiveAccount = ({ id }) => {
return (dispatch) => ApiService.post(`accounts/${id}/inactive`); return (dispatch) => ApiService.post(`accounts/${id}/inactivate`);
}; };
export const bulkActivateAccounts = ({ ids }) => { export const bulkActivateAccounts = ({ ids }) => {