overleaf/services/web/app/views/project/list/modals.pug
Chrystal Maria Griffiths 0abe99d98f Merge pull request #2150 from overleaf/cmg-archiving-frontend
Frontend for new archiving and trashing

GitOrigin-RevId: be8676ab6c2fea7f8fb23655772a008d067b2a78
2019-11-25 15:59:10 +00:00

352 lines
12 KiB
Text

script(type='text/ng-template', id='newTagModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("create_new_folder")}
.modal-body
form(name="newTagForm", novalidate)
input.form-control(
type="text",
placeholder="New Folder Name",
required,
ng-model="inputs.newTagName",
on-enter="create()",
focus-on="open",
stop-propagation="click"
)
.modal-footer
.modal-footer-left
span.text-danger.error(ng-show="state.error") #{translate("generic_something_went_wrong")}
//- We stop propagation to stop the clicks from closing the
//- 'move to folder' menu.
button.btn.btn-default(
ng-click="cancel()"
stop-propagation="click"
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="newTagForm.$invalid || state.inflight"
ng-click="create()"
stop-propagation="click"
)
span(ng-show="!state.inflight") #{translate("create")}
span(ng-show="state.inflight") #{translate("creating")}...
script(type='text/ng-template', id='deleteTagModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("delete_folder")}
.modal-body
p #{translate("about_to_delete_folder")}
ul
li
strong {{tag.name}}
.modal-footer
.modal-footer-left
span.text-danger.error(ng-show="state.error") #{translate("generic_something_went_wrong")}
button.btn.btn-default(
ng-click="cancel()"
) #{translate("cancel")}
button.btn.btn-danger(
ng-click="delete()",
ng-disabled="state.inflight"
)
span(ng-show="state.inflight") #{translate("deleting")}...
span(ng-show="!state.inflight") #{translate("delete")}
script(type='text/ng-template', id='renameTagModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("rename_folder")}
.modal-body
form(name="renameTagForm", novalidate)
input.form-control(
type="text",
placeholder="Tag Name",
ng-model="inputs.tagName",
required,
on-enter="rename()",
focus-on="open"
)
.modal-footer
.modal-footer-left
span.text-danger.error(ng-show="state.error") #{translate("generic_something_went_wrong")}
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
button.btn.btn-primary(
ng-click="rename()",
ng-disabled="renameTagForm.$invalid || state.inflight"
)
span(ng-show="!state.inflight") #{translate("rename")}
span(ng-show="state.inflight") #{translate("renaming")}...
script(type='text/ng-template', id='renameProjectModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("rename_project")}
.modal-body
.alert.alert-danger(ng-show="state.error.message") {{state.error.message}}
.alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
form(name="renameProjectForm", novalidate)
input.form-control(
type="text",
placeholder="Project Name",
ng-model="inputs.projectName",
required,
on-enter="rename()",
focus-on="open"
)
.modal-footer
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
button.btn.btn-primary(
ng-click="rename()",
ng-disabled="renameProjectForm.$invalid || state.inflight"
)
span(ng-show="!state.inflight") #{translate("rename")}
span(ng-show="state.inflight") #{translate("renaming")}...
script(type='text/ng-template', id='cloneProjectModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("copy_project")}
.modal-body
.alert.alert-danger(ng-show="state.error.message") {{state.error.message === "invalid element name" ? "#{translate("invalid_element_name")}" : state.error.message}}
.alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
form(name="cloneProjectForm", novalidate)
.form-group
label #{translate("new_name")}
input.form-control(
type="text",
placeholder="New Project Name",
required,
ng-model="inputs.projectName",
on-enter="clone()",
focus-on="open"
)
.modal-footer
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="cloneProjectForm.$invalid || state.inflight"
ng-click="clone()"
)
span(ng-hide="state.inflight") #{translate("copy")}
span(ng-show="state.inflight") #{translate("copying")} ...
script(type='text/ng-template', id='newProjectModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("new_project")}
.modal-body
.alert.alert-danger(ng-show="state.error.message") {{state.error.message}}
.alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
form(novalidate, name="newProjectForm")
input.form-control(
type="text",
placeholder="Project Name",
required,
ng-model="inputs.projectName",
on-enter="create()",
focus-on="open"
)
.modal-footer
button.btn.btn-default(
ng-disabled="state.inflight"
ng-click="cancel()"
) #{translate("cancel")}
button.btn.btn-primary(
ng-disabled="newProjectForm.$invalid || state.inflight"
ng-click="create()"
)
span(ng-hide="state.inflight") #{translate("create")}
span(ng-show="state.inflight") #{translate("creating")} ...
script(type='text/ng-template', id='archiveTrashLeaveOrDeleteProjectsModalTemplate')
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3(ng-if="action === 'archive'") #{translate("archive_projects")}
h3(ng-if="action === 'trash'") #{translate("trash_projects")}
h3(ng-if="action === 'leave'") #{translate("leave_projects")}
h3(ng-if="action === 'delete'") #{translate("delete_projects")}
h3(ng-if="action === 'leaveOrDelete'") #{translate("delete_and_leave_projects")}
.modal-body
div(ng-if="action !== 'leaveOrDelete'")
p(ng-if="action === 'archive'") #{translate("about_to_archive_projects")}
p(ng-if="action === 'trash'") #{translate("about_to_trash_projects")}
p(ng-if="action === 'leave'") #{translate("about_to_leave_projects")}
p(ng-if="action === 'delete'") #{translate("about_to_delete_projects")}
ul
li(ng-repeat="project in projects | orderBy:'name'")
strong {{project.name}}
.project-action-alert.alert.alert-info(ng-if="action === 'archive'")
.project-action-alert-msg #{translate("archived_projects_info_note")}
a(href="https://www.overleaf.com/blog/new-feature-using-archive-and-trash-to-keep-your-projects-organized").project-action-alert-btn.btn.btn-info.pull-right #{translate("find_out_more")}
.project-action-alert.alert.alert-info(ng-if="action === 'trash'")
.project-action-alert-msg #{translate("trashed_projects_info_note")}
a(href="https://www.overleaf.com/blog/new-feature-using-archive-and-trash-to-keep-your-projects-organized").project-action-alert-btn.btn.btn-info.pull-right #{translate("find_out_more")}
.project-action-alert.alert.alert-warning(ng-if="action === 'leave' || action === 'delete'")
i.fa.fa-fw.fa-exclamation-triangle
.project-action-alert-msg #{translate("this_action_cannot_be_undone")}
div(ng-if="action === 'leaveOrDelete'")
p #{translate("about_to_delete_projects")}
ul
li(ng-repeat="project in projects | filter:{accessLevel: 'owner'} | orderBy:'name'")
strong {{project.name}}
p #{translate("about_to_leave_projects")}
ul
li(ng-repeat="project in projects | filter:{accessLevel: '!owner'} | orderBy:'name'")
strong {{project.name}}
.project-action-alert.alert.alert-warning
i.fa.fa-fw.fa-exclamation-triangle
.project-action-alert-msg #{translate("this_action_cannot_be_undone")}
.modal-footer
button.btn.btn-default(
ng-click="cancel()"
) #{translate("cancel")}
button.btn.btn-danger(
ng-click="confirm()"
) #{translate("confirm")}
script(type="text/template", id="qq-project-uploader-template")
div.qq-uploader-selector
div(qq-hide-dropzone="").qq-upload-drop-area-selector.qq-upload-drop-area
span.qq-upload-drop-area-text-selector #{translate('drop_files_here_to_upload')}
div.qq-upload-button-selector.btn.btn-primary.btn-lg
div #{translate('select_a_zip_file')}
span.or.btn-lg #{translate('or')}
span.drag-here.btn-lg #{translate('drag_a_zip_file')}
span.qq-drop-processing-selector
span #{translate('creating_project')}
span.qq-drop-processing-spinner-selector
ul.qq-upload-list-selector
li
div.qq-progress-bar-container-selector
div(
role="progressbar"
aria-valuenow="0"
aria-valuemin="0"
aria-valuemax="100"
class="qq-progress-bar-selector qq-progress-bar"
)
span.qq-upload-file-selector.qq-upload-file
span.qq-upload-size-selector.qq-upload-size
a(type="button").qq-btn.qq-upload-cancel-selector.qq-upload-cancel #{translate('cancel')}
button(type="button").qq-btn.qq-upload-retry-selector.qq-upload-retry #{translate('retry')}
span(role="status").qq-upload-status-text-selector.qq-upload-status-text
script(type="text/ng-template", id="uploadProjectModalTemplate")
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("upload_zipped_project")}
.modal-body(
fine-upload
endpoint="/project/new/upload"
template-id="qq-project-uploader-template"
multiple="false"
size-limit=zipFileSizeLimit
allowed-extensions="['zip']"
on-complete-callback="onComplete"
)
.modal-footer
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
script(type="text/ng-template", id="showErrorModalTemplate")
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) ×
h3 #{translate("generic_something_went_wrong")}
.modal-body
.alert.alert-danger(ng-show="error.message") {{error.message === "invalid element name" ? "#{translate("invalid_element_name")}" : error.message}}
.alert.alert-danger(ng-show="error && !error.message") #{translate("generic_something_went_wrong")}
.modal-footer
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
script(type="text/ng-template", id="userProfileModalTemplate")
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="done()"
) ×
h3 #{translate("your_profile")}
.modal-body
form(enctype='multipart/form-data', method='post')
.form-group
label(for="first_name") #{translate("first_name")}
input.form-control(
type='text',
name='first_name',
ng-model="userInfoForm.first_name",
placeholder="First Name",
select-when="formVisable"
)
.form-group
label(for="last_name") #{translate("last_name")}
input.form-control(
type='text',
name='last_name',
ng-model="userInfoForm.last_name",
placeholder='Last Name'
)
.form-group.user_details_auto_complete
label(for="institution") #{translate("institution")}
autocomplete(
ng-model="userInfoForm.institution",
name="institution",
data="institutions",
on-type="updateInstitutionsList",
attr-placeholder="Institution",
attr-inputclass="form-control"
)
.form-group.user_details_auto_complete
label(for="role") #{translate("role")}
autocomplete(
ng-model="userInfoForm.role",
name="role",
data="roles",
attr-placeholder="Role",
attr-inputclass="form-control"
)
.modal-footer
button.btn.btn-info(ng-click="done()") #{translate("done")}