mirror of
https://github.com/documize/community.git
synced 2025-08-02 20:15:26 +02:00
Per space label, icon, description
Labels introduce visual grouping and filtering of spaces.
This commit is contained in:
parent
fe8068965c
commit
a211ba051a
106 changed files with 3280 additions and 1008 deletions
78
gui/app/templates/components/customize/space-labels.hbs
Normal file
78
gui/app/templates/components/customize/space-labels.hbs
Normal file
|
@ -0,0 +1,78 @@
|
|||
<div class="view-customize">
|
||||
{{ui/ui-button
|
||||
light=true
|
||||
color=constants.Color.Green
|
||||
icon=constants.Icon.Checkbox
|
||||
label=constants.Label.Add
|
||||
onClick=(action "onShowAddModal")}}
|
||||
|
||||
{{ui/ui-spacer size=300}}
|
||||
|
||||
<ul class="space-labels">
|
||||
{{#each labels as |label|}}
|
||||
<li class="label" style={{concat "background-color:" label.color ";"}}>
|
||||
<div class="grid-container-6-4">
|
||||
<div class="grid-cell-1 grid-cell-middle">
|
||||
{{label.name}}
|
||||
</div>
|
||||
<div class="grid-cell-2 grid-cell-right">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=false large=false bordered=false}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Edit color=constants.Color.Green tooltip="Update label" onClick=(action "onShowUpdateModal" label)}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Delete color=constants.Color.Red tooltip="Delete label" onClick=(action "onShowDeleteModal" label)}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="add-label-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Add Label</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="add-label-name">Name</label>
|
||||
{{input type="text" id="add-label-name" class="form-control mousetrap" placeholder="Label name" value=labelName}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Color</label>
|
||||
{{ui/label-color-picker onChange=(action "onSetColor")}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Cancel dismiss=true}}
|
||||
{{ui/ui-button-gap}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Add onClick=(action "onAdd")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="edit-label-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Update Label</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="edit-label-name">Name</label>
|
||||
{{input type="text" id="edit-label-name" class="form-control mousetrap" placeholder="Label name" value=labelName}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Color</label>
|
||||
{{ui/label-color-picker onChange=(action "onSetColor")}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Cancel dismiss=true}}
|
||||
{{ui/ui-button-gap}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Save onClick=(action "onUpdate")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Delete Label" confirmCaption="Delete" buttonColor=constants.Color.Red show=showDeleteDialog onAction=(action "onDelete")}}
|
||||
<p>Are you sure you want to delete the label <b>{{deleteLabel.name}}?</b></p>
|
||||
{{/ui/ui-dialog}}
|
|
@ -203,6 +203,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Close dismiss=true}}
|
||||
{{ui/ui-button-gap}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Update onClick=(action "onUpdate")}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,16 @@
|
|||
<div class="no-print">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
|
||||
|
||||
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false}}
|
||||
{{#ui/ui-toolbar-icon icon=constants.Icon.Export color=constants.Color.Gray tooltip="Print, PDF, Export"}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<ul class="menu">
|
||||
<li class="item" {{action "onExport"}}>Export as HTML file</li>
|
||||
<li class="item" {{action "onPDF"}}>Download as PDF</li>
|
||||
<li class="item" {{action "onPrintDocument"}}>Print...</li>
|
||||
</ul>
|
||||
{{/attach-popover}}
|
||||
{{/ui/ui-toolbar-icon}}
|
||||
|
||||
{{#if pinState.isPinned}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.BookmarkDelete color=constants.Color.Yellow
|
||||
tooltip="Remove from bookmarks" onClick=(action "onUnpin")}}
|
||||
|
@ -8,9 +19,31 @@
|
|||
tooltip="Bookmark" onClick=(action "onPin")}}
|
||||
{{/if}}
|
||||
|
||||
{{#if permissions.documentAdd}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Copy color=constants.Color.Gray
|
||||
tooltip="Save as template" onClick=(action "onShowTemplateModal")}}
|
||||
{{#if permissions.documentEdit}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Gray
|
||||
tooltip="Rename, Categories, Tag, Status, Workflow" linkTo="document.settings"}}
|
||||
{{/if}}
|
||||
{{/ui/ui-toolbar}}
|
||||
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if permissions.documentEdit}}
|
||||
{{#ui/ui-toolbar-icon icon=constants.Icon.UserAssign color=constants.Color.Gray tooltip="Actions & Sharing"}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<ul class="menu">
|
||||
<li class="item" {{action "onShowRequestContributionModal"}}>Request contribution</li>
|
||||
<li class="item" {{action "onShowRequestFeedbackModal"}}>Request feedback</li>
|
||||
<li class="item" {{action "onShowRequestReadModal"}}>Request read</li>
|
||||
{{#if (eq document.lifecycle constants.Lifecycle.Draft)}}
|
||||
<li class="divider"/>
|
||||
<li class="item" {{action "onShowPublishModal"}}>Request publication</li>
|
||||
{{/if}}
|
||||
<li class="divider"/>
|
||||
<li class="item" {{action "onShareModal"}}>Share via secure external link</li>
|
||||
</ul>
|
||||
{{/attach-popover}}
|
||||
{{/ui/ui-toolbar-icon}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showActivity}}
|
||||
|
@ -23,21 +56,15 @@
|
|||
tooltip="Revisions and rollback" linkTo="document.revisions"}}
|
||||
{{/if}}
|
||||
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Download color=constants.Color.Gray
|
||||
tooltip="Download as HTML file" onClick=(action "onExport")}}
|
||||
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Print color=constants.Color.Gray
|
||||
tooltip="Print" onClick=(action "onPrintDocument")}}
|
||||
{{#if permissions.documentAdd}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Copy color=constants.Color.Gray
|
||||
tooltip="Save as template" onClick=(action "onShowTemplateModal")}}
|
||||
{{/if}}
|
||||
|
||||
{{#if permissions.documentDelete}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Delete color=constants.Color.Gray
|
||||
tooltip="Delete" onClick=(action "onShowDeleteModal")}}
|
||||
{{/if}}
|
||||
|
||||
{{#if permissions.documentEdit}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Green
|
||||
tooltip="Rename, metadata, workflow" linkTo="document.settings"}}
|
||||
{{/if}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="title center">attachments</div>
|
||||
{{#if canEdit}}
|
||||
<div class="text-center">
|
||||
{{#ui/ui-toolbar dark=true raised=true large=false bordered=true}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="Upload Files" id="upload-document-files"}}
|
||||
{{/ui/ui-toolbar}}
|
||||
{{ui/ui-spacer size=100}}
|
||||
{{ui/ui-button color=constants.Color.Gray label="Upload" id="upload-document-files"}}
|
||||
{{ui/ui-spacer size=100}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{{ui/ui-toolbar-label label=document.versionId color=constants.Color.Gray}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
<li class="item header">Select document version</li>
|
||||
<li class="item header">Select version to view</li>
|
||||
{{#each versions as |version|}}
|
||||
<a class="item" href="#" {{action "onSelectVersion" version}}>{{version.versionId}}</a>
|
||||
{{/each}}
|
||||
|
|
|
@ -1,21 +1,53 @@
|
|||
{{layout/logo-heading
|
||||
title="General Options"
|
||||
desc="Set options to control how people interact with this space"
|
||||
title="Space Meta"
|
||||
desc="Set space visibility, icon and label"
|
||||
icon=constants.Icon.Settings}}
|
||||
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<label>Space Name</label>
|
||||
<label>Name</label>
|
||||
{{focus-input id="space-name" type="text" value=spaceName class=(if hasNameError "form-control is-invalid" "form-control") placeholder="Space name" autocomplete="off"}}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Space Type</label>
|
||||
<label>Description</label>
|
||||
{{focus-input id="space-desc" type="text" value=spaceDesc class="form-control" placeholder="Space description" autocomplete="off"}}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Visibility</label>
|
||||
{{ui/ui-select id="spacetypes-dropdown" content=spaceTypeOptions optionValuePath="id" optionLabelPath="label" selection=spaceType action=(action "onSetSpaceType")}}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Enable Like/Dislike Feedback</label>
|
||||
<label>Icon</label>
|
||||
<div class="ui-icon-picker">
|
||||
<ul class="list">
|
||||
{{#each iconList as |icon|}}
|
||||
<li class="item {{if (eq spaceIcon icon) "selected"}}" {{action "onSetIcon" icon}}>
|
||||
{{ui/ui-icon-meta icon=icon}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Label</label>
|
||||
<ul class="space-label-picker">
|
||||
<li class="label none {{if (eq spaceLabel "") "selected"}}" {{action "onSetLabel" ""}}>None</li>
|
||||
{{#each labels as |label|}}
|
||||
<li class="label {{if (eq spaceLabel label.id) "selected"}}"
|
||||
style={{concat "background-color:" label.color ";"}}
|
||||
{{action "onSetLabel" label.id}} title={{label.name}}>
|
||||
{{label.name}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Enable Feedback</label>
|
||||
{{x-toggle value=allowLikes size="medium" theme="light" onToggle=(action (mut allowLikes))}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
{{ui/ui-spacer size=300}}
|
||||
|
||||
<div class="title">label</div>
|
||||
<div class="label">Unclassified</div>
|
||||
{{#if (eq space.labelId "")}}
|
||||
<div class="label">Unclassified</div>
|
||||
{{else}}
|
||||
<div class="label" style={{{spaceLabel.bgColor}}}>{{spaceLabel.name}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{ui/ui-spacer size=200}}
|
||||
|
||||
|
|
|
@ -1,7 +1,13 @@
|
|||
<div class="logo-heading">
|
||||
<div class="image">
|
||||
<i class="dicon {{icon}}" />
|
||||
</div>
|
||||
{{#if icon}}
|
||||
<div class="icon">
|
||||
<i class="dicon {{icon}}" />
|
||||
</div>
|
||||
{{else if meta}}
|
||||
<div class="meta-icon">
|
||||
{{ui/ui-icon-meta icon=meta}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="text">
|
||||
{{layout/page-heading title=title}}
|
||||
{{layout/page-desc desc=desc}}
|
||||
|
|
|
@ -1,38 +1,40 @@
|
|||
<div class="master-navbar">
|
||||
<div class="nav-content">
|
||||
<div class="nav-options">
|
||||
{{#link-to "folders" class=(if (eq selectedItem "spaces") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Grid1}}></i>
|
||||
<div class="name">spaces</div>
|
||||
{{/link-to}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if session.viewDashboard}}
|
||||
{{#link-to "dashboard" class=(if (eq selectedItem "actions") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.ListBullet}}></i>
|
||||
<div class="name">actions</div>
|
||||
{{/link-to}}
|
||||
{{#link-to "activity" class=(if (eq selectedItem "activity") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Pulse}}></i>
|
||||
<div class="name">activity</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#if session.viewAnalytics}}
|
||||
{{#link-to "analytics" class=(if (eq selectedItem "analytics") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.BarChart}}></i>
|
||||
<div class="name">reports</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if (and session.authenticated session.isAdmin)}}
|
||||
{{#link-to "customize.general" class=(if (eq selectedItem "settings") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Settings}}></i>
|
||||
<div class="name">Settings</div>
|
||||
{{#unless hideNavigation}}
|
||||
{{#link-to "folders" class=(if (eq selectedItem "spaces") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Grid}}></i>
|
||||
<div class="name">spaces</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#link-to "search" class=(if (eq selectedItem "search") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Search}}></i>
|
||||
<div class="name">search</div>
|
||||
{{/link-to}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if session.viewDashboard}}
|
||||
{{#link-to "action" class=(if (eq selectedItem "actions") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.ListBullet}}></i>
|
||||
<div class="name">actions</div>
|
||||
{{/link-to}}
|
||||
{{#link-to "activity" class=(if (eq selectedItem "activity") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Pulse}}></i>
|
||||
<div class="name">activity</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#if session.viewAnalytics}}
|
||||
{{#link-to "analytics" class=(if (eq selectedItem "analytics") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.BarChart}}></i>
|
||||
<div class="name">reports</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if (and session.authenticated session.isAdmin)}}
|
||||
{{#link-to "customize.general" class=(if (eq selectedItem "settings") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Settings}}></i>
|
||||
<div class="name">Settings</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#link-to "search" class=(if (eq selectedItem "search") "option selected" "option")}}
|
||||
<i class={{concat "dicon " constants.Icon.Search}}></i>
|
||||
<div class="name">search</div>
|
||||
{{/link-to}}
|
||||
{{/unless}}
|
||||
</div>
|
||||
|
||||
<div class="meta">
|
||||
|
|
1
gui/app/templates/components/spaces/space-label.hbs
Normal file
1
gui/app/templates/components/spaces/space-label.hbs
Normal file
|
@ -0,0 +1 @@
|
|||
{{label.name}}
|
|
@ -4,10 +4,17 @@
|
|||
{{#link-to "folder.index" space.id space.slug}}
|
||||
<li class="item">
|
||||
<div class="info">
|
||||
<div class="name">{{space.name}}</div>
|
||||
<div class="desc">Some description that is to be wired up to the backend</div>
|
||||
<div class="name">
|
||||
{{#if space.icon}}
|
||||
<div class="icon">
|
||||
{{ui/ui-icon-meta icon=space.icon}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{space.name}}
|
||||
</div>
|
||||
<div class="desc">{{space.desc}} </div>
|
||||
<div class="meta">
|
||||
{{#if (eq space.spaceType constants.SpaceType.Public)}}
|
||||
{{!-- {{#if (eq space.spaceType constants.SpaceType.Public)}}
|
||||
<i class={{concat "dicon " constants.Icon.World}}>
|
||||
{{#attach-tooltip showDelay=1000}}Public space{{/attach-tooltip}}
|
||||
</i>
|
||||
|
@ -21,16 +28,19 @@
|
|||
<i class={{concat "dicon " constants.Icon.Person}}>
|
||||
{{#attach-tooltip showDelay=1000}}Personal space{{/attach-tooltip}}
|
||||
</i>
|
||||
{{/if}} --}}
|
||||
{{#if space.labelId}}
|
||||
{{spaces/space-label labels=labels labelId=space.labelId}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats">
|
||||
<div class="stat">
|
||||
<div class="number">18</div>
|
||||
<div class="number">{{space.countContent}}</div>
|
||||
<div class="label">items</div>
|
||||
</div>
|
||||
<div class="stat">
|
||||
<div class="number">5</div>
|
||||
<div class="number">{{space.countCategory}}</div>
|
||||
<div class="label">categories</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
8
gui/app/templates/components/ui/label-color-picker.hbs
Normal file
8
gui/app/templates/components/ui/label-color-picker.hbs
Normal file
|
@ -0,0 +1,8 @@
|
|||
<div class="label-color-picker">
|
||||
{{#each colors as |color|}}
|
||||
<div class="color {{if color.selected "selected"}}"
|
||||
style={{concat "background-color: " color.code ";"}}
|
||||
{{action "onSelect" color.code}}>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
|
@ -1,14 +1,7 @@
|
|||
<div class="theme-picker">
|
||||
{{#each themes as |theme|}}
|
||||
<div class="theme" style={{concat "background-color: " theme.primary}} {{action "onSelect" theme.name}}>
|
||||
<div class="theme {{if theme.selected "selected"}}" style={{concat "background-color: " theme.primary}} {{action "onSelect" theme.name}}>
|
||||
{{theme.name}}
|
||||
<div class="tick">
|
||||
{{#if theme.selected}}
|
||||
✓
|
||||
{{else}}
|
||||
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
0
gui/app/templates/components/ui/ui-icon-meta.hbs
Normal file
0
gui/app/templates/components/ui/ui-icon-meta.hbs
Normal file
|
@ -1,3 +1,4 @@
|
|||
{{#if tooltip}}
|
||||
{{#attach-tooltip showDelay=1000}}{{tooltip}}{{/attach-tooltip}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{yield}}
|
Loading…
Add table
Add a link
Reference in a new issue