Browse Source

Merge branch 'develop' of github.com:tracim/app_PageHtml into develop

AlexiCauvin 6 years ago
parent
commit
0b13b377d9
3 changed files with 53 additions and 25 deletions
  1. 7 2
      src/component/HtmlDocument.jsx
  2. 40 21
      src/container/HtmlDocument.jsx
  3. 6 2
      src/css/index.styl

+ 7 - 2
src/component/HtmlDocument.jsx View File

7
     <div className='wsContentHtmlDocument__contentpage__textnote html-documents__contentpage__textnote'>
7
     <div className='wsContentHtmlDocument__contentpage__textnote html-documents__contentpage__textnote'>
8
       {(props.mode === MODE.VIEW || props.mode === MODE.REVISION) &&
8
       {(props.mode === MODE.VIEW || props.mode === MODE.REVISION) &&
9
         <div>
9
         <div>
10
-          <div className='html-documents__contentpage__textnote__latestversion'>
10
+          <div className='html-documents__contentpage__textnote__version'>
11
             version n°
11
             version n°
12
-            <div dangerouslySetInnerHTML={{__html: props.version}} />
12
+            <div dangerouslySetInnerHTML={{__html: props.mode === MODE.VIEW ? props.lastVersion : props.version}} />
13
+            {props.mode === MODE.REVISION &&
14
+              <div className='html-documents__contentpage__textnote__lastversion'>
15
+                (dernière version : {props.lastVersion})
16
+              </div>
17
+            }
13
           </div>
18
           </div>
14
           <div className='html-documents__contentpage__textnote__text' dangerouslySetInnerHTML={{__html: props.text}} />
19
           <div className='html-documents__contentpage__textnote__text' dangerouslySetInnerHTML={{__html: props.text}} />
15
         </div>
20
         </div>

+ 40 - 21
src/container/HtmlDocument.jsx View File

230
         ...prev.content,
230
         ...prev.content,
231
         label: revision.label,
231
         label: revision.label,
232
         raw_content: revision.raw_content,
232
         raw_content: revision.raw_content,
233
-        number: revision.number
233
+        number: revision.number,
234
+        status: revision.status
234
       },
235
       },
235
       mode: MODE.REVISION
236
       mode: MODE.REVISION
236
     }))
237
     }))
237
   }
238
   }
238
 
239
 
240
+  handleClickLastVersion = () => {
241
+    this.loadContent()
242
+    this.setState({mode: MODE.VIEW})
243
+  }
244
+
239
   render () {
245
   render () {
240
     const { isVisible, loggedUser, content, timeline, newComment, timelineWysiwyg, config, mode } = this.state
246
     const { isVisible, loggedUser, content, timeline, newComment, timelineWysiwyg, config, mode } = this.state
241
 
247
 
252
         />
258
         />
253
 
259
 
254
         <PopinFixedOption customClass={`${config.slug}`} i18n={i18n}>
260
         <PopinFixedOption customClass={`${config.slug}`} i18n={i18n}>
255
-          <div>
256
-            <NewVersionBtn onClickNewVersionBtn={this.handleClickNewVersion} disabled={mode === MODE.REVISION} />
257
-
258
-            <SelectStatus
259
-              selectedStatus={config.availableStatuses.find(s => s.slug === content.status)}
260
-              availableStatus={config.availableStatuses}
261
-              onChangeStatus={this.handleChangeStatus}
262
-              disabled={mode === MODE.REVISION}
263
-            />
264
-
265
-            <ArchiveDeleteContent
266
-              onClickArchiveBtn={this.handleClickArchive}
267
-              onClickDeleteBtn={this.handleClickDelete}
268
-              disabled={mode === MODE.REVISION}
269
-            />
261
+          <div /* this div in display flex, justify-content space-between */>
262
+            <div className='d-flex'>
263
+              <NewVersionBtn onClickNewVersionBtn={this.handleClickNewVersion} disabled={mode === MODE.REVISION} />
264
+
265
+              {mode === MODE.REVISION &&
266
+                <button
267
+                  className='wsContentGeneric__option__menu__lastversion html-documents__lastversionbtn btn btn-default'
268
+                  onClick={this.handleClickLastVersion}
269
+                  style={{backgroundColor: config.hexcolor, color: '#fdfdfd'}}
270
+                >
271
+                  <i className='fa fa-code-fork' />
272
+                  Dernière version
273
+                </button>
274
+              }
275
+            </div>
276
+
277
+            <div className='d-flex'>
278
+              <SelectStatus
279
+                selectedStatus={config.availableStatuses.find(s => s.slug === content.status)}
280
+                availableStatus={config.availableStatuses}
281
+                onChangeStatus={this.handleChangeStatus}
282
+                disabled={mode === MODE.REVISION}
283
+              />
284
+
285
+              <ArchiveDeleteContent
286
+                onClickArchiveBtn={this.handleClickArchive}
287
+                onClickDeleteBtn={this.handleClickDelete}
288
+                disabled={mode === MODE.REVISION}
289
+              />
290
+            </div>
270
           </div>
291
           </div>
271
         </PopinFixedOption>
292
         </PopinFixedOption>
272
 
293
 
276
             wysiwygNewVersion={'wysiwygNewVersion'}
297
             wysiwygNewVersion={'wysiwygNewVersion'}
277
             onClickCloseEditMode={this.handleCloseNewVersion}
298
             onClickCloseEditMode={this.handleCloseNewVersion}
278
             onClickValidateBtn={this.handleSaveHtmlDocument}
299
             onClickValidateBtn={this.handleSaveHtmlDocument}
279
-            version={
280
-              mode === MODE.REVISION
281
-                ? content.number
282
-                : timeline.filter(t => t.timelineType === 'revision').length
283
-            }
300
+            version={content.number}
301
+            lastVersion={timeline.filter(t => t.timelineType === 'revision').length}
284
             text={content.raw_content}
302
             text={content.raw_content}
285
             onChangeText={this.handleChangeText}
303
             onChangeText={this.handleChangeText}
286
             key={'html-documents'}
304
             key={'html-documents'}
297
             onClickValidateNewCommentBtn={this.handleClickValidateNewCommentBtn}
315
             onClickValidateNewCommentBtn={this.handleClickValidateNewCommentBtn}
298
             onClickWysiwygBtn={this.handleToggleWysiwyg}
316
             onClickWysiwygBtn={this.handleToggleWysiwyg}
299
             onClickRevisionBtn={this.handleClickShowRevision}
317
             onClickRevisionBtn={this.handleClickShowRevision}
318
+            shouldScrollToBottom={mode !== MODE.REVISION}
300
           />
319
           />
301
         </PopinFixedContent>
320
         </PopinFixedContent>
302
       </PopinFixed>
321
       </PopinFixed>

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

29
     &:hover, &:focus, &:active
29
     &:hover, &:focus, &:active
30
       color htmlColor
30
       color htmlColor
31
   .selectStatus
31
   .selectStatus
32
+    margin-right 15px
32
     .dropdown-item
33
     .dropdown-item
33
       &:hover, &:focus, &:active, &visited, &:focus-within
34
       &:hover, &:focus, &:active, &visited, &:focus-within
34
         background-color htmlColor
35
         background-color htmlColor
54
       height 100%
55
       height 100%
55
       overflow-y auto
56
       overflow-y auto
56
       background-color off-white
57
       background-color off-white
57
-      &__latestversion
58
+      &__version
58
         display flex
59
         display flex
59
         justify-content flex-end
60
         justify-content flex-end
60
         align-items center
61
         align-items center
61
         text-align right
62
         text-align right
62
         opacity 0.7
63
         opacity 0.7
64
+      &__lastversion
65
+        margin-left 15px
66
+        font-weight bold
63
       &__text
67
       &__text
64
         font-size 14px
68
         font-size 14px
65
       &__edition
69
       &__edition
85
           & > i
89
           & > i
86
             margin-right 10px
90
             margin-right 10px
87
             color darkGrey
91
             color darkGrey
88
-            font-size 22px
92
+            font-size 20px
89
           &:hover, &:focus
93
           &:hover, &:focus
90
             btnState()
94
             btnState()
91
         &__date
95
         &__date