@nu-art/file-upload
Version:
File Uploader - Express & Typescript based backend framework
36 lines • 1.98 kB
JavaScript
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