UNPKG

@nu-art/file-upload

Version:

File Uploader - Express & Typescript based backend framework

36 lines 1.98 kB
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime"; import { FirebaseAnalyticsModule } from '@nu-art/firebase/frontend/index'; // import {TS_Icons} from '@nu-art/ts-styles'; import { ATS_Fullstack, ComponentSync, LL_H_C, LL_H_T, LL_V_L, openContent, TS_DragAndDrop } from '@nu-art/thunderstorm/frontend/index'; import { ModuleFE_AssetUploader } from '../modules/ModuleFE_AssetUploader.js'; import { ModuleFE_Assets } from '../modules/ModuleFE_Assets.js'; import { resolveContent, sortArray } from '@nu-art/ts-common'; export class ATS_FileUploader extends ComponentSync { static screen = { name: `File Uploader`, renderer: this, group: ATS_Fullstack, modulesToAwait: [ModuleFE_Assets], }; static defaultProps = { pageTitle: () => this.screen.name }; constructor(p) { super(p); // @ts-ignore FirebaseAnalyticsModule.setCurrentScreen(resolveContent(this.props.pageTitle)); } render() { return _jsxs(LL_H_T, { children: ["\u00A7", _jsx(LL_V_L, { children: sortArray([...ModuleFE_Assets.cache.all()], asset => asset.__updated).map(asset => { const tooltip = openContent.tooltip.bottom(`${asset._id}-tooltip`, () => { return _jsxs(LL_V_L, { children: [asset.bucketName, "/", asset.path] }); }, { offset: 10 }); return _jsx(LL_H_C, { className: "clickable h-gap__n", ...tooltip, children: asset.name }, asset._id); }) }), _jsx("div", { style: { width: 400, height: 302 }, children: _jsx(TS_DragAndDrop, { validate: files => { return files.map(file => ({ file, accepted: true })); }, onChange: acceptedFiles => { return ModuleFE_AssetUploader.upload(acceptedFiles, 'test-upload'); } }) })] }); } } //# sourceMappingURL=ATS_FileUploader.js.map