12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { fileSaver, openFilePicker } from './helper';
- import Workflow from '@/models/workflow';
- export function importWorkflow() {
- openFilePicker(['application/json'])
- .then((file) => {
- const reader = new FileReader();
- reader.onload = ({ target }) => {
- const workflow = JSON.parse(target.result);
- Workflow.insert({ data: { ...workflow, createdAt: Date.now() } });
- };
- reader.readAsText(file);
- })
- .catch((error) => {
- console.error(error);
- });
- }
- export function exportWorkflow(workflow) {
- const keys = [
- 'name',
- 'icon',
- 'version',
- 'drawflow',
- 'settings',
- 'globalData',
- 'description',
- 'dataColumns',
- ];
- const content = {
- extVersion: chrome.runtime.getManifest().version,
- };
- 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,
- };
|