diff --git a/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/CommonDialogWrapper.tsx b/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/CommonDialogWrapper.tsx index dfbf0a15a3..8722e09b45 100644 --- a/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/CommonDialogWrapper.tsx +++ b/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/CommonDialogWrapper.tsx @@ -17,6 +17,7 @@ export interface CommonDialogWrapperProps { title?: string; icon?: string; viewBox?: string; + error?: boolean; onReject?: () => void; className?: string; noBodyPadding?: boolean; @@ -29,6 +30,7 @@ export const CommonDialogWrapper: React.FC = function title, icon, viewBox, + error, header, footer, noBodyPadding, @@ -36,11 +38,14 @@ export const CommonDialogWrapper: React.FC = function onReject, children, }) { + if (!icon && error) { + icon = '/icons/error_icon.svg'; + } return styled(useStyles(commonDialogStyle))(
- {icon && } + {icon && }

{title}

{onReject && ( diff --git a/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/styles.ts b/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/styles.ts index b8b4458175..a0c2f525a0 100644 --- a/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/styles.ts +++ b/webapp/packages/core-dialogs/src/CommonDialog/CommonDialog/styles.ts @@ -49,6 +49,10 @@ export const commonDialogStyle = composes( padding: 18px 24px; padding-right: 0; margin-right: -8px; + &[|error] { + width: 40px; + height: 40px; + } } dialog-body { box-sizing: border-box; diff --git a/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx b/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx index fcaec8def7..8b172adee2 100644 --- a/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx +++ b/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx @@ -63,6 +63,7 @@ export const ErrorDetailsDialog: DialogComponent = observe )} )} + error onReject={props.rejectDialog} > {error.reason && {error.reason}} diff --git a/webapp/packages/plugin-data-viewer/src/TableViewer/ErrorDialog.tsx b/webapp/packages/plugin-data-viewer/src/TableViewer/ErrorDialog.tsx index 5470354e98..7bb38c97c4 100644 --- a/webapp/packages/plugin-data-viewer/src/TableViewer/ErrorDialog.tsx +++ b/webapp/packages/plugin-data-viewer/src/TableViewer/ErrorDialog.tsx @@ -40,6 +40,7 @@ const styles = css` export interface ErrorDialogPayload { message: string; + title: string; onShowDetails?: () => void; } @@ -51,7 +52,7 @@ export const ErrorDialog: DialogComponent = observer(functio return styled(useStyles(styles))( {payload.onShowDetails && ( @@ -64,6 +65,7 @@ export const ErrorDialog: DialogComponent = observer(functio )} + error onReject={rejectDialog} > diff --git a/webapp/packages/plugin-data-viewer/src/TableViewer/TableViewerModel.ts b/webapp/packages/plugin-data-viewer/src/TableViewer/TableViewerModel.ts index d33d33087b..8867e190d4 100644 --- a/webapp/packages/plugin-data-viewer/src/TableViewer/TableViewerModel.ts +++ b/webapp/packages/plugin-data-viewer/src/TableViewer/TableViewerModel.ts @@ -279,6 +279,7 @@ export class TableViewerModel { ErrorDialog, { message, + title: 'ui_data_saving_error', onShowDetails: hasDetails ? () => this.commonDialogService.open(ErrorDetailsDialog, exception) : undefined,