From 2ba2837d9125598bcd00f575cbb6ab083e3de868 Mon Sep 17 00:00:00 2001
From: Alexandru Munteanu <alexandru.munteanu@thinslices.com>
Date: Tue, 30 Jan 2018 17:48:50 +0200
Subject: [PATCH] Update fragment on sortable drop

---
 .../src/components/FileItem.local.scss        |  8 +++++++-
 .../src/components/FileSection.js             | 10 ++++++----
 .../component-wizard/src/components/Files.js  | 20 +++++++++++++++++--
 packages/component-wizard/src/redux/files.js  |  1 -
 4 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/packages/component-wizard/src/components/FileItem.local.scss b/packages/component-wizard/src/components/FileItem.local.scss
index 076d3f041..1b38d085b 100644
--- a/packages/component-wizard/src/components/FileItem.local.scss
+++ b/packages/component-wizard/src/components/FileItem.local.scss
@@ -16,9 +16,15 @@
     align-items: center;
     display: flex;
     justify-content: center;
-    margin: 0 5px;
+    margin: 0 10px;
+
+    a {
+      align-items: center;
+      display: flex;
+    }
 
     button {
+      background-color: transparent;
       border: none;
       cursor: pointer;
 
diff --git a/packages/component-wizard/src/components/FileSection.js b/packages/component-wizard/src/components/FileSection.js
index 1cc64ed29..780fdc04b 100644
--- a/packages/component-wizard/src/components/FileSection.js
+++ b/packages/component-wizard/src/components/FileSection.js
@@ -23,16 +23,17 @@ const FileSection = ({
   title,
   files,
   listId,
+  isOver,
   isLast,
   isFirst,
   addFile,
+  canDrop,
+  dropItems,
   moveItem,
+  isFileOver,
   removeFile,
-  connectDropTarget,
-  isOver,
-  canDrop,
   connectFileDrop,
-  isFileOver,
+  connectDropTarget,
 }) =>
   connectFileDrop(
     connectDropTarget(
@@ -55,6 +56,7 @@ const FileSection = ({
         <SortableList
           beginDragProps={['id', 'index', 'name', 'listId']}
           dragHandle={DragHandle}
+          dropItem={dropItems}
           items={files}
           listId={listId}
           listItem={FileItem}
diff --git a/packages/component-wizard/src/components/Files.js b/packages/component-wizard/src/components/Files.js
index 4b8c301d3..8961fcd53 100644
--- a/packages/component-wizard/src/components/Files.js
+++ b/packages/component-wizard/src/components/Files.js
@@ -17,12 +17,14 @@ const Files = ({
   moveItem,
   removeFile,
   changeList,
+  dropItems,
   ...rest
 }) => (
   <div>
     <FileSection
       addFile={addFile('manuscripts')}
       changeList={changeList}
+      dropItems={dropItems}
       files={get(files, 'manuscripts') || []}
       isFirst
       listId="manuscripts"
@@ -76,6 +78,13 @@ export default compose(
     },
   }),
   withHandlers({
+    dropItems: ({ files, updateFragment, project, version }) => () => {
+      updateFragment(project, {
+        submitted: new Date(),
+        ...version,
+        files,
+      })
+    },
     changeList: ({ files, setFiles, updateFragment, project, version }) => (
       fromListId,
       toListId,
@@ -121,8 +130,15 @@ export default compose(
         })
       })
     },
-    moveItem: ({ setFiles, files }) => type => (dragIndex, hoverIndex) => {
-      setFiles(SortableList.moveItem(files[type], dragIndex, hoverIndex), type)
+    moveItem: ({
+      setFiles,
+      files,
+      project,
+      version,
+      updateFragment,
+    }) => type => (dragIndex, hoverIndex) => {
+      const newFiles = SortableList.moveItem(files[type], dragIndex, hoverIndex)
+      setFiles(newFiles, type)
     },
     removeFile: ({
       setFiles,
diff --git a/packages/component-wizard/src/redux/files.js b/packages/component-wizard/src/redux/files.js
index 87d69a3be..e00ea4340 100644
--- a/packages/component-wizard/src/redux/files.js
+++ b/packages/component-wizard/src/redux/files.js
@@ -48,7 +48,6 @@ const createFileData = (file, type) => {
     method: 'POST',
     headers: {
       Accept: 'text/plain',
-      'Content-Type': 'multipart/form-data',
     },
     body: data,
   }
-- 
GitLab