Browse Source

complete integration of sidebarleft + gulp process

Skylsmoi 7 years ago
parent
commit
9d651ecaf3

+ 1 - 1
gulpfile.js View File

@@ -22,7 +22,7 @@ const _tpldir = 'tracim/tracim/templates/'
22 22
 
23 23
 const listCssFiles = [
24 24
   _srcdir + 'css/default_skin.css',
25
-  _srcdir + 'css/bootstrap.min.css',
25
+  _srcdir + 'css/bootstrap.css',
26 26
   _srcdir + 'font-awesome-4.2.0/css/font-awesome.css',
27 27
   _srcdir + 'select2-4.0.3/css/select2.min.css',
28 28
   _srcdir + 'css/dashboard.css'

+ 0 - 3
tracim/tracim/public/assets/css/dashboard.css View File

@@ -82,7 +82,6 @@ body {
82 82
   right: 0;
83 83
   overflow-x: visible;
84 84
   overflow-y: auto;
85
-  background-color: #F5F5F5;
86 85
   border-left: 1px solid #CCC;
87 86
 }
88 87
 .navbar-right {
@@ -294,7 +293,6 @@ a.btn.disabled i.fa { color: #DDD; }
294 293
 }
295 294
 
296 295
 div.t-page-header-row {
297
-    background-color: #F5F5F5;
298 296
     border-bottom: 1px solid #CCC;
299 297
 }
300 298
 
@@ -708,7 +706,6 @@ div.mce-fullscreen {
708 706
     z-index: 1000;
709 707
     overflow-x: hidden;
710 708
     overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
711
-    background-color: #555;
712 709
     color: #DDD;
713 710
     border-right: 1px solid #CCC;
714 711
   }

+ 9 - 0
tracim/tracim/public/assets/css/default_skin.css View File

@@ -2,6 +2,15 @@
2 2
 * this file is used to declare default tracim skin before bootstrap.min.css so that the bootstrap.css file generated by tracim_theme
3 3
 * can override them withtout adding specificity, just by rules declaration order
4 4
 */
5
+.bg-primary {
6
+  background-color: #555;
7
+}
8
+.bg-secondary {
9
+  background-color: #F5F5F5;
10
+}
11
+.textMenuColor {
12
+  color: #ddd;
13
+}
5 14
 .textMenuClickedBgColor {
6 15
   background: #beebff;
7 16
 }

File diff suppressed because it is too large
+ 5 - 5
tracim/tracim/public/assets/js/sidebarleft.js


+ 3 - 4
tracim/tracim/templates/file/getone.mak View File

@@ -3,6 +3,7 @@
3 3
 <%namespace name="TOOLBAR" file="tracim.templates.file.toolbar"/>
4 4
 <%namespace name="FORMS" file="tracim.templates.file.forms"/>
5 5
 
6
+<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
6 7
 <%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
7 8
 
8 9
 <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
@@ -16,9 +17,7 @@
16 17
 <%def name="title()">${result.file.label}</%def>
17 18
 
18 19
 <%def name="SIDEBAR_LEFT_CONTENT()">
19
-    <h4>${_('Workspaces')}</h4>
20
-    ${WIDGETS.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.file.workspace.id, result.file.id))}
21
-    <hr/>
20
+    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.file.workspace.id, result.file.id))}
22 21
 </%def>
23 22
 
24 23
 <%def name="SIDEBAR_RIGHT_CONTENT()">
@@ -38,7 +37,7 @@
38 37
 
39 38
 <div class="content-container ${'not-editable' if not result.file.is_editable else ''} ${'archived' if result.file.is_archived else ''} ${'deleted' if result.file.is_deleted else ''}">
40 39
 
41
-    <div class="t-page-header-row">
40
+    <div class="t-page-header-row bg-secondary">
42 41
         <div class="main">
43 42
             <h1 class="page-header t-file-color-border">
44 43
                 <i class="fa fa-fw fa-lg fa-paperclip tracim-less-visible t-file-color"></i>

+ 19 - 12
tracim/tracim/templates/folder/forms.mak View File

@@ -1,7 +1,7 @@
1 1
 <%namespace name="TIM" file="tracim.templates.pod"/>
2 2
 <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
3 3
 <%namespace name="ICON" file="tracim.templates.widgets.icon"/>
4
-<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
4
+<%namespace name="LEFT_MENU" file="tracim.templates.user_workspace_widgets"/>
5 5
 
6 6
 <%def name="NEW(dom_id, workspace_id, parent_id=None)">
7 7
     <div id="{dom_id}">
@@ -39,7 +39,7 @@
39 39
 </%def>
40 40
 
41 41
 <%def name="MOVE(dom_id, item, do_move_url, modal_title)">
42
-    <form role="form" method="POST" action="${do_move_url}">
42
+    <form id="move_folder_popup" role="form" method="POST" action="${do_move_url}">
43 43
         <div class="modal-header">
44 44
             <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">${_('Close')}</span></button>
45 45
             <h4 class="modal-title">${TIM.FA('fa-arrows t-less-visible')} ${modal_title}</h4>
@@ -51,16 +51,23 @@
51 51
                     <li role="presentation"><a href="#move-to-another-workspace" aria-controls="move-to-another-workspace" role="tab" data-toggle="tab">${_('to another workspace')}</a></li>
52 52
                 </ul>
53 53
                 <div class="tab-content">
54
-                    <div role="tabpanel" class="tab-pane active" id="move-to-same-workspace">
55
-                        <div class="t-half-spacer-above">
56
-                            ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
57
-                        </div>
58
-                    </div>
59
-                    <div role="tabpanel" class="tab-pane" id="move-to-another-workspace">
60
-                        <div class="t-half-spacer-above">
61
-                            ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
62
-                        </div>
63
-                    </div>
54
+                    <div role="tabpanel" class="tab-pane active bg-primary" id="move-to-same-workspace"></div>
55
+                    <%
56
+                      selected_id = 'workspace_{}__folder_{}'.format(item.workspace.id, item.folder.id if item.folder else '')
57
+                      apiPath = tg.url('/workspaces/treeview_root')
58
+                      apiParameters = tg.url('', dict(current_id=selected_id, all_workspaces=0, folder_allowed_content_types='folder', ignore_id=item.id))
59
+                      apiChildPath = tg.url('/workspaces/treeview_children')
60
+                      apiChildParameters = tg.url('', dict(ignore_id=item.id, allowed_content_types='folder'))
61
+                    %>
62
+                    ${LEFT_MENU.TREEVIEW('move-to-same-workspace', apiPath, apiParameters, apiChildPath, apiChildParameters, 'True')}
63
+                    <div role="tabpanel" class="tab-pane bg-primary" id="move-to-another-workspace"></div>
64
+                    <%
65
+                      apiPath = tg.url('/workspaces/treeview_root')
66
+                      apiParameters = tg.url('', dict(current_id=None, all_workspaces=1, folder_allowed_content_types='folder', ignore_id=item.id, ignore_workspace_id=item.workspace.id))
67
+                      apiChildPath = tg.url('/workspaces/treeview_children')
68
+                      apiChildParameters = tg.url('', dict(ignore_id=item.id, allowed_content_types='folder'))
69
+                    %>
70
+                    ${LEFT_MENU.TREEVIEW('move-to-another-workspace', apiPath, apiParameters, apiChildPath, apiChildParameters, 'False')}
64 71
                 </div>
65 72
             </div>
66 73
         </div>

+ 3 - 4
tracim/tracim/templates/folder/getone.mak View File

@@ -3,7 +3,7 @@
3 3
 <%namespace name="TIM" file="tracim.templates.pod"/>
4 4
 <%namespace name="TOOLBAR" file="tracim.templates.folder.toolbar"/>
5 5
 <%namespace name="FORMS" file="tracim.templates.user_workspace_forms"/>
6
-<%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
6
+<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
7 7
 
8 8
 <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
9 9
 <%namespace name="TABLE_ROW" file="tracim.templates.widgets.table_row"/>
@@ -14,8 +14,7 @@
14 14
 <%def name="title()">${result.folder.label}</%def>
15 15
 
16 16
 <%def name="SIDEBAR_LEFT_CONTENT()">
17
-    <h4>${_('Workspaces')}</h4>
18
-    ${WIDGETS.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.folder.workspace.id, result.folder.id))}
17
+    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.folder.workspace.id, result.folder.id))}
19 18
 </%def>
20 19
 
21 20
 <%def name="SIDEBAR_RIGHT_CONTENT()">
@@ -41,7 +40,7 @@
41 40
 
42 41
 <div class="folder-container ${'not-editable' if not result.folder.is_editable else ''} ${'archived' if result.folder.is_archived else ''} ${'deleted' if result.folder.is_deleted else ''}">
43 42
 
44
-    <div class="t-page-header-row">
43
+    <div class="t-page-header-row bg-secondary">
45 44
         <div class=" main">
46 45
             <h1 class="page-header t-folder-color-border">
47 46
                 <i class="fa fa-fw fa-lg fa-folder-open tracim-less-visible" style="color: #CCCC00"></i>

+ 1 - 1
tracim/tracim/templates/master_authenticated.mak View File

@@ -104,7 +104,7 @@
104 104
                 </a>
105 105
             </div>
106 106
 
107
-            <div class="header__navbar navbar-collapse collapse">
107
+            <div class="header__navbar bg-primary navbar-collapse collapse">
108 108
                 % if request.identity:
109 109
                     <ul class="header__navbar__list nav navbar-nav navbar-left">
110 110
                         <li class="header__navbar__list__item active">

+ 1 - 1
tracim/tracim/templates/master_authenticated_left_treeview.mak View File

@@ -27,7 +27,7 @@
27 27
     ## SIDEBAR LEFT [END]
28 28
 
29 29
     ## SIDEBAR RIGHT
30
-    <div id="sidebar-right" class="sidebar">
30
+    <div id="sidebar-right" class="sidebar bg-secondary">
31 31
         ${self.SIDEBAR_RIGHT_CONTENT()}
32 32
     </div> <!-- # End of side bar right -->
33 33
     ## SIDEBAR RIGHT [END]

+ 2 - 2
tracim/tracim/templates/master_authenticated_left_treeview_right_toolbar.mak View File

@@ -9,7 +9,7 @@
9 9
 
10 10
 <%def name="content_wrapper()">
11 11
     ## SIDEBAR LEFT
12
-    <div id="sidebar-left" class="sidebar">
12
+    <div id="sidebar-left" class="sidebar bg-primary">
13 13
         <div class="btn-group" style="position: absolute; right: 2px; top: 4px; ">
14 14
             <button id="toggle-left-sidebar-width" type="button" class="btn btn-link"><i class="fa fa-angle-double-right"></i></button>
15 15
         </div>
@@ -18,7 +18,7 @@
18 18
     ## SIDEBAR LEFT [END]
19 19
 
20 20
     ## SIDEBAR RIGHT
21
-    <div id="sidebar-right" class="sidebar">
21
+    <div id="sidebar-right" class="sidebar bg-secondary">
22 22
         ${self.SIDEBAR_RIGHT_CONTENT()}
23 23
     </div> <!-- # End of side bar right -->
24 24
     ## SIDEBAR RIGHT [END]

+ 2 - 3
tracim/tracim/templates/page/getone.mak View File

@@ -2,6 +2,7 @@
2 2
 
3 3
 <%namespace name="TIM" file="tracim.templates.pod"/>
4 4
 <%namespace name="FORMS" file="tracim.templates.user_workspace_forms"/>
5
+<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
5 6
 <%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
6 7
 
7 8
 <%namespace name="TOOLBAR" file="tracim.templates.page.toolbar"/>
@@ -14,9 +15,7 @@
14 15
 <%def name="title()">${result.page.label}</%def>
15 16
 
16 17
 <%def name="SIDEBAR_LEFT_CONTENT()">
17
-    <h4>${_('Workspaces')}</h4>
18
-    ${WIDGETS.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.page.workspace.id, result.page.id))}
19
-    <hr/>
18
+    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.page.workspace.id, result.page.id))}
20 19
 </%def>
21 20
 
22 21
 <%def name="SIDEBAR_RIGHT_CONTENT()">

+ 1 - 1
tracim/tracim/templates/search/display.mak View File

@@ -28,7 +28,7 @@
28 28
 ##
29 29
 ############################################################################
30 30
 
31
-<div class="row t-page-header-row">
31
+<div class="row t-page-header-row bg-secondary">
32 32
     <div class="col-sm-7 col-sm-offset-3 main">
33 33
         <h1 class="page-header t-search-color-border">
34 34
             <i class="fa fa-fw fa-lg fa-search t-search-color"></i>

+ 3 - 4
tracim/tracim/templates/thread/getone.mak View File

@@ -2,6 +2,7 @@
2 2
 
3 3
 <%namespace name="TIM" file="tracim.templates.pod"/>
4 4
 <%namespace name="TOOLBAR" file="tracim.templates.thread.toolbar"/>
5
+<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
5 6
 <%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
6 7
 
7 8
 
@@ -16,9 +17,7 @@
16 17
 <%def name="title()">${result.thread.label}</%def>
17 18
 
18 19
 <%def name="SIDEBAR_LEFT_CONTENT()">
19
-    <h4>${_('Workspaces')}</h4>
20
-    ${WIDGETS.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.thread.workspace.id, result.thread.id))}
21
-    <hr/>
20
+    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.thread.workspace.id, result.thread.id))}
22 21
 </%def>
23 22
 
24 23
 <%def name="SIDEBAR_RIGHT_CONTENT()">
@@ -38,7 +37,7 @@
38 37
 
39 38
 <div class="content-container ${'not-editable' if not result.thread.is_editable else ''} ${'archived' if result.thread.is_archived else ''} ${'deleted' if result.thread.is_deleted else ''}">
40 39
 
41
-    <div class="t-page-header-row">
40
+    <div class="t-page-header-row bg-secondary">
42 41
         <div class="main">
43 42
             <h1 class="page-header t-thread-color-border">
44 43
                 <i class="fa fa-fw fa-lg fa-comments-o tracim-less-visible t-thread-color"></i>

+ 1 - 1
tracim/tracim/templates/user_toolbars.mak View File

@@ -53,7 +53,7 @@
53 53
 
54 54
 <%def name="USERS(current_user)">
55 55
     ## SIDEBAR RIGHT
56
-    <div id="sidebar-right" class="col-sm-1 col-md-1 col-sm-offset-11 sidebar">
56
+    <div id="sidebar-right" class="col-sm-1 col-md-1 col-sm-offset-11 sidebar bg-secondary">
57 57
         <div class="btn-group btn-group-vertical">
58 58
         </div>
59 59
         <p></p>

+ 13 - 6
tracim/tracim/templates/user_workspace_widgets.mak View File

@@ -146,15 +146,22 @@
146 146
     % endif
147 147
 </%def>
148 148
 
149
-<%def name="TREEVIEW(dom_id, selected_id='', uniq_workspace='0')">
150
-    ## <% get_root_url = tg.url("/workspaces/treeview_root", dict(current_id=selected_id)) %>
151
-    <div id='sidebarleft_menu'></div>
152
-    <script src="${tg.url('/assets/js/sidebarleft.js')}"></script>
149
+<%def name="TREEVIEW(dom_id, apiPath='/', apiParameters='', apiChildPath='', apiChildParameters='', loadScript='True')">
150
+## this function should only be called by the popup 'move folder'. For the sidebar left, use templates.widgets.left_menu.TREEVIEW
151
+## loadScript is used to call the js file only once AND (more importantly) create only one instance of the input hidden. Otherwise, an array of folder_id would be send through POST
152
+    <div id='${dom_id}'></div>
153
+    % if loadScript == 'True':
154
+      <script src="${tg.url('/assets/js/sidebarleft.js')}"></script>
155
+      <input type='hidden' id='move-folder-treeview-hidden-field' name='folder_id' value=''/>
156
+    % endif
153 157
     <script>
154 158
       // (function () { })() is equivalent to window.onload (http://stackoverflow.com/questions/9899372/pure-javascript-equivalent-to-jquerys-ready-how-to-call-a-function-when-the)
155
-      (function () {
156
-        sidebarLeft(document.getElementById('sidebarleft_menu'), '/', '?current_id=${selected_id}')
159
+      ;(function () {
160
+        sidebarLeft(document.getElementById('${dom_id}'), false, '${apiPath|n}', '${apiParameters|n}', '${apiChildPath|n}', '${apiChildParameters|n}')
157 161
       })()
162
+      $('#${dom_id}').on('click', '.sidebarleft__menu__item__link', function () {
163
+        $('#move-folder-treeview-hidden-field').val($(this).attr('id'))
164
+      })
158 165
     </script>
159 166
 </%def>
160 167
 

+ 2 - 2
tracim/tracim/templates/widgets/left_menu.mak View File

@@ -7,8 +7,8 @@
7 7
     <script src="${tg.url('/assets/js/sidebarleft.js')}"></script>
8 8
     <script>
9 9
       // (function () { })() is equivalent to window.onload (http://stackoverflow.com/questions/9899372/pure-javascript-equivalent-to-jquerys-ready-how-to-call-a-function-when-the)
10
-      (function () {
11
-        sidebarLeft(document.getElementById('sidebarleft_menu'), '/')
10
+      ;(function () {
11
+        sidebarLeft(document.getElementById('sidebarleft_menu'), true, '/workspaces/treeview_root/', '?current_id=${selected_id}', '/workspaces/treeview_children', '')
12 12
       })()
13 13
     </script>
14 14
 </%def>

+ 3 - 3
tracim/tracim/templates/workspace/getone.mak View File

@@ -3,6 +3,7 @@
3 3
 <%namespace name="TIM" file="tracim.templates.pod"/>
4 4
 <%namespace name="TOOLBAR" file="tracim.templates.workspace.toolbar"/>
5 5
 <%namespace name="FORMS" file="tracim.templates.user_workspace_forms"/>
6
+<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
6 7
 <%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
7 8
 <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
8 9
 
@@ -15,8 +16,7 @@
15 16
 <%def name="title()">${result.workspace.label}</%def>
16 17
 
17 18
 <%def name="SIDEBAR_LEFT_CONTENT()">
18
-    <h4>${_('Workspaces')}</h4>
19
-    ${WIDGETS.TREEVIEW('sidebar-left-menu', 'workspace_{}__'.format(result.workspace.id))}
19
+    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', 'workspace_{}__'.format(result.workspace.id))}
20 20
 </%def>
21 21
 
22 22
 <%def name="SIDEBAR_RIGHT_CONTENT()">
@@ -37,7 +37,7 @@
37 37
 ##
38 38
 ############################################################################
39 39
 
40
-<div class="t-page-header-row">
40
+<div class="t-page-header-row bg-secondary">
41 41
     <div class="main">
42 42
         <h1 class="page-header t-less-visible-border">
43 43
             <i class="fa fa-fw fa-lg fa-bank t-less-visible"></i>