2014-07-16 09:59:52 -04:00
|
|
|
.row
|
2018-09-13 09:00:30 -04:00
|
|
|
.col-xs-12(ng-cloak)
|
|
|
|
form.project-search.form-horizontal(role="form")
|
|
|
|
.form-group.has-feedback.has-feedback-left.col-md-7.col-xs-12
|
|
|
|
input.form-control.col-md-7.col-xs-12(
|
|
|
|
placeholder=translate('search_projects')+"…",
|
|
|
|
aria-label=translate('search_projects')+"…",
|
|
|
|
autofocus='autofocus',
|
|
|
|
ng-model="searchText.value",
|
|
|
|
focus-on='search:clear',
|
|
|
|
ng-keyup="searchProjects()"
|
|
|
|
)
|
2018-11-19 04:41:34 -05:00
|
|
|
i.fa.fa-search.form-control-feedback-left(aria-hidden="true")
|
2018-09-13 09:00:30 -04:00
|
|
|
i.fa.fa-times.form-control-feedback(
|
|
|
|
ng-click="clearSearchText()",
|
|
|
|
style="cursor: pointer;",
|
|
|
|
ng-show="searchText.value.length > 0"
|
2018-11-19 04:41:34 -05:00
|
|
|
aria-hidden="true"
|
2018-09-13 09:00:30 -04:00
|
|
|
)
|
2018-11-15 12:21:45 -05:00
|
|
|
button.sr-only(
|
2019-02-28 05:57:55 -05:00
|
|
|
type="button"
|
2018-11-15 12:21:45 -05:00
|
|
|
ng-click="clearSearchText()"
|
|
|
|
ng-show="searchText.value.length > 0"
|
|
|
|
) #{translate('clear_search')}
|
2018-09-13 09:00:30 -04:00
|
|
|
//- i.fa.fa-remove
|
2014-07-16 09:59:52 -04:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
.project-tools(ng-cloak)
|
|
|
|
.btn-toolbar(ng-show="filter != 'archived'")
|
|
|
|
.btn-group(ng-hide="selectedProjects.length < 1")
|
|
|
|
a.btn.btn-default(
|
|
|
|
href,
|
2018-11-15 12:21:45 -05:00
|
|
|
aria-label=translate('download'),
|
2018-09-13 09:00:30 -04:00
|
|
|
tooltip=translate('download'),
|
|
|
|
tooltip-placement="bottom",
|
|
|
|
tooltip-append-to-body="true",
|
|
|
|
ng-click="downloadSelectedProjects()"
|
|
|
|
)
|
2018-11-19 04:41:34 -05:00
|
|
|
i.fa.fa-cloud-download(aria-hidden="true")
|
2018-09-13 09:00:30 -04:00
|
|
|
- var archiveButtonString = settings.overleaf ? translate("archive") : translate("delete")
|
|
|
|
- var archiveButtonIcon = settings.overleaf ? "fa-inbox" : "fa-trash-o"
|
|
|
|
a.btn.btn-default(
|
|
|
|
href,
|
2018-11-15 12:21:45 -05:00
|
|
|
aria-label=`{{ isArchiveableProjectSelected ? '${archiveButtonString}' : '${translate("leave")}' }}`,
|
2018-09-13 09:00:30 -04:00
|
|
|
tooltip=`{{ isArchiveableProjectSelected ? '${archiveButtonString}' : '${translate("leave")}' }}`,
|
|
|
|
tooltip-placement="bottom",
|
|
|
|
tooltip-append-to-body="true",
|
|
|
|
ng-click="openArchiveProjectsModal()"
|
|
|
|
)
|
2018-11-19 04:41:34 -05:00
|
|
|
i.fa(ng-class=`isArchiveableProjectSelected ? '${archiveButtonIcon}' : 'fa-sign-out'` aria-hidden="true")
|
2014-07-16 09:59:52 -04:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
.btn-group.dropdown(ng-hide="selectedProjects.length < 1", dropdown)
|
|
|
|
a.btn.btn-default.dropdown-toggle(
|
|
|
|
href,
|
|
|
|
data-toggle="dropdown",
|
|
|
|
dropdown-toggle,
|
|
|
|
tooltip=translate('add_to_folders'),
|
|
|
|
tooltip-append-to-body="true",
|
|
|
|
tooltip-placement="bottom"
|
|
|
|
)
|
|
|
|
i.fa.fa-folder-open-o
|
|
|
|
|
|
|
|
|
span.caret
|
2018-11-15 12:21:45 -05:00
|
|
|
span.sr-only #{translate('add_to_folders')}
|
2018-09-13 09:00:30 -04:00
|
|
|
ul.dropdown-menu.dropdown-menu-right.js-tags-dropdown-menu.tags-dropdown-menu(
|
|
|
|
role="menu"
|
|
|
|
ng-controller="TagListController"
|
|
|
|
)
|
|
|
|
li.dropdown-header #{translate("add_to_folder")}
|
|
|
|
li(
|
|
|
|
ng-repeat="tag in tags | orderBy:'name'",
|
|
|
|
ng-controller="TagDropdownItemController"
|
|
|
|
ng-if="!tag.isV1"
|
|
|
|
)
|
|
|
|
a(href="#", ng-click="addOrRemoveProjectsFromTag()", stop-propagation="click")
|
|
|
|
i.fa(
|
|
|
|
ng-class="{\
|
|
|
|
'fa-check-square-o': areSelectedProjectsInTag == true,\
|
|
|
|
'fa-square-o': areSelectedProjectsInTag == false,\
|
|
|
|
'fa-minus-square-o': areSelectedProjectsInTag == 'partial'\
|
|
|
|
}"
|
|
|
|
)
|
2018-11-15 12:21:45 -05:00
|
|
|
span.sr-only Add or remove project from tag
|
2018-09-13 09:00:30 -04:00
|
|
|
| {{tag.name}}
|
|
|
|
li.divider
|
|
|
|
li
|
|
|
|
a(href, ng-click="openNewTagModal()", stop-propagation="click") #{translate("create_new_folder")}
|
2014-07-16 09:59:52 -04:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
.btn-group(ng-hide="selectedProjects.length != 1", dropdown).dropdown
|
|
|
|
a.btn.btn-default.dropdown-toggle(
|
|
|
|
href,
|
|
|
|
data-toggle="dropdown",
|
|
|
|
dropdown-toggle
|
|
|
|
) #{translate("more")}
|
|
|
|
span.caret
|
|
|
|
ul.dropdown-menu.dropdown-menu-right(role="menu")
|
|
|
|
li(ng-show="getFirstSelectedProject().accessLevel == 'owner'")
|
|
|
|
a(
|
|
|
|
href,
|
|
|
|
ng-click="openRenameProjectModal()"
|
|
|
|
) #{translate("rename")}
|
|
|
|
li
|
|
|
|
a(
|
|
|
|
href,
|
|
|
|
ng-click="openCloneProjectModal()"
|
|
|
|
) #{translate("make_copy")}
|
2014-07-16 09:59:52 -04:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
.btn-toolbar(ng-show="filter == 'archived'")
|
|
|
|
.btn-group(ng-hide="selectedProjects.length < 1")
|
|
|
|
a.btn.btn-default(
|
|
|
|
href,
|
|
|
|
data-original-title="Restore",
|
|
|
|
data-toggle="tooltip",
|
|
|
|
data-placement="bottom",
|
|
|
|
ng-click="restoreSelectedProjects()"
|
|
|
|
) #{translate("restore")}
|
2014-07-16 09:59:52 -04:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
.btn-group(ng-hide="selectedProjects.length < 1")
|
|
|
|
a.btn.btn-danger(
|
|
|
|
href,
|
|
|
|
data-original-title="Delete Forever",
|
|
|
|
data-toggle="tooltip",
|
|
|
|
data-placement="bottom",
|
|
|
|
ng-click="openDeleteProjectsModal()"
|
|
|
|
) #{translate("delete_forever")}
|
2014-07-16 09:59:52 -04:00
|
|
|
|
|
|
|
.row.row-spaced
|
2018-09-13 09:00:30 -04:00
|
|
|
each warning in warnings
|
|
|
|
.col-xs-12
|
|
|
|
.alert.alert-warning(role="alert")= warning
|
2017-11-15 12:19:37 -05:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
.col-xs-12
|
|
|
|
.card.card-thin.project-list-card
|
|
|
|
ul.list-unstyled.project-list.structured-list(
|
|
|
|
select-all-list,
|
|
|
|
ng-if="projects.length > 0",
|
|
|
|
max-height="projectListHeight - 25",
|
|
|
|
ng-cloak
|
|
|
|
)
|
|
|
|
li.container-fluid
|
|
|
|
.row
|
|
|
|
- var titleClasses = settings.overleaf ? " col-xs-6 col-sm-4 col-md-6" : "col-xs-6"
|
|
|
|
- var lastUpdatedClasses = settings.overleaf ? " col-xs-4 col-sm-3 col-md-2" : "col-xs-4"
|
2018-09-11 05:26:59 -04:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
div(class=titleClasses)
|
|
|
|
input.select-all(
|
|
|
|
select-all,
|
|
|
|
type="checkbox"
|
|
|
|
aria-label=translate('select_all_projects')
|
|
|
|
)
|
|
|
|
span.header.clickable(ng-click="changePredicate('name')") #{translate("title")}
|
2018-11-19 04:41:34 -05:00
|
|
|
i.tablesort.fa(ng-class="getSortIconClass('name')" aria-hidden="true")
|
2018-11-15 12:21:45 -05:00
|
|
|
button.sr-only(ng-click="changePredicate('name')") Sort by #{translate("title")}
|
2018-09-13 09:00:30 -04:00
|
|
|
.col-xs-2
|
2019-04-17 06:11:32 -04:00
|
|
|
span.header.clickable(ng-click="changePredicate('ownerName')") #{translate("owner")}
|
|
|
|
i.tablesort.fa(ng-class="getSortIconClass('ownerName')" aria-hidden="true")
|
|
|
|
button.sr-only(ng-click="changePredicate('ownerName')") Sort by #{translate("owner")}
|
2018-09-13 09:00:30 -04:00
|
|
|
div(class=lastUpdatedClasses)
|
|
|
|
span.header.clickable(ng-click="changePredicate('lastUpdated')") #{translate("last_modified")}
|
2018-11-19 04:41:34 -05:00
|
|
|
i.tablesort.fa(ng-class="getSortIconClass('lastUpdated')" aria-hidden="true")
|
2019-04-17 06:11:32 -04:00
|
|
|
button.sr-only(ng-click="changePredicate('lastUpdated')") Sort by #{translate("last_modified")}
|
2018-09-13 09:00:30 -04:00
|
|
|
if settings.overleaf
|
|
|
|
.hidden-xs.col-sm-3.col-md-2.action-btn-row-header
|
|
|
|
span.header #{translate("actions")}
|
|
|
|
li.project_entry.container-fluid(
|
2019-04-17 06:11:32 -04:00
|
|
|
ng-repeat="project in visibleProjects | orderBy:getValueForCurrentPredicate:reverse:comparator",
|
2018-09-13 09:00:30 -04:00
|
|
|
ng-controller="ProjectListItemController"
|
|
|
|
)
|
|
|
|
.row(
|
|
|
|
ng-if="!project.isV1Project"
|
|
|
|
select-row
|
|
|
|
)
|
|
|
|
include ./item
|
|
|
|
.row(
|
|
|
|
ng-if="project.isV1Project"
|
|
|
|
)
|
|
|
|
include ./v1-item
|
|
|
|
li(
|
|
|
|
ng-if="visibleProjects.length == 0",
|
|
|
|
ng-cloak
|
|
|
|
)
|
|
|
|
.row
|
|
|
|
.col-xs-12.text-centered
|
|
|
|
small #{translate("no_projects")}
|
2015-11-02 11:08:02 -05:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
div.welcome.text-centered(ng-if="projects.length == 0", ng-cloak)
|
|
|
|
h2 #{translate("welcome_to_sl")}
|
|
|
|
p #{translate("new_to_latex_look_at")}
|
|
|
|
a(href="/templates") #{translate("templates").toLowerCase()}
|
|
|
|
| #{translate("or")}
|
|
|
|
a(href="/learn") #{translate("latex_help_guide")}
|
|
|
|
| ,
|
|
|
|
br
|
|
|
|
| #{translate("or_create_project_left")}
|
2015-11-02 11:08:02 -05:00
|
|
|
|
2018-09-13 09:00:30 -04:00
|
|
|
|