Browse Source

fixed folder display

Skylsmoi 7 years ago
parent
commit
ccf915259d

+ 2 - 0
jsonserver/static_db.json View File

157
         "workspace_id": 1,
157
         "workspace_id": 1,
158
         "title": "Programmation objet",
158
         "title": "Programmation objet",
159
         "type": "folder",
159
         "type": "folder",
160
+        "allowed_app": ["PageHtml", "Thread", "File", "PageMarkdown", "Task", "Issue"],
160
         "content": []
161
         "content": []
161
       }
162
       }
162
     ]
163
     ]
184
       "workspace_id": 1,
185
       "workspace_id": 1,
185
       "title": "ticket à fixe",
186
       "title": "ticket à fixe",
186
       "type": "folder",
187
       "type": "folder",
188
+      "allowed_app": ["PageHtml", "Thread", "File", "PageMarkdown", "Task", "Issue"],
187
       "content": []
189
       "content": []
188
     }
190
     }
189
   ],
191
   ],

+ 2 - 0
src/component/Workspace/FileItem.jsx View File

23
           <i className={props.icon} />
23
           <i className={props.icon} />
24
         </div>
24
         </div>
25
       </div>
25
       </div>
26
+
26
       <div className='col-8 col-sm-8 col-md-8 col-lg-8 col-xl-10'>
27
       <div className='col-8 col-sm-8 col-md-8 col-lg-8 col-xl-10'>
27
         <div className='file__name'>
28
         <div className='file__name'>
28
           <div className='file__name__text'>
29
           <div className='file__name__text'>
41
           </div>
42
           </div>
42
         </div>
43
         </div>
43
       </div>
44
       </div>
45
+
44
       <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-1'>
46
       <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-1'>
45
         <div className='file__status'>
47
         <div className='file__status'>
46
           <i className={iconStatus} />
48
           <i className={iconStatus} />

+ 25 - 18
src/component/Workspace/Folder.jsx View File

23
   }
23
   }
24
 
24
 
25
   render () {
25
   render () {
26
-    const { app, folderData: { title, content }, onClickItem, onClickFolder, isLast, t } = this.props
26
+    const { app, folderData, onClickItem, onClickFolder, isLast, t } = this.props
27
 
27
 
28
     return (
28
     return (
29
       <div className={classnames('folder', {'active': this.state.open, 'item-last': isLast})}>
29
       <div className={classnames('folder', {'active': this.state.open, 'item-last': isLast})}>
30
-        <div className='folder__header' onClick={this.handleClickToggleFolder}>
30
+        <div className='folder__header align-items-center' onClick={this.handleClickToggleFolder}>
31
           <div className='folder__header__triangleborder'>
31
           <div className='folder__header__triangleborder'>
32
             <div className='folder__header__triangleborder__triangle' />
32
             <div className='folder__header__triangleborder__triangle' />
33
           </div>
33
           </div>
34
-          <div className='folder__header__name'>
34
+
35
+          <div className='col-2 col-sm-2 col-md-2 col-lg-2 col-xl-1'>
35
             <div className='folder__header__name__icon'>
36
             <div className='folder__header__name__icon'>
36
               <i className={classnames('fa', {'fa-folder-open-o': this.state.open, 'fa-folder-o': !this.state.open})} />
37
               <i className={classnames('fa', {'fa-folder-open-o': this.state.open, 'fa-folder-o': !this.state.open})} />
37
             </div>
38
             </div>
38
-            <div className='folder__header__name__text'>
39
-              { title }
40
-            </div>
41
-            <div className='folder__header__name__addbtn' onClick={this.handleClickNewFile}>
42
-              <div className='folder__header__name__addbtn__text btn btn-primary'>
43
-                {t('Folder.create')} ...
39
+          </div>
40
+
41
+          <div className='col-5 col-sm-5 col-md-5 col-lg-6 col-xl-8'>
42
+            <div className='folder__header__name align-items-center'>
43
+              <div className='folder__header__name__text'>
44
+                { folderData.title }
45
+              </div>
46
+              <div className='folder__header__name__addbtn' onClick={this.handleClickNewFile}>
47
+                <div className='folder__header__name__addbtn__text btn btn-primary'>
48
+                  {t('Folder.create')} ...
49
+                </div>
44
               </div>
50
               </div>
45
             </div>
51
             </div>
46
           </div>
52
           </div>
47
-          <div className='folder__header__contenttype'>
48
-            <div className='folder__header__contenttype__text'>
49
-              {t('Folder.content_type')} :
50
-            </div>
51
-            <div className='folder__header__contenttype__icon'>
52
-              <i className='fa fa-list-ul' />
53
-              <i className='fa fa-file-text-o' />
54
-              <i className='fa fa-comments' />
53
+
54
+          <div className='col-5 col-sm-5 col-md-5 col-lg-4 col-xl-3'>
55
+            <div className='folder__header__contenttype'>
56
+              <div className='folder__header__contenttype__text'>
57
+                {t('Folder.content_type')} :
58
+              </div>
59
+              <div className='folder__header__contenttype__icon'>
60
+                { folderData.allowed_app.map(a => <i className={app[a].icon} key={`${folderData.id}_${a}`} />)}
61
+              </div>
55
             </div>
62
             </div>
56
           </div>
63
           </div>
57
         </div>
64
         </div>
58
 
65
 
59
         <div className='folder__content'>
66
         <div className='folder__content'>
60
-          { content.map((c, i) => c.type === 'folder'
67
+          { folderData.content.map((c, i) => c.type === 'folder'
61
             ? <Folder
68
             ? <Folder
62
               app={app}
69
               app={app}
63
               folderData={c}
70
               folderData={c}

+ 1 - 1
src/css/FileItem.styl View File

5
 
5
 
6
 .file
6
 .file
7
   display flex
7
   display flex
8
+  padding 10px 0
8
   border-bottom 0
9
   border-bottom 0
9
   cursor pointer
10
   cursor pointer
10
   &:hover
11
   &:hover
15
   &__name
16
   &__name
16
     display flex
17
     display flex
17
     justify-content space-between
18
     justify-content space-between
18
-    padding 15px 5px
19
     &__text
19
     &__text
20
       margin-right 10px
20
       margin-right 10px
21
       font-size 17px
21
       font-size 17px

+ 6 - 14
src/css/Folder.styl View File

51
     justify-content space-between
51
     justify-content space-between
52
     margin-left -30px
52
     margin-left -30px
53
     border-bottom 0
53
     border-bottom 0
54
+    padding 10px 0
54
     background-color lightGrey
55
     background-color lightGrey
55
     cursor pointer
56
     cursor pointer
56
     &:hover
57
     &:hover
60
     &__triangleborder
61
     &__triangleborder
61
       display none
62
       display none
62
       position absolute
63
       position absolute
63
-      top 61px
64
+      bottom -25px
64
       left -1px
65
       left -1px
65
       border-style solid
66
       border-style solid
66
       border-width 25px 30px 0 30px
67
       border-width 25px 30px 0 30px
76
         border-color lightGrey transparent transparent transparent
77
         border-color lightGrey transparent transparent transparent
77
     &__name
78
     &__name
78
       display flex
79
       display flex
79
-      padding-left 5px
80
       &__icon
80
       &__icon
81
-        margin auto 15px
82
         font-size 25px
81
         font-size 25px
83
         color darkBlue
82
         color darkBlue
83
+        text-align center
84
       &__text
84
       &__text
85
-        margin auto 15px auto 5px
85
+        margin 0 15px 0 0
86
         font-size 17px
86
         font-size 17px
87
         color darkBlue
87
         color darkBlue
88
       &__addbtn
88
       &__addbtn
94
           font-size 17px
94
           font-size 17px
95
     &__contenttype
95
     &__contenttype
96
       display flex
96
       display flex
97
+      justify-content flex-end
97
       &__text
98
       &__text
98
-        padding 18px 15px
99
         font-size 17px
99
         font-size 17px
100
         color darkBlue
100
         color darkBlue
101
       &__icon
101
       &__icon
102
-        padding 18px 5px
103
         font-size 17px
102
         font-size 17px
104
         color darkBlue
103
         color darkBlue
105
         & > i
104
         & > i
106
-          margin-right 15px
105
+          margin-right 3px
107
 
106
 
108
 @media (min-width: min-sm) and (max-width: max-sm)
107
 @media (min-width: min-sm) and (max-width: max-sm)
109
-
110
   .folder
108
   .folder
111
-    &__header
112
-      padding 10px
113
-      &__triangleborder
114
-        top 59px
115
       &__contenttype
109
       &__contenttype
116
         display none
110
         display none
117
 
111
 
118
 @media (max-width: max-xs)
112
 @media (max-width: max-xs)
119
   .folder
113
   .folder
120
     &__header
114
     &__header
121
-      &__triangleborder
122
-        top 59px
123
       &__name
115
       &__name
124
         &__icon
116
         &__icon
125
           padding 14px 15px
117
           padding 14px 15px