| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { useTranslation } from 'next-i18next';
- import { useUpdateStateAfterSave } from '~/client/services/page-operation';
- import { useDrawioModalLauncherForView } from '~/client/services/side-effects/drawio-modal-launcher-for-view';
- import { useHandsontableModalLauncherForView } from '~/client/services/side-effects/handsontable-modal-launcher-for-view';
- import { toastSuccess, toastError, toastWarning } from '~/client/util/toastr';
- import { PageUpdateErrorCode } from '~/interfaces/apiv3';
- import { useCurrentPageId } from '~/stores/page';
- export const PageContentsUtilities = (): null => {
- const { t } = useTranslation();
- const { data: pageId } = useCurrentPageId();
- const updateStateAfterSave = useUpdateStateAfterSave(pageId);
- useHandsontableModalLauncherForView({
- onSaveSuccess: () => {
- toastSuccess(t('toaster.save_succeeded'));
- updateStateAfterSave?.();
- },
- onSaveError: (errors) => {
- for (const error of errors) {
- if (error.code === PageUpdateErrorCode.CONFLICT) {
- toastWarning(t('modal_resolve_conflict.conflicts_with_new_body_on_server_side'));
- return;
- }
- }
- toastError(errors);
- },
- });
- useDrawioModalLauncherForView({
- onSaveSuccess: () => {
- toastSuccess(t('toaster.save_succeeded'));
- updateStateAfterSave?.();
- },
- onSaveError: (errors) => {
- for (const error of errors) {
- if (error.code === PageUpdateErrorCode.CONFLICT) {
- toastWarning(t('modal_resolve_conflict.conflicts_with_new_body_on_server_side'));
- return;
- }
- }
- toastError(errors);
- },
- });
- return null;
- };
|