Skip to content

Commit 914cc23

Browse files
committed
feat: Update unit from library edit button
1 parent 19f46f8 commit 914cc23

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

src/course-outline/card-header/CardHeader.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525
&:hover {
2626
.item-card-button-icon {
2727
opacity: 1;
28+
29+
&.item-card-button-icon-disabled {
30+
pointer-events: all;
31+
opacity: .5;
32+
cursor: default;
33+
}
2834
}
2935
}
3036
}

src/course-outline/card-header/CardHeader.tsx

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {
22
ReactNode, useEffect, useRef, useState,
33
} from 'react';
4+
import classNames from 'classnames';
45
import { getConfig } from '@edx/frontend-platform';
56
import { useIntl } from '@edx/frontend-platform/i18n';
67
import { useSearchParams } from 'react-router-dom';
@@ -177,11 +178,23 @@ const CardHeader = ({
177178
<>
178179
{titleComponent}
179180
<IconButtonWithTooltip
180-
className="item-card-button-icon"
181-
variant={isDisabledEditField ? 'light' : 'primary'}
181+
className={classNames(
182+
'item-card-button-icon',
183+
{
184+
'item-card-button-icon-disabled': isDisabledEditField,
185+
},
186+
)}
182187
data-testid={`${namePrefix}-edit-button`}
183-
alt={intl.formatMessage(messages.altButtonEdit)}
184-
tooltipContent={<div>{intl.formatMessage(messages.altButtonEdit)}</div>}
188+
alt={intl.formatMessage(
189+
isDisabledEditField ? messages.cannotEditTooltip : messages.altButtonEdit,
190+
)}
191+
tooltipContent={(
192+
<div>
193+
{intl.formatMessage(
194+
isDisabledEditField ? messages.cannotEditTooltip : messages.altButtonEdit,
195+
)}
196+
</div>
197+
)}
185198
iconAs={EditIcon}
186199
onClick={onClickEdit}
187200
// @ts-ignore

src/course-outline/card-header/messages.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ const messages = defineMessages({
8686
defaultMessage: 'Update available - click to sync',
8787
description: 'Alt text for the sync icon button.',
8888
},
89+
cannotEditTooltip: {
90+
id: 'course-authoring.course-outline.card.button.edit.disable.tooltip',
91+
defaultMessage: 'This object was added from a library, so it cannot be edited.',
92+
description: 'Tooltip text of button when the object was added from a library.',
93+
},
8994
});
9095

9196
export default messages;

0 commit comments

Comments
 (0)