spacedeck-open/views/partials/folders.html

202 lines
8.9 KiB
HTML
Raw Normal View History

2017-04-07 01:29:05 +02:00
<header id="folder-header" class="header" v-if="(active_view == 'folders' && active_folder)" v-cloak>
<div v-cloak class="header-left pull-left">
<a class="btn btn-stroke-darken btn-md btn-round btn-icon" href="/spaces">
<span class="icon icon-home"></span>
</a>
<button v-if="logged_in && (active_space_role == 'editor' || active_space_role == 'admin')" class="btn btn-primary btn-md btn-round" v-on:click="create_space('space')">[[ __('create_space') ]]</button>
<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')">
<span v-bind:class="{'disabled-pro':!is_pro(user)}">[[ __('create_folder') ]]</span>
</button>
</div>
<div class="header-right pull-right">
<div class="dropdown top light m-r-20 compact-hidden" v-bind:class="{open : active_dropdown=='folder_sorting'}">
<button class="btn btn-sm btn-nude" v-on:click="activate_dropdown('folder_sorting')">
<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>
</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)">
<span>[[ __('last_modified') ]]</span>
</li>
<li v-bind:class="{checked:folder_sorting=='name'}"
v-on:click="set_folder_sorting('name',false)">
<span>[[ __('title') ]]</span>
</li>
<li v-bind:class="{checked:folder_sorting=='space_type'}"
v-on:click="set_folder_sorting('space_type',false)">
<span>[[ __('type') ]]</span>
</li>
</ul>
</div>
</div>
<label class="relative compact-hidden">
<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;"
placeholder="[[ __('search') ]]"
class="input input-md input-white input-round no-b w-2"
v-model="folder_spaces_search" v-on:change="search_spaces">
</label>
<button class="btn btn-stroke-darken btn-md btn-round" v-if="!user.confirmed_at" v-on:click="confirm_again()">
<span v-if="!account_confirmed_sent">[[ __('email_unconfirmed') ]]</span>
<span v-if="account_confirmed_sent">[[ __('confirmation_sent') ]]</span>
</button>
<div class="dropdown top right light" v-bind:class="{open: active_dropdown=='account'}">
<button
class="profile-avatar btn btn-md btn-icon btn-darken btn-round"
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>
<span>[[ __('edit_team') ]]</span>
</a>
</li>
<li>
<a href="/account">
<span class="icon icon-sm icon-user"></span>
<span>[[ __('edit_account') ]]</span>
</a>
</li>
<li v-on:click="activate_modal('support')">
<span>
<span class="icon icon-sm icon-info"></span>
<span>[[ __('support') ]]</span>
</span>
</li>
<li v-on:click="logout()">
<span>
<span class="icon icon-sm icon-logout"></span>
<span>[[ __('log_out') ]]</span>
</span>
</li>
</ul>
</div>
</div>
<div class="btn-group dark round" id="meta-toggle" style="margin-right:10px">
<button class="btn btn-md btn-transparent btn-icon btn-icon" v-on:click="toggle_meta()">
<span class="jewel" style="color: white; background-color: red" v-if="meta_unseen>0">{{meta_unseen}}</span>
<span class="icon icon-menu"></span>
</button>
</div>
</div>
</header>
<div id="profile" v-cloak v-if="active_view == 'folders' && user">
<div id="folder-wrapper">
<div id="folder-breadcrumb">
<a v-for="item in active_space_path" type="button" class="btn btn-sm btn-transparent" href="/{{item.space_type}}s/{{item._id}}" v-sd-droppable="handle_folder_drop;item">
<span>{{item.name}}</span>
<span class="seperator">/</span>
</a>
<a v-if="(active_space_role != 'admin')" type="button" class="btn btn-sm btn-transparent">
<span>{{active_folder.name}}</span>
</a>
<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') || (active_space_role == 'editor'))">
<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">
<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>
<li><a v-on:click=" open_url('[[config.endpoint]]/api/spaces/'+active_folder._id+'/list')" target="_blank">[[__("list")]]</a></li>
</ul>
</div>
</div>
<div v-if="active_folder._id == user.home_folder_id">
<span>[[ __('home') ]]</span>
</div>
</div>
<div id="folder-empty" v-if="(active_profile_spaces.length == 0)">
<div>
<p>[[ __('no_spaces_yet') ]]</p>
</div>
</div>
<div id="folder-empty" v-if="folder_spaces_filter">
<div v-if="active_profile_spaces | empty?">
<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>
</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"
v-bind:style="{'z-index': (active_profile_spaces.length - $index)}">
<a href="/{{item.space_type}}s/{{item._id}}">
<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">
<li v-on:click="duplicate_space(item)"><span><span class="icon icon-sm icon-duplicate"></span>[[ __('duplicate') ]]</span></li>
<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>
</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>