folders.html 8.09 KB
Newer Older
mntmn's avatar
mntmn committed
1
2
<header id="folder-header" class="header" v-if="(active_view == 'folders' && active_folder)" v-cloak>
  <div v-cloak class="header-left pull-left">
3
4
    <a class="btn btn-dark btn-md btn-round btn-icon" href="/spaces">
      <span class="icon icon-svg icon-sd6"></span>
mntmn's avatar
mntmn committed
5
    </a>
6
    <button v-if="logged_in && (active_space_role == 'editor' || active_space_role == 'admin')" class="btn btn-dark btn-md btn-round" v-on:click="create_space('space')"><%= __('create_space') %></button>
mntmn's avatar
mntmn committed
7
    <button v-if="logged_in && (active_space_role == 'editor' || active_space_role == 'admin')" class="btn btn-stroke-darken btn-md btn-round" v-on:click="create_space('folder')">
8
      <span><%=  __('create_folder') %></span>
mntmn's avatar
mntmn committed
9
10
    </button>

11
    <label class="relative compact-hidden" v-if="logged_in">
mntmn's avatar
mntmn committed
12
13
14
15
      <span class="icon icon-sm icon-zoom no-events absolute-top-left" style="margin: 5px;"></span>
      <input id="folder-search"
             type="search" name="search"
             style="padding-left: 40px !important; margin-right: 10px;"
16
             placeholder="<%=  __('search') %>"
mntmn's avatar
mntmn committed
17
18
19
20
             class="input input-md input-white input-round no-b w-2"
             v-model="folder_spaces_search" v-on:change="search_spaces">
    </label>
    
21
    <div class="dropdown top light m-r-20 compact-hidden" v-bind:class="{open : active_dropdown=='folder_sorting'}" v-if="logged_in">
mntmn's avatar
mntmn committed
22
      <button class="btn btn-sm btn-nude" v-on:click="activate_dropdown('folder_sorting')">
23
24
25
26
        <span><%=  __('sort_by') %></span>:
        <b v-if="folder_sorting=='updated_at'"><%=  __('last_modified') %></b>
        <b v-if="folder_sorting=='name'"><%=  __('title') %></b>
        <b v-if="folder_sorting=='space_type'"><%=  __('type') %></b>
mntmn's avatar
mntmn committed
27
28
29
30
31
      </button>
      <div class="dropdown-menu" role="menu">
        <ul class="select-list">
          <li v-bind:class="{checked:folder_sorting=='updated_at'}"
              v-on:click="set_folder_sorting('updated_at',true)">
32
            <span><%=  __('last_modified') %></span>
mntmn's avatar
mntmn committed
33
34
35
36
          </li>

          <li v-bind:class="{checked:folder_sorting=='name'}"
              v-on:click="set_folder_sorting('name',false)">
37
            <span><%=  __('title') %></span>
mntmn's avatar
mntmn committed
38
39
40
41
          </li>

          <li v-bind:class="{checked:folder_sorting=='space_type'}"
              v-on:click="set_folder_sorting('space_type',false)">
42
            <span><%=  __('type') %></span>
mntmn's avatar
mntmn committed
43
44
45
46
          </li>
        </ul>
      </div>
    </div>
mntmn's avatar
mntmn committed
47
  </div>
mntmn's avatar
mntmn committed
48

mntmn's avatar
mntmn committed
49
  <div class="header-right pull-right">
mntmn's avatar
mntmn committed
50
51
    <div class="dropdown top right light" v-bind:class="{open: active_dropdown=='account'}">
      <button
52
53
        class="profile-avatar btn btn-md btn-icon btn-dark btn-round"
         v-if="logged_in"
mntmn's avatar
mntmn committed
54
55
56
57
58
59
60
61
62
         v-bind:style="background_image_style([user.avatar_thumb_uri])"
         v-bind:class="{'has-avatar-image':!!user.avatar_thumb_uri}" v-on:click="show_account();">
        <span class="icon icon-user" v-if="logged_in && !user.avatar_thumb_uri"></span></button>

      <div class="dropdown-menu" role="menu">
        <ul class="select-list">
          <li v-if="user.team && is_admin(user)">
            <a href="/team">
              <span class="icon icon-sm  icon-user-group"></span>
63
              <span><%=  __('edit_team') %></span>
mntmn's avatar
mntmn committed
64
65
66
67
68
69
            </a>
          </li>

          <li>
            <a href="/account">
              <span class="icon icon-sm  icon-user"></span>
70
              <span><%=  __('edit_account') %></span>
mntmn's avatar
mntmn committed
71
72
73
            </a>
          </li>

74
          <li>
75
            <a href="/">
mntmn's avatar
mntmn committed
76
              <span class="icon icon-sm  icon-logout"></span>
77
              <span>Start</span>
78
            </a>
mntmn's avatar
mntmn committed
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
          </li>
        </ul>
      </div>

    </div>
  </div>
</header>


<div id="profile" v-cloak v-if="active_view == 'folders' && user">

  <div id="folder-wrapper">

    <div id="folder-breadcrumb">

94
      <span v-if="logged_in" v-for="item in active_space_path" class="btn btn-sm btn-transparent" v-sd-droppable="handle_folder_drop;item">
95
        <a href="/{{item.space_type}}s/{{item._id}}">{{item.name}}</a>&nbsp;</span>
mntmn's avatar
mntmn committed
96
97
98
99
100

      <a v-if="(active_space_role != 'admin')" type="button" class="btn btn-sm btn-transparent">
        <span>{{active_folder.name}}</span>
      </a>

101
      <div class="dropdown top light" v-bind:class="{open:active_dropdown=='breadcrumb'}" v-if="(active_folder._id != user.home_folder_id) && ((active_space_role == 'admin'))">
mntmn's avatar
mntmn committed
102
103
104
105
106
        <button type="button" class="btn btn-sm btn-transparent btn-dropdown" data-toggle="dropdown" v-on:click=" activate_dropdown('breadcrumb')">
          <span>{{active_folder.name}}</span>
        </button>
        <div class="dropdown-menu" v-if="active_folder && active_folder._id != user.home_folder_id">
          <ul class="select-list">
107
108
            <li><span class="tile-rename" v-on:click="rename_folder(active_folder)"><%=__("rename")%></span></li>
            <li v-if="active_space_role == 'admin'"><span class="tile-share" v-on:click="activate_access()"><%=__("share")%></span></li>
mntmn's avatar
mntmn committed
109
110
111
112
113
          </ul>
        </div>
      </div>

      <div v-if="active_folder._id == user.home_folder_id">
114
        <span><%=  __('home') %></span>
mntmn's avatar
mntmn committed
115
116
117
118
119
120
      </div>

    </div>

    <div id="folder-empty" v-if="(active_profile_spaces.length == 0)">
      <div>
121
        <p><%=  __('no_spaces_yet') %></p>
mntmn's avatar
mntmn committed
122
123
124
125
126
      </div>
    </div>

    <div id="folder-empty" v-if="folder_spaces_filter">
      <div v-if="active_profile_spaces | empty?">
127
128
        <p><b>"{{folder_spaces_filter}}"</b>  <br/><%=  __('search_no_results') %></p>
        <button type="button" class="btn btn-md btn-round btn-stroke-darken events" v-on:click=" folder_spaces_filter = ''"><%=  __('search_clear') %></button>
mntmn's avatar
mntmn committed
129
130
131
132
133
134
135
136
137
      </div>
    </div>
    <div id="folder-grid">
      <div
         v-for="item in active_profile_spaces | orderBy folder_sorting folder_reverse"
         v-sd-draggable="item"
         v-sd-droppable="handle_folder_drop;item"
         draggable="true"
         class="item" v-bind:class="item.space_type"
138
139
140
141
142
143
144
145
146
        v-bind:style="{'z-index': (active_profile_spaces.length - $index)}">

        <!-- anonymous editors can go edit spaces in a folder -->
        <a href="/s/{{item.edit_hash}}-{{item.edit_slug}}" v-if="active_space_role=='editor' && !logged_in">
          <span class="item-thumbnail thumbnail-loading" v-if="item.space_type=='space'"></span>
          <span class="item-thumbnail" v-bind:style="space_thumbnail_style(item)"></span>
        </a>
        
        <a v-if="active_space_role=='viewer' || logged_in" href="/{{item.space_type}}s/{{item._id}}">
mntmn's avatar
mntmn committed
147
148
149
150
151
152
153
154
155
156
157
158
          <span class="item-thumbnail thumbnail-loading" v-if="item.space_type=='space'"></span>
          <span class="item-thumbnail" v-bind:style="space_thumbnail_style(item)"></span>
        </a>

        <div class="item-meta" >
          <span class="item-title">{{item.name}}</span>
          <div class="pull-right dropdown center light" v-if="active_space_role=='admin'" v-bind:class="{open:(active_dropdown=='space_'+item._id || active_dropdown=='space_share_'+item._id)}">
            <button type="button" class="btn btn-transparent btn-dropdown no-min-w no-p" data-toggle="dropdown" v-on:click="activate_dropdown('space_'+item._id)">
            </button>

            <div class="dropdown-menu" role="menu">
              <ul class="select-list">
159
160
                <li v-on:click="rename_space(item)"><span><span class="icon icon-sm icon-tag"></span><%=  __('rename') %></span></li>
                <li v-on:click="delete_space(item)"><span><span class="icon icon-sm icon-trash"></span><%=  __('delete') %></span></li>
mntmn's avatar
mntmn committed
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
              </ul>
            </div>
          </div>
        </div>
        <span class="item-appendix">
          <span class="pull-right item-date">{{item.updated_at | date 'YYYY-MM-DD'}}</span>

          <span class="item-author">
            <span class="profile-avatar btn btn-xs btn-icon btn-white btn-round m-r-10"
                  v-bind:style="background_image_style([item.creator.avatar_thumb_uri])"
                  v-bind:class="{'has-avatar-image':!!item.creator.avatar_thumb_uri}">
              <span class="icon icon-user" v-if="!item.creator.avatar_thumb_uri"></span>
            </span>
            {{item.creator.nickname}}
          </span>
        </span>

      </div>

    </div>
  </div>
</div>