Explorar el Código

integration of Preview (File) into Tracim architecture

Skylsmoi hace 6 años
padre
commit
48e6be2b43

+ 6 - 0
src/component/Workspace/FileContentViewer.jsx Ver fichero

6
 import PopinFixedContent from '../common/PopinFixed/PopinFixedContent.jsx'
6
 import PopinFixedContent from '../common/PopinFixed/PopinFixedContent.jsx'
7
 import PageHtml from './FileType/PageHtml.jsx'
7
 import PageHtml from './FileType/PageHtml.jsx'
8
 import Thread from './FileType/Thread.jsx'
8
 import Thread from './FileType/Thread.jsx'
9
+import Preview from './FileType/File.jsx'
9
 import Timeline from '../Timeline.jsx'
10
 import Timeline from '../Timeline.jsx'
10
 import { FILE_TYPE } from '../../helper.js'
11
 import { FILE_TYPE } from '../../helper.js'
11
 
12
 
19
           <PageHtml version={props.file.version} text={props.file.text} />,
20
           <PageHtml version={props.file.version} text={props.file.text} />,
20
           <Timeline customClass={`${customClass}__contentpage`} />
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
       case FILE_TYPE[3].name: // thread
28
       case FILE_TYPE[3].name: // thread
23
         return [
29
         return [
24
           <Thread />
30
           <Thread />

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

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 Ver fichero

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

+ 0 - 165
src/container/Preview.jsx Ver fichero

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 Ver fichero

3
 import Folder from '../component/Workspace/Folder.jsx'
3
 import Folder from '../component/Workspace/Folder.jsx'
4
 import FileItem from '../component/Workspace/FileItem.jsx'
4
 import FileItem from '../component/Workspace/FileItem.jsx'
5
 import FileItemHeader from '../component/Workspace/FileItemHeader.jsx'
5
 import FileItemHeader from '../component/Workspace/FileItemHeader.jsx'
6
-import Preview from './Preview.jsx'
7
 import PageWrapper from '../component/common/layout/PageWrapper.jsx'
6
 import PageWrapper from '../component/common/layout/PageWrapper.jsx'
8
 import PageTitle from '../component/common/layout/PageTitle.jsx'
7
 import PageTitle from '../component/common/layout/PageTitle.jsx'
9
 import PageContent from '../component/common/layout/PageContent.jsx'
8
 import PageContent from '../component/common/layout/PageContent.jsx'

src/css/Preview.styl → src/css/File.styl Ver fichero

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

+ 2 - 2
src/css/Variable.styl Ver fichero

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

+ 1 - 2
src/css/index.styl Ver fichero

20
 @import 'Thread'
20
 @import 'Thread'
21
 @import 'PageHtml'
21
 @import 'PageHtml'
22
 @import 'Timeline'
22
 @import 'Timeline'
23
-@import 'Preview'
24
-
23
+@import 'File'

src/img/imgprofil-reverse.png → src/img/imgProfil-reverse.png Ver fichero