mirror of
https://github.com/documize/community.git
synced 2025-07-25 08:09:43 +02:00
[WIP ]space view
Document list renders as per design
This commit is contained in:
parent
4bc08cbdee
commit
acc947c2ed
28 changed files with 518 additions and 553 deletions
|
@ -1,9 +1,5 @@
|
|||
<div class="margin-top-10">
|
||||
<div class="hashtags">
|
||||
{{#each tagz as |tg|}}
|
||||
{{#link-to "search" (query-params filter=tg)}}
|
||||
<div class="chip">
|
||||
<span class="chip-text">{{tg}}</span>
|
||||
</div>
|
||||
{{/link-to}}
|
||||
{{#link-to "search" (query-params filter=tg) class="hashtag"}}{{tg}}{{/link-to}}
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
|
@ -1,28 +1,25 @@
|
|||
{{#if (gt documents.length 0)}}
|
||||
<div class="documents-list">
|
||||
<div class="caption">Documents</div>
|
||||
<div class="view-space">
|
||||
<ul class="documents">
|
||||
{{#each documents key="id" as |document|}}
|
||||
<div id="document-{{document.id}}">
|
||||
<div class="document-item {{if document.selected "selected-card"}}">
|
||||
{{#link-to 'document.index' folder.id folder.slug document.id document.slug class="link"}}
|
||||
<div class="title">{{ document.name }}</div>
|
||||
<div class="snippet">{{ document.excerpt }}</div>
|
||||
<div class="chips">{{folder/document-tags documentTags=document.tags}}</div>
|
||||
{{/link-to}}
|
||||
{{#if session.authenticated}}
|
||||
<div class="checkbox" {{action 'selectDocument' document.id}}>
|
||||
{{#if document.selected}}
|
||||
<i class="material-icons">check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons">check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<li class="document {{if document.selected "selected"}}" id="document-{{document.id}}">
|
||||
{{#link-to 'document.index' folder.id folder.slug document.id document.slug}}
|
||||
<div class="title">{{ document.name }}</div>
|
||||
<div class="snippet">{{ document.excerpt }}</div>
|
||||
{{folder/document-tags documentTags=document.tags}}
|
||||
{{/link-to}}
|
||||
{{#if session.authenticated}}
|
||||
<div class="checkbox" {{action 'selectDocument' document.id}}>
|
||||
{{#if document.selected}}
|
||||
<i class="material-icons">check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons">check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{#if showAdd}}
|
||||
{{empty-state icon="direct" message="You can create new documents via the green + button"}}
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
<div class="sidebar-panel">
|
||||
<div class="folders-list">
|
||||
|
||||
{{#if session.isEditor}}
|
||||
{{#unless showSpace}}
|
||||
<div id="add-space-button" class="regular-button button-white" {{action "onToggleNewSpace"}}>
|
||||
<i class="material-icons">add</i>
|
||||
<div class="name">Space</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="comment-box document-sidebar-form-wrapper">
|
||||
<div class="input-control">
|
||||
<label>New Space</label>
|
||||
<div class="tip">Every space contains related documents</div>
|
||||
{{input type='text' id="new-folder-name" class="mousetrap" value=newFolder}}
|
||||
{{#unless showClone}}
|
||||
<div class="margin-top-30">
|
||||
<a {{action "onToggleCloneOptions"}} >Clone existing space →</a>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="margin-top-30">
|
||||
<p>Clone existing space</p>
|
||||
{{ui-select id="owners-dropdown" content=folders prompt="select space" action=(action 'onCloneSpaceSelect') optionValuePath="id" optionLabelPath="name" selection=cloneSpace}}
|
||||
<div class="margin-top-20" />
|
||||
{{#ui/ui-checkbox selected=copyTemplate}}Templates{{/ui/ui-checkbox}}
|
||||
{{#ui/ui-checkbox selected=copyPermission}}Permissions{{/ui/ui-checkbox}}
|
||||
{{#ui/ui-checkbox selected=copyDocument}}Documents{{/ui/ui-checkbox}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
<div class="regular-button button-blue" {{action "onAdd"}}>Add</div>
|
||||
<div class="flat-button flat-gray" {{action "onToggleNewSpace"}}>Cancel</div>
|
||||
</div>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
|
||||
{{#unless showSpace}}
|
||||
<div class="section">
|
||||
<div class="heading">EVERYONE</div>
|
||||
{{#unless hasPublicFolders}}
|
||||
<div class="message margin-left-15">No global spaces</div>
|
||||
{{/unless}}
|
||||
<ul class="list">
|
||||
{{#each publicFolders as |folder|}}
|
||||
{{#link-to 'folder.index' folder.id folder.slug class="link" activeClass='selected' }}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{#if session.authenticated}}
|
||||
<div class="section">
|
||||
<div class="heading">TEAM</div>
|
||||
{{#unless hasProtectedFolders}}
|
||||
<div class="message margin-left-15">No protected spaces</div>
|
||||
{{/unless}}
|
||||
<ul class="list">
|
||||
{{#each protectedFolders as |folder|}}
|
||||
{{#link-to 'folder.index' folder.id folder.slug class="link" activeClass='selected' }}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<div class="heading">PERSONAL</div>
|
||||
{{#unless hasPrivateFolders}}
|
||||
<div class="message margin-left-15">No private spaces</div>
|
||||
{{/unless}}
|
||||
<ul class="list">
|
||||
{{#each privateFolders as |folder|}}
|
||||
{{#link-to 'folder.index' folder.id folder.slug class="link" activeClass='selected' }}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -1,9 +0,0 @@
|
|||
<div class="sidebar-common">
|
||||
{{layout/sidebar-intro title=appMeta.title message=appMeta.message}}
|
||||
</div>
|
||||
|
||||
<div class="sidebar-wrapper">
|
||||
{{#if (is-equal tab 'index')}}
|
||||
{{folder/sidebar-folders-list folders=folders folder=folder permissions=permissions onAddSpace=(action 'onAddSpace')}}
|
||||
{{/if}}
|
||||
</div>
|
|
@ -1,28 +1,28 @@
|
|||
<div class="pull-left width-60">
|
||||
{{#unless editMode}}
|
||||
<div class="space-heading {{if permissions.spaceOwner 'cursor-pointer'}}" onclick={{if permissions.spaceOwner (action 'toggleEdit')}}>
|
||||
<h1 class="space-name">{{folder.name}}</h1>
|
||||
<div class="space-summary">
|
||||
This space contains {{documents.length}} {{if (eq documents.length 1) 'document' 'documents'}}
|
||||
{{if (eq categories.length 1) (concat 'and ' categories.length ' category')}}
|
||||
{{if (gt categories.length 1) (concat 'and ' categories.length ' categories')}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<form {{action "onSave" on="submit"}}>
|
||||
<div class="edit-space-heading">
|
||||
<div class="input-inline input-transparent edit-space-name">
|
||||
{{focus-input id="folder-name" type="text" value=folderName class=(if hasNameError 'error-inline') placeholder="Name" autocomplete="off"}}
|
||||
</div>
|
||||
<div>
|
||||
<button type="submit" class="round-button-mono" {{action 'onSave'}}>
|
||||
<i class="material-icons color-green">check</i>
|
||||
</button>
|
||||
<div class="round-button-mono" {{action 'onCancel'}}>
|
||||
<i class="material-icons color-gray">close</i>
|
||||
<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')}}>
|
||||
{{folder.name}}
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{else}}
|
||||
<form {{action "onSave" on="submit"}}>
|
||||
<div class="view-space">
|
||||
<div class="heading">
|
||||
<div class="form-group">
|
||||
{{input id="folder-name" type="text" value=folderName 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>
|
||||
|
|
|
@ -1,48 +1,41 @@
|
|||
<div class="margin-bottom-20">
|
||||
{{folder/space-heading folder=folder permissions=permissions documents=documents categories=categories}}
|
||||
{{folder/space-heading folder=folder permissions=permissions}}
|
||||
|
||||
{{folder/space-toolbar folders=folders folder=folder
|
||||
permissions=permissions hasSelectedDocuments=hasSelectedDocuments
|
||||
onDeleteDocument=(action 'onDeleteDocument') onMoveDocument=(action 'onMoveDocument')
|
||||
onDeleteSpace=(action 'onDeleteSpace') onStartDocument=(action 'onStartDocument')}}
|
||||
</div>
|
||||
<div class="clearfix" />
|
||||
{{#if hasCategories}}
|
||||
<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' folder.id}}>All ({{documents.length}})</li>
|
||||
{{#if (gt rootDocCount 0)}}
|
||||
<li class="tab {{if uncategorizedSelected 'selected'}}" {{action 'onDocumentFilter' 'uncategorized' folder.id}}>Uncategorized ({{rootDocCount}})</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="float-left">
|
||||
<div class="view-space">
|
||||
<div class="filter-caption mt-4">{{categories.length}} categories</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>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{folder/documents-list documents=filteredDocs folders=folders folder=folder
|
||||
templates=templates permissions=permissions selectedDocuments=(mut selectedDocuments)}}
|
||||
|
||||
{{#if showStartDocument}}
|
||||
|
||||
{{folder/start-document folder=folder templates=templates permissions=permissions
|
||||
onImport=(action 'onImport') onHideStartDocument=(action 'onHideStartDocument')}}
|
||||
|
||||
{{else}}
|
||||
|
||||
{{#if hasCategories}}
|
||||
{{#if (gt categories.length 0)}}
|
||||
<div class="space-filter">
|
||||
<div class="caption">Space</div>
|
||||
<div class="regular-button {{if spaceSelected 'button-blue' 'button-nav'}}" {{action 'onDocumentFilter' 'space' folder.id}}>
|
||||
<div class="name">all ({{documents.length}})</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="category-filter">
|
||||
<div class="caption">Category</div>
|
||||
{{#if (gt rootDocCount 0)}}
|
||||
<div class="regular-button {{if uncategorizedSelected 'button-blue' 'button-gray'}}" {{action 'onDocumentFilter' 'uncategorized' folder.id}}>
|
||||
<div class="name">uncategorized ({{rootDocCount}})</div>
|
||||
</div>
|
||||
<div class="button-gap"/>
|
||||
{{/if}}
|
||||
{{#each categories as |cat index|}}
|
||||
<div class="regular-button {{if cat.selected 'button-blue' 'button-gray'}}" {{action 'onDocumentFilter' 'category' cat.id}}>
|
||||
{{cat.category}} ({{cat.docCount}})
|
||||
</div>
|
||||
<div class="button-gap"/>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{folder/documents-list documents=filteredDocs folders=folders folder=folder
|
||||
templates=templates permissions=permissions selectedDocuments=(mut selectedDocuments)}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{folder/space-toolbar folders=folders folder=folder
|
||||
permissions=permissions hasSelectedDocuments=hasSelectedDocuments
|
||||
onDeleteDocument=(action 'onDeleteDocument') onMoveDocument=(action 'onMoveDocument')
|
||||
onDeleteSpace=(action 'onDeleteSpace') onStartDocument=(action 'onStartDocument')}}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue