|
@@ -1,37 +1,17 @@
|
1
|
1
|
import React from 'react'
|
2
|
2
|
// import classnames from 'classnames'
|
3
|
3
|
import PropTypes from 'prop-types'
|
|
4
|
+import AnimateHeight from 'react-animate-height'
|
4
|
5
|
|
5
|
|
-const WorkspaceListItem = props => {
|
6
|
|
- const handleClickTitle = () => {
|
7
|
|
- props.onClickTitle()
|
8
|
|
- const subMenuElement = document.getElementById(`sidebarSubMenu_${props.number}`)
|
9
|
|
-
|
10
|
|
- if (props.isOpen) {
|
11
|
|
- subMenuElement.style.height = '0px'
|
12
|
|
- } else {
|
13
|
|
- subMenuElement.style.height = 'auto'
|
14
|
|
- const autoHeight = subMenuElement.offsetHeight + 'px'
|
15
|
|
-
|
16
|
|
- subMenuElement.style.height = '0px'
|
17
|
|
- // the setTimeout ensure that the line bellow is executed right after previous has ended
|
18
|
|
- setTimeout(() => { subMenuElement.style.height = autoHeight }, 1)
|
19
|
|
- }
|
20
|
|
- }
|
21
|
|
-
|
22
|
|
- const pad = number => {
|
23
|
|
- number = number.toString()
|
24
|
|
- return number.length < 2 ? pad('0' + number, 2) : number
|
25
|
|
- }
|
|
6
|
+const pad = number => {
|
|
7
|
+ number = number.toString()
|
|
8
|
+ return number.length < 2 ? pad('0' + number, 2) : number
|
|
9
|
+}
|
26
|
10
|
|
|
11
|
+const WorkspaceListItem = props => {
|
27
|
12
|
return (
|
28
|
|
- <li
|
29
|
|
- className='sidebar__navigation__workspace__item nav-item dropdown'
|
30
|
|
- onClick={handleClickTitle}
|
31
|
|
- >
|
32
|
|
-
|
33
|
|
- <div className='sidebar__navigation__workspace__item__wrapper'>
|
34
|
|
-
|
|
13
|
+ <li className='sidebar__navigation__workspace__item'>
|
|
14
|
+ <div className='sidebar__navigation__workspace__item__wrapper' onClick={props.onClickTitle}>
|
35
|
15
|
<div className='sidebar__navigation__workspace__item__number'>
|
36
|
16
|
{pad(props.number)}
|
37
|
17
|
</div>
|
|
@@ -43,169 +23,146 @@ const WorkspaceListItem = props => {
|
43
|
23
|
<div className='sidebar__navigation__workspace__item__icon'>
|
44
|
24
|
<i className='fa fa-chevron-down' />
|
45
|
25
|
</div>
|
46
|
|
-
|
47
|
26
|
</div>
|
48
|
27
|
|
49
|
|
- <ul
|
50
|
|
- className='sidebar__navigation__workspace__item__submenu'
|
51
|
|
- id={`sidebarSubMenu_${props.number}`}
|
52
|
|
- >
|
53
|
|
- <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
54
|
|
-
|
55
|
|
- <div className='dropdown__icon'>
|
56
|
|
- <i className='fa fa-th' />
|
57
|
|
- </div>
|
58
|
|
-
|
59
|
|
- <div
|
60
|
|
- className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown dropdown-toggle'
|
61
|
|
- role='button'
|
62
|
|
- data-toggle='dropdown'
|
63
|
|
- aria-haspopup='true'
|
64
|
|
- aria-expanded='false'
|
|
28
|
+ <AnimateHeight duration={500} height={props.isOpen ? 'auto' : 0}>
|
|
29
|
+ <ul
|
|
30
|
+ className='sidebar__navigation__workspace__item__submenu'
|
|
31
|
+ id={`sidebarSubMenu_${props.number}`}
|
|
32
|
+ >
|
|
33
|
+ <li
|
|
34
|
+ className='sidebar__navigation__workspace__item__submenu__dropdown'
|
|
35
|
+ onClick={() => props.onClickAllContent(props.wsId)}
|
65
|
36
|
>
|
|
37
|
+ <div className='dropdown__icon'>
|
|
38
|
+ <i className='fa fa-th' />
|
|
39
|
+ </div>
|
66
|
40
|
|
67
|
|
- <div className='dropdown__title' id='navbarDropdown'>
|
68
|
|
- <div className='dropdown__title__text'>
|
69
|
|
- Tous les fichiers
|
|
41
|
+ <div className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown'>
|
|
42
|
+ <div className='dropdown__title'>
|
|
43
|
+ <div className='dropdown__title__text'>
|
|
44
|
+ Tous les fichiers
|
|
45
|
+ </div>
|
70
|
46
|
</div>
|
71
|
47
|
</div>
|
72
|
|
- </div>
|
73
|
48
|
|
74
|
|
- {/*
|
75
|
|
- <div className='dropdown__subdropdown dropdown-menu' aria-labelledby='navbarDropdown'>
|
76
|
|
- <div className='dropdown__subdropdown__item dropdown-item'>
|
77
|
|
- <div className='dropdown__subdropdown__item__iconfile alignname'>
|
78
|
|
- <i className='fa fa-file-text-o' />
|
79
|
|
- </div>
|
|
49
|
+ {/*
|
|
50
|
+ <div className='dropdown__subdropdown dropdown-menu' aria-labelledby='navbarDropdown'>
|
|
51
|
+ <div className='dropdown__subdropdown__item dropdown-item'>
|
|
52
|
+ <div className='dropdown__subdropdown__item__iconfile alignname'>
|
|
53
|
+ <i className='fa fa-file-text-o' />
|
|
54
|
+ </div>
|
80
|
55
|
|
81
|
|
- <div className='dropdown__subdropdown__item__textfile alignname'>
|
82
|
|
- Documents Archivés
|
|
56
|
+ <div className='dropdown__subdropdown__item__textfile alignname'>
|
|
57
|
+ Documents Archivés
|
|
58
|
+ </div>
|
83
|
59
|
</div>
|
84
|
|
- </div>
|
85
|
|
- <div className='dropdown__subdropdown__item dropdown-item'>
|
86
|
|
- <div className='dropdown__subdropdown__item__iconfile alignname'>
|
87
|
|
- <i className='fa fa-file-text-o' />
|
88
|
|
- </div>
|
89
|
|
-
|
90
|
|
- <div className='dropdown__subdropdown__item__textfile alignname'>
|
91
|
|
- Documents Supprimés
|
|
60
|
+ <div className='dropdown__subdropdown__item dropdown-item'>
|
|
61
|
+ <div className='dropdown__subdropdown__item__iconfile alignname'>
|
|
62
|
+ <i className='fa fa-file-text-o' />
|
|
63
|
+ </div>
|
|
64
|
+
|
|
65
|
+ <div className='dropdown__subdropdown__item__textfile alignname'>
|
|
66
|
+ Documents Supprimés
|
|
67
|
+ </div>
|
92
|
68
|
</div>
|
93
|
69
|
</div>
|
94
|
|
- </div>
|
95
|
|
- */}
|
|
70
|
+ */}
|
96
|
71
|
|
97
|
|
- </li>
|
|
72
|
+ </li>
|
98
|
73
|
|
99
|
|
- <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
|
74
|
+ <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
100
|
75
|
|
101
|
|
- <div className='dropdown__icon'>
|
102
|
|
- <i className='fa fa-signal dashboard-color' />
|
103
|
|
- </div>
|
104
|
|
-
|
105
|
|
- <div
|
106
|
|
- className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown dropdown-toggle'
|
107
|
|
- role='button'
|
108
|
|
- data-toggle='dropdown'
|
109
|
|
- aria-haspopup='true'
|
110
|
|
- aria-expanded='false'
|
111
|
|
- >
|
|
76
|
+ <div className='dropdown__icon'>
|
|
77
|
+ <i className='fa fa-signal dashboard-color' />
|
|
78
|
+ </div>
|
112
|
79
|
|
113
|
|
- <div className='dropdown__title' id='navbarDropdown'>
|
114
|
|
- <div className='dropdown__title__text'>
|
115
|
|
- Tableau de bord
|
|
80
|
+ <div className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown'>
|
|
81
|
+ <div className='dropdown__title'>
|
|
82
|
+ <div className='dropdown__title__text'>
|
|
83
|
+ Tableau de bord
|
|
84
|
+ </div>
|
116
|
85
|
</div>
|
117
|
86
|
</div>
|
118
|
|
- </div>
|
119
|
|
- </li>
|
|
87
|
+ </li>
|
120
|
88
|
|
121
|
|
- <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
|
89
|
+ <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
122
|
90
|
|
123
|
|
- <div className='dropdown__icon'>
|
124
|
|
- <i className='fa fa-list-ul task-color' />
|
125
|
|
- </div>
|
|
91
|
+ <div className='dropdown__icon'>
|
|
92
|
+ <i className='fa fa-list-ul task-color' />
|
|
93
|
+ </div>
|
126
|
94
|
|
127
|
|
- <div
|
128
|
|
- className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown dropdown-toggle'
|
129
|
|
- role='button'
|
130
|
|
- data-toggle='dropdown'
|
131
|
|
- aria-haspopup='true'
|
132
|
|
- aria-expanded='false'
|
133
|
|
- >
|
|
95
|
+ <div className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown'>
|
134
|
96
|
|
135
|
|
- <div className='dropdown__title' id='navbarDropdown'>
|
136
|
|
- <div className='dropdown__title__text'>
|
137
|
|
- Liste de tâches
|
|
97
|
+ <div className='dropdown__title' id='navbarDropdown'>
|
|
98
|
+ <div className='dropdown__title__text'>
|
|
99
|
+ Liste de tâches
|
|
100
|
+ </div>
|
138
|
101
|
</div>
|
139
|
102
|
</div>
|
140
|
|
- </div>
|
141
|
|
- </li>
|
|
103
|
+ </li>
|
142
|
104
|
|
143
|
|
- <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
|
105
|
+ <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
144
|
106
|
|
145
|
|
- <div className='dropdown__icon'>
|
146
|
|
- <i className='fa fa-folder-o docandfile-color' />
|
147
|
|
- </div>
|
|
107
|
+ <div className='dropdown__icon'>
|
|
108
|
+ <i className='fa fa-folder-o docandfile-color' />
|
|
109
|
+ </div>
|
148
|
110
|
|
149
|
|
- <div
|
150
|
|
- className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown dropdown-toggle'
|
151
|
|
- role='button'
|
152
|
|
- data-toggle='dropdown'
|
153
|
|
- aria-haspopup='true'
|
154
|
|
- aria-expanded='false'
|
155
|
|
- >
|
|
111
|
+ <div
|
|
112
|
+ className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown'
|
|
113
|
+ aria-haspopup='true'
|
|
114
|
+ aria-expanded='false'
|
|
115
|
+ >
|
156
|
116
|
|
157
|
|
- <div className='dropdown__title' id='navbarDropdown'>
|
158
|
|
- <div className='dropdown__title__text'>
|
159
|
|
- Documents & fichiers
|
|
117
|
+ <div className='dropdown__title' id='navbarDropdown'>
|
|
118
|
+ <div className='dropdown__title__text'>
|
|
119
|
+ Documents & fichiers
|
|
120
|
+ </div>
|
160
|
121
|
</div>
|
161
|
122
|
</div>
|
162
|
|
- </div>
|
163
|
|
- </li>
|
|
123
|
+ </li>
|
164
|
124
|
|
165
|
|
- <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
|
125
|
+ <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
166
|
126
|
|
167
|
|
- <div className='dropdown__icon'>
|
168
|
|
- <i className='fa fa-comments talk-color' />
|
169
|
|
- </div>
|
|
127
|
+ <div className='dropdown__icon'>
|
|
128
|
+ <i className='fa fa-comments talk-color' />
|
|
129
|
+ </div>
|
170
|
130
|
|
171
|
|
- <div
|
172
|
|
- className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown dropdown-toggle'
|
173
|
|
- role='button'
|
174
|
|
- data-toggle='dropdown'
|
175
|
|
- aria-haspopup='true'
|
176
|
|
- aria-expanded='false'
|
177
|
|
- >
|
|
131
|
+ <div
|
|
132
|
+ className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown'
|
|
133
|
+ aria-haspopup='true'
|
|
134
|
+ aria-expanded='false'
|
|
135
|
+ >
|
178
|
136
|
|
179
|
|
- <div className='dropdown__title' id='navbarDropdown'>
|
180
|
|
- <div className='dropdown__title__text'>
|
181
|
|
- Discussions
|
|
137
|
+ <div className='dropdown__title' id='navbarDropdown'>
|
|
138
|
+ <div className='dropdown__title__text'>
|
|
139
|
+ Discussions
|
|
140
|
+ </div>
|
182
|
141
|
</div>
|
183
|
142
|
</div>
|
184
|
|
- </div>
|
185
|
|
- </li>
|
|
143
|
+ </li>
|
186
|
144
|
|
187
|
|
- <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
|
145
|
+ <li className='sidebar__navigation__workspace__item__submenu__dropdown'>
|
188
|
146
|
|
189
|
|
- <div className='dropdown__icon'>
|
190
|
|
- <i className='fa fa-calendar calendar-color' />
|
191
|
|
- </div>
|
|
147
|
+ <div className='dropdown__icon'>
|
|
148
|
+ <i className='fa fa-calendar calendar-color' />
|
|
149
|
+ </div>
|
192
|
150
|
|
193
|
|
- <div
|
194
|
|
- className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown dropdown-toggle'
|
195
|
|
- role='button'
|
196
|
|
- data-toggle='dropdown'
|
197
|
|
- aria-haspopup='true'
|
198
|
|
- aria-expanded='false'
|
199
|
|
- >
|
|
151
|
+ <div
|
|
152
|
+ className='sidebar__navigation__workspace__item__submenu__dropdown__showdropdown'
|
|
153
|
+ aria-haspopup='true'
|
|
154
|
+ aria-expanded='false'
|
|
155
|
+ >
|
200
|
156
|
|
201
|
|
- <div className='dropdown__title' id='navbarDropdown'>
|
202
|
|
- <div className='dropdown__title__text'>
|
203
|
|
- Calendrier
|
|
157
|
+ <div className='dropdown__title' id='navbarDropdown'>
|
|
158
|
+ <div className='dropdown__title__text'>
|
|
159
|
+ Calendrier
|
|
160
|
+ </div>
|
204
|
161
|
</div>
|
205
|
162
|
</div>
|
206
|
|
- </div>
|
207
|
|
- </li>
|
208
|
|
- </ul>
|
|
163
|
+ </li>
|
|
164
|
+ </ul>
|
|
165
|
+ </AnimateHeight>
|
209
|
166
|
</li>
|
210
|
167
|
)
|
211
|
168
|
}
|
|
@@ -216,10 +173,12 @@ WorkspaceListItem.propTypes = {
|
216
|
173
|
number: PropTypes.number.isRequired,
|
217
|
174
|
name: PropTypes.string.isRequired,
|
218
|
175
|
onClickTitle: PropTypes.func,
|
|
176
|
+ onClickAllContent: PropTypes.func,
|
219
|
177
|
isOpen: PropTypes.bool
|
220
|
178
|
}
|
221
|
179
|
|
222
|
180
|
WorkspaceListItem.defaultProps = {
|
223
|
181
|
onClickTitle: () => {},
|
|
182
|
+ onClickAllContent: () => {},
|
224
|
183
|
isOpen: false
|
225
|
184
|
}
|