1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-05 13:35:25 +02:00

moved emberjs to gui folder

This commit is contained in:
Harvey Kandola 2017-07-19 14:48:33 +01:00
parent 6a18d18f91
commit dc49dbbeff
999 changed files with 677 additions and 651 deletions

View file

@ -0,0 +1,2 @@
{{outlet}}
{{user-notification notification="message"}}

View file

@ -0,0 +1,5 @@
{{#link-to 'folder' folder.id folder.slug}}
<div class="zone-sidebar-title">
<i class="material-icons">arrow_back</i>&nbsp;{{folder.name}}
</div>
{{/link-to}}

View file

@ -0,0 +1,72 @@
<form class=>
<div class="form-header">
<div class="title">Authentication</div>
<div class="tip">Determine the method for user authentication</div>
</div>
<div class="input-control">
<label>Provider</label>
<div class="tip">External authentication servers, services must be accessible from the server running this Documize instance</div>
{{#ui/ui-radio selected=isDocumizeProvider onClick=(action 'onDocumize')}}Documize &mdash; email/password{{/ui/ui-radio}}
{{#ui/ui-radio selected=isKeycloakProvider onClick=(action 'onKeycloak')}}Keycloak &mdash; bring your own authentication server{{/ui/ui-radio}}
</div>
{{#if isKeycloakProvider}}
<div class="form-header">
<div class="title">Keycloak Configuration</div>
<div class="tip">Connection parameters &mdash; create a documize user in Master realm with 'manage-users' role against target realm</div>
</div>
<div class="input-control">
<label>Keycloak Server URL</label>
<div class="tip">e.g. http://localhost:8888/auth</div>
{{focus-input id="keycloak-url" type="text" value=keycloakConfig.url class=(if KeycloakUrlError 'error')}}
</div>
<div class="input-control">
<label>Keycloak Realm</label>
<div class="tip">e.g. main</div>
{{input id="keycloak-realm" type="text" value=keycloakConfig.realm class=(if keycloakRealmError 'error')}}
</div>
<div class="input-control">
<label>Keycloak Realm Public Key</label>
<div class="tip">Copy the RSA Public Key from Realm Settings &rarr; Keys</div>
{{textarea id="keycloak-publicKey" type="text" value=keycloakConfig.publicKey rows=7 class=(if KeycloakPublicKeyError 'error')}}
</div>
<div class="input-control">
<label>Keycloak OIDC Client ID</label>
<div class="tip">e.g. account</div>
{{input id="keycloak-clientId" type="text" value=keycloakConfig.clientId class=(if KeycloakClientIdError 'error')}}
</div>
<div class="input-control">
<label>Keycloak Group ID (Optional)</label>
<div class="tip">If you want to sync users in a particular Group (e.g. 'Documize Users'), provide the Group ID (e.g. 511d8b61-1ec8-45f6-bc8d-5de64d54c9d2)</div>
{{input id="keycloak-group" type="text" value=keycloakConfig.group}}
</div>
<div class="input-control">
<label>Keycloak Username</label>
<div class="tip">Used to connect with Keycloak and sync users with Documize (create user under Master Realm and assign 'view-users' role against Realm specified above)</div>
{{input id="keycloak-admin-user" type="text" value=keycloakConfig.adminUser class=(if KeycloakAdminUserError 'error')}}
</div>
<div class="input-control">
<label>Keycloak Password</label>
<div class="tip">Used to connect with Keycloak and sync users with Documize</div>
{{input id="keycloak-admin-password" type="password" value=keycloakConfig.adminPassword class=(if KeycloakAdminPasswordError 'error')}}
</div>
<div class="input-control">
<label>Disable Logout</label>
<div class="tip">Hide the logout button for Keycloak users</div>
<div class="checkbox">
{{input type="checkbox" checked=keycloakConfig.disableLogout}}
<label for="allowAnonymousAccess">Do not show logout button</label>
</div>
</div>
<div class="input-control">
<label>Grant Add Space Permission</label>
<div class="tip">Determine if Keycloak sync'ed users permission to add new spaces</div>
<div class="checkbox">
{{input type="checkbox" checked=keycloakConfig.defaultPermissionAddSpace}}
<label for="allowAnonymousAccess">Can add spaces</label>
</div>
</div>
{{/if}}
<div class="regular-button button-blue" {{action 'onSave'}}>save</div>
</form>

View file

@ -0,0 +1,30 @@
<form>
<div class="form-header">
<div class="title">Instance Settings</div>
<div class="tip">Settings applicable to your Documize instance</div>
</div>
<div class="input-control">
<label>Title</label>
<div class="tip">Describe the title of this Documize instance</div>
{{focus-input id="siteTitle" type="text" value=model.general.title class=(if hasTitleInputError 'error')}}
</div>
<div class="input-control">
<label>Message</label>
<div class="tip">Describe the purpose of this Documize instance</div>
{{textarea id="siteMessage" rows="3" value=model.general.message class=(if hasMessageInputError 'error')}}
</div>
<div class="input-control">
<label>Anonymous Access</label>
<div class="tip">Content within "Everyone" will be made available to anonymous users</div>
<div class="checkbox">
<input type="checkbox" id="allowAnonymousAccess" checked={{model.general.allowAnonymousAccess}} />
<label for="allowAnonymousAccess">Allow anyone to access this Documize instance</label>
</div>
</div>
<div class="input-control">
<label>Conversion Service URL</label>
<div class="tip">Endpoint for handling import/export (e.g. https://api.documize.com, <a href="https://docs.documize.com/s/WNEpptWJ9AABRnha/administration-guides/d/WO0pt_MXigAB6sJ7/general-options">view documentation</a>)</div>
{{focus-input id="conversionEndpoint" type="text" value=model.general.conversionEndpoint class=(if hasConversionEndpointInputError 'error')}}
</div>
<div class="regular-button button-blue" {{ action 'save' }}>save</div>
</form>

View file

@ -0,0 +1,48 @@
<form>
<div class="form-header">
<div class="title">Mail Server Settings</div>
<div class="tip">Used for sending email notifications</div>
</div>
<div class="input-control">
<label>SMTP Host</label>
<div class="tip">e.g. my.host.com</div>
{{focus-input id="smtp-host" type="text" value=model.smtp.host class=(if SMTPHostEmptyError 'error')}}
</div>
<div class="input-control">
<label>SMTP Port</label>
<div class="tip">e.g. 587</div>
{{input id="smtp-port" type="text" value=model.smtp.port class=(if SMTPPortEmptyError 'error')}}
</div>
<div class="input-control">
<label>SMTP Sender</label>
<div class="tip">e.g. noreply@documize.com</div>
{{input id="smtp-sender" type="text" value=model.smtp.sender class=(if SMTPSenderEmptyError 'error')}}
</div>
<div class="input-control">
<label>SMTP User ID</label>
<div class="tip">Your credentials</div>
{{input id="smtp-userid" type="text" value=model.smtp.userid class=(if SMTPUserIdEmptyError 'error')}}
</div>
<div class="input-control">
<label>SMTP Password</label>
<div class="tip">Your credentials</div>
{{input id="smtp-password" type="text" value=model.smtp.password class=(if SMTPPasswordEmptyError 'error')}}
</div>
<div class="regular-button button-blue" {{ action 'saveSMTP' }}>save</div>
</form>
<div class="margin-top-50">
</div>
<form class="form-bordered">
<div class="form-header">
<div class="title">Optional Edition License</div>
<div class="tip">Only applies to Enterprise Edition</div>
</div>
<div class="input-control">
<label>License</label>
<div class="tip">XML format accepted</div>
{{textarea value=model.license rows="15"}}
</div>
<div class="regular-button button-blue" {{ action 'saveLicense' }}>save</div>
</form>

View file

@ -0,0 +1,163 @@
<div class="user-admin">
<div class="form-header">
<div class="title">User Management</div>
<div class="tip">Set basic information, passwords and permissions for {{users.length}} users</div>
</div>
<table class="basic-table">
<thead>
<tr>
<th class="">
<div class="input-inline input-transparent">
{{focus-input type="text" placeholder="< type here to filter users >" value=filter}}
</div>
</th>
<th class="no-width">Create spaces</th>
<th class="no-width">Is administrator</th>
<th class="no-width">Is active</th>
<th class="no-width">
{{#if hasSelectedUsers}}
<div class="round-button round-button-small button-red" id="bulk-delete-users">
<i class="material-icons">delete</i>
</div>
{{#dropdown-dialog target="bulk-delete-users" position="bottom right" button="Delete" color="flat-red" onAction=(action 'onBulkDelete')}}
<p>Are you sure you want to delete selected users?</p>
{{/dropdown-dialog}}
{{/if}}
</th>
</tr>
</thead>
<tbody>
{{#each filteredUsers as |user|}}
<tr>
<td class="{{unless user.active 'inactive-user'}} {{if user.admin 'admin-user'}}">
<div class="selector pull-left">
{{#unless user.me}}
{{#if user.selected}}
<i class="material-icons checkbox" {{action 'toggleSelect' user}}>check_box</i>
{{else}}
<i class="material-icons checkbox" {{action 'toggleSelect' user}}>check_box_outline_blank</i>
{{/if}}
{{/unless}}
</div>
<div class="name">{{ user.fullname }}</div>
<div class="email">{{ user.email }}</div>
</td>
<td class="no-width text-center">
{{#if user.me}}
<i class="material-icons color-gray">check_box</i>
{{else if user.editor}}
<i class="material-icons checkbox" {{action 'toggleEditor' user.id}}>check_box</i>
{{else}}
<i class="material-icons checkbox" {{action 'toggleEditor' user.id}}>check_box_outline_blank</i>
{{/if}}
</td>
<td class="no-width text-center">
{{#if user.me}}
<i class="material-icons color-gray">check_box</i>
{{else if user.admin}}
<i class="material-icons checkbox" {{action 'toggleAdmin' user.id}}>check_box</i>
{{else}}
<i class="material-icons checkbox" {{action 'toggleAdmin' user.id}}>check_box_outline_blank</i>
{{/if}}
</td>
<td class="no-width text-center">
{{#if user.me}}
<i class="material-icons color-gray">check_box</i>
{{else if user.active}}
<i class="material-icons checkbox" {{action 'toggleActive' user.id}}>check_box</i>
{{else}}
<i class="material-icons checkbox" {{action 'toggleActive' user.id}}>check_box_outline_blank</i>
{{/if}}
</td>
<td class="no-width text-center">
{{#if user.me}}
<div class="edit-button-{{user.id}} round-button-mono" title="Edit" {{action "edit" user.id}}>
<i class="material-icons">edit</i>
</div>
{{else}}
<div class="edit-button-{{user.id}} round-button-mono" title="Edit" {{action "edit" user.id}}>
<i class="material-icons">edit</i>
</div>
<div class="button-gap"></div>
<div class="delete-button-{{user.id}} round-button-mono" title="Delete" {{action "confirmDelete" user.id}}>
<i class="material-icons">delete</i>
</div>
{{/if}}
</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
<div class="dropdown-dialog edit-user-dialog">
<div class="content">
<form>
<div class="row">
<div class="col-md-6">
<div class="input-control">
<label>Firstname</label>
{{input id="edit-firstname" type="text" value=editUser.firstname}}
</div>
</div>
<div class="col-md-6">
<div class="input-control">
<label>Lastname</label>
{{input id="edit-lastname" type="text" value=editUser.lastname}}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="input-control">
<label>Email</label>
{{input id="edit-email" type="text" value=editUser.email}}
</div>
</div>
</div>
{{#if isAuthProviderDocumize}}
<div class="row">
<div class="col-md-6">
<div class="input-control">
<label>Password</label>
<div class="tip">Optional new password</div>
{{input id="edit-password" type="password" value=password.password}}
</div>
</div>
<div class="col-md-6">
<div class="input-control">
<label>Confirm Password</label>
<div class="tip">Confirm new password</div>
{{input id="edit-confirmPassword" type="password" value=password.confirmation}}
</div>
</div>
</div>
{{/if}}
</form>
</div>
<div class="actions">
<div class="flat-button" {{action 'cancel'}}>
cancel
</div>
<div class="flat-button flat-blue" {{action 'save'}}>
save
</div>
</div>
<div class="clearfix"></div>
</div>
<div class="dropdown-dialog delete-user-dialog">
<div class="content">
<p>Are you sure you want to delete user <span class="bold">{{deleteUser.fullname}}?</span></p>
</div>
<div class="actions">
<div class="flat-button" {{action 'cancel'}}>
cancel
</div>
<div class="flat-button flat-red" {{action 'delete'}}>
delete
</div>
</div>
<div class="clearfix"></div>
</div>

View file

@ -0,0 +1,21 @@
{{#if isAuthProviderDocumize}}
<form>
<div class="form-header">
<div class="title">Add user</div>
<div class="tip">New users receive an invitation email with a random password</div>
</div>
<div class="input-control">
<label>Firstname</label>
{{focus-input id="newUserFirstname" type="text" value=newUser.firstname class=(if hasFirstnameEmptyError 'error')}}
</div>
<div class="input-control">
<label>Lastname</label>
{{input id="newUserLastname" type="text" value=newUser.lastname class=(if hasLastnameEmptyError 'error')}}
</div>
<div class="input-control">
<label>Email</label>
{{input id="newUserEmail" type="text" value=newUser.email class=(if hasEmailEmptyError 'error')}}
</div>
<div class="regular-button button-blue" {{ action 'add' }}>Add</div>
</form>
{{/if}}

View file

@ -0,0 +1 @@
{{component editorType document=document folder=folder page=page meta=meta blockMode=true onCancel=(action 'onCancel') onAction=(action 'onAction')}}

View file

@ -0,0 +1,72 @@
{{#dropdown-dialog target=contentLinkerButtonId position="bottom right" button="Insert" color="flat-blue" onAction=(action 'onInsertLink')}}
<div class="content-linker-dialog">
<form>
{{ui/ui-tab tabs=tabs onTabSelect=(action 'onTabSelect')}}
<div class="margin-top-40" />
{{#if showSections}}
<ul class="link-list">
{{#each candidates.pages as |p|}}
<li class="link-item" {{ action 'setSelection' p }}>
{{#ui/ui-selection selected=p.selected}}
{{p.title}}
{{/ui/ui-selection}}
</li>
{{/each}}
</ul>
{{/if}}
{{#if showAttachments}}
<ul class="link-list">
{{#each candidates.attachments as |a|}}
<li class="link-item" {{ action 'setSelection' a }}>
{{#ui/ui-selection selected=a.selected}}
<img class="icon" src="/assets/img/attachments/{{document/file-icon a.context}}" />
{{ a.title }}
{{/ui/ui-selection}}
</li>
{{/each}}
</ul>
{{/if}}
{{#if showSearch}}
<div class="input-control">
<label>Search</label>
<div class="tip">For content or attachments</div>
{{focus-input id="content-linker-search" type="input" value=keywords placeholder="keyword search" autocomplete="off"}}
</div>
{{#unless hasMatches}}
Nothing found.
{{/unless}}
<ul class="link-list">
{{#each matches.documents as |m|}}
<li class="link-item" {{ action 'setSelection' m }}>
{{#ui/ui-selection selected=m.selected}}
{{m.title}}
{{/ui/ui-selection}}
</li>
{{/each}}
{{#each matches.pages as |m|}}
<li class="link-item" {{ action 'setSelection' m }}>
{{#ui/ui-selection selected=m.selected}}
{{m.title}}<br/><span class="color-gray">{{m.context}}</span>
{{/ui/ui-selection}}
</li>
{{/each}}
{{#each matches.attachments as |a|}}
<li class="link-item" {{ action 'setSelection' a }}>
{{#ui/ui-selection selected=a.selected}}
<img class="icon" src="/assets/img/attachments/{{document/file-icon a.context}}" />
{{ a.title }}
{{/ui/ui-selection}}
</li>
{{/each}}
</ul>
{{/if}}
<div class="hide regular-button button-blue pull-right" {{ action 'onInsertLink' }}>Insert</div>
<div class="hide clearfix" />
</form>
</div>
{{/dropdown-dialog}}

View file

@ -0,0 +1 @@
{{component editorType document=document folder=folder page=page meta=meta onCancel=(action 'onCancel') onAction=(action 'onAction')}}

View file

@ -0,0 +1,25 @@
{{#unless editMode}}
<div class="document-heading {{if isEditor 'cursor-pointer'}}" onclick={{if isEditor (action 'toggleEdit')}}>
<h1 class="doc-title">{{document.name}}</h1>
<div class="doc-excerpt">{{document.excerpt}}</div>
</div>
{{else}}
<form {{action "onSave" on="submit"}}>
<div class="edit-document-heading">
<div class="input-inline input-transparent edit-doc-title">
{{focus-input id="document-name" type="text" value=docName class=(if hasNameError 'error-inline') placeholder="Name" autocomplete="off"}}
</div>
<div class="input-inline input-transparent edit-doc-excerpt">
{{input id="document-excerpt" type="text" value=docExcerpt class=(if hasExcerptError 'error-inline') placeholder="Excerpt" 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>
</div>
</div>
</form>
{{/unless}}

View file

@ -0,0 +1,17 @@
{{ui-select tagName="span" class="revision-picker" content=revisions action=(action 'onSelectRevision') optionValuePath="id" optionLabelPath="label"}}
<div id="restore-history-button" class="regular-button button-green pull-right">Restore</div>
{{#dropdown-dialog target="restore-history-button" position="bottom right" button="Restore" color="flat-green" onAction=(action 'onRollback')}}
<p>Are you sure you want to roll back to this version?</p>
{{/dropdown-dialog}}
<div class="clearfix" />
<div class="margin-bottom-50" />
<div class="diff-zone">
{{#if hasDiff}}
<div class="is-a-page wysiwyg">
{{{diff}}}
</div>
{{/if}}
<div class="clearfix" />
</div>

View file

@ -0,0 +1,10 @@
<div id="page-{{ page.id }}" class="is-a-page wysiwyg" data-id="{{ page.id }}" data-type="{{ page.contentType }}">
{{#if editMode}}
{{document/document-editor document=document folder=folder page=page meta=meta onCancel=(action 'onCancelEdit') onAction=(action 'onSavePage')}}
{{else}}
{{document/page-heading tagName=page.tagName document=document folder=folder page=page isEditor=isEditor tabMode=tabMode
onEdit=(action 'onEdit') onSavePageAsBlock=(action 'onSavePageAsBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{section/base-renderer page=page}}
{{/if}}
</div>

View file

@ -0,0 +1,7 @@
<div id="page-{{ page.id }}" class="is-a-tab wysiwyg non-printable {{if expanded 'tab-max' 'tab-min'}}" data-id="{{ page.id }}" data-type="{{ page.contentType }}">
{{document/tab-heading tagName=page.tagName document=document folder=folder page=page isEditor=isEditor
onExpand=(action 'onExpand') onSavePageAsBlock=(action 'onSavePageAsBlock') onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{#if expanded}}
{{section/base-renderer page=page}}
{{/if}}
</div>

View file

@ -0,0 +1,103 @@
<div class="document-view {{if (is-equal document.layout 'doc') 'document-view-unified'}}">
{{#if hasPages}}
{{#each pages key="id" as |page index|}}
{{#if isEditor}}
<div class="start-section" data-index={{index}} data-before-id={{page.id}} id="add-section-button-{{page.id}}" {{action 'onShowSectionWizard' page}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
<i class="material-icons">add</i>
</div>
<div class="label">section</div>
</div>
</div>
{{else}}
<div class="section-divider" />
{{/if}}
{{#if (is-equal page.pageType 'section')}}
{{#document/document-page document=document folder=folder page=page isEditor=isEditor toEdit=toEdit pageId=pageId
onSavePage=(action 'onSavePage') onSavePageAsBlock=(action 'onSavePageAsBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{/document/document-page}}
{{/if}}
{{#if (is-equal page.pageType 'tab')}}
{{#document/document-tab document=document folder=folder page=page isEditor=isEditor pageId=pageId
onSavePage=(action 'onSavePage') onSavePageAsBlock=(action 'onSavePageAsBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{/document/document-tab}}
{{/if}}
{{/each}}
{{#if isEditor}}
<div class="start-section" data-index="0" data-before-id="0" id="add-section-button-0" {{action 'onShowSectionWizard'}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
<i class="material-icons">add</i>
</div>
<div class="label">section</div>
</div>
</div>
{{/if}}
{{else}}
{{#if isEditor}}
<div class="start-section start-section-empty-state" data-index="-1" data-before-id="0" id="add-section-button-0" {{action 'onShowSectionWizard'}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
<i class="material-icons">add</i>
</div>
<div class="label">section</div>
</div>
</div>
{{/if}}
{{/if}}
<div id="wizard-placeholder" class="hide margin-top-50" />
<div id="new-section-wizard" class="new-section-wizard">
<div class="input-inline input-transparent pull-left width-80">
{{input type="text" id="new-section-name" value=newSectionName class=(if newSectionNameMissing 'section-name error-inline' 'section-name') placeholder="Name" autocomplete="off"}}
</div>
<div class="round-button-mono pull-right" {{action 'onHideSectionWizard'}}>
<i class="material-icons color-gray">close</i>
</div>
<div class="clearfix" />
<div class="list-wrapper">
<ul class="preset-list">
{{#each sections as |section|}}
<li class="item" {{action 'onInsertSection' section}}>
<div class="icon">
<img class="img" src="/sections/{{section.contentType}}.png" srcset="/sections/{{section.contentType}}@2x.png" />
</div>
<div class='title'>{{section.title}}</div>
</li>
{{/each}}
</ul>
{{#if hasBlocks}}
<div class="template-caption">Reusable content</div>
<ul class="block-list">
{{#each blocks as |block|}}
<li class="item tooltipped" data-tooltip="{{block.firstname}} {{block.lastname}}, {{time-ago block.created}}, used: {{ block.used }}" data-tooltip-position="bottom center">
<div class="block-actions">
{{#link-to 'document.block' folder.id folder.slug document.id document.slug block.id}}
<i class="material-icons">mode_edit</i>
{{/link-to}}
<i class="material-icons" id={{block.deleteId}}>delete</i>
</div>
<div class="details" {{action 'onInsertBlock' block}}>
<div class='title'>{{block.title}}</div>
<div class='desc'>{{block.excerpt}}</div>
</div>
{{#dropdown-dialog target=block.deleteId position="bottom left" button="Delete" color="flat-red" onAction=(action 'onDeleteBlock' block.id)}}
<p>Are you sure you want to delete block<br/><span class="bold">{{block.title}}?</span></p>
{{/dropdown-dialog}}
</li>
{{/each}}
</ul>
{{else}}
<div class="template-caption">Reusable content appears below</div>
{{/if}}
</div>
</div>
</div>

View file

@ -0,0 +1,74 @@
<div class="page-title">
<span id="page-title-{{ page.id }}">{{ page.title }}</span>
<div id="page-toolbar-{{ page.id }}" class="pull-right page-toolbar hidden-xs hidden-sm">
{{#if isEditor}}
<div class="round-button-mono" {{action 'onEdit'}}>
<i class="material-icons color-gray">mode_edit</i>
</div>
<div class="round-button-mono" id="page-menu-{{page.id}}">
<i class="material-icons color-gray">more_vert</i>
</div>
{{#dropdown-menu target=menuTarget position="top right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
<li class="item" id={{copyButtonId}}>Copy</li>
<li class="item" id={{moveButtonId}}>Move</li>
<li class="item" id={{publishButtonId}}>Publish</li>
<li class="divider"></li>
<li class="item danger" id={{deleteButtonId}}>Delete</li>
</ul>
{{/dropdown-menu}}
{{#if menuOpen}}
{{#dropdown-dialog target=deleteButtonId position="bottom right" button="Delete" color="flat-red" onAction=(action 'deletePage')}}
<p>Are you sure you want to delete <span class="bold">{{page.title}}?</span></p>
<p>
{{input type="checkbox" id=checkId class="margin-left-20" checked=deleteChildren}}
<label for="{{checkId}}">&nbsp;Delete child sections</label>
</p>
{{/dropdown-dialog}}
{{#dropdown-dialog id=publishDialogId target=publishButtonId position="bottom right" button="Publish" color="flat-green" focusOn=blockTitleId onAction=(action 'onSavePageAsBlock')}}
<div class="form-header">
<div class="tip">
<span class="bold">{{folder.name}}:</span> Content Block
</div>
</div>
<div class="input-control">
<label>Name</label>
<div class="tip">Short title for reusable content block</div>
{{input type="text" value=blockTitle id=blockTitleId}}
</div>
<div class="input-control">
<label>Description</label>
<div class="tip">Short description to help others understand<br/>the reusable content block</div>
{{textarea rows="3" value=blockExcerpt id=blockExcerptId}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=copyDialogId target=copyButtonId position="bottom right" button="Copy" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onCopyPage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Copy:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be copied to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentList action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name" selection=document}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=moveDialogId target=moveButtonId position="bottom right" button="Move" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onMovePage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Move:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be moved to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentListOthers action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name"}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{/if}}
</div>
</div>

View file

@ -0,0 +1,16 @@
<div class="sidebar-panel">
<div class="title">Activity</div>
<div class="document-sidebar-view-activity">
<ul class="items">
{{#each activity as |a|}}
<li class="item">
<div class="avatar-box">
<div class="avatar">{{user-initials a.firstname a.lastname}}</div>
</div>
<div class="name">{{a.firstname}} {{a.lastname}}</div>
<div class="detail {{a.activityColor}}">{{a.activityLabel}}, {{time-ago a.created}}</div>
</li>
{{/each}}
</ul>
</div>
</div>

View file

@ -0,0 +1,47 @@
<div class="sidebar-panel">
<div class="title">Attachments</div>
<div class="document-sidebar-view-attachments">
{{#if isEditor}}
<div id="upload-document-files" class="upload-document-files">
Drag-drop files or click to select files
</div>
{{/if}}
<ul class="list">
{{#each files key="id" as |a index|}}
<li class="item">
<img class="icon" src="/assets/img/attachments/{{document/file-icon a.extension}}" />
<a href="{{ appMeta.endpoint }}/public/attachments/{{ appMeta.orgId }}/{{ a.id }}">
<span class="file">{{ a.filename }}</span>
</a>
{{#if isEditor}}
<div class="action round-button-mono">
<i class="material-icons color-gray delete-attachment-{{a.id}}" title="Delete" {{action 'onConfirmDelete' a.id a.filename}}>delete</i>
</div>
{{/if}}
</li>
{{/each}}
</ul>
{{#if emptyState}}
<div class="explainer">
<div class="empty-state">
There are no attachments
</div>
</div>
{{/if}}
</div>
<div class="dropdown-dialog delete-attachment-dialog">
<div class="content">
<p>Are you sure you want to delete <span class="bold">{{deleteAttachment.name}}?</span></p>
</div>
<div class="actions">
<div class="flat-button" {{action 'onCancel'}}>
cancel
</div>
<div class="flat-button flat-red" {{action 'onDelete'}}>
delete
</div>
</div>
<div class="clearfix"></div>
</div>
</div>

View file

@ -0,0 +1 @@
<a id="index-{{page.id}}" class="link toc-index-item {{page.tocIndentCss}}" {{action 'onClick' page.id}}>{{page.title}}</a>

View file

@ -0,0 +1,34 @@
<div class="sidebar-panel">
<div class="title">Index</div>
<div class="document-sidebar-view-index">
<div class="structure">
{{#if this.session.authenticated}}
{{#unless emptyState}}
<div id="tocToolbar" class="hidden-xs hidden-sm toc-controls {{if state.actionablePage 'current-page' ''}}">
<div id="toc-up-button" class="round-button-mono {{if state.upDisabled 'disabled'}}" data-tooltip="Move up" data-tooltip-position="top center" {{action 'pageUp'}}>
<i class="material-icons">arrow_upward</i>
</div>
<div class="button-gap" />
<div id="toc-down-button" class="round-button-mono {{if state.downDisabled 'disabled'}}" data-tooltip="Move down" data-tooltip-position="top center" {{action 'pageDown'}}>
<i class="material-icons">arrow_downward</i>
</div>
<div class="button-gap" />
<div id="toc-outdent-button" class="round-button-mono {{if state.outdentDisabled 'disabled'}}" data-tooltip="Outdent" data-tooltip-position="top center" {{action 'pageOutdent'}}>
<i class="material-icons">format_indent_decrease</i>
</div>
<div class="button-gap" />
<div id="toc-indent-button" class="round-button-mono {{if state.indentDisabled 'disabled'}}" data-tooltip="Indent" data-tooltip-position="top center" {{action 'pageIndent'}}>
<i class="material-icons">format_indent_increase</i>
</div>
</div>
{{/unless}}
{{/if}}
<ul class="index-list">
{{#each pages key="id" as |p index|}}
{{document/sidebar-view-index-entry page=p index=index onClick=(action 'onEntryClick')}}
{{/each}}
</ul>
</div>
</div>
</div>

View file

@ -0,0 +1,112 @@
<div class="sidebar-toolbar">
<div class="round-button-mono" id="sidebar-zone-more-button">
<i class="material-icons">more_horiz</i>
</div>
<div class="margin-top-20"></div>
<div class="round-button-mono {{if (is-equal tab 'index') 'selected'}}" {{action 'onChangeTab' 'index'}}>
<i class="material-icons">view_headline</i>
</div>
<div class="margin-top-20"></div>
<div class="round-button-mono {{if (is-equal tab 'attachments') 'selected'}}" {{action 'onChangeTab' 'attachments'}}>
<i class="material-icons">attach_file</i>
</div>
{{#if session.authenticated}}
<div class="margin-top-20"></div>
<div class="round-button-mono {{if (is-equal tab 'activity') 'selected'}}" {{action 'onChangeTab' 'activity'}}>
<i class="material-icons">timeline</i>
</div>
{{/if}}
</div>
<div class="sidebar-common">
{{#if document.template}}
<div class="template-header">Template</div>
{{/if}}
{{document/tag-editor documentTags=document.tags isEditor=isEditor onChange=(action 'onTagChange')}}
</div>
<div class="sidebar-wrapper">
{{#if (is-equal tab 'index')}}
{{document/sidebar-view-index document=document folder=folder pages=pages page=page isEditor=isEditor
onPageSequenceChange=(action 'onPageSequenceChange') onPageLevelChange=(action 'onPageLevelChange') onGotoPage=(action 'onGotoPage')}}
{{/if}}
{{#if (is-equal tab 'attachments')}}
{{document/sidebar-view-attachments document=document isEditor=isEditor}}
{{/if}}
{{#if (is-equal tab 'activity')}}
{{document/sidebar-view-activity document=document pages=pages isEditor=isEditor}}
{{/if}}
</div>
{{#dropdown-menu target="sidebar-zone-more-button" position="bottom left" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
{{#if session.authenticated}}
{{#if (is-equal document.layout 'section')}}
<li class="item" {{action 'onLayoutChange' 'doc'}}>Flat view</li>
<li class="divider"></li>
{{else}}
<li class="item" {{action 'onLayoutChange' 'section'}}>Section view</li>
<li class="divider"></li>
{{/if}}
{{#if pinState.isPinned}}
<li class="item" {{action 'onUnpin'}}>Unpin</li>
{{else}}
<li class="item" id="pin-document-button">Pin</li>
{{/if}}
<li class="item" id="pin-document-button">
{{#link-to 'document.history'}}History{{/link-to}}
</li>
<li class="divider"></li>
{{/if}}
{{#if isEditor}}
<li class="item" id="save-template-button">Template</li>
<li class="divider"></li>
{{/if}}
<li class="item" id="print-document-button" {{action 'onPrintDocument'}}>Print</li>
{{#if isEditor}}
<li class="divider"></li>
<li class="item danger" id="delete-document-button">Delete</li>
{{/if}}
</ul>
{{/dropdown-menu}}
{{#if session.authenticated}}
{{#if menuOpen}}
{{#unless pinState.isPinned}}
{{#dropdown-dialog target="pin-document-button" position="bottom left" button="Pin" color="flat-green" onAction=(action 'onPin') focusOn="pin-document-name" }}
<div class="input-control">
<label>Pin Document</label>
<div class="tip">A 3 or 4 character name</div>
{{input type='text' id="pin-document-name" value=pinState.newName}}
</div>
{{/dropdown-dialog}}
{{/unless}}
{{/if}}
{{#if isEditor}}
{{#if menuOpen}}
{{#dropdown-dialog target="delete-document-button" position="bottom left" button="Delete" color="flat-red" onAction=(action 'onDeleteDocument')}}
<p>Are you sure you want to delete this document?</p>
<p>There is no undo, so be careful.</p>
{{/dropdown-dialog}}
{{#dropdown-dialog target="save-template-button" position="bottom left" button="Save as Template" color="flat-green" onAction=(action 'onSaveTemplate') focusOn="new-template-name" }}
<div class="input-control">
<label>Name</label>
<div class="tip">Short name for this type of document</div>
{{input type='text' id="new-template-name" value=saveTemplate.name}}
</div>
<div class="input-control">
<label>Excerpt</label>
<div class="tip">Explain use case for this template</div>
{{textarea value=saveTemplate.description rows="3" id="new-template-desc"}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{/if}}
{{/if}}

View file

@ -0,0 +1,92 @@
<div class="page-title">
<div class="icon">
<img class="img" src="/sections/{{page.contentType}}.png" srcset="/sections/{{page.contentType}}@2x.png" />
</div>
<span id="page-title-{{ page.id }}">{{ page.title }}</span>
<div id="page-toolbar-{{ page.id }}" class="pull-right page-toolbar hidden-xs hidden-sm">
{{#unless expanded}}
<div class="round-button-mono" {{action 'toggleExpand'}}>
<i class="material-icons color-gray">expand_more</i>
</div>
{{else}}
{{#if isEditor}}
{{#link-to 'document.section' page.id}}
<div class="round-button-mono">
<i class="material-icons color-gray">mode_edit</i>
</div>
{{/link-to}}
<div class="round-button-mono" id="page-menu-{{page.id}}">
<i class="material-icons color-gray">more_vert</i>
</div>
<div class="round-button-mono" {{action 'toggleExpand'}}>
<i class="material-icons color-gray">expand_less</i>
</div>
{{#dropdown-menu target=menuTarget position="top right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
<li class="item" id={{copyButtonId}}>Copy</li>
<li class="item" id={{moveButtonId}}>Move</li>
<li class="item" id={{publishButtonId}}>Publish</li>
<li class="divider"></li>
<li class="item danger" id={{deleteButtonId}}>Delete</li>
</ul>
{{/dropdown-menu}}
{{#if menuOpen}}
{{#dropdown-dialog target=deleteButtonId position="bottom right" button="Delete" color="flat-red" onAction=(action 'deletePage')}}
<p>Are you sure you want to delete <span class="bold">{{page.title}}?</span></p>
<p>
{{input type="checkbox" id=checkId class="margin-left-20" checked=deleteChildren}}
<label for="{{checkId}}">&nbsp;Delete child sections</label>
</p>
{{/dropdown-dialog}}
{{#dropdown-dialog id=publishDialogId target=publishButtonId position="bottom right" button="Publish" color="flat-green" focusOn=blockTitleId onAction=(action 'onSavePageAsBlock')}}
<div class="form-header">
<div class="tip">
<span class="bold">{{folder.name}}:</span> Content Block
</div>
</div>
<div class="input-control">
<label>Name</label>
<div class="tip">Short title for reusable content block</div>
{{input type="text" value=blockTitle id=blockTitleId}}
</div>
<div class="input-control">
<label>Description</label>
<div class="tip">Short description to help others understand<br/>the reusable content block</div>
{{textarea rows="3" value=blockExcerpt id=blockExcerptId}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=copyDialogId target=copyButtonId position="bottom right" button="Copy" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onCopyPage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Copy:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be copied to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentList action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name" selection=document}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=moveDialogId target=moveButtonId position="bottom right" button="Move" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onMovePage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Move:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be moved to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentListOthers action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name"}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{else}}
<div class="round-button-mono" {{action 'toggleExpand'}}>
<i class="material-icons color-gray">expand_less</i>
</div>
{{/if}}
{{/unless}}
</div>
</div>

View file

@ -0,0 +1,22 @@
<div class="document-tags">
{{#each tagz as |tg|}}
<div class="chip">
<span class="chip-text">#{{tg}}</span>
{{#if isEditor}}
<i class="material-icons pull-right" {{action 'removeTag' tg}}>close</i>
{{/if}}
</div>
{{/each}}
{{#if canAdd}}
<div class="chip-action">
<span id="add-tag-button" class="chip-text">add tag</span>
</div>
{{#dropdown-dialog target="add-tag-button" position="bottom left" button="Add" color="flat-green" onAction=(action 'addTag') focusOn="add-tag-field" onOpenCallback=(action 'onTagEditor') targetOffset="20px 0"}}
<div class="input-control">
<label>Tag</label>
<div class="tip">Lowercase letters, numbers, dashes</div>
{{focus-input id="add-tag-field" value=newTag type="text"}}
</div>
{{/dropdown-dialog}}
{{/if}}
</div>

View file

@ -0,0 +1,34 @@
<div class="col-lg-9 col-md-9 col-sm-9">
<div class="form-bordered">
<div class="form-header">
<div class="title">Let's setup Documize</div>
<div class="tip">Database name is <em>{{model.dbname}}</em></div>
</div>
<div class="input-control input-transparent">
<label>Team</label>
<div class="tip">What's your tribe called?</div>
{{focus-input id="siteTitle" type="text" value=model.title class=(if hasEmptyTitleError 'error')}}
</div>
<div class="input-control input-transparent">
<label>Firstname</label>
<div class="tip">What do people call you?</div>
{{input id="adminFirstname" type="text" value=model.firstname class=(if hasEmptyFirstnameError 'error')}}
</div>
<div class="input-control input-transparent">
<label>Lastname</label>
<div class="tip">How the government refers to you</div>
{{input id="adminLastname" type="text" value=model.lastname class=(if hasEmptyLastnameError 'error')}}
</div>
<div class="input-control input-transparent">
<label>Email</label>
<div class="tip">No spam. Ever!</div>
{{input id="adminEmail" type="email" value=model.email class=(if hasEmptyEmailError 'error')}}
</div>
<div class="input-control input-transparent">
<label>Password</label>
<div class="tip">Something you can remember without writing it down.</div>
{{input id="adminPassword" type="text" value=model.password class=(if hasEmptyPasswordError 'error')}}
</div>
<div class="regular-button button-green" {{ action 'save' }}>Setup</div>
</div>
</div>

View file

@ -0,0 +1,17 @@
<div id="{{contentId}}" class="dropdown-dialog">
<form class="form" {{action 'onAction' on="submit"}}>
<div class="content">
{{yield}}
</div>
<div class="actions">
{{#if showCancel}}
<div class="flat-button" {{action 'onCancel'}}>cancel</div>
{{/if}}
{{#if hasSecondButton}}
<div class="flat-button {{color2}}" {{action 'onAction2'}}>{{button2}}</div>
{{/if}}
<div class="flat-button {{color}} dropdown-dialog-action-button" {{action 'onAction'}}>{{button}}</div>
</div>
<div class="clearfix"></div>
</form>
</div>

View file

@ -0,0 +1,3 @@
<div id="{{contentId}}" class="dropdown-menu non-printable">
{{yield}}
</div>

View file

@ -0,0 +1,9 @@
<div class="margin-top-10">
{{#each tagz as |tg|}}
{{#link-to "search" (query-params filter=tg)}}
<div class="chip">
<span class="chip-text">{{tg}}</span>
</div>
{{/link-to}}
{{/each}}
</div>

View file

@ -0,0 +1,55 @@
<div class="documents-list">
{{#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}}
<div class="checkbox" {{action 'selectDocument' document.id}}>
{{#if session.authenticated}}
{{#if document.selected}}
<i class="material-icons">check_box</i>
{{else}}
<i class="material-icons">check_box_outline_blank</i>
{{/if}}
{{/if}}
</div>
</div>
{{#if canCreate}}
<div class="wizard-item start-document" {{action 'onShowDocumentWizard' document.id}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
<i class="material-icons">add</i>
</div>
<div class="label">document</div>
</div>
</div>
{{else}}
<div class="no-wizard-item" />
{{/if}}
</div>
{{/each}}
</div>
{{folder/start-document folder=folder isEditor=isEditor onImport=(action 'onImport') onHideDocumentWizard=(action 'onHideDocumentWizard')}}
{{#if emptyState}}
{{#if canCreate}}
<div class="start-document start-document-empty-state" {{action 'onShowDocumentWizard' ''}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
<i class="material-icons">add</i>
</div>
<div class="label">document</div>
</div>
</div>
{{/if}}
{{/if}}
<div id="wizard-placeholder" class="hide" />
{{#if emptyState}}
<div class="regular-button button-red margin-top-50" {{action 'onDelete'}}>delete space</div>
{{/if}}

View file

@ -0,0 +1,21 @@
{{#unless editMode}}
<div class="folder-heading {{if isFolderOwner 'cursor-pointer'}}" onclick={{if isFolderOwner (action 'toggleEdit')}}>
<h1 class="folder-title">{{folder.name}}</h1>
</div>
{{else}}
<form {{action "onSave" on="submit"}}>
<div class="edit-folder-heading">
<div class="input-inline input-transparent edit-folder-title">
{{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>
</div>
</div>
</form>
{{/unless}}

View file

@ -0,0 +1,36 @@
{{#if showToolbar}}
<div class="pull-right hidden-xs hidden-sm">
{{#if hasSelectedDocuments}}
<div class="round-button button-blue" id="move-documents-button" data-tooltip="Move documents" data-tooltip-position="top center">
<i class="material-icons">folder</i>
</div>
<div class="button-gap"></div>
<div class="round-button button-red" id="delete-documents-button" data-tooltip="Delete documents" data-tooltip-position="top center">
<i class="material-icons">delete</i>
</div>
{{#dropdown-dialog target="delete-documents-button" position="bottom right" button="Delete" color="flat-red" onAction=(action 'deleteDocuments')}}
<p>Are you sure you want to delete selected documents?</p>
<p>There is no undo!</p>
{{/dropdown-dialog}}
{{#dropdown-dialog target="move-documents-button" position="bottom right" button="Move" color="flat-blue" onAction=(action 'moveDocuments')}}
<p class="heading">Select destination space</p>
<ul class="move-document-options">
{{#each movedFolderOptions as |folder|}}
<li class="option {{if folder.selected "selected"}}" {{action 'setMoveFolder' folder.id}}>
{{#if folder.selected}}
<i class="material-icons">radio_button_checked</i>
{{else}}
<i class="material-icons">radio_button_unchecked</i>
{{/if}}
&nbsp;{{ folder.name }}
</li>
{{/each}}
</ul>
{{/dropdown-dialog}}
{{else}}
<div class="margin-top-35"></div>
{{/if}}
</div>
{{/if}}
<div class="margin-bottom-20 clearfix" />

View file

@ -0,0 +1,72 @@
<div class="sidebar-panel">
<div class="space-tools">
{{#if showingDocument}}
{{folder/start-document savedTemplates=savedTemplates folder=folder editor=folderService.canEditCurrentFolder
onImport=(action 'onImport')
onEditTemplate=(action 'onEditTemplate')
onDocumentTemplate=(action 'onDocumentTemplate')}}
{{/if}}
</div>
<div class="folders-list">
{{#if session.isEditor}}
<div id="add-space-button" class="regular-button button-white">
<i class="material-icons">add</i>
<div class="name">Space</div>
</div>
{{#dropdown-dialog target="add-space-button" position="bottom left" button="Add" color="flat-green" onAction=(action 'addFolder') focusOn="new-folder-name" }}
<div>
<div class="input-control">
<label>New space</label>
<div class="tip">A repository for related documentation</div>
{{input type='text' id="new-folder-name" class="mousetrap" value=newFolder}}
</div>
</div>
{{/dropdown-dialog}}
{{/if}}
<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' 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' 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' folder.id folder.slug class="link" activeClass='selected' }}
<li class="item">{{ folder.name }}</li>
{{/link-to}}
{{/each}}
</ul>
</div>
{{/if}}
</div>
</div>

View file

@ -0,0 +1,30 @@
<div class="sidebar-panel">
<div class="title">Space Permissions</div>
<div class="sidebar-permissions folder-sidebar-form-wrapper">
<table class="permissions-table">
<thead>
<tr>
<th>&nbsp;</th>
<th>View</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
{{#each permissions key="@index" as |permission|}}
<tr>
<td>{{permission.fullname}}</td>
<td>
<input type="checkbox" id="canView-{{permission.userId}}" checked={{permission.canView}} />
<label for="canView-{{permission.userId}}">&nbsp;</label>
</td>
<td>
<input type="checkbox" id="canEdit-{{permission.userId}}" checked={{permission.canEdit}} />
<label for="canEdit-{{permission.userId}}">&nbsp;</label>
</td>
</tr>
{{/each}}
</tbody>
</table>
<div class="regular-button button-blue" {{action 'setPermissions'}}>Set</div>
</div>
</div>

View file

@ -0,0 +1,16 @@
<div class="sidebar-panel">
<div class="title">Invite Users</div>
<div class="sidebar-folder-share folder-sidebar-form-wrapper">
<div class="input-control">
<label>Email</label>
<div class="tip">Comma separate multiple email addresses</div>
{{focus-input id="inviteEmail" type="text" class="input-transparent" value=inviteEmail}}
</div>
<div class="input-control">
<label>Message</label>
<div class="tip">Explain why they are being invited</div>
{{textarea id="explainInvite" value=inviteMessage class="input-transparent" rows="5"}}
</div>
<div class="regular-button button-blue" {{ action 'onShare' }}>Share</div>
</div>
</div>

View file

@ -0,0 +1,67 @@
<div class="sidebar-toolbar">
{{#unless noFolder}}
<div class="margin-top-20"></div>
<div class="round-button-mono {{if (is-equal tab 'index') 'selected'}}" {{action 'onChangeTab' 'index'}}>
<i class="material-icons">view_headline</i>
</div>
<div class="margin-top-20"></div>
{{#if session.authenticated}}
{{#if isFolderOwner}}
{{#if isAuthProviderDocumize}}
<div class="round-button-mono {{if (is-equal tab 'share') 'selected'}}" {{action 'onChangeTab' 'share'}}>
<i class="material-icons">person_add</i>
</div>
<div class="margin-top-20"></div>
{{/if}}
<div class="round-button-mono {{if (is-equal tab 'permissions') 'selected'}}" {{action 'onChangeTab' 'permissions'}}>
<i class="material-icons">group</i>
</div>
<div class="margin-top-20"></div>
{{/if}}
<div class="round-button-mono" id="space-more-button">
<i class="material-icons">more_horiz</i>
</div>
{{#dropdown-menu target="space-more-button" position="bottom left" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
{{#if pinState.isPinned}}
<li class="item" {{action 'onUnpin'}}>Unpin</li>
{{else}}
<li class="item" id="pin-space-button">Pin</li>
{{/if}}
</ul>
{{/dropdown-menu}}
{{#if menuOpen}}
{{#unless pinState.isPinned}}
{{#dropdown-dialog target="pin-space-button" position="bottom left" button="Pin" color="flat-green" onAction=(action 'onPin') focusOn="pin-space-name" }}
<div class="input-control">
<label>Pin Space</label>
<div class="tip">A 3 or 4 character name</div>
{{input type='text' id="pin-space-name" value=pinState.newName}}
</div>
{{/dropdown-dialog}}
{{/unless}}
{{/if}}
{{/if}}
{{/unless}}
</div>
<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 isFolderOwner=isFolderOwner onFolderAdd=(action 'onFolderAdd')}}
{{/if}}
{{#if (is-equal tab 'share')}}
{{folder/sidebar-share folders=folders folder=folder}}
{{/if}}
{{#if (is-equal tab 'permissions')}}
{{folder/sidebar-permissions folders=folders folder=folder}}
{{/if}}
</div>

View file

@ -0,0 +1,35 @@
<div id="new-document-wizard" class="new-document-wizard">
<div class="input-inline input-transparent pull-left width-80">
{{input type="text" id="new-document-name" value=newDocumentName class=(if newDocumentNameMissing 'document-name error-inline' 'document-name mousetrap') placeholder="Name" autocomplete="off"}}
</div>
<div class="round-button-mono pull-right" {{action 'onHideDocumentWizard'}}>
<i class="material-icons color-gray">close</i>
</div>
<div class="clearfix" />
<div id="import-document-button" class="import-document-button">
Drag-drop or click to select .doc, .docx, .md, .markdown files
</div>
<div class="list-wrapper">
<ul class="template-list">
{{#each savedTemplates key="id" as |template|}}
<li class="item">
{{#if isEditor}}
{{#unless template.locked}}
<div class="template-actions">
<i class="material-icons" {{action 'editTemplate' template}}>mode_edit</i>
</div>
{{/unless}}
{{/if}}
<div class="details" {{action 'startDocument' template}}>
<div class='title'>{{template.title}}</div>
<div class='desc'>{{template.description}}</div>
</div>
</li>
{{/each}}
</ul>
</div>
</div>

View file

@ -0,0 +1,15 @@
<form {{action 'forgot' on="submit"}}>
{{#if sayThanks}}
<div class="reset-thanks margin-bottom-30">Thanks. Check your email for instructions.</div>
{{else}}
<div class="input-control">
<label>Email</label>
{{focus-input type="email" value=email id="email" class=(if hasEmptyEmailError 'error')}}
</div>
<div class="clearfix" />
<div class="margin-top-10 margin-bottom-20">
<button type="submit" class="regular-button button-blue">Reset</button>
</div>
{{/if}}
{{#link-to 'auth.login'}}Sign In{{/link-to}}
</form>

View file

@ -0,0 +1,7 @@
<div class="zone-sidebar-page-title">
{{title}}
{{yield}}
</div>
<div class="zone-sidebar-page-info">
{{message}}
</div>

View file

@ -0,0 +1,3 @@
<div id="wrapper">
{{yield}}
</div>

View file

@ -0,0 +1,5 @@
<div class="page-container">
<div id="page-content-wrapper">
{{yield}}
</div>
</div>

View file

@ -0,0 +1,3 @@
<div id="zone-document-content" class="zone-document-content col-lg-9 col-md-9 col-sm-9">
{{yield}}
</div>

View file

@ -0,0 +1,83 @@
<div id="zone-navigation" class="zone-navigation">
<ul id="top-zone" class="top-zone">
{{#if session.hasAccounts}}
<li>
<div id="accounts-button" class="round-button-mono button-white">
<i class="material-icons">apps</i>
</div>
</li>
{{else}}
<li>
{{#link-to 'folders' class='title'}}
<div class="round-button-mono button-white" title={{appMeta.title}}>
<i class="material-icons">apps</i>
</div>
{{/link-to}}
</li>
{{/if}}
<li class="{{if view.folder 'selected'}}">
{{#link-to 'folders' tagName="div" class="round-button-mono button-white"}}
<i class="material-icons">home</i>
{{/link-to}}
</li>
<li class="{{if view.search 'selected'}}">
{{#link-to 'search' tagName="div" class="round-button-mono button-white"}}
<i class="material-icons icon-tool">search</i>
{{/link-to}}
</li>
</ul>
<ul id="pinned-zone" class="pinned-zone">
{{#each pins as |pin|}}
<li {{action 'jumpToPin' pin}} data-id={{pin.id}} id="pin-{{pin.id}}" data-tooltip="{{pin.pin}}" data-tooltip-position="right middle" class="pin"><span class="key">{{pin.pin}}</span></li>
{{/each}}
</ul>
<ul id="bottom-zone" class="bottom-zone">
{{#if session.session.content.authenticated.user.admin}}
<li id="workspace-settings" class="{{if view.settings 'selected'}}" data-tooltip="Settings" data-tooltip-position="right center">
{{#link-to 'customize.general'}}
<div class="round-button-mono button-white">
<i class="material-icons icon-tool">tune</i>
</div>
{{/link-to}}
</li>
{{/if}}
{{#if session.authenticated}}
<li class="{{if view.profile 'selected'}}">
{{#link-to 'profile'}}
<div class="round-button-mono button-white">
<i class="material-icons profile-link">{{session.user.initials}}</i>
</div>
{{/link-to}}
</li>
{{#if enableLogout}}
<li id="workspace-logout" data-tooltip="Logout" data-tooltip-position="right center">
{{#link-to 'auth.logout'}}
<div class="round-button-mono button-white">
<i class="material-icons icon-tool">exit_to_app</i>
</div>
{{/link-to}}
</li>
{{/if}}
{{else}}
<li id="workspace-login" data-tooltip="Login" data-tooltip-position="right center">
{{#link-to 'auth.login'}}
<div class="round-button-mono button-white">
<i class="material-icons">lock_open</i>
</div>
{{/link-to}}
</li>
{{/if}}
</ul>
{{#if session.hasAccounts}}
{{#dropdown-menu target="accounts-button" position="bottom right" open="click" }}
<ul class="menu">
{{#each session.accounts as |account|}}
<li class="item" {{action 'switchAccount' account.domain }}>{{account.title}}</li>
{{/each}}
</ul>
{{/dropdown-menu}}
{{/if}}
</div>

View file

@ -0,0 +1,3 @@
<div id="sidebar-wrapper">
{{yield}}
</div>

View file

@ -0,0 +1,81 @@
<div class="col-lg-4 col-md-4 col-sm-4">
<div class="sidebar">
<img class="logo" src="/assets/img/logo-color.png"/>
<div class="stage-1">
<p>Let's set up your account</p>
<div class="input-control">
<label>Firstname</label>
<div class="tip">Nickname or otherwise</div>
<input id="stage-1-firstname" type="text" value="" />
</div>
<div class="input-control">
<label>Lastname</label>
<div class="tip">What the government calls you</div>
<input id="stage-1-lastname" type="text" value="" />
</div>
<div class="input-control">
<div id="stage-1-next" class="regular-button button-green">Next &rarr;</div>
</div>
</div>
<div class="stage-2">
<h2>Password</h2>
<div class="input-control">
<label>Password</label>
<div class="tip">Between 6 and 50 characters</div>
<input id="stage-2-password" type="password" value="" />
</div>
<div class="input-control">
<label>Confirm Password</label>
<div class="tip">Re-type your chosen password</div>
<input id="stage-2-password-confirm" type="password" value="" />
</div>
<div class="input-control">
<div id="stage-2-next" class="regular-button button-green">Sign In &rarr;</div>
</div>
</div>
<div class="stage-3">
<h1>Please Wait</h1>
<p>Signing you in...</p>
</div>
</div>
</div>
<div class="col-lg-8 col-md-8 col-sm-8">
<div class="rightbar">
<div class="stage-1">
<div class="account-name-preview">
<div class="nav-icon"></div>
<div class="title">DOCUMIZE</div>
<img class="name-status" src="/assets/img/onboard/person.png" />
</div>
</div>
<div class="stage-2">
<div class="account-name-preview">
<div class="nav-icon"></div>
<div class="title">DOCUMIZE</div>
<img class="password-status" src="/assets/img/onboard/lock.png" />
</div>
</div>
<div class="stage-3">
<div class="account-name-preview">
<div class="nav-icon"></div>
<div class="title"></div>
<div id="spinner-1" class="sk-spinner sk-spinner-wave">
<div class="sk-rect1"></div>
<div class="sk-rect2"></div>
<div class="sk-rect3"></div>
<div class="sk-rect4"></div>
<div class="sk-rect5"></div>
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,19 @@
<div class="login-form">
<form {{action 'reset' on="submit"}}>
<div class="input-control">
<label>New Password</label>
<div class="tip">Choose a strong password</div>
{{focus-input type="password" value=password id="newPassword" class=(if hasPasswordError 'error')}}
</div>
<div class="input-control">
<label>Confirm Password</label>
<div class="tip">Please type your new password again</div>
{{input type="password" value=passwordConfirm id="passwordConfirm" class=(if hasConfirmError 'error')}}
</div>
<div class="clearfix" />
<div class="margin-top-10 margin-bottom-20">
<button type="submit" class="regular-button button-blue">Reset</button>
<span class="{{unless mustMatch "hide"}} color-red margin-left-20">Passwords must match</span>
</div>
</form>
</div>

View file

@ -0,0 +1,15 @@
<div class="search-results">
<div class="heading">{{resultPhrase}}</div>
<ul class="list">
{{#each documents key="doc.id" as |result index|}}
<li class="item">
<a class="link" href="s/{{result.doc.folderId}}/{{result.doc.folderSlug}}/d/{{ result.doc.documentId }}/{{result.doc.documentSlug}}?page={{ result.doc.id }}">
<div class="title">{{ result.doc.documentTitle }}</div>
<div class="folder">{{ result.doc.folderName }}</div>
<div class="excerpt">{{ result.doc.documentExcerpt }}</div>
<div class="chips">{{search/tag-list documentTags=result.doc.documentTags}}</div>
</a>
</li>
{{/each}}
</ul>
</div>

View file

@ -0,0 +1,7 @@
<div class="chips">
{{#each tagz as |tg|}}
<div class="chip">
<span class="chip-text">#{{tg}}</span>
</div>
{{/each}}
</div>

View file

@ -0,0 +1,8 @@
{{#section/base-editor document=document folder=folder page=page isDirty=(action 'isDirty') onCancel=(action 'onCancel')
onAction=(action 'onAction')}}
<div class="input-control">
<label>Airtable embed code</label>
<div class="tip">Paste the Airtable embed code snippet</div>
{{textarea value=data rows="3" id="airtable-embed-code" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"}}
</div>
{{/section/base-editor}}

View file

@ -0,0 +1,3 @@
<div class="non-printable">
{{{page.body}}}
</div>

View file

@ -0,0 +1,64 @@
<div id={{containerId}} class="document-editor {{if blockMode 'document-editor-full'}}">
<div class="toolbar">
<div class="buttons pull-right">
{{#if busy}}
<img src="/assets/img/busy-gray.gif" class="busy-indicator" />
{{/if}}
{{#if contentLinkerButton}}
{{document/content-linker tagName="span" document=document folder=folder page=page onInsertLink=(action 'onInsertLink')}}
<div class="round-button-mono" id={{contentLinkerButtonId}} data-tooltip="Reference link" data-tooltip-position="top center">
<i class="material-icons color-blue">link</i>
</div>
{{/if}}
{{#if previewButton}}
<div class="round-button-mono" {{action 'onPreview'}} id={{previewButtonId}} data-tooltip="Toggle Preview" data-tooltip-position="top center">
<i class="material-icons color-gray">visibility</i>
</div>
{{/if}}
<div class="round-button-mono" {{action 'onAction'}}>
<i class="material-icons color-green">check</i>
</div>
<div class="round-button-mono" {{action 'onCancel'}} id={{cancelId}}>
<i class="material-icons color-gray">close</i>
</div>
</div>
{{#if blockMode}}
<div class="clearfix"></div>
<div class="input-control">
<label>Name</label>
{{focus-input id="page-id-{{pageId}}" value=page.title class="mousetrap"}}
</div>
<div class="input-control">
<label>Description</label>
{{textarea id="page-excerpt-{{pageId}}" value=page.excerpt class="mousetrap" rows="3"}}
</div>
{{else}}
<div class="input-inline input-transparent edit-title pull-left">
{{focus-input type="text" id=pageId value=page.title class=(if hasNameError 'error-inline') placeholder="Name" class="mousetrap"}}
</div>
{{/if}}
<div class="clearfix"></div>
<div class="dropdown-dialog cancel-edits-dialog" id={{dialogId}}>
<div class="content">
<p>Do you want to cancel editing and lose unsaved changes?</p>
</div>
<div class="actions">
<div class="flat-button" {{action 'keepEditing'}}>
no
</div>
<div class="flat-button flat-red" {{action 'discardEdits'}}>
yes
</div>
</div>
<div class="clearfix"></div>
</div>
</div>
<div class="canvas">
{{yield}}
</div>
<div class="clearfix"></div>
</div>

View file

@ -0,0 +1,45 @@
<div class="section-editor">
<div class="buttons">
{{#if busy}}
<img src="/assets/img/busy-gray.gif" class="busy-indicator" />
{{/if}}
<div id="editor-cancel" class="flat-button flat-gray" {{action 'onCancel'}}>{{cancelLabel}}</div>
<div class="button-gap" />
<div class="regular-button button-green" {{action 'onAction'}}>{{actionLabel}}</div>
</div>
<div class="clearfix"></div>
<div class="title">
<div class="input-control">
<label>Title</label>
<div class="tip">{{tip}}</div>
{{focus-input type='text' id="page-title" value=page.title class="mousetrap"}}
</div>
{{#if hasExcerpt}}
<div class="margin-top-30">
<div class="input-control">
<label>Excerpt</label>
<div class="tip">Short description</div>
{{textarea rows="3" id="page-excerpt" value=page.excerpt class="mousetrap"}}
</div>
</div>
{{/if}}
</div>
<div class="dropdown-dialog cancel-edits-dialog">
<div class="content">
<p>Do you want to cancel editing and lose unsaved changes?</p>
</div>
<div class="actions">
<div class="flat-button" {{action 'keepEditing'}}>
no
</div>
<div class="flat-button flat-red" {{action 'discardEdits'}}>
yes
</div>
</div>
<div class="clearfix"></div>
</div>
<div class="canvas">
{{yield}}
</div>
<div class="clearfix"></div>
</div>

View file

@ -0,0 +1,3 @@
<div id="page-data-{{ page.id }}" class="wysiwyg">
{{component (concat "section/" page.contentType "/type-renderer") page=page}}
</div>

View file

@ -0,0 +1,19 @@
{{#section/base-editor-inline document=document folder=folder page=page tip="Concise name that describes code snippet" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div class="section-code-editor">
<div class="syntax-selector">
{{ui-select id=syntaxId
content=syntaxOptions
action=(action 'onSyntaxChange')
optionValuePath="mode"
optionLabelPath="name"
selection=codeSyntax}}
</div>
<style>
.CodeMirror {
height: auto !important;
font-size: 17px;
}
</style>
{{focus-textarea value=pageBody id=editorId class="mousetrap"}}
</div>
{{/section/base-editor-inline}}

View file

@ -0,0 +1,4 @@
<style>
.CodeMirror { height: auto !important;}
</style>
<textarea id="page-{{page.id}}-code" value={{codeBody}}></textarea>

View file

@ -0,0 +1,42 @@
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Gemini enterprise issue and ticketing software (https://www.countersoft.com)" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div class="pull-left width-45">
<div class="input-control">
<label>Gemini URL</label>
<div class="tip">e.g. http://helpdesk.countersoft.com</div>
{{focus-input id="gemini-url" type="text" value=config.url readonly=isReadonly}}
</div>
<div class="input-control">
<label>Username</label>
<div class="tip">Gemini username</div>
{{input id="gemini-username" type="text" value=config.username readonly=isReadonly}}
</div>
<div class="input-control">
<label>API Key</label>
<div class="tip">Gemini user API key (from user profile)</div>
{{input id="gemini-apikey" type="password" value=config.APIKey readonly=isReadonly}}
</div>
<div class="regular-button button-blue" {{ action 'auth' }}>Authenticate</div>
</div>
<div class="pull-left margin-left-40 width-45">
{{#if authenticated}}
<div class="input-control">
<label>Workspace</label>
<div class="tip">Select Gemini workspace for source of items to be displayed</div>
<ul class="section-gemini-workspaces">
{{#each workspaces as |card|}}
<li class="section-gemini-workspace" data-tooltip="{{card.Title}}" data-tooltip-position="bottom center" id="gemini-workspace-{{card.Id}}">
<div class="section-gemini-card" style="background-color:{{card.Color}};" {{action 'onWorkspaceChange' card.Id}}>{{card.Key}}</div>
{{#if card.selected}}
<div class="section-gemini-selected-card">&#10003;</div>
{{/if}}
</li>
{{/each}}
</ul>
</div>
<div class="clearfix" />
{{/if}}
</div>
{{/section/base-editor}}

View file

@ -0,0 +1 @@
{{{page.body}}}

View file

@ -0,0 +1,64 @@
{{#section/base-editor document=document folder=folder page=page busy=busy tip="GitHub is how people build software. (https://github.com)" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div class="section-github-editor">
{{#if authenticated}}
<div class="pull-left width-45">
<div class="input-control">
<label>Select repository</label>
<div class="tip">Select organization or user whose repository you want to show</div>
{{ui-select id="owners-dropdown" content=owners action=(action 'onOwnerChange') optionValuePath="id" optionLabelPath="name" selection=config.owner}}
</div>
<div class="input-control">
<label>Show items since</label>
<div class="tip">default is 7 days ago</div>
{{input id="branch-since" value=config.branchSince type="text" }}<br>
</div>
<div class="input-control">
<label>GitHub Views</label>
<div class="tip">Select the views you want to show</div>
<div class="github-view">
{{input id="show-milestone" checked=config.showMilestones type="checkbox"}}
<label>Show Milestones</label>
<br/>
{{input id="show-issues" checked=config.showIssues type="checkbox"}}
<label>Show Issues</label>
<br/>
{{input id="show-commits" checked=config.showCommits type="checkbox" }}
<label>Show Commits</label>
</div>
</div>
</div>
<div class="pull-left width-10">&nbsp;</div>
<div class="pull-left width-45">
<div class="input-form">
<div class="input-control">
<label>Repositories</label>
<div class="tip">Select the repository to show</div>
<div class="github-board">
{{#each config.lists as |list|}}
<div class="github-list" {{action 'onListCheckbox' list.id}}>
{{#if list.included}}
<i class="material-icons widget-checkbox checkbox-gray github-list-checkbox">check_box</i>
{{else}}
<i class="material-icons widget-checkbox checkbox-gray github-list-checkbox">check_box_outline_blank</i>
{{/if}}
<span class="github-list-title">{{list.repo}} {{#if list.private}}(private){{/if}}</span>
</div>
{{/each}}
</div>
<div class="clearfix" />
</div>
</div>
</div>
{{else}}
<div class="pull-left width-45">
<div class="input-control">
<label>Authentication</label>
<div class="tip">Click to authenticate with Github</div>
</div>
<div class="regular-button button-blue" {{ action 'auth' }}>Authenticate</div>
</div>
{{/if}}
</div>
{{/section/base-editor}}

View file

@ -0,0 +1 @@
{{{page.body}}}

View file

@ -0,0 +1,28 @@
{{#section/base-editor-inline document=document folder=folder page=page blockMode=blockMode
contentLinkerButton=true onInsertLink=(action 'onInsertLink')
previewButton=true onPreview=(action 'onPreview')
isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<style>
.CodeMirror {
height: auto !important;
font-family: Helvetica;
font-size: 17px;
}
.CodeMirror pre {
padding: 0;
}
</style>
<div class="section-markdown-editor">
{{#if editMode}}
<textarea id={{editorId}} class="mousetrap">{{{pageBody}}}</textarea>
{{else}}
<div class="mousetrap wysiwyg section-markdown-preview">
{{{pagePreview}}}
</div>
{{/if}}
</div>
{{/section/base-editor-inline}}

View file

@ -0,0 +1 @@
{{{page.body}}}

View file

@ -0,0 +1,45 @@
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Papertrail cloud logging service (https://papertrailapp.com)" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div class="pull-left width-45">
<form {{ action 'auth' on="submit" }} >
<div class="input-control">
<label>Papertrail API Key</label>
<div class="tip">API Token (from your profile)</div>
{{focus-input id="papertrail-apitoken" type="password" value=config.APIToken }}
</div>
<div class="regular-button button-blue" {{ action 'auth' }} >
{{#if authenticated}}
Re-Authenticate
{{else}}
Authenticate
{{/if}}
</div>
</form>
</div>
{{#if authenticated}}
<div class="pull-left width-10">&nbsp;</div>
<div class="pull-left width-45">
<form {{action 'onAction' on="submit"}}>
<div class="input-control">
<label>Search query</label>
<div class="tip">Determine which log entries you want to display e.g. bob OR ("some phrase" AND sally)</div>
{{input id="papertrail-query" type="text" class="mousetrap" value=config.query}}
</div>
<div class="input-control">
<label>Maximum results</label>
<div class="tip">How many log entries do you want?</div>
{{input id="papertrail-max" type="number" class="mousetrap" value=config.max}}
</div>
<div class="input-control">
<label>Group</label>
<div class="tip">Optional Papertrail group</div>
{{ui-select id="group-dropdown" prompt="<group>" content=options.groups action=(action 'onGroupsChange') optionValuePath="id" optionLabelPath="name" selection=config.group}}
</div>
</form>
</div>
{{/if}}
<div class="clearfix" />
{{/section/base-editor}}

View file

@ -0,0 +1 @@
{{{page.body}}}

View file

@ -0,0 +1,5 @@
{{#section/base-editor-inline document=document folder=folder page=page isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div class="table-editor-wrapper wysiwyg">
{{textarea value=pageBody id=editorId class="mousetrap"}}
</div>
{{/section/base-editor-inline}}

View file

@ -0,0 +1 @@
{{{page.body}}}

View file

@ -0,0 +1,53 @@
{{#section/base-editor document=document folder=folder page=page busy=busy
tip="Trello is the visual way to manage your projects and organize anything (https://trello.com)"
isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
{{#if authenticated}}
<div class="pull-left width-50">
{{#if noBoards}}
<div class="input-control">
<div class="color-error">You have no team boards to share - personal boards are never shown.</div>
</div>
{{else}}
<div class="input-control">
<label>Select Board</label>
<div class="tip">Choose lists to include from board</div>
{{ui-select id="boards-dropdown" content=boards action=(action 'onBoardChange') optionValuePath="id" optionLabelPath="name" selection=config.board}}
</div>
<div class="input-control">
<label>Lists</label>
<div class="tip">Select lists to include</div>
<div class="section-trello-board" style= {{boardStyle}}>
<div class="section-trello-board-title">{{config.board.name}}</div>
{{#each config.lists as |list|}}
<div class="section-trello-list" {{action 'onListCheckbox' list.id}}>
{{#if list.included}}
<i class="material-icons widget-checkbox checkbox-gray section-trello-list-checkbox">check_box</i>
{{else}}
<i class="material-icons widget-checkbox checkbox-gray section-trello-list-checkbox">check_box_outline_blank</i>
{{/if}}
<span class="trello-list-title">{{list.name}}</span>
</div>
{{/each}}
<div class="clearfix" />
</div>
</div>
{{/if}}
</div>
{{else}}
<div class="pull-left width-50">
<form>
<div class="form-header">
<div class="title">Authentication</div>
<div class="tip">Click to authenticate with Trello</div>
</div>
<div class="regular-button button-blue" {{ action 'auth' }}>Authenticate</div>
</form>
</div>
{{/if}}
{{/section/base-editor}}

View file

@ -0,0 +1,3 @@
<div class="non-printable">
{{{page.body}}}
</div>

View file

@ -0,0 +1,7 @@
{{#section/base-editor-inline document=document folder=folder page=page
blockMode=blockMode contentLinkerButton=true onInsertLink=(action 'onInsertLink')
isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div id={{editorId}} class="mousetrap wysiwyg wysiwyg-editor">
{{{pageBody}}}
</div>
{{/section/base-editor-inline}}

View file

@ -0,0 +1 @@
{{{page.body}}}

View file

@ -0,0 +1,12 @@
<select {{action 'change' on='change'}} class={{cssClass}} readonly={{readonly}}>
{{#if prompt}}
<option disabled selected={{is-not selection}}>
{{prompt}}
</option>
{{/if}}
{{#each content key="@identity" as |item|}}
<option value="{{read-path item optionValuePath}}" selected={{is-equal item selection}}>
{{read-path item optionLabelPath}}
</option>
{{/each}}
</select>

View file

@ -0,0 +1,3 @@
<div class="avatar" id="avatar-{{refId}}" data-tooltip="{{firstname}} {{lastname}}" data-tooltip-position="top center">
{{user-initials firstname lastname}}
</div>

View file

@ -0,0 +1,8 @@
<div class="ui-checkbox {{if selected 'ui-checkbox-selected'}}" {{action 'onCheck'}}>
{{#if selected}}
<i class="material-icons selected">check_box</i>
{{else}}
<i class="material-icons">check_box_outline_blank</i>
{{/if}}
{{yield}}
</div>

View file

@ -0,0 +1,8 @@
<div class="ui-radio {{if selected 'ui-radio-selected'}}" {{action 'onCheck'}}>
{{#if selected}}
<i class="material-icons selected">radio_button_checked</i>
{{else}}
<i class="material-icons">radio_button_unchecked</i>
{{/if}}
{{yield}}
</div>

View file

@ -0,0 +1,6 @@
<div class="widget-selection">
<div class="option {{if selected 'selected'}}">
{{yield}}
<i class="material-icons">check</i>
</div>
</div>

View file

@ -0,0 +1,5 @@
<ul class="widget-tab">
{{#each tabs as |tab|}}
<li style={{myWidth}} class="tab {{if tab.selected 'selected'}}" {{action 'onTabSelect' tab}}>{{tab.label}}</li>
{{/each}}
</ul>

View file

@ -0,0 +1,5 @@
<div class="user-notification">
{{#each notifications as |msg|}}
<p class="message">{{msg}}</p>
{{/each}}
</div>

View file

@ -0,0 +1,31 @@
<div class="page-profile">
<div class="form-header">
<div class="title">About You</div>
<div class="tip"></div>
</div>
<div class="input-control">
<label>Firstname</label>
{{focus-input id="firstname" type="text" value=model.firstname class=(if hasFirstnameError 'error')}}
</div>
<div class="input-control">
<label>Lastname</label>
{{input id="lastname" type="text" value=model.lastname class=(if hasLastnameError 'error')}}
</div>
<div class="input-control">
<label>Email</label>
{{input id="email" type="text" value=model.email class=(if hasEmailError 'error')}}
</div>
{{#if isAuthProviderDocumize}}
<div class="input-control">
<label>Password</label>
<div class="tip">New password</div>
{{input id="password" type="password" value=password.password class=hasPasswordError}}
</div>
<div class="input-control">
<label>Confirm Password</label>
<div class="tip">Confirm your new password</div>
{{input id="confirmPassword" type="password" value=password.confirmation class=hasConfirmPasswordError}}
</div>
{{/if}}
<div class="regular-button button-blue" {{ action 'save' }}>save</div>
</div>

View file

@ -0,0 +1,159 @@
<div class="basic-card">
Hello
</div>
<div class="clearfix" />
<br/>
<div class="round-button-mono" id="sample-1" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="round-button-mono" id="sample-2" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">clear</i>
</div>
<div class="round-button-mono" id="sample-" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">settings</i>
</div>
<div class="round-button-mono" id="delete-folder">
<i class="material-icons">delete</i>
</div>
<div class="clearfix" />
<br/>
<div class="round-button button-red" id="sample-3" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="round-button button-blue" id="sample-4" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="round-button button-green" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="round-button button-gray" id="" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">question_answer</i>
</div>
<div class="clearfix" />
<br/>
<div class="square-button button-red" id="sample-3" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="square-button button-blue" id="sample-4" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="square-button button-green" id="sample-dropdown-1" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">share</i>
</div>
<div class="square-button button-gray" data-tooltip="Share folder" data-tooltip-position="top center">
<i class="material-icons">question_answer</i>
</div>
<div class="clearfix" />
<br/>
<div class="regular-button button-red" data-tooltip="Share folder" data-tooltip-position="top center">
delete
</div>
<div class="regular-button button-blue" data-tooltip="Share folder" data-tooltip-position="top center">
save
</div>
<div class="regular-button button-green" data-tooltip="Share folder" data-tooltip-position="top center">
update
</div>
<div class="regular-button button-gray" id="dropdown-menu-1">
menu
</div>
<div class="clearfix" />
<br/>
<div class="flat-button">
cancel
</div>
<div class="flat-button flat-blue">
Got it
</div>
<div class="flat-button flat-green">
save
</div>
<div class="flat-button flat-red">
delete
</div>
<div class="flat-button flat-gray">
ok
</div>
<div class="clearfix" />
<br/>
<div class="chip">
<span class="chip-text">#finance</span>
<i class="material-icons right">clear</i>
</div>
<div class="chip">
<span class="chip-text">#records</span>
</div>
<div class="clearfix" />
<br/>
<br/>
<div class="margin-left-50" style="width: 300px;">
<div class="input-control">
<label>Name</label>
<input type="text" value="">
</div>
<div class="input-control">
<label>Email</label>
<input type="text" value="">
</div>
<div class="input-control">
<label>Notes</label>
<div class="tip">No more than 200 characters</div>
<textarea rows="3"></textarea>
</div>
<div class="regular-button button-blue">
save
</div>
</div>
<br/>
<br/>
<div id="sample-dropdown-content-1" class="dropdown-dialog">
<div class="content">
<p>Are you sure you want to delete this folder?</p>
</div>
<div class="actions">
<div class="flat-button" {{action 'dropClose'}}>
cancel
</div>
<div class="flat-button flat-red">
delete
</div>
</div>
<div class="clearfix"></div>
</div>
{{#dropdown-dialog target="delete-folder" position="bottom left" button="Add" color="flat-red" onAction=(action 'addFolder')}}
<p>Are you sure you want to delete this folder?</p>
<p>There is no undo!</p>
{{/dropdown-dialog}}
{{#dropdown-dialog target="help-dropdown" position="bottom left" button="Got it" color="flat-blue" showCancel=false callback=false}}
<p>Some text here to help you.</p>
<p>That you can read.</p>
{{/dropdown-dialog}}
{{#dropdown-menu target="dropdown-menu-1" position="bottom right"}}
<ul class="menu">
<li class="item" {{action 'showNotification' 'Yes, yes.'}}>Profile</li>
<li class="item" {{action 'showNotification' 'Saved profile'}}>Settings</li>
<li class="divider"></li>
<li class="item">Sign out</li>
</ul>
{{/dropdown-menu}}