1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-02 20:15:26 +02:00

doc start: empty, template, import

This commit is contained in:
Harvey Kandola 2017-12-15 13:41:20 +00:00
parent e25f23e94c
commit ab475ede04
26 changed files with 521 additions and 349 deletions

View file

@ -1,4 +1,10 @@
<div class="block-editor">
{{component editorType document=document folder=folder page=page meta=meta blockMode=true onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div class="container">
<div class="row">
<div class="col-12">
<div class="block-editor">
{{component editorType document=document folder=folder page=page meta=meta blockMode=true onCancel=(action 'onCancel') onAction=(action 'onAction')}}
</div>
</div>
</div>
</div>

View file

@ -1,77 +1,79 @@
<div class="row">
<div class="col">
<div class="space-admin mt-4 mb-5">
<h1 class="title">Categories</h1>
<p class="sub-title">Sub-divide spaces into categories which can contain documents with restricted access.</p>
<form class="form-inline" onsubmit={{action 'onAdd'}}>
<div class="form-group mr-3">
{{input id="new-category-name" type='text' class="form-control mousetrap" placeholder="Category name" value=newCategory}}
</div>
<button type="button" class="btn btn-success" onclick={{action 'onAdd'}}>Add</button>
</form>
<div class="container">
<div class="row">
<div class="col">
<div class="space-admin mt-4 mb-5">
<h1 class="title">Categories</h1>
<p class="sub-title">Sub-divide spaces into categories which can contain documents with restricted access.</p>
<form class="form-inline" onsubmit={{action 'onAdd'}}>
<div class="form-group mr-3">
{{input id="new-category-name" type='text' class="form-control mousetrap" placeholder="Category name" value=newCategory}}
</div>
<button type="button" class="btn btn-success" onclick={{action 'onAdd'}}>Add</button>
</form>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="space-admin mt-4 mb-5">
<div class="categories">
{{#each category as |cat|}}
<div class="item row">
{{#if cat.editMode}}
<form onsubmit={{action 'onSave' cat.id bubbles=false}} class="col-8">
{{focus-input id=(concat 'edit-category-' cat.id) type="text" value=cat.category class="form-control"}}
</form>
{{else}}
<div class="category col-8">
<div class="name">{{cat.category}}</div>
<div class="info">{{cat.documents}} {{if (eq cat.documents 1) 'document' 'documents' }}, {{cat.users}} {{if (eq cat.users 1) 'person' 'people' }}</div>
</div>
{{/if}}
<div class="col-4 buttons text-right">
<div class="row">
<div class="col">
<div class="space-admin mt-4 mb-5">
<div class="categories">
{{#each category as |cat|}}
<div class="item row">
{{#if cat.editMode}}
<button type="button" class="btn btn-outline-secondary" {{action 'onEditCancel' cat.id}}>Cancel</button>
<button type="button" class="btn btn-outline-success" {{action 'onSave' cat.id}}>Save</button>
<form onsubmit={{action 'onSave' cat.id bubbles=false}} class="col-8">
{{focus-input id=(concat 'edit-category-' cat.id) type="text" value=cat.category class="form-control"}}
</form>
{{else}}
<div id="category-access-button-{{cat.id}}" class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Category access" {{action 'onShowAccessPicker' cat.id}}>
<i class="material-icons">security</i>
</div>
<div class="button-icon-gap" />
<div class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Rename" {{action 'onEdit' cat.id}} >
<i class="material-icons">edit</i>
</div>
<div class="button-icon-gap" />
<div id="{{concat 'delete-category-' cat.id}}" class="button-icon-danger align-middle" data-toggle="tooltip" data-placement="top" title="Delete" {{action 'onShowDelete' cat.id}}>
<i class="material-icons">delete</i>
<div class="category col-8">
<div class="name">{{cat.category}}</div>
<div class="info">{{cat.documents}} {{if (eq cat.documents 1) 'document' 'documents' }}, {{cat.users}} {{if (eq cat.users 1) 'person' 'people' }}</div>
</div>
{{/if}}
<div class="col-4 buttons text-right">
{{#if cat.editMode}}
<button type="button" class="btn btn-outline-secondary" {{action 'onEditCancel' cat.id}}>Cancel</button>
<button type="button" class="btn btn-outline-success" {{action 'onSave' cat.id}}>Save</button>
{{else}}
<div id="category-access-button-{{cat.id}}" class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Category access" {{action 'onShowAccessPicker' cat.id}}>
<i class="material-icons">security</i>
</div>
<div class="button-icon-gap" />
<div class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Rename" {{action 'onEdit' cat.id}} >
<i class="material-icons">edit</i>
</div>
<div class="button-icon-gap" />
<div id="{{concat 'delete-category-' cat.id}}" class="button-icon-danger align-middle" data-toggle="tooltip" data-placement="top" title="Delete" {{action 'onShowDelete' cat.id}}>
<i class="material-icons">delete</i>
</div>
{{/if}}
</div>
</div>
</div>
{{else}}
<div class="margin-top-30"><i>No categories</i></div>
{{/each}}
{{else}}
<div class="margin-top-30"><i>No categories</i></div>
{{/each}}
</div>
</div>
</div>
</div>
</div>
<div id="category-delete-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Category Deletion</div>
<div class="modal-body">
<p>Are you sure you want to delete this category?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick={{action 'onDelete'}}>Delete</button>
<div id="category-delete-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Category Deletion</div>
<div class="modal-body">
<p>Are you sure you want to delete this category?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick={{action 'onDelete'}}>Delete</button>
</div>
</div>
</div>
</div>
</div>
{{#ui/ui-dialog title="Set Cateogory Access" confirmCaption="Save" buttonType="btn-outline-success" show=showCategoryAccess onAction=(action 'onGrantAccess')}}
<p>Select who can view documents within category</p>
{{ui/ui-list-picker items=categoryUsers nameField='fullname' singleSelect=false}}
{{/ui/ui-dialog}}
{{#ui/ui-dialog title="Set Cateogory Access" confirmCaption="Save" buttonType="btn-outline-success" show=showCategoryAccess onAction=(action 'onGrantAccess')}}
<p>Select who can view documents within category</p>
{{ui/ui-list-picker items=categoryUsers nameField='fullname' singleSelect=false}}
{{/ui/ui-dialog}}
</div>

View file

@ -4,8 +4,8 @@
<div class="modal-header">Space Permissions</div>
<div class="modal-body" style="overflow-x: auto;">
<div class="space-admin">
<table class="table table-hover table-responsive permission-table">
<div class="space-admin table-responsive">
<table class="table table-hover permission-table">
<thead>
<tr>
<th></th>

View file

@ -1,28 +1,30 @@
<div class="row">
<div class="col">
<div class="mt-4 mb-5">
<div class="container">
<div class="row">
<div class="col">
<div class="mt-4 mb-5">
{{#unless editMode}}
<div class="view-space">
<div class="heading">
<h1 class="view-heading {{if permissions.spaceOwner 'cursor-pointer'}}" onclick={{if permissions.spaceOwner (action 'toggleEdit')}}>
{{space.name}}
</h1>
</div>
</div>
{{else}}
<form {{action "onSave" on="submit"}}>
{{#unless editMode}}
<div class="view-space">
<div class="heading">
<div class="form-group">
{{input id="space-name" type="text" value=spaceName class=(if hasNameError 'form-control is-invalid' 'form-control') placeholder="Space name" autocomplete="off"}}
<small class="form-text text-muted">Press Enter to save or Escape to cancel</small>
</div>
<h1 class="view-heading {{if permissions.spaceOwner 'cursor-pointer'}}" onclick={{if permissions.spaceOwner (action 'toggleEdit')}}>
{{space.name}}
</h1>
</div>
</div>
</form>
{{/unless}}
{{else}}
<form {{action "onSave" on="submit"}}>
<div class="view-space">
<div class="heading">
<div class="form-group">
{{input id="space-name" type="text" value=spaceName class=(if hasNameError 'form-control is-invalid' 'form-control') placeholder="Space name" autocomplete="off"}}
<small class="form-text text-muted">Press Enter to save or Escape to cancel</small>
</div>
</div>
</div>
</form>
{{/unless}}
</div>
</div>
</div>
</div>

View file

@ -1,44 +1,52 @@
{{folder/space-heading space=space permissions=permissions }}
<div class="clearfix">
<div class="float-left mr-5">
<div class="view-space">
<div class="filter-caption mt-4">{{documents.length}} documents</div>
<ul class="tabnav-control">
<li class="tab {{if spaceSelected 'selected'}}" {{action 'onDocumentFilter' 'space' space.id}}>All ({{documents.length}})</li>
{{#if hasCategories}}
{{#if (gt rootDocCount 0)}}
<li class="tab {{if uncategorizedSelected 'selected'}}" {{action 'onDocumentFilter' 'uncategorized' space.id}}>Uncategorized ({{rootDocCount}})</li>
{{/if}}
{{/if}}
</ul>
</div>
</div>
<div class="float-left">
<div class="view-space">
<div class="filter-caption mt-4">
{{categories.length}} categories
{{#if hasCategories}}
{{#if spaceSettings}}
&nbsp;&nbsp;{{#link-to 'folder.category' space.id space.slug class="admin-link margin-top-5"}}{{categoryLinkName}}&nbsp;&rarr;{{/link-to}}
{{/if}}
{{/if}}
<div class="container">
<div class="row">
<div class="col-12 clearfix">
<div class="float-left mr-5">
<div class="view-space">
<div class="filter-caption mt-4">{{documents.length}} documents</div>
<ul class="tabnav-control">
<li class="tab {{if spaceSelected 'selected'}}" {{action 'onDocumentFilter' 'space' space.id}}>All ({{documents.length}})</li>
{{#if hasCategories}}
{{#if (gt rootDocCount 0)}}
<li class="tab {{if uncategorizedSelected 'selected'}}" {{action 'onDocumentFilter' 'uncategorized' space.id}}>Uncategorized ({{rootDocCount}})</li>
{{/if}}
{{/if}}
</ul>
</div>
</div>
<ul class="tabnav-control">
{{#each categories as |cat index|}}
<li class="tab {{if cat.selected 'selected'}}" {{action 'onDocumentFilter' 'category' cat.id}}>{{cat.category}} ({{cat.docCount}})</li>
{{/each}}
</ul>
<div class="float-left">
<div class="view-space">
<div class="filter-caption mt-4">
{{categories.length}} categories
{{#if hasCategories}}
{{#if spaceSettings}}
&nbsp;&nbsp;{{#link-to 'folder.category' space.id space.slug class="admin-link margin-top-5"}}{{categoryLinkName}}&nbsp;&rarr;{{/link-to}}
{{/if}}
{{/if}}
</div>
<ul class="tabnav-control">
{{#each categories as |cat index|}}
<li class="tab {{if cat.selected 'selected'}}" {{action 'onDocumentFilter' 'category' cat.id}}>{{cat.category}} ({{cat.docCount}})</li>
{{/each}}
</ul>
{{#unless hasCategories}}
{{#if spaceSettings}}
{{#link-to 'folder.category' space.id space.slug class="admin-link margin-top-5"}}{{categoryLinkName}}&nbsp;&rarr;{{/link-to}}
{{/if}}
{{/unless}}
{{#unless hasCategories}}
{{#if spaceSettings}}
{{#link-to 'folder.category' space.id space.slug class="admin-link margin-top-5"}}{{categoryLinkName}}&nbsp;&rarr;{{/link-to}}
{{/if}}
{{/unless}}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
{{folder/documents-list documents=filteredDocs spaces=spaces space=space
templates=templates permissions=permissions
onDeleteDocument=(action 'onDeleteDocument') onMoveDocument=(action 'onMoveDocument')}}
</div>
</div>
</div>
{{folder/documents-list documents=filteredDocs spaces=spaces space=space
templates=templates permissions=permissions
onDeleteDocument=(action 'onDeleteDocument') onMoveDocument=(action 'onMoveDocument')}}

View file

@ -1,48 +1,49 @@
<div class="row">
<div class="col">
<div class="mt-4 mb-5">
<div class="container">
<div class="row">
<div class="col">
<div class="mt-4 mb-5">
<div class="view-spaces">
<div class="heading">EVERYONE <div class="counter">({{publicFolders.length}})</div></div>
{{#unless hasPublicFolders}}
<p>No global spaces</p>
{{/unless}}
<ul class="list clearfix">
{{#each publicFolders as |folder|}}
{{#link-to 'folder.index' folder.id folder.slug}}
<li class="item">{{ folder.name }}</li>
{{/link-to}}
{{/each}}
</ul>
{{#if session.authenticated}}
<div class="heading">TEAM <div class="counter">({{protectedFolders.length}})</div></div>
{{#unless hasProtectedFolders}}
<p>No team spaces</p>
<div class="view-spaces">
<div class="heading">EVERYONE <div class="counter">({{publicFolders.length}})</div></div>
{{#unless hasPublicFolders}}
<p>No global spaces</p>
{{/unless}}
<ul class="list clearfix">
{{#each protectedFolders as |folder|}}
{{#each publicFolders as |folder|}}
{{#link-to 'folder.index' folder.id folder.slug}}
<li class="item">{{ folder.name }}</li>
{{/link-to}}
{{/each}}
</ul>
<div class="heading">PERSONAL <div class="counter">({{privateFolders.length}})</div></div>
{{#unless hasPrivateFolders}}
<p>No personal spaces</p>
{{/unless}}
<ul class="list clearfix">
{{#each privateFolders as |folder|}}
{{#link-to 'folder.index' folder.id folder.slug}}
<li class="item">{{ folder.name }}</li>
{{/link-to}}
{{/each}}
</ul>
{{/if}}
{{#if session.authenticated}}
<div class="heading">TEAM <div class="counter">({{protectedFolders.length}})</div></div>
{{#unless hasProtectedFolders}}
<p>No team spaces</p>
{{/unless}}
<ul class="list clearfix">
{{#each protectedFolders as |folder|}}
{{#link-to 'folder.index' folder.id folder.slug}}
<li class="item">{{ folder.name }}</li>
{{/link-to}}
{{/each}}
</ul>
<div class="heading">PERSONAL <div class="counter">({{privateFolders.length}})</div></div>
{{#unless hasPrivateFolders}}
<p>No personal spaces</p>
{{/unless}}
<ul class="list clearfix">
{{#each privateFolders as |folder|}}
{{#link-to 'folder.index' folder.id folder.slug}}
<li class="item">{{ folder.name }}</li>
{{/link-to}}
{{/each}}
</ul>
{{/if}}
</div>
</div>
</div>
</div>
</div>

View file

@ -1,7 +1,9 @@
{{#toolbar/t-toolbar}}
{{#toolbar/t-links}}
{{#link-to "folders" class="link" tagName="li"}}Spaces{{/link-to}}
{{/toolbar/t-links}}
{{#toolbar/t-actions}}
{{#if spaceSettings}}
<div id="space-invite-button" class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Invite to space">
@ -80,27 +82,97 @@
{{/if}}
{{#if permissions.documentAdd}}
<button type="button" class="btn btn-success font-weight-bold" data-toggle="modal" data-target="#add-space-modal" data-backdrop="static">+ DOCUMENT</button>
<div id="add-space-modal" class="modal" tabindex="-1" role="dialog">
<div class="btn-group" role="group">
<button id="btnGroupDocument" type="button" class="btn btn-success font-weight-bold dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">+ DOCUMENT</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="btnGroupDocument">
<a class="dropdown-item" href="#" {{action 'onShowEmptyDocModal'}}>Empty document</a>
{{#if hasTemplates}}
<a class="dropdown-item" href="#" {{action 'onShowTemplateDocModal'}}>From template</a>
{{/if}}
<a class="dropdown-item" href="#" {{action 'onShowImportDocModal'}}>Import files</a>
</div>
</div>
<div id="empty-doc-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">New Document</div>
<div class="modal-header">Empty Document</div>
<div class="modal-body">
<form onsubmit={{action 'onAddSpace'}}>
{{folder/start-document folder=space templates=templates permissions=permissions
onImport=(action 'onImport') onHideStartDocument=(action 'onHideStartDocument')}}
<form onsubmit={{action 'onAddEmptyDoc'}}>
<div class="form-group">
<label for="empty-doc-name">Document Name</label>
{{input id="empty-doc-name" type="text" value=emptyDocName placeholder="Enter name" class=(if emptyDocNameError 'form-control mousetrap is-invalid' 'form-control mousetrap') autocomplete="off"}}
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-success" onclick={{action 'onAddSpace'}}>Add</button>
<button type="button" class="btn btn-success" onclick={{action 'onAddEmptyDoc'}}>Add</button>
</div>
</div>
</div>
</div>
<div id="template-doc-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Document From Template</div>
<div class="modal-body">
<form onsubmit={{action 'onAddTemplateDoc'}}>
<div class="form-group">
<label for="template-doc-name">Document Name</label>
{{input id="template-doc-name" type="text" value=templateDocName placeholder="Enter name" class=(if templateDocNameError 'form-control mousetrap is-invalid' 'form-control mousetrap') autocomplete="off"}}
</div>
<div class="widget-list-picker">
<ul class="options">
{{#each templates as |item|}}
<li class="option {{if item.selected 'selected'}}" {{action 'onSelectTemplate' item}}>
<div class="text text-truncate">
{{item.title}}<br/>{{item.description}}
</div>
{{#if item.selected}}
<i class="material-icons">check</i>
{{/if}}
</li>
{{/each}}
</ul>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-success" onclick={{action 'onAddTemplateDoc'}}>Add</button>
</div>
</div>
</div>
</div>
<div id="import-doc-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Import Documents</div>
<div class="modal-body">
<div class="import-zone">
<button id="import-document-button" type="button" class="btn btn-outline-secondary btn-lg btn-block">
<br/>
Click to select files or drag-drop files
<br/><br/>
<span class="font-italic">.doc, .docx, .md, .markdown</span>
<br/><br/>
</button>
<div class="import-status">
{{#each importStatus as |status|}}
<p>{{status}}</p>
{{/each}}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
{{/if}}
{{/toolbar/t-actions}}
{{/toolbar/t-toolbar}}
{{folder/permission-admin folders=spaces folder=space}}
{{folder/permission-admin folders=spaces folder=space}}

View file

@ -1,4 +1,4 @@
<div id="nav-bar" class="nav-bar clearfix">
<div id="nav-bar" class="nav-bar clearfix container-fluid">
<div class="row no-gutters">
<div class="col col-sm-9">
{{#link-to "folders" class='nav-link'}}

View file

@ -1,3 +1,5 @@
<div class="row">
{{yield}}
<div class="container">
<div class="row no-gutters">
{{yield}}
</div>
</div>