overleaf/services/web/app/views/project/list.jade

191 lines
6.5 KiB
Text
Raw Normal View History

2014-02-12 05:23:40 -05:00
extends ../layout
block content
mixin formatAccessLevel(accessLevel)
-if (accessLevel == "owner")
span Owner
-else if (accessLevel == "readWrite")
span Read and Write
-else if (accessLevel == "readOnly")
span Read Only
-else
span Unknown?
mixin tag(project_id, tagName, showDeleteIcon)
span.label.label-info.tag-label(data-project-id=project_id, data-tag=tagName)
span.text #{tagName}
- if (showDeleteIcon)
i.icon-remove.icon-white.delete-tag(data-project-id=project_id, data-tag=tagName)
mixin projectList(projects)
-each project in projects
- project_id = project._id.toString()
.project_entry(id=project_id)
.btn-group.project-actions
a.btn.dropdown-toggle(data-toggle="dropdown", href="#") Actions
span.caret
ul.dropdown-menu.pull-right(role="menu")
li
a(href='/project/'+project_id+'/clone', data-csrf=csrfToken).cloneProject Clone
li
a(href='/project/'+project._id+'/download/zip').downloadZip Download Zip
2014-02-12 05:23:40 -05:00
-if (project.accessLevel == "owner")
2014-04-28 12:47:47 -04:00
li
a(href='/project/'+project_id+'/rename', data-name=project.name, data-id=project_id, data-csrf=csrfToken).renameProject Rename
li
2014-06-04 07:45:04 -04:00
a(href='/project/'+project_id, data-name=project.name, data-id=project_id, data-csrf=csrfToken).archiveProject Delete
2014-02-12 05:23:40 -05:00
-else
li
a(href='/project/'+project_id+'/leave', data-name=project.name, data-id=project_id, data-csrf=csrfToken).leaveProject Leave
2014-02-12 05:23:40 -05:00
a.projectName(href="/project/#{project._id}") #{project.name}
.projectDetails
span Last modified on
span.isoDate #{project.lastUpdated.toISOString()}
span   -  
span #{formatProjectPublicAccessLevel(project.publicAccesLevel)}
2014-02-12 05:23:40 -05:00
span   -  
mixin formatAccessLevel(project.accessLevel)
.project-tags(data-project-id=project_id)
- each tag in project.tags
mixin tag(project_id, tag.name, true)
span.new-tags
span.newTagLocation
span.label.addTagButton(data-project-id=project_id) Add Tag
i.icon-plus.icon-white
div
input(placeholder='Tag Name', name='tags', style="display: none;", data-project-id=project_id).tags-input
include ../general/sidebar
2014-02-12 05:23:40 -05:00
.content-with-navigation-sidebar
.box#projectListArea
.row-fluid
.span12
.page-header
.btn-group.pull-right#newProject
a.btn.btn-success.dropdown-toggle(data-toggle="dropdown", href="#") New Project
span.caret
ul.dropdown-menu.pull-right(role="menu")
li
a.normalText#blankNewProject(href="#", data-csrf=csrfToken) Blank Project
li
a.normalText#newProjectExample(href="#", data-csrf=csrfToken) Example Project
li
a.normalText#uploadNewProject(href="#", data-csrf=csrfToken) Upload Zipped Project
li.divider
li
.normalText.menu-header From Template
li
a.normalText.menu-indent(href="/templates/cv") CV or Resume
li
a.normalText.menu-indent(href="/templates/cover-letters") Cover Letter
li
a.normalText.menu-indent(href="/templates/journals") Journal Article
li
a.normalText.menu-indent(href="/templates/presentations") Presentation
li
a.normalText.menu-indent(href="/templates/thesis") Thesis
li
a.normalText.menu-indent(href="/templates/bibliographies") Bibliographies
2014-06-04 06:58:53 -04:00
a(href="/project/archived").pull-right.archived-projects Archived Projects
2014-02-12 05:23:40 -05:00
h1 Projects
- if (projects.length > 0)
.row-fluid
2014-02-12 05:23:40 -05:00
.span9
form.search
input#projectFilter(placeholder='Search Projects', autofocus='autofocus').span6.projectSearch.search-query
i.icon-search
i.icon-remove
ul#projectList
mixin projectList(projects)
- if (showUserDetailsArea)
.span3#userProfileInformation(ng-cloak)
div(ng-controller="UpdateForm").userProfileInformationArea
div(ng-hide="hidePersonalInfoSection").alert.alert-info
2014-02-12 05:23:40 -05:00
div(ng-show="percentComplete >= 100")
h4 100% complete, well done!
div(ng-hide="percentComplete >= 100")
h4 Your profile is
strong {{percentComplete}}%
| complete
.progress
.bar.bar-success(ng-style="{'width' : (percentComplete+'%')}")
2014-06-11 12:45:09 -04:00
button#completeUserProfileInformation.btn.btn-primary(ng-hide="formVisable", ng-click="showForm()") Complete now
2014-06-11 12:45:09 -04:00
div(ng-show="formVisable")
form(enctype='multipart/form-data', method='post')
.input
input(type='text', name='first_name', ng-model="userInfoForm.first_name", ng-blur="sendUpdate()", placeholder="First Name", focus-input="formVisable")
.input
input(type='text', name='last_name', ng-model="userInfoForm.last_name", ng-blur="sendUpdate()", placeholder='Last Name')
.input#institution_auto_complete
autocomplete(ng-model="userInfoForm.institution", data="institutions", ng-blur="sendUpdate()", on-type="updateInstitutionsList", attr-placeholder="Institution")
.input
input(type='text', name='role', ng-model="userInfoForm.role", placeholder='Role', ng-blur="sendUpdate()", list="_roles")
datalist#_roles
option(ng-repeat='role in roles') {{role}}
2014-02-12 05:23:40 -05:00
.span3
.tag-list
h2 Tags
#allProjectTagsArea
ul
- each tag in tags
-if (tag.project_ids.length > 0)
li
mixin tag("", tag.name, false)
span.number x #{tag.project_ids.length}
- else
.row-fluid
.span12
.sharelatex-intro
.create-project-arrow Create your first project
.welcome
h2 Welcome to ShareLaTeX!
p New to LaTeX? Then have a look at our
a(href="/templates") templates
| or
a(href="/learn") help guides
| .
include ../general/small-footer
script(type="text/template")#tagTemplate
mixin tag('{{ project_id }}', '{{ tagName }}', true)
- locals.supressDefaultJs = true
2014-03-07 09:41:01 -05:00
script
window.requirejs = {
"paths" : {
2014-06-12 10:50:00 -04:00
"moment": "libs/moment",
"angular":"libs/angular"
},
shim: {
'angular' : {'exports' : 'angular'}
},
priority: [
"angular"
]
2014-03-07 09:41:01 -05:00
};
2014-06-12 10:50:00 -04:00
- if (showUserDetailsArea)
script
window.algolia = {
institutions:{
app_id:'#{algolia_app_id}',
api_key:'#{algolia_api_key}'
}
}
2014-02-12 05:23:40 -05:00
script(
data-main=jsPath+'list.js?fingerprint='+fingerprint(jsPath + 'list.js'),
baseurl=jsPath,
src=jsPath+'libs/require.js?fingerprint='+fingerprint(jsPath + 'libs/require.js')
)