From c03ab6372a2078e238ef9bd6043f51faf21ad6eb Mon Sep 17 00:00:00 2001 From: Muhamad Fikri Alhawarizmi Date: Sat, 13 Apr 2019 00:41:38 +0700 Subject: [PATCH] open upload attachment directly --- src/components/LinksMenu/FileLinksMenu.jsx | 68 ++++++++++++++-------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/src/components/LinksMenu/FileLinksMenu.jsx b/src/components/LinksMenu/FileLinksMenu.jsx index c86e93a7f..e6fec45ad 100644 --- a/src/components/LinksMenu/FileLinksMenu.jsx +++ b/src/components/LinksMenu/FileLinksMenu.jsx @@ -1,9 +1,10 @@ import React from 'react' import PropTypes from 'prop-types' import {Link} from 'react-router-dom' +import * as filepicker from 'filestack-js' + import './LinksMenu.scss' import Panel from '../Panel/Panel' -import AddFiles from '../FileList/AddFiles' import AddFilePermission from '../FileList/AddFilePermissions' import DeleteLinkModal from './DeleteLinkModal' import EditFileAttachment from './EditFileAttachment' @@ -13,7 +14,13 @@ import cn from 'classnames' import BtnRemove from '../../assets/icons/ui-16px-1_trash-simple.svg' import BtnEdit from '../../assets/icons/icon-edit.svg' import _ from 'lodash' -import Modal from '../Modal/Modal' + +import { + FILE_PICKER_API_KEY, + FILE_PICKER_FROM_SOURCES, + FILE_PICKER_CNAME, + FILE_PICKER_SUBMISSION_CONTAINER_NAME +} from '../../config/constants' const FileLinksMenu = ({ canAdd, @@ -45,6 +52,11 @@ const FileLinksMenu = ({ projectMembers, loggedInUser, }) => { + + const fileUploadClient = filepicker.init(FILE_PICKER_API_KEY, { + cname: FILE_PICKER_CNAME + }) + const renderLink = (link) => { if (link.onClick) { return ( @@ -95,19 +107,43 @@ const FileLinksMenu = ({ }) } - const onClose = () => { - onAddingNewLink(false) + const openFileUpload = () => { + if (fileUploadClient) { + const picker = fileUploadClient.picker({ + storeTo: { + location: 's3', + path: attachmentsStorePath, + container: FILE_PICKER_SUBMISSION_CONTAINER_NAME, + region: 'us-east-1' + }, + maxFiles: 4, + fromSources: FILE_PICKER_FROM_SOURCES, + uploadInBackground: false, + onFileUploadFinished: (files) => { + processUploadedFiles(files, category) + }, + onOpen: () => { + onAddingNewLink(true) + }, + onClose: () => { + onAddingNewLink(false) + } + }) + + picker.open() + } } return ( = 0)}, 'panel-links-container')}> - {canAdd && !isAddingNewLink && onAddingNewLink && - onAddingNewLink(true)}>Upload File} + { + canAdd && Upload File + } - {!isAddingNewLink && + {title} ({links.length}) - } + {(isAddingNewLink || linkToDelete >= 0) &&
} @@ -123,22 +159,6 @@ const FileLinksMenu = ({ /> } - {isAddingNewLink && - - - UPLOAD A FILE - - { - pendingAttachments && - - } - - - } -