123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { fileSaver } from './helper';
- import Workflow from '@/models/workflow';
- export function importWorkflow() {
- const input = document.createElement('input');
- input.type = 'file';
- input.accept = 'application/json';
- input.onchange = (event) => {
- const file = event.target.files[0];
- if (!file || file.type !== 'application/json') {
- alert('Invalid file');
- return;
- }
- const reader = new FileReader();
- reader.onload = ({ target }) => {
- try {
- const workflow = JSON.parse(target.result);
- Workflow.insert({ data: workflow });
- } catch (error) {
- console.error(error);
- }
- };
- reader.readAsText(file);
- };
- input.click();
- }
- export function exportWorkflow(workflow) {
- const keys = ['dataColumns', 'drawflow', 'icon', 'name', 'settings'];
- const content = {};
- keys.forEach((key) => {
- content[key] = workflow[key];
- });
- const blob = new Blob([JSON.stringify(content)], {
- type: 'application/json',
- });
- const url = URL.createObjectURL(blob);
- fileSaver(`${workflow.name}.json`, url);
- }
- export default {
- export: exportWorkflow,
- import: importWorkflow,
- };
|