Browse Source

integration of Preview (File) into Tracim architecture

Skylsmoi 6 years ago
parent
commit
48e6be2b43

+ 6 - 0
src/component/Workspace/FileContentViewer.jsx View File

@@ -6,6 +6,7 @@ import PopinFixedOption from '../common/PopinFixed/PopinFixedOption.jsx'
6 6
 import PopinFixedContent from '../common/PopinFixed/PopinFixedContent.jsx'
7 7
 import PageHtml from './FileType/PageHtml.jsx'
8 8
 import Thread from './FileType/Thread.jsx'
9
+import Preview from './FileType/File.jsx'
9 10
 import Timeline from '../Timeline.jsx'
10 11
 import { FILE_TYPE } from '../../helper.js'
11 12
 
@@ -19,6 +20,11 @@ const FileContentViewer = props => {
19 20
           <PageHtml version={props.file.version} text={props.file.text} />,
20 21
           <Timeline customClass={`${customClass}__contentpage`} />
21 22
         ]
23
+      case FILE_TYPE[2].name: // file (preview)
24
+        return [
25
+          <Preview />,
26
+          <Timeline customClass={`${customClass}__contentpage`} />
27
+        ]
22 28
       case FILE_TYPE[3].name: // thread
23 29
         return [
24 30
           <Thread />

+ 92 - 0
src/component/Workspace/FileType/File.jsx View File

@@ -0,0 +1,92 @@
1
+import React, { Component } from 'react'
2
+// import classnames from 'classnames'
3
+import imgPDF from '../../../img/pdf.jpg'
4
+// import imgExcel from '../img/excel.png'
5
+
6
+class File extends Component {
7
+  render () {
8
+    return (
9
+      <div className='wsFileFile__contentpage__visualizer'>
10
+        <div className='wsFileFile__contentpage__visualizer__dloption'>
11
+          <div className='wsFileFile__contentpage__visualizer__dloption__icon'>
12
+            <i className='fa fa-download' />
13
+          </div>
14
+          <div className='wsFileFile__contentpage__visualizer__dloption__icon'>
15
+            <i className='fa fa-file-pdf-o' />
16
+          </div>
17
+          <div className='wsFileFile__contentpage__visualizer__dloption__icon'>
18
+            <i className='fa fa-files-o' />
19
+          </div>
20
+        </div>
21
+        <div className='wsFileFile__contentpage__visualizer__slidecontainer'>
22
+          <div className='wsFileFile__contentpage__visualizer__slidecontainer__chevron'>
23
+            <i className='fa fa-chevron-left' />
24
+          </div>
25
+          <div className='wsFileFile__contentpage__visualizer__slidecontainer__fileimg'>
26
+            <img src={imgPDF} alt='fichier pdf' className='d-block img-thumbnail rounded m-auto' />
27
+          </div>
28
+          <div className='wsFileFile__contentpage__visualizer__slidecontainer__chevron'>
29
+            <i className='fa fa-chevron-right' />
30
+          </div>
31
+        </div>
32
+        <div className='wsFileFile__contentpage__visualizer__sidebar'>
33
+          <div className='wsFileFile__contentpage__visualizer__sidebar__visiblepart'>
34
+            <div className='wsFileFile__contentpage__visualizer__sidebar__visiblepart__icon'>
35
+              <i className='fa fa-gear' />
36
+            </div>
37
+            <div className='wsFileFile__contentpage__visualizer__sidebar__visiblepart__title'>
38
+              Propriétés
39
+            </div>
40
+          </div>
41
+          <div className='wsFileFile__contentpage__visualizer__sidebar__propertydetail'>
42
+            Fichier : Planning Intégration de Tracim
43
+            <br />
44
+            Description : Fichier excel et pdf du planning
45
+            <br />
46
+            Taille : 50ko
47
+            <br />
48
+            Utilisateurs : Damien, Bastien, Côme, Phillipe
49
+            <br />
50
+            Date de Création : 08/07/17
51
+            <br />
52
+            Commentaire principale : Ce planning est voué à être modifié régulièrement par l’équipe.
53
+            <br />
54
+            Paramètres utilisés (optionnelle) :
55
+            Aliqua mollit nulla velit magna velit adipisicing culpa ex dolor cupidatat eu commodo.
56
+            <br />
57
+            <br />
58
+            Description : Fichier excel et pdf du planning
59
+            <br />
60
+            Taille : 50ko
61
+            <br />
62
+            Utilisateurs : Damien, Bastien, Côme, Phillipe
63
+            <br />
64
+            Date de Création : 08/07/17
65
+            <br />
66
+            Commentaire principale : Ce planning est voué à être modifié régulièrement par l’équipe.
67
+            <br />
68
+            Paramètres utilisés (optionnelle) :
69
+            Aliqua mollit nulla velit magna velit adipisicing culpa ex dolor cupidatat eu commodo.
70
+            <br />
71
+            <br />
72
+            Description : Fichier excel et pdf du planning
73
+            <br />
74
+            Taille : 50ko
75
+            <br />
76
+            Utilisateurs : Damien, Bastien, Côme, Phillipe
77
+            <br />
78
+            Date de Création : 08/07/17
79
+            <br />
80
+            Commentaire principale : Ce planning est voué à être modifié régulièrement par l’équipe.
81
+            <br />
82
+            Paramètres utilisés (optionnelle) :
83
+            Aliqua mollit nulla velit magna velit adipisicing culpa ex dolor cupidatat eu commodo.
84
+            <br />
85
+          </div>
86
+        </div>
87
+      </div>
88
+    )
89
+  }
90
+}
91
+
92
+export default File

+ 1 - 1
src/component/common/PopinFixed/PopinFixedOption.jsx View File

@@ -15,7 +15,7 @@ const PopinFixedOption = props => {
15 15
           </button>
16 16
           <div className='wsFileGeneric__option__menu__status__submenu dropdown-menu' aria-labelledby='dropdownMenu2'>
17 17
             <h6 className='dropdown-header'>Statut du fichier</h6>
18
-            <div className='dropdown-divider'></div>
18
+            <div className='dropdown-divider' />
19 19
             <button className='wsFileGeneric__option__menu__status__submenu__item current  dropdown-item' type='button'>
20 20
               En cours
21 21
               <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>

+ 0 - 165
src/container/Preview.jsx View File

@@ -1,165 +0,0 @@
1
-import React, { Component } from 'react'
2
-import classnames from 'classnames'
3
-import Timeline from '../component/Timeline.jsx'
4
-import imgPDF from '../img/pdf.jpg'
5
-// import imgExcel from '../img/excel.png'
6
-
7
-class Preview extends Component {
8
-  render () {
9
-    return (
10
-      <div className={classnames('wsFilePreview wsFileGeneric', {'visible': this.props.visible})}>
11
-        <div className='wsFilePreview__header wsFileGeneric__header'>
12
-          <div className='wsFileGeneric__header__icon'>
13
-            <i className='fa fa-file-image-o' />
14
-          </div>
15
-          <div className='wsFilePreview__header__title wsFileGeneric__header__title mr-auto'>
16
-            Planning d'intégration de l'application tracim
17
-          </div>
18
-          <div className='wsFileGeneric__header__edittitle'>
19
-            <i className='fa fa-pencil' />
20
-          </div>
21
-          <div className='wsFileGeneric__header__close'>
22
-            <i className='fa fa-times' />
23
-          </div>
24
-        </div>
25
-        <div className='wsFileGeneric__option'>
26
-          <div className='wsFilePreview__option__menu wsFileGeneric__option__menu'>
27
-            <div className='wsFilePreview__option__menu__addversion btn mr-auto'>
28
-              Nouvelle version
29
-              <i className='fa fa-plus-circle' />
30
-            </div>
31
-            <div className='wsFileGeneric__option__menu__status dropdown'>
32
-              <button className='wsFileGeneric__option__menu__status__dropdownbtn check btn dropdown-toggle' type='button' id='dropdownMenu2' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
33
-                Validé
34
-                <div className='wsFileGeneric__option__menu__status__dropdownbtn__icon'>
35
-                  <i className='fa fa-check' />
36
-                </div>
37
-              </button>
38
-              <div className='wsFileGeneric__option__menu__status__submenu dropdown-menu' aria-labelledby='dropdownMenu2'>
39
-                <h6 className='dropdown-header'>Statut du fichier</h6>
40
-                <div className='dropdown-divider' />
41
-                <button className='wsFileGeneric__option__menu__status__submenu__item current  dropdown-item' type='button'>
42
-                  En cours
43
-                  <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
44
-                    <i className='fa fa-gears' />
45
-                  </div>
46
-                </button>
47
-                <button className='wsFileGeneric__option__menu__status__submenu__item check dropdown-item' type='button'>
48
-                  Validé
49
-                  <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
50
-                    <i className='fa fa-check' />
51
-                  </div>
52
-                </button>
53
-                <button className='wsFileGeneric__option__menu__status__submenu__item invalid dropdown-item' type='button'>
54
-                  Invalidé
55
-                  <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
56
-                    <i className='fa fa-times' />
57
-                  </div>
58
-                </button>
59
-                <button className='wsFileGeneric__option__menu__status__submenu__item ban dropdown-item' type='button'>
60
-                  Obsolète
61
-                  <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
62
-                    <i className='fa fa-ban' />
63
-                  </div>
64
-                </button>
65
-              </div>
66
-            </div>
67
-            <div className='wsFileGeneric__option__menu__action'>
68
-              <i className='fa fa-archive' />
69
-            </div>
70
-            <div className='wsFileGeneric__option__menu__action'>
71
-              <i className='fa fa-trash' />
72
-            </div>
73
-          </div>
74
-        </div>
75
-        <div className='wsFilePreview__contentpage wsFileGeneric__contentpage'>
76
-
77
-          <div className='wsFilePreview__contentpage__visualizer'>
78
-            <div className='wsFilePreview__contentpage__visualizer__dloption'>
79
-              <div className='wsFilePreview__contentpage__visualizer__dloption__icon'>
80
-                <i className='fa fa-download' />
81
-              </div>
82
-              <div className='wsFilePreview__contentpage__visualizer__dloption__icon'>
83
-                <i className='fa fa-file-pdf-o' />
84
-              </div>
85
-              <div className='wsFilePreview__contentpage__visualizer__dloption__icon'>
86
-                <i className='fa fa-files-o' />
87
-              </div>
88
-            </div>
89
-            <div className='wsFilePreview__contentpage__visualizer__slidecontainer'>
90
-              <div className='wsFilePreview__contentpage__visualizer__slidecontainer__chevron'>
91
-                <i className='fa fa-chevron-left' />
92
-              </div>
93
-              <div className='wsFilePreview__contentpage__visualizer__slidecontainer__fileimg'>
94
-                <img src={imgPDF} alt='fichier pdf' className='d-block img-thumbnail rounded m-auto' />
95
-              </div>
96
-              <div className='wsFilePreview__contentpage__visualizer__slidecontainer__chevron'>
97
-                <i className='fa fa-chevron-right' />
98
-              </div>
99
-            </div>
100
-            <div className='wsFilePreview__contentpage__visualizer__sidebar'>
101
-              <div className='wsFilePreview__contentpage__visualizer__sidebar__visiblepart'>
102
-                <div className='wsFilePreview__contentpage__visualizer__sidebar__visiblepart__icon'>
103
-                  <i className='fa fa-gear' />
104
-                </div>
105
-                <div className='wsFilePreview__contentpage__visualizer__sidebar__visiblepart__title'>
106
-                  Propriétés
107
-                </div>
108
-              </div>
109
-              <div className='wsFilePreview__contentpage__visualizer__sidebar__propertydetail'>
110
-                Fichier : Planning Intégration de Tracim
111
-                <br />
112
-                Description : Fichier excel et pdf du planning
113
-                <br />
114
-                Taille : 50ko
115
-                <br />
116
-                Utilisateurs : Damien, Bastien, Côme, Phillipe
117
-                <br />
118
-                Date de Création : 08/07/17
119
-                <br />
120
-                Commentaire principale : Ce planning est voué à être modifié régulièrement par l’équipe.
121
-                <br />
122
-                Paramètres utilisés (optionnelle) :
123
-                Aliqua mollit nulla velit magna velit adipisicing culpa ex dolor cupidatat eu commodo.
124
-                <br />
125
-                <br />
126
-                Description : Fichier excel et pdf du planning
127
-                <br />
128
-                Taille : 50ko
129
-                <br />
130
-                Utilisateurs : Damien, Bastien, Côme, Phillipe
131
-                <br />
132
-                Date de Création : 08/07/17
133
-                <br />
134
-                Commentaire principale : Ce planning est voué à être modifié régulièrement par l’équipe.
135
-                <br />
136
-                Paramètres utilisés (optionnelle) :
137
-                Aliqua mollit nulla velit magna velit adipisicing culpa ex dolor cupidatat eu commodo.
138
-                <br />
139
-                <br />
140
-                Description : Fichier excel et pdf du planning
141
-                <br />
142
-                Taille : 50ko
143
-                <br />
144
-                Utilisateurs : Damien, Bastien, Côme, Phillipe
145
-                <br />
146
-                Date de Création : 08/07/17
147
-                <br />
148
-                Commentaire principale : Ce planning est voué à être modifié régulièrement par l’équipe.
149
-                <br />
150
-                Paramètres utilisés (optionnelle) :
151
-                Aliqua mollit nulla velit magna velit adipisicing culpa ex dolor cupidatat eu commodo.
152
-                <br />
153
-              </div>
154
-            </div>
155
-          </div>
156
-
157
-          <Timeline customClass={'wsFilePreview__contentpage'} />
158
-
159
-        </div>
160
-      </div>
161
-    )
162
-  }
163
-}
164
-
165
-export default Preview

+ 0 - 1
src/container/WorkspaceContent.jsx View File

@@ -3,7 +3,6 @@ import { connect } from 'react-redux'
3 3
 import Folder from '../component/Workspace/Folder.jsx'
4 4
 import FileItem from '../component/Workspace/FileItem.jsx'
5 5
 import FileItemHeader from '../component/Workspace/FileItemHeader.jsx'
6
-import Preview from './Preview.jsx'
7 6
 import PageWrapper from '../component/common/layout/PageWrapper.jsx'
8 7
 import PageTitle from '../component/common/layout/PageTitle.jsx'
9 8
 import PageContent from '../component/common/layout/PageContent.jsx'

src/css/Preview.styl → src/css/File.styl View File

@@ -1,8 +1,8 @@
1
-.wsFilePreview
1
+.wsFileFile
2 2
   width 1200px
3 3
   height calc(100% - 85px)
4 4
   &__header
5
-    background-color previewColor
5
+    background-color fileColor
6 6
     .fa-file-image-o
7 7
       color white
8 8
   &__option
@@ -10,15 +10,15 @@
10 10
       display flex
11 11
       &__addversion
12 12
         padding 8px 15px
13
-        border 1px solid previewColor
13
+        border 1px solid fileColor
14 14
         border-radius 5px
15 15
         background-color transparent
16
-        color previewColor
16
+        color fileColor
17 17
         cursor pointer
18 18
         & > i
19 19
           margin-left 10px
20 20
         &:hover
21
-          background-color previewColor
21
+          background-color fileColor
22 22
           border none
23 23
           color white
24 24
   &__contentpage
@@ -49,7 +49,7 @@
49 49
           background-color grey
50 50
           cursor pointer
51 51
           &:hover
52
-            background-color previewColor
52
+            background-color fileColor
53 53
           &__icon
54 54
             justify-content flex-start
55 55
             font-size 30px
@@ -115,15 +115,15 @@
115 115
             width 145px
116 116
             color white
117 117
             font-size 17px
118
-            background-color previewColor
118
+            background-color fileColor
119 119
             & > i
120 120
               margin-right 10px
121 121
               color dark-grey
122 122
               font-size 22px
123 123
             &:hover
124
-              background-color lightPreviewColor
124
+              background-color lightFileColor
125 125
             &:focus
126
-              background-color lightPreviewColor
126
+              background-color lightFileColor
127 127
           &__date
128 128
             color fontColor
129 129
             font-size 17px
@@ -148,13 +148,13 @@
148 148
 /***** SENDER RECEIVER *****/
149 149
 
150 150
 .received
151
-  .wsFilePreview__contentpage__messagelist__item__content
152
-      background-color previewColor
151
+  .wsFileFile__contentpage__messagelist__item__content
152
+      background-color fileColor
153 153
 
154 154
 /***** ACTIVE SIDEBAR *****/
155 155
 
156 156
 .activesidebar
157
-  .wsFilePreview__contentpage__visualizer
157
+  .wsFileFile__contentpage__visualizer
158 158
     &__sidebar
159 159
       display flex
160 160
       border-top-right-radius 10px
@@ -167,19 +167,19 @@
167 167
         border-bottom-left-radius 10px
168 168
         border-top-right-radius 0
169 169
         border-bottom-right-radius 0
170
-        background-color previewColor
170
+        background-color fileColor
171 171
       &__propertydetail
172 172
         display flex
173 173
         order 2
174 174
         padding 20px
175 175
         overflow-Y auto
176
-        color previewColor
176
+        color fileColor
177 177
 
178 178
 /****** MEDIA QUERIES ********/
179 179
 
180 180
 @media (min-width: max-xs) and (max-width: max-lg)
181 181
 
182
-  .wsFilePreview
182
+  .wsFileFile
183 183
     overflow-Y auto
184 184
     &__contentpage
185 185
       display block
@@ -192,11 +192,9 @@
192 192
         &__texteditor
193 193
           &__simpletext
194 194
             display inline-flex
195
-            display ms-inline-flex
196 195
             width 60%
197 196
           &__submit
198 197
             display inline-flex
199
-            display ms-inline-flex
200 198
             margin 10px 0
201 199
             &__btn
202 200
               display flex
@@ -208,7 +206,7 @@
208 206
 
209 207
 @media (min-width: min-lg) and (max-width: max-lg)
210 208
 
211
-  .wsFilePreview
209
+  .wsFileFile
212 210
     width 900px
213 211
     overflow-Y auto
214 212
 
@@ -218,7 +216,7 @@
218 216
 
219 217
 @media (min-width: min-md) and (max-width: max-md)
220 218
 
221
-  .wsFilePreview
219
+  .wsFileFile
222 220
     width 100%
223 221
 
224 222
 /******************************/
@@ -227,7 +225,7 @@
227 225
 
228 226
 @media (min-width: min-sm) and (max-width: max-sm)
229 227
 
230
-  .wsFilePreview
228
+  .wsFileFile
231 229
     top 69px
232 230
     width 100%
233 231
     height calc(100% - 69px)
@@ -240,11 +238,11 @@
240 238
 @media (max-width: max-xs)
241 239
 
242 240
   .activesidebar
243
-    .wsFilePreview__contentpage__visualizer
241
+    .wsFileFile__contentpage__visualizer
244 242
       &__sidebar
245 243
         width 350px
246 244
 
247
-  .wsFilePreview
245
+  .wsFileFile
248 246
     top 69px
249 247
     width 100%
250 248
     height calc(100% - 69px)
@@ -264,11 +262,9 @@
264 262
         &__texteditor
265 263
           &__simpletext
266 264
             display inline-flex
267
-            display ms-inline-flex
268 265
             width 60%
269 266
           &__submit
270 267
             display inline-flex
271
-            display ms-inline-flex
272 268
             margin 10px 0
273 269
             &__btn
274 270
               display flex

+ 2 - 2
src/css/Variable.styl View File

@@ -33,8 +33,8 @@ darkHtmlColor = darken(htmlColor, 15%)
33 33
 
34 34
 markdownColor = #e0082b
35 35
 
36
-previewColor = #263462
37
-lightPreviewColor = lighten(previewColor, 15%)
36
+fileColor = #263462
37
+lightFileColor = lighten(fileColor, 15%)
38 38
 
39 39
 taskColor = #2d5a88
40 40
 

+ 1 - 2
src/css/index.styl View File

@@ -20,5 +20,4 @@ html, body, #content, #content > div
20 20
 @import 'Thread'
21 21
 @import 'PageHtml'
22 22
 @import 'Timeline'
23
-@import 'Preview'
24
-
23
+@import 'File'

src/img/imgprofil-reverse.png → src/img/imgProfil-reverse.png View File