浏览代码

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

AlexiCauvin 6 年前
父节点
当前提交
0b13b377d9
共有 3 个文件被更改,包括 53 次插入25 次删除
  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 查看文件

@@ -7,9 +7,14 @@ const HtmlDocument = props => {
7 7
     <div className='wsContentHtmlDocument__contentpage__textnote html-documents__contentpage__textnote'>
8 8
       {(props.mode === MODE.VIEW || props.mode === MODE.REVISION) &&
9 9
         <div>
10
-          <div className='html-documents__contentpage__textnote__latestversion'>
10
+          <div className='html-documents__contentpage__textnote__version'>
11 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 18
           </div>
14 19
           <div className='html-documents__contentpage__textnote__text' dangerouslySetInnerHTML={{__html: props.text}} />
15 20
         </div>

+ 40 - 21
src/container/HtmlDocument.jsx 查看文件

@@ -230,12 +230,18 @@ class HtmlDocument extends React.Component {
230 230
         ...prev.content,
231 231
         label: revision.label,
232 232
         raw_content: revision.raw_content,
233
-        number: revision.number
233
+        number: revision.number,
234
+        status: revision.status
234 235
       },
235 236
       mode: MODE.REVISION
236 237
     }))
237 238
   }
238 239
 
240
+  handleClickLastVersion = () => {
241
+    this.loadContent()
242
+    this.setState({mode: MODE.VIEW})
243
+  }
244
+
239 245
   render () {
240 246
     const { isVisible, loggedUser, content, timeline, newComment, timelineWysiwyg, config, mode } = this.state
241 247
 
@@ -252,21 +258,36 @@ class HtmlDocument extends React.Component {
252 258
         />
253 259
 
254 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 291
           </div>
271 292
         </PopinFixedOption>
272 293
 
@@ -276,11 +297,8 @@ class HtmlDocument extends React.Component {
276 297
             wysiwygNewVersion={'wysiwygNewVersion'}
277 298
             onClickCloseEditMode={this.handleCloseNewVersion}
278 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 302
             text={content.raw_content}
285 303
             onChangeText={this.handleChangeText}
286 304
             key={'html-documents'}
@@ -297,6 +315,7 @@ class HtmlDocument extends React.Component {
297 315
             onClickValidateNewCommentBtn={this.handleClickValidateNewCommentBtn}
298 316
             onClickWysiwygBtn={this.handleToggleWysiwyg}
299 317
             onClickRevisionBtn={this.handleClickShowRevision}
318
+            shouldScrollToBottom={mode !== MODE.REVISION}
300 319
           />
301 320
         </PopinFixedContent>
302 321
       </PopinFixed>

+ 6 - 2
src/css/index.styl 查看文件

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