cordis/client/webapp/elements/overlay-upload-path.ts
2021-10-30 12:26:41 -05:00

28 lines
1003 B
TypeScript

import * as fs from 'fs/promises';
import * as path from 'path';
import { Channel } from '../data-types';
import ClientController from '../client-controller';
import BaseElements from './require/base-elements';
import IState from './require/elements-state';
import { $, $$, $$$, $$$$ } from './require/q-module';
export default function createUploadOverlayFromPath(state: IState, server: ClientController, channel: Channel, resourcePath: string): HTMLElement {
const { document } = state;
$.setDocument(document);
let resourceName = path.basename(resourcePath);
let element = BaseElements.createUploadOverlay(document, {
server: server, channel: channel, resourceName: resourceName,
resourceBuffFunc: async () => {
return await fs.readFile(resourcePath);
},
resourceSizeFunc: async () => {
let stat = await fs.stat(resourcePath);
return stat.size;
}
});
return element;
}