Browse Source

replacement col in page list content by the flexbox properties

AlexiCauvin 6 years ago
parent
commit
1168733097

+ 27 - 33
src/component/Workspace/FileItem.jsx View File

@@ -45,46 +45,40 @@ const FileItem = props => {
45 45
 
46 46
   return (
47 47
     <div className={classnames('file', 'align-items-center', {'item-last': props.isLast}, props.customClass)} onClick={props.onClickItem}>
48
-      <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-1'>
49
-        <div className='file__type'>
50
-          <i className={props.icon} />
51
-        </div>
48
+      <div className='file__type'>
49
+        <i className={props.icon} />
52 50
       </div>
53 51
 
54
-      <div className='col-8 col-sm-8 col-md-8 col-lg-8 col-xl-9'>
55
-        <div className='file__name'>
56
-          <div className='file__name__text'>
57
-            { props.name }
58
-          </div>
52
+      <div className='file__name'>
53
+        <div className='file__name__text'>
54
+          { props.name }
55
+        </div>
59 56
 
60
-          <div className='d-none d-md-flex'>
61
-            <BtnExtandedAction onClickExtendedAction={props.onClickExtendedAction} />
62
-          </div>
57
+        <div className='d-none d-md-flex'>
58
+          <BtnExtandedAction onClickExtendedAction={props.onClickExtendedAction} />
59
+        </div>
63 60
 
64
-          {/*
65
-            <div className='file__name__icons d-none d-md-flex'>
66
-              <div className='file__name__icons__download'>
67
-                <i className='fa fa-download' />
68
-              </div>
69
-              <div className='file__name__icons__archive'>
70
-                <i className='fa fa-archive' />
71
-              </div>
72
-              <div className='file__name__icons__delete'>
73
-                <i className='fa fa-trash-o' />
74
-              </div>
61
+        {/*
62
+          <div className='file__name__icons d-none d-md-flex'>
63
+            <div className='file__name__icons__download'>
64
+              <i className='fa fa-download' />
75 65
             </div>
76
-          */ }
77
-        </div>
66
+            <div className='file__name__icons__archive'>
67
+              <i className='fa fa-archive' />
68
+            </div>
69
+            <div className='file__name__icons__delete'>
70
+              <i className='fa fa-trash-o' />
71
+            </div>
72
+          </div>
73
+        */ }
78 74
       </div>
79 75
 
80
-      <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-2'>
81
-        <div className={classnames('file__status d-flex align-items-center justify-content-start') + colorStatus}>
82
-          <div className='file__status__icon d-block '>
83
-            <i className={iconStatus} />
84
-          </div>
85
-          <div className='file__status__text d-none d-xl-block'>
86
-            {textStatus}
87
-          </div>
76
+      <div className={classnames('file__status d-flex align-items-center justify-content-start') + colorStatus}>
77
+        <div className='file__status__icon d-block '>
78
+          <i className={iconStatus} />
79
+        </div>
80
+        <div className='file__status__text d-none d-xl-block'>
81
+          {textStatus}
88 82
         </div>
89 83
       </div>
90 84
     </div>

+ 6 - 12
src/component/Workspace/FileItemHeader.jsx View File

@@ -4,20 +4,14 @@ import { translate } from 'react-i18next'
4 4
 const FileItemHeader = props => {
5 5
   return (
6 6
     <div className='file__header'>
7
-      <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-1'>
8
-        <div className='file__header__type'>
9
-          {props.t('FileItemHeader.type')}
10
-        </div>
7
+      <div className='file__header__type'>
8
+        {props.t('FileItemHeader.type')}
11 9
       </div>
12
-      <div className='col-8 col-sm-8 col-md-8 col-lg-8 col-xl-9'>
13
-        <div className='file__header__name'>
14
-          {props.t('FileItemHeader.document_name')}
15
-        </div>
10
+      <div className='file__header__name'>
11
+        {props.t('FileItemHeader.document_name')}
16 12
       </div>
17
-      <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-2'>
18
-        <div className='file__header__status'>
19
-          {props.t('FileItemHeader.status')}
20
-        </div>
13
+      <div className='file__header__status'>
14
+        {props.t('FileItemHeader.status')}
21 15
       </div>
22 16
     </div>
23 17
   )

+ 88 - 94
src/component/Workspace/Folder.jsx View File

@@ -38,122 +38,116 @@ class Folder extends React.Component {
38 38
     return (
39 39
       <div className={classnames('folder', {'active': this.state.open, 'item-last': isLast})}>
40 40
         <div className='folder__header align-items-center' onClick={this.handleClickToggleFolder}>
41
+
41 42
           <div className='folder__header__triangleborder'>
42 43
             <div className='folder__header__triangleborder__triangle' />
43 44
           </div>
44 45
 
45
-          <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-1'>
46
-            <div className='folder__header__name__icon'>
47
-              <i className={classnames('fa', {'fa-folder-open-o': this.state.open, 'fa-folder-o': !this.state.open})} />
48
-            </div>
46
+          <div className='folder__header__icon'>
47
+            <i className={classnames('fa fa-fw', {'fa-folder-open-o': this.state.open, 'fa-folder-o': !this.state.open})} />
49 48
           </div>
50 49
 
51
-          <div className='col-10 col-sm-10 col-md-8 col-lg-8 col-xl-9'>
52
-            <div className='folder__header__name align-items-center justify-content-between'>
53
-
54
-              <div className='folder__header__name__text'>
55
-                { folderData.title }
56
-              </div>
50
+          <div className='folder__header__name'>
51
+            { folderData.title }
52
+          </div>
57 53
 
58
-              <div className='folder__header__name__button d-flex align-items-center '>
59
-
60
-                <div
61
-                  className='folder__header__name__button__addbtn mx-4'
62
-                  onClick={this.handleClickNewFile}
63
-                >
64
-                  <button className='addbtn__text btn btn-outline-primary dropdown-toggle' type='button' id='dropdownMenuButton' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
65
-                    {t('Folder.create')} ...
66
-                  </button>
67
-
68
-                  <div className='addbtn__subdropdown dropdown-menu' aria-labelledby='dropdownMenuButton'>
69
-                    <div className='subdropdown__link dropdown-item'>
70
-                      <div className='subdropdown__link__folder d-flex align-items-center'>
71
-                        <div className='subdropdown__link__folder__icon mr-3'>
72
-                          <i className='fa fa-fw fa-folder-o' />
73
-                        </div>
74
-                        <div className='subdropdown__link__folder__text'>
75
-                          Créer un dossier
76
-                        </div>
77
-                      </div>
54
+          <div className='folder__header__button'>
55
+
56
+            <div
57
+              className='folder__header__button__addbtn'
58
+              onClick={this.handleClickNewFile}
59
+            >
60
+              <button className='addbtn__text btn btn-outline-primary dropdown-toggle' type='button' id='dropdownMenuButton' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
61
+                {t('Folder.create')} ...
62
+              </button>
63
+
64
+              <div className='addbtn__subdropdown dropdown-menu' aria-labelledby='dropdownMenuButton'>
65
+                <div className='subdropdown__link dropdown-item'>
66
+                  <div className='subdropdown__link__folder d-flex align-items-center'>
67
+                    <div className='subdropdown__link__folder__icon mr-3'>
68
+                      <i className='fa fa-fw fa-folder-o' />
78 69
                     </div>
79
-                    <div className='subdropdown__link dropdown-item'>
80
-                      <div className='subdropdown__link__apphtml d-flex align-items-center'>
81
-                        <div className='subdropdown__link__apphtml__icon mr-3'>
82
-                          <i className='fa fa-fw fa-file-text-o' />
83
-                        </div>
84
-                        <div className='subdropdown__link__apphtml__text'>
85
-                          Rédiger un document
86
-                        </div>
87
-                      </div>
70
+                    <div className='subdropdown__link__folder__text'>
71
+                      Créer un dossier
88 72
                     </div>
89
-                    <div className='subdropdown__link dropdown-item'>
90
-                      <div className='subdropdown__link__appfile d-flex align-items-center'>
91
-                        <div className='subdropdown__link__appfile__icon mr-3'>
92
-                          <i className='fa fa-fw fa-file-image-o' />
93
-                        </div>
94
-                        <div className='subdropdown__link__appfile__text'>
95
-                          Importer un fichier
96
-                        </div>
97
-                      </div>
73
+                  </div>
74
+                </div>
75
+                <div className='subdropdown__link dropdown-item'>
76
+                  <div className='subdropdown__link__apphtml d-flex align-items-center'>
77
+                    <div className='subdropdown__link__apphtml__icon mr-3'>
78
+                      <i className='fa fa-fw fa-file-text-o' />
98 79
                     </div>
99
-                    <div className='subdropdown__link dropdown-item'>
100
-                      <div className='subdropdown__link__appmarkdown d-flex align-items-center'>
101
-                        <div className='subdropdown__link__appmarkdown__icon mr-3'>
102
-                          <i className='fa fa-fw fa-file-code-o' />
103
-                        </div>
104
-                        <div className='subdropdown__link__appmarkdown__text'>
105
-                          Rédiger un document markdown
106
-                        </div>
107
-                      </div>
80
+                    <div className='subdropdown__link__apphtml__text'>
81
+                      Rédiger un document
108 82
                     </div>
109
-                    <div className='subdropdown__link dropdown-item'>
110
-                      <div className='subdropdown__link__appthread d-flex align-items-center'>
111
-                        <div className='subdropdown__link__appthread__icon mr-3'>
112
-                          <i className='fa fa-fw fa-comments-o' />
113
-                        </div>
114
-                        <div className='subdropdown__link__appthread__text'>
115
-                          Lancer une discussion
116
-                        </div>
117
-                      </div>
83
+                  </div>
84
+                </div>
85
+                <div className='subdropdown__link dropdown-item'>
86
+                  <div className='subdropdown__link__appfile d-flex align-items-center'>
87
+                    <div className='subdropdown__link__appfile__icon mr-3'>
88
+                      <i className='fa fa-fw fa-file-image-o' />
89
+                    </div>
90
+                    <div className='subdropdown__link__appfile__text'>
91
+                      Importer un fichier
118 92
                     </div>
119
-                    <div className='subdropdown__link dropdown-item'>
120
-                      <div className='subdropdown__link__apptask d-flex align-items-center'>
121
-                        <div className='subdropdown__link__apptask__icon mr-3'>
122
-                          <i className='fa fa-fw fa-list-ul' />
123
-                        </div>
124
-                        <div className='subdropdown__link__apptask__text'>
125
-                          Créer une tâche
126
-                        </div>
127
-                      </div>
93
+                  </div>
94
+                </div>
95
+                <div className='subdropdown__link dropdown-item'>
96
+                  <div className='subdropdown__link__appmarkdown d-flex align-items-center'>
97
+                    <div className='subdropdown__link__appmarkdown__icon mr-3'>
98
+                      <i className='fa fa-fw fa-file-code-o' />
128 99
                     </div>
129
-                    <div className='subdropdown__link dropdown-item'>
130
-                      <div className='subdropdown__link__appissue d-flex align-items-center'>
131
-                        <div className='subdropdown__link__appissue__icon mr-3'>
132
-                          <i className='fa fa-fw fa-ticket' />
133
-                        </div>
134
-                        <div className='subdropdown__link__appissue__text'>
135
-                          Ouvrir un ticket
136
-                        </div>
137
-                      </div>
100
+                    <div className='subdropdown__link__appmarkdown__text'>
101
+                      Rédiger un document markdown
138 102
                     </div>
139 103
                   </div>
140 104
                 </div>
141
-
142
-                <div className='d-none d-md-flex'>
143
-                  <BtnExtandedAction onClickExtendedAction={{
144
-                    edit: e => onClickExtendedAction.edit(e, folderData),
145
-                    move: e => onClickExtendedAction.move(e, folderData),
146
-                    download: e => onClickExtendedAction.download(e, folderData),
147
-                    archive: e => onClickExtendedAction.archive(e, folderData),
148
-                    delete: e => onClickExtendedAction.delete(e, folderData)
149
-                  }} />
105
+                <div className='subdropdown__link dropdown-item'>
106
+                  <div className='subdropdown__link__appthread d-flex align-items-center'>
107
+                    <div className='subdropdown__link__appthread__icon mr-3'>
108
+                      <i className='fa fa-fw fa-comments-o' />
109
+                    </div>
110
+                    <div className='subdropdown__link__appthread__text'>
111
+                      Lancer une discussion
112
+                    </div>
113
+                  </div>
114
+                </div>
115
+                <div className='subdropdown__link dropdown-item'>
116
+                  <div className='subdropdown__link__apptask d-flex align-items-center'>
117
+                    <div className='subdropdown__link__apptask__icon mr-3'>
118
+                      <i className='fa fa-fw fa-list-ul' />
119
+                    </div>
120
+                    <div className='subdropdown__link__apptask__text'>
121
+                      Créer une tâche
122
+                    </div>
123
+                  </div>
150 124
                 </div>
125
+                <div className='subdropdown__link dropdown-item'>
126
+                  <div className='subdropdown__link__appissue d-flex align-items-center'>
127
+                    <div className='subdropdown__link__appissue__icon mr-3'>
128
+                      <i className='fa fa-fw fa-ticket' />
129
+                    </div>
130
+                    <div className='subdropdown__link__appissue__text'>
131
+                      Ouvrir un ticket
132
+                    </div>
133
+                  </div>
134
+                </div>
135
+              </div>
151 136
 
137
+              <div className='d-none d-md-flex'>
138
+                <BtnExtandedAction onClickExtendedAction={{
139
+                  edit: e => onClickExtendedAction.edit(e, folderData),
140
+                  move: e => onClickExtendedAction.move(e, folderData),
141
+                  download: e => onClickExtendedAction.download(e, folderData),
142
+                  archive: e => onClickExtendedAction.archive(e, folderData),
143
+                  delete: e => onClickExtendedAction.delete(e, folderData)
144
+                }} />
152 145
               </div>
146
+
153 147
             </div>
154 148
           </div>
155 149
 
156
-          <div className='col-0 col-sm-0 col-md-2 col-lg-2 col-xl-2' />
150
+          <div className='folder__header__status' />
157 151
 
158 152
         </div>
159 153
 

+ 15 - 0
src/css/FileItem.styl View File

@@ -12,22 +12,37 @@
12 12
 
13 13
 .file
14 14
   display flex
15
+  align-items center
15 16
   padding 10px 0
16 17
   border-bottom 0
18
+  width 100%
17 19
   cursor pointer
18 20
   &:hover
19 21
     background-color hover-theme
20 22
   &__type
23
+    flex-grow 0
24
+    padding 0 25px
21 25
     font-size 30px
22 26
     text-align center
23 27
   &__name
24 28
     display flex
25 29
     align-items center
26 30
     justify-content space-between
31
+    flex-grow 2
32
+    flex-shrink 2
33
+    white-space nowrap
34
+    overflow hidden
35
+    text-overflow ellipsis
27 36
     &__text
28 37
       margin-right 10px
38
+
29 39
       font-size 17px
30 40
   &__status
41
+    display flex
42
+    justify-content space-between
43
+    flex-grow 0
44
+    padding 0 15px
45
+    width 180px
31 46
     &__text
32 47
       margin-left 15px
33 48
       font-size 20px

+ 6 - 4
src/css/FileItemHeader.styl View File

@@ -2,12 +2,14 @@
2 2
   display flex
3 3
   font-size 17px
4 4
   &__type
5
-    padding 15px 0
5
+    flex-grow 0
6
+    padding 15px 25px
6 7
     text-align center
7 8
   &__name
9
+    flex-grow 2
8 10
     padding 15px 5px
9
-    width 100%
10 11
   &__status
11
-    padding 15px 0
12
-    width 100%
12
+    flex-grow 0
13
+    padding 15px
14
+    width 180px
13 15
     text-align center

+ 50 - 41
src/css/Folder.styl View File

@@ -16,8 +16,8 @@ border-style = 1px solid secondColor
16 16
 // @Info: the very last line of file or folder has it's border bottom added in js
17 17
 // -----------------------------------------------------
18 18
 
19
-.folder > .folder__content > .file, .folder > .folder__content > .extandedaction
20
-  padding-right 7px
19
+// .folder > .folder__content > .file, .folder > .folder__content > .extandedaction
20
+//   padding-right 7px
21 21
 
22 22
 folderclose()
23 23
   height 0
@@ -51,7 +51,7 @@ folderopen()
51 51
   &__header
52 52
     position relative
53 53
     display flex
54
-    justify-content space-between
54
+    align-items center
55 55
     margin-left -30px
56 56
     border-bottom 0
57 57
     padding 10px 0
@@ -78,45 +78,54 @@ folderopen()
78 78
         border-style solid
79 79
         border-width 25px 30px 0 30px
80 80
         border-color lightGrey transparent transparent transparent
81
+    &__icon
82
+      flex-grow 0
83
+      padding 0 25px
84
+      font-size 30px
85
+      color darkGrey
86
+      text-align center
81 87
     &__name
82
-      display flex
83
-      &__icon
84
-        font-size 25px
85
-        color darkGrey
86
-        text-align center
87
-      &__text
88
-        margin 0 15px 0 0
89
-        white-space nowrap
90
-        text-overflow ellipsis
91
-        overflow hidden
92
-        width 400px
93
-        font-size 17px
94
-        color darkGrey
95
-      &__button
96
-        &__advancedbtn
97
-          position relative
98
-        &__addbtn
99
-          margin auto 0
100
-          cursor pointer
101
-          &:hover > .folder__header__name__addbtn__text
102
-            color white
103
-          .addbtn
104
-            &__text
105
-              font-size 17px
106
-              color fontColor
107
-              border-color secondColor
108
-              &:hover, &:focus, &:active
109
-                color off-white
110
-                border-color thirdColor
111
-                background-color thirdColor
112
-                box-shadow 0 0 1px 2px fifthColor
113
-                outline fifthColor
114
-              &::after
115
-                margin-left 20px
116
-            &__subdropdown
117
-              padding 0
118
-              .subdropdown__link
119
-                padding 10px
88
+      flex-grow 2
89
+      flex-shrink 2
90
+      margin 0 15px 0 0
91
+      white-space nowrap
92
+      text-overflow ellipsis
93
+      overflow hidden
94
+      width 400px
95
+      font-size 17px
96
+      color darkGrey
97
+    &__button
98
+      flex-grow 0
99
+      &__advancedbtn
100
+        position relative
101
+      &__addbtn
102
+        display flex
103
+        margin auto 0
104
+        cursor pointer
105
+        &:hover > .folder__header__name__addbtn__text
106
+          color white
107
+        .addbtn
108
+          &__text
109
+            margin-right 40px
110
+            font-size 17px
111
+            color fontColor
112
+            border-color secondColor
113
+            &:hover, &:focus, &:active
114
+              color off-white
115
+              border-color thirdColor
116
+              background-color thirdColor
117
+              box-shadow 0 0 1px 2px fifthColor
118
+              outline fifthColor
119
+            &::after
120
+              margin-left 20px
121
+          &__subdropdown
122
+            padding 0
123
+            .subdropdown__link
124
+              padding 10px
125
+    &__status
126
+      flex-grow 0
127
+      padding 0 15px
128
+      width 180px
120 129
     &__contenttype
121 130
       display flex
122 131
       justify-content flex-end