ConceptPortal-public/rsconcept/frontend/src/utils/procedures.ts

35 lines
970 B
TypeScript
Raw Normal View History

import fileDownload from 'js-file-download';
2023-07-25 20:27:29 +03:00
import { toast } from 'react-toastify';
import { type DataCallback } from './backendAPI';
import { IRSFormMeta } from './models';
2023-07-21 00:09:05 +03:00
export function shareCurrentURLProc() {
const url = window.location.href + '&share';
2023-07-25 20:27:29 +03:00
navigator.clipboard.writeText(url)
.then(() => toast.success(`Ссылка скопирована: ${url}`))
.catch(console.error);
2023-07-21 00:09:05 +03:00
}
2023-07-25 20:27:29 +03:00
export function claimOwnershipProc(
claim: (callback: DataCallback<IRSFormMeta>) => void
2023-07-21 00:09:05 +03:00
) {
if (!window.confirm('Вы уверены, что хотите стать владельцем данной схемы?')) {
return;
}
claim(() => toast.success('Вы стали владельцем схемы'));
2023-07-21 00:09:05 +03:00
}
2023-07-25 20:27:29 +03:00
export function downloadRSFormProc(
download: (callback: DataCallback<Blob>) => void,
fileName: string
) {
download((data) => {
try {
fileDownload(data, fileName);
} catch (error) {
console.error(error);
}
});
}