mirror of
https://github.com/documize/community.git
synced 2025-07-21 22:29:41 +02:00
[WIP] Upgrade EmberJS -- lint pass!
This commit is contained in:
parent
c7808d0b5a
commit
adbd00bdd7
95 changed files with 645 additions and 645 deletions
|
@ -5,12 +5,14 @@ module.exports = {
|
|||
rules: {
|
||||
'attribute-indentation': false,
|
||||
'block-indentation': false,
|
||||
'no-nested-interactive': false,
|
||||
'img-alt-attributes': false,
|
||||
'link-rel-noopener': false,
|
||||
'no-inline-styles': false,
|
||||
'no-invalid-interactive': false,
|
||||
'no-nested-interactive': false,
|
||||
'no-triple-curlies': false,
|
||||
'style-concatenation': false,
|
||||
'no-inline-styles': false,
|
||||
'img-alt-attributes': false,
|
||||
'simple-unless': false,
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
// https://documize.com
|
||||
|
||||
import $ from 'jquery';
|
||||
import { observer } from '@ember/object';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { schedule, debounce } from '@ember/runloop';
|
||||
import AuthProvider from '../../mixins/auth';
|
||||
|
@ -47,9 +48,9 @@ export default Component.extend(AuthProvider, ModalMixin, {
|
|||
this.set('users', users);
|
||||
},
|
||||
|
||||
onKeywordChange: function () {
|
||||
onKeywordChange: observer('filter', function() {
|
||||
debounce(this, this.filterUsers, 350);
|
||||
}.observes('filter'),
|
||||
}),
|
||||
|
||||
filterUsers() {
|
||||
this.get('onFilter')(this.get('filter'));
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
import $ from 'jquery';
|
||||
import { empty } from '@ember/object/computed';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { computed } from '@ember/object';
|
||||
import { computed, observer } from '@ember/object';
|
||||
import Notifier from '../../mixins/notifier';
|
||||
import Modals from '../../mixins/modal';
|
||||
import Component from '@ember/component';
|
||||
|
@ -33,7 +33,7 @@ export default Component.extend(Notifier, Modals, {
|
|||
return this.get('blocks.length') > 0;
|
||||
}),
|
||||
|
||||
onModalToggle: function () {
|
||||
onModalToggle: observer('show', function() {
|
||||
let modalId = this.get('modalId');
|
||||
|
||||
if (this.get('show')) {
|
||||
|
@ -48,7 +48,7 @@ export default Component.extend(Notifier, Modals, {
|
|||
$(modalId).modal('hide');
|
||||
$(modalId).modal('dispose');
|
||||
}
|
||||
}.observes('show'),
|
||||
}),
|
||||
|
||||
addSection(model) {
|
||||
this.modalClose(this.get('modalId'));
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
// https://documize.com
|
||||
|
||||
import { debounce } from '@ember/runloop';
|
||||
import { computed, set } from '@ember/object';
|
||||
import { computed, set, observer } from '@ember/object';
|
||||
import { inject as service } from '@ember/service';
|
||||
import stringUtil from '../../utils/string';
|
||||
import ModalMixin from '../../mixins/modal';
|
||||
|
@ -35,7 +35,7 @@ export default Component.extend(ModalMixin, {
|
|||
}),
|
||||
modalId: computed('page', function() { return '#content-linker-modal-' + this.get('page.id'); }),
|
||||
showModal: false,
|
||||
onToggle: function() {
|
||||
onToggle: observer('showModal', function() {
|
||||
let modalId = this.get('modalId');
|
||||
|
||||
if (!this.get('showModal')) {
|
||||
|
@ -55,7 +55,7 @@ export default Component.extend(ModalMixin, {
|
|||
});
|
||||
|
||||
this.modalOpen(modalId, {show: true});
|
||||
}.observes('showModal'),
|
||||
}),
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
@ -77,9 +77,9 @@ export default Component.extend(ModalMixin, {
|
|||
this.modalClose(this.get('modalId'));
|
||||
},
|
||||
|
||||
onKeywordChange: function() {
|
||||
onKeywordChange: observer('keywords', function() {
|
||||
debounce(this, this.fetch, 750);
|
||||
}.observes('keywords'),
|
||||
}),
|
||||
|
||||
fetch() {
|
||||
let keywords = this.get('keywords');
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
// https://documize.com
|
||||
|
||||
import $ from 'jquery';
|
||||
import { computed } from '@ember/object';
|
||||
import { computed, observer } from '@ember/object';
|
||||
import { debounce } from '@ember/runloop';
|
||||
import { inject as service } from '@ember/service';
|
||||
import ModalMixin from '../../mixins/modal';
|
||||
|
@ -28,9 +28,9 @@ export default Component.extend(ModalMixin, {
|
|||
canDelete: false,
|
||||
canMove: false,
|
||||
docSearchFilter: '',
|
||||
onKeywordChange: function () {
|
||||
onKeywordChange: observer('docSearchFilter', function() {
|
||||
debounce(this, this.searchDocs, 750);
|
||||
}.observes('docSearchFilter'),
|
||||
}),
|
||||
emptySearch: computed('docSearchResults', function() {
|
||||
return this.get('docSearchResults.length') === 0;
|
||||
}),
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<div class="auth-center">
|
||||
<div class="auth-box">
|
||||
<div class="logo">
|
||||
<img src="/assets/img/logo-purple.png" title="Documize" alt="Documize" class="img-fluid" />
|
||||
<img src="/assets/img/logo-purple.png" title="Documize" alt="Documize" class="img-fluid">
|
||||
<div class="url">{{appMeta.appHost}}</div>
|
||||
</div>
|
||||
<div class="login-form">
|
||||
{{forgot-password forgot=(action 'forgot')}}
|
||||
{{forgot-password forgot=(action "forgot")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#if (is-equal model.mode 'login')}}
|
||||
{{#if (is-equal model.mode "login")}}
|
||||
<div class="sso-box">
|
||||
<p>Authenticating with Keycloak...</p>
|
||||
<img src="/assets/img/busy-gray.gif" />
|
||||
<img src="/assets/img/busy-gray.gif">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if (is-equal model.mode 'reject')}}
|
||||
{{#if (is-equal model.mode "reject")}}
|
||||
<div class="sso-box">
|
||||
<p>Keycloak authentication failure</p>
|
||||
<p>{{model.message}}</p>
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
{{#if model.showLogin}}
|
||||
<div class="auth-box">
|
||||
<div class="logo">
|
||||
<img src="/assets/img/logo-purple.png" title="Documize" alt="Documize" class="img-fluid" />
|
||||
<img src="/assets/img/logo-purple.png" title="Documize" alt="Documize" class="img-fluid">
|
||||
<div class="url">{{appMeta.appHost}}</div>
|
||||
</div>
|
||||
<form {{action 'login' on="submit"}}>
|
||||
<form {{action "login" on="submit"}}>
|
||||
<div class="form-group">
|
||||
{{#if isAuthProviderDocumize}}
|
||||
<label for="authEmail">Email</label>
|
||||
|
@ -29,7 +29,7 @@
|
|||
<button type="submit" class="btn btn-success font-weight-bold text-uppercase mt-4">Sign in</button>
|
||||
<div class="{{unless invalidCredentials "invisible"}} color-red-600 mt-3">Invalid credentials</div>
|
||||
{{#if isAuthProviderDocumize}}
|
||||
{{#link-to 'auth.forgot'}}Forgot your password?{{/link-to}}
|
||||
{{#link-to "auth.forgot"}}Forgot your password?{{/link-to}}
|
||||
{{/if}}
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="sso-box">
|
||||
<p>Logging out...</p>
|
||||
<img src="/assets/img/busy-gray.gif" />
|
||||
<img src="/assets/img/busy-gray.gif">
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div class="auth-center">
|
||||
<div class="auth-box">
|
||||
<div class="logo">
|
||||
<img src="/assets/img/logo-purple.png" title="Documize" alt="Documize" class="img-fluid" />
|
||||
<img src="/assets/img/logo-purple.png" title="Documize" alt="Documize" class="img-fluid">
|
||||
<div class="url">{{appMeta.appHost}}</div>
|
||||
</div>
|
||||
{{password-reset reset=(action 'reset')}}
|
||||
{{password-reset reset=(action "reset")}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="sso-box">
|
||||
<p>Signing in...</p>
|
||||
<img src="/assets/img/busy-gray.gif" />
|
||||
<img src="/assets/img/busy-gray.gif">
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{customize/auth-settings
|
||||
authProvider=model.authProvider
|
||||
authConfig=model.authConfig
|
||||
onSave=(action 'onSave')
|
||||
onSyncLDAP=(action 'onSyncLDAP')
|
||||
onSyncKeycloak=(action 'onSyncKeycloak')
|
||||
onChange=(action 'onChange')}}
|
||||
onSave=(action "onSave")
|
||||
onSyncLDAP=(action "onSyncLDAP")
|
||||
onSyncKeycloak=(action "onSyncKeycloak")
|
||||
onChange=(action "onChange")}}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{{customize/backup-restore onBackup=(action 'onBackup') onRestore=(action 'onRestore')}}
|
||||
{{customize/backup-restore onBackup=(action "onBackup") onRestore=(action "onRestore")}}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{{customize/general-settings model=model save=(action 'save')}}
|
||||
{{customize/general-settings model=model save=(action "save")}}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{{customize/search-index searchStatus=model reindex=(action 'reindex')}}
|
||||
{{customize/search-index searchStatus=model reindex=(action "reindex")}}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{{customize/smtp-settings model=model saveSMTP=(action 'saveSMTP')}}
|
||||
{{customize/smtp-settings model=model saveSMTP=(action "saveSMTP")}}
|
||||
|
|
|
@ -12,44 +12,44 @@
|
|||
<p>Configure authentication, SMTP, licensing and manage user accounts</p>
|
||||
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
{{#link-to 'customize.general' activeClass='selected' class="tab tab-vertical" tagName="li" }}General{{/link-to}}
|
||||
{{#link-to 'customize.integrations' activeClass='selected' class="tab tab-vertical" tagName="li" }}Integrations{{/link-to}}
|
||||
{{#link-to "customize.general" activeClass="selected" class="tab tab-vertical" tagName="li"}}General{{/link-to}}
|
||||
{{#link-to "customize.integrations" activeClass="selected" class="tab tab-vertical" tagName="li"}}Integrations{{/link-to}}
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#link-to 'customize.smtp' activeClass='selected' class="tab tab-vertical" tagName="li" }}Mail{{/link-to}}
|
||||
{{#link-to "customize.smtp" activeClass="selected" class="tab tab-vertical" tagName="li"}}Mail{{/link-to}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
{{#link-to 'customize.groups' activeClass='selected' class="tab tab-vertical" tagName="li" }}Groups{{/link-to}}
|
||||
{{#link-to 'customize.users' activeClass='selected' class="tab tab-vertical" tagName="li" }}Users{{/link-to}}
|
||||
{{#link-to "customize.groups" activeClass="selected" class="tab tab-vertical" tagName="li"}}Groups{{/link-to}}
|
||||
{{#link-to "customize.users" activeClass="selected" class="tab tab-vertical" tagName="li"}}Users{{/link-to}}
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#link-to 'customize.auth' activeClass='selected' class="tab tab-vertical" tagName="li" }}Authentication{{/link-to}}
|
||||
{{#link-to "customize.auth" activeClass="selected" class="tab tab-vertical" tagName="li"}}Authentication{{/link-to}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
{{#link-to 'customize.folders' activeClass='selected' class="tab tab-vertical" tagName="li" }}Spaces{{/link-to}}
|
||||
{{#link-to "customize.folders" activeClass="selected" class="tab tab-vertical" tagName="li"}}Spaces{{/link-to}}
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#link-to 'customize.search' activeClass='selected' class="tab tab-vertical" tagName="li" }}Search{{/link-to}}
|
||||
{{#link-to "customize.search" activeClass="selected" class="tab tab-vertical" tagName="li"}}Search{{/link-to}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#link-to 'customize.audit' activeClass='selected' class="tab tab-vertical" tagName="li" }}Audit{{/link-to}}
|
||||
{{#link-to "customize.audit" activeClass="selected" class="tab tab-vertical" tagName="li"}}Audit{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
{{#link-to 'customize.backup' activeClass='selected' class="tab tab-vertical" tagName="li" }}Backup // Restore{{/link-to}}
|
||||
{{#link-to "customize.backup" activeClass="selected" class="tab tab-vertical" tagName="li"}}Backup // Restore{{/link-to}}
|
||||
</ul>
|
||||
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#link-to 'customize.billing' activeClass='selected' class="tab tab-vertical" tagName="li" }}Billing{{/link-to}}
|
||||
{{#link-to "customize.billing" activeClass="selected" class="tab tab-vertical" tagName="li"}}Billing{{/link-to}}
|
||||
{{/if}}
|
||||
{{#link-to 'customize.product' activeClass='selected' class="tab tab-vertical" tagName="li" }}Changelog{{/link-to}}
|
||||
{{#link-to "customize.product" activeClass="selected" class="tab tab-vertical" tagName="li"}}Changelog{{/link-to}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{customize/user-admin users=model
|
||||
onAddUser=(action 'onAddUser')
|
||||
onAddUsers=(action 'onAddUsers')}}
|
||||
onAddUser=(action "onAddUser")
|
||||
onAddUsers=(action "onAddUsers")}}
|
||||
|
||||
{{customize/user-list users=model
|
||||
syncInProgress=syncInProgress
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" folder.id folder.slug class='link'}}
|
||||
{{#link-to "folder.index" folder.id folder.slug class="link"}}
|
||||
{{folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to 'document.index' folder.id folder.slug document.id document.slug class="link selected"}}
|
||||
{{#link-to "document.index" folder.id folder.slug document.id document.slug class="link selected"}}
|
||||
{{document.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
@ -23,24 +23,24 @@
|
|||
document=document
|
||||
versions=versions
|
||||
permissions=permissions
|
||||
refresh=(action 'refresh')
|
||||
onSaveTemplate=(action 'onSaveTemplate')
|
||||
onSaveDocument=(action 'onSaveDocument')
|
||||
onDocumentDelete=(action 'onDocumentDelete')}}
|
||||
refresh=(action "refresh")
|
||||
onSaveTemplate=(action "onSaveTemplate")
|
||||
onSaveDocument=(action "onSaveDocument")
|
||||
onDocumentDelete=(action "onDocumentDelete")}}
|
||||
|
||||
<div class="text-center non-printable document-tabnav">
|
||||
<ul class="tabnav-control">
|
||||
<li class="tab {{if (eq tab 'content') 'selected'}}" {{action 'onTabChange' 'content'}}>Content</li>
|
||||
<li class="tab {{if (eq tab "content") "selected"}}" {{action "onTabChange" "content"}}>Content</li>
|
||||
{{#if session.authenticated}}
|
||||
{{#if showRevisions}}
|
||||
<li class="tab {{if (eq tab 'revision') 'selected'}}" {{action 'onTabChange' 'revision'}}>Revisions</li>
|
||||
<li class="tab {{if (eq tab "revision") "selected"}}" {{action "onTabChange" "revision"}}>Revisions</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="view-document">
|
||||
<div class="document-heading {{if permissions.documentEdit 'cursor-pointer' ''}}" {{action 'onEditMeta'}}>
|
||||
<div class="document-heading {{if permissions.documentEdit "cursor-pointer"}}" {{action "onEditMeta"}}>
|
||||
<h1 class="doc-title">
|
||||
{{#if document.template}}
|
||||
<span class="bg-warning p-1 pr-2 pl-2">Template</span>
|
||||
|
@ -58,9 +58,9 @@
|
|||
document=document
|
||||
versions=versions
|
||||
permissions=permissions
|
||||
onSaveDocument=(action 'onSaveDocument')}}
|
||||
onSaveDocument=(action "onSaveDocument")}}
|
||||
|
||||
{{#if (eq tab 'content')}}
|
||||
{{#if (eq tab "content")}}
|
||||
{{document/view-content
|
||||
roles=roles
|
||||
links=links
|
||||
|
@ -72,25 +72,25 @@
|
|||
document=document
|
||||
permissions=permissions
|
||||
currentPageId=currentPageId
|
||||
refresh=(action 'refresh')
|
||||
onSavePage=(action 'onSavePage')
|
||||
onCopyPage=(action 'onCopyPage')
|
||||
onMovePage=(action 'onMovePage')
|
||||
onDeletePage=(action 'onPageDeleted')
|
||||
onInsertSection=(action 'onInsertSection')
|
||||
onSavePageAsBlock=(action 'onSavePageAsBlock')
|
||||
onPageLevelChange=(action 'onPageLevelChange')
|
||||
onPageSequenceChange=(action 'onPageSequenceChange')}}
|
||||
refresh=(action "refresh")
|
||||
onSavePage=(action "onSavePage")
|
||||
onCopyPage=(action "onCopyPage")
|
||||
onMovePage=(action "onMovePage")
|
||||
onDeletePage=(action "onPageDeleted")
|
||||
onInsertSection=(action "onInsertSection")
|
||||
onSavePageAsBlock=(action "onSavePageAsBlock")
|
||||
onPageLevelChange=(action "onPageLevelChange")
|
||||
onPageSequenceChange=(action "onPageSequenceChange")}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'revision')}}
|
||||
{{#if (eq tab "revision")}}
|
||||
{{#if showRevisions}}
|
||||
{{document/view-revision
|
||||
pages=pages
|
||||
folder=folder
|
||||
document=document
|
||||
permissions=permissions
|
||||
onRollback=(action 'onRollback')}}
|
||||
onRollback=(action "onRollback")}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
@ -107,9 +107,9 @@
|
|||
document=document
|
||||
permissions=permissions
|
||||
currentPageId=currentPageId
|
||||
onShowPage=(action 'onShowPage')
|
||||
onPageLevelChange=(action 'onPageLevelChange')
|
||||
onPageSequenceChange=(action 'onPageSequenceChange')}}
|
||||
onShowPage=(action "onShowPage")
|
||||
onPageLevelChange=(action "onPageLevelChange")
|
||||
onPageSequenceChange=(action "onPageSequenceChange")}}
|
||||
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class='link'}}
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class="link"}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to 'document.index' model.folder.id model.folder.slug model.document.id model.document.slug class="link selected"}}
|
||||
{{#link-to "document.index" model.folder.id model.folder.slug model.document.id model.document.slug class="link selected"}}
|
||||
{{model.document.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
@ -15,7 +15,7 @@
|
|||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="mt-5">
|
||||
{{document/document-editor document=model.document folder=model.folder page=model.page meta=model.meta onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{document/document-editor document=model.document folder=model.folder page=model.page meta=model.meta onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class='link'}}
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class="link"}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to 'document.index' model.folder.id model.folder.slug model.document.id model.document.slug class="link"}}
|
||||
{{#link-to "document.index" model.folder.id model.folder.slug model.document.id model.document.slug class="link"}}
|
||||
{{model.document.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to "document.settings" model.folder.id model.folder.slug class='link selected'}}
|
||||
{{#link-to "document.settings" model.folder.id model.folder.slug class="link selected"}}
|
||||
Settings
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
@ -18,28 +18,28 @@
|
|||
|
||||
{{#layout/middle-zone}}
|
||||
{{#layout/middle-zone-content}}
|
||||
{{#if (eq tab 'general')}}
|
||||
{{#if (eq tab "general")}}
|
||||
{{document/settings-general
|
||||
space=model.folder
|
||||
document=model.document
|
||||
permissions=model.permissions
|
||||
onSaveDocument=(action 'onSaveDocument')}}
|
||||
onSaveDocument=(action "onSaveDocument")}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'meta')}}
|
||||
{{#if (eq tab "meta")}}
|
||||
{{document/settings-meta
|
||||
space=model.folder
|
||||
document=model.document
|
||||
permissions=model.permissions
|
||||
onSaveDocument=(action 'onSaveDocument')}}
|
||||
onSaveDocument=(action "onSaveDocument")}}
|
||||
{{/if}}
|
||||
{{/layout/middle-zone-content}}
|
||||
|
||||
{{#layout/middle-zone-sidebar}}
|
||||
<div id="sidebar" class="sidebar">
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if (eq tab 'general') 'selected'}}" {{action 'onTab' 'general'}}>General</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'meta') 'selected'}}" {{action 'onTab' 'meta'}}>Categories & Tags</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "general") "selected"}}" {{action "onTab" "general"}}>General</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "meta") "selected"}}" {{action "onTab" "meta"}}>Categories & Tags</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class='link'}}
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class="link"}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to 'document.index' model.folder.id model.folder.slug model.document.id model.document.slug class="link selected"}}
|
||||
{{#link-to "document.index" model.folder.id model.folder.slug model.document.id model.document.slug class="link selected"}}
|
||||
{{model.document.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
{{/layout/top-bar}}
|
||||
|
||||
{{document/block-editor document=model.document folder=model.folder block=model.block onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{document/block-editor document=model.document folder=model.folder block=model.block onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
{{#layout/bottom-bar}}
|
||||
{{/layout/bottom-bar}}
|
|
@ -1,6 +1,6 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class='link selected'}}
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class="link selected"}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
@ -16,7 +16,7 @@
|
|||
category=category
|
||||
categories=model.categories
|
||||
documents=filteredDocs
|
||||
onRefresh=(action 'onRefresh')}}
|
||||
onRefresh=(action "onRefresh")}}
|
||||
|
||||
{{folder/documents-list
|
||||
documents=filteredDocs
|
||||
|
@ -24,9 +24,9 @@
|
|||
space=model.folder
|
||||
templates=model.templates
|
||||
permissions=model.permissions
|
||||
onExportDocument=(action 'onExportDocument')
|
||||
onDeleteDocument=(action 'onDeleteDocument')
|
||||
onMoveDocument=(action 'onMoveDocument')}}
|
||||
onExportDocument=(action "onExportDocument")
|
||||
onDeleteDocument=(action "onDeleteDocument")
|
||||
onMoveDocument=(action "onMoveDocument")}}
|
||||
{{/layout/middle-zone-content}}
|
||||
|
||||
{{#layout/middle-zone-sidebar scrollable=true}}
|
||||
|
@ -42,8 +42,8 @@
|
|||
categoryMembers=model.categoryMembers
|
||||
rootDocCount=model.rootDocCount
|
||||
categoryFilter=category
|
||||
onFiltered=(action 'onFiltered')
|
||||
onRefresh=(action 'onRefresh')}}
|
||||
onFiltered=(action "onFiltered")
|
||||
onRefresh=(action "onRefresh")}}
|
||||
</div>
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
{{/layout/middle-zone}}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class='link'}}
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class="link"}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to "folder.settings" model.folder.id model.folder.slug class='link selected'}}
|
||||
{{#link-to "folder.settings" model.folder.id model.folder.slug class="link selected"}}
|
||||
Settings
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
@ -13,33 +13,33 @@
|
|||
|
||||
{{#layout/middle-zone}}
|
||||
{{#layout/middle-zone-content}}
|
||||
{{#if (eq tab 'general')}}
|
||||
{{#if (eq tab "general")}}
|
||||
{{folder/settings-general permissions=model.permissions space=model.folder}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'permissions')}}
|
||||
{{folder/settings-permissions permissions=model.permissions folders=model.folders folder=model.folder onRefresh=(action 'onRefresh')}}
|
||||
{{#if (eq tab "permissions")}}
|
||||
{{folder/settings-permissions permissions=model.permissions folders=model.folders folder=model.folder onRefresh=(action "onRefresh")}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'templates')}}
|
||||
{{#if (eq tab "templates")}}
|
||||
{{folder/settings-templates permissions=model.permissions space=model.folder templates=model.templates}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'blocks')}}
|
||||
{{#if (eq tab "blocks")}}
|
||||
{{folder/settings-blocks permissions=model.permissions space=model.folder}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if (eq tab 'archived')}}
|
||||
{{#if (eq tab "archived")}}
|
||||
{{enterprise/space-archived permissions=model.permissions spaces=model.folder space=model.folder}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'categories')}}
|
||||
{{#if (eq tab "categories")}}
|
||||
{{folder/settings-category permissions=model.permissions spaces=model.folder space=model.folder}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'deletion')}}
|
||||
{{#if (eq tab "deletion")}}
|
||||
{{folder/settings-delete permissions=model.permissions spaces=model.folder space=model.folder}}
|
||||
{{/if}}
|
||||
{{/layout/middle-zone-content}}
|
||||
|
@ -47,28 +47,28 @@
|
|||
{{#layout/middle-zone-sidebar}}
|
||||
<div id="sidebar" class="sidebar">
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if (eq tab 'general') 'selected'}}" {{action 'onTab' 'general'}}>General</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'permissions') 'selected'}}" {{action 'onTab' 'permissions'}}>User Permissions</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "general") "selected"}}" {{action "onTab" "general"}}>General</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "permissions") "selected"}}" {{action "onTab" "permissions"}}>User Permissions</li>
|
||||
</ul>
|
||||
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if (eq tab 'categories') 'selected'}}" {{action 'onTab' 'categories'}}>Categories</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "categories") "selected"}}" {{action "onTab" "categories"}}>Categories</li>
|
||||
</ul>
|
||||
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if (eq tab 'templates') 'selected'}}" {{action 'onTab' 'templates'}}>Document Templates</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'blocks') 'selected'}}" {{action 'onTab' 'blocks'}}>Content Blocks</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "templates") "selected"}}" {{action "onTab" "templates"}}>Document Templates</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "blocks") "selected"}}" {{action "onTab" "blocks"}}>Content Blocks</li>
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
<li class="tab tab-vertical {{if (eq tab 'archived') 'selected'}}" {{action 'onTab' 'archived'}}>Archived</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "archived") "selected"}}" {{action "onTab" "archived"}}>Archived</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
||||
{{#if model.permissions.spaceOwner}}
|
||||
<div class="mt-4" />
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if (eq tab 'deletion') 'selected'}}" {{action 'onTab' 'deletion'}}>Delete</li>
|
||||
<li class="tab tab-vertical {{if (eq tab "deletion") "selected"}}" {{action "onTab" "deletion"}}>Delete</li>
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<h1>{{appMeta.title}}</h1>
|
||||
<p>{{appMeta.message}}</p>
|
||||
{{#if session.isEditor}}
|
||||
<button type="button" class="btn btn-success font-weight-bold my-3" {{action 'onShowModal'}}>+ SPACE</button>
|
||||
<button type="button" class="btn btn-success font-weight-bold my-3" {{action "onShowModal"}}>+ SPACE</button>
|
||||
{{/if}}
|
||||
{{spaces/space-list spaces=model}}
|
||||
|
||||
|
@ -15,15 +15,15 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Add Space</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onAddSpace'}}>
|
||||
<form onsubmit={{action "onAddSpace"}}>
|
||||
<div class="form-group">
|
||||
<label for="new-space-name">Space Name</label>
|
||||
{{input type='text' id="new-space-name" class="form-control mousetrap" placeholder="Space name" value=spaceName}}
|
||||
{{input type="text" id="new-space-name" class="form-control mousetrap" placeholder="Space name" value=spaceName}}
|
||||
<small id="emailHelp" class="form-text text-muted">Characters and numbers only</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="clone-space-dropdown">Clone Space</label>
|
||||
{{ui-select id="clone-space-dropdown" content=model prompt="select space" action=(action 'onCloneSpaceSelect') optionValuePath="id" optionLabelPath="name" selection=clonedSpace}}
|
||||
{{ui-select id="clone-space-dropdown" content=model prompt="select space" action=(action "onCloneSpaceSelect") optionValuePath="id" optionLabelPath="name" selection=clonedSpace}}
|
||||
<small id="emailHelp" class="form-text text-muted">Copy templates, permissions, documents from existing space</small>
|
||||
<div class="margin-top-10" />
|
||||
{{#if hasClone}}
|
||||
|
@ -36,7 +36,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onAddSpace'}}>Add</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onAddSpace"}}>Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
{{#layout/middle-zone}}
|
||||
{{#layout/middle-zone-content}}
|
||||
{{user-profile model=model save=(action 'save')}}
|
||||
{{user-profile model=model save=(action "save")}}
|
||||
{{/layout/middle-zone-content}}
|
||||
|
||||
{{#layout/middle-zone-sidebar}}
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
<div class="row">
|
||||
<div class="col-4">
|
||||
<div>
|
||||
<img src="/assets/img/setup/logo.png" alt="Documize" class="no-select no-outline margin-top-20" />
|
||||
<img src="/assets/img/setup/logo.png" alt="Documize" class="no-select no-outline margin-top-20">
|
||||
</div>
|
||||
<div class="margin-top-150">
|
||||
<img src="/assets/img/setup/cogs.png" width="157" height="187" alt="Setup new database" class="no-select no-outline" />
|
||||
<img src="/assets/img/setup/cogs.png" width="157" height="187" alt="Setup new database" class="no-select no-outline">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
{{documize-setup model=model save=(action 'save')}}
|
||||
{{documize-setup model=model save=(action "save")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#layout/master-sidebar}}
|
||||
one<br/>
|
||||
two<br/>
|
||||
one<br>
|
||||
two<br>
|
||||
three
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
|
@ -9,40 +9,40 @@
|
|||
<button class="dmz-button-theme">save</button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-theme-light">update</button>
|
||||
<br/>
|
||||
<br/>
|
||||
<button class="dmz-button-green" {{action 'onSuccess'}}>save</button>
|
||||
<br>
|
||||
<br>
|
||||
<button class="dmz-button-green" {{action "onSuccess"}}>save</button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-yellow" {{action 'onInfo'}}>update</button>
|
||||
<button class="dmz-button-yellow" {{action "onInfo"}}>update</button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-gray" {{action 'onWarn'}}>cancel</button>
|
||||
<button class="dmz-button-gray" {{action "onWarn"}}>cancel</button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-red" {{action 'onError'}}>delete</button>
|
||||
<button class="dmz-button-red" {{action "onError"}}>delete</button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<br/>
|
||||
<br/>
|
||||
<button class="dmz-button-green-light"><div class='label'>Save</div></button>
|
||||
<br>
|
||||
<br>
|
||||
<button class="dmz-button-green-light"><div class="label">Save</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-yellow-light"><div class='label'>Update</div></button>
|
||||
<button class="dmz-button-yellow-light"><div class="label">Update</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-gray-light"><div class='label'>cancel</div></button>
|
||||
<button class="dmz-button-gray-light"><div class="label">cancel</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-red-light"><div class='label'>Delete</div></button>
|
||||
<button class="dmz-button-red-light"><div class="label">Delete</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<br/>
|
||||
<br/>
|
||||
<button class="dmz-button-green-light"><i class="dicon dicon-e-add"/><div class='label'>space</div></button>
|
||||
<br>
|
||||
<br>
|
||||
<button class="dmz-button-green-light"><i class="dicon dicon-e-add"/><div class="label">space</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-green-light"><i class="dicon dicon-e-add"/><div class='label'>content</div></button>
|
||||
<button class="dmz-button-green-light"><i class="dicon dicon-e-add"/><div class="label">content</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-yellow-light"><i class="dicon dicon-e-add"/><div class='label'>user</div></button>
|
||||
<button class="dmz-button-yellow-light"><i class="dicon dicon-e-add"/><div class="label">user</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-gray-light"><i class="dicon dicon-e-add"/><div class='label'>group</div></button>
|
||||
<button class="dmz-button-gray-light"><i class="dicon dicon-e-add"/><div class="label">group</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<button class="dmz-button-red-light"><i class="dicon dicon-bin"/><div class='label'>delete</div></button>
|
||||
<button class="dmz-button-red-light"><i class="dicon dicon-bin"/><div class="label">delete</div></button>
|
||||
<div class="dmz-button-gap-right" />
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
|
||||
<i class="dicon dicon-bin red"/>
|
||||
<i class="dicon dicon-print yellow"/>
|
||||
|
@ -50,8 +50,8 @@
|
|||
<i class="dicon dicon-print green"/>
|
||||
<i class="dicon dicon-single-01"/>
|
||||
{{/ui/ui-toolbar}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
||||
<i class="dicon dicon-bin red"/>
|
||||
<i class="dicon dicon-print yellow"/>
|
||||
|
@ -59,8 +59,8 @@
|
|||
<i class="dicon dicon-print green"/>
|
||||
<i class="dicon dicon-single-01"/>
|
||||
{{/ui/ui-toolbar}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
{{#ui/ui-toolbar dark=true light=false raised=true large=false bordered=true}}
|
||||
<i class="dicon dicon-bin red"/>
|
||||
<i class="dicon dicon-print yellow"/>
|
||||
|
@ -68,8 +68,8 @@
|
|||
<i class="dicon dicon-print green"/>
|
||||
<i class="dicon dicon-single-01"/>
|
||||
{{/ui/ui-toolbar}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false}}
|
||||
<i class="dicon dicon-bin red"/>
|
||||
<i class="dicon dicon-print yellow"/>
|
||||
|
@ -77,8 +77,8 @@
|
|||
<i class="dicon dicon-print green"/>
|
||||
<i class="dicon dicon-single-01"/>
|
||||
{{/ui/ui-toolbar}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
|
||||
<i class="dicon dicon-bin red"/>
|
||||
<i class="dicon dicon-print yellow"/>
|
||||
|
@ -86,8 +86,8 @@
|
|||
<i class="dicon dicon-print green"/>
|
||||
<i class="dicon dicon-single-01"/>
|
||||
{{/ui/ui-toolbar}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
{{#ui/ui-toolbar dark=true light=false raised=true large=true bordered=true}}
|
||||
<i class="dicon dicon-bin red"/>
|
||||
<i class="dicon dicon-print yellow"/>
|
||||
|
@ -95,8 +95,8 @@
|
|||
<i class="dicon dicon-print green"/>
|
||||
<i class="dicon dicon-single-01"/>
|
||||
{{/ui/ui-toolbar}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
|
|
|
@ -11,21 +11,21 @@
|
|||
<form class="mt-5">
|
||||
<div class="widget-list-picker widget-list-picker-horiz">
|
||||
<ul class="options">
|
||||
<li class="option {{if isDocumizeProvider 'selected'}}" {{action 'onDocumize'}}>
|
||||
<li class="option {{if isDocumizeProvider "selected"}}" {{action "onDocumize"}}>
|
||||
<div class="text-header">Documize</div>
|
||||
<div class="text">Built-in email/password</div>
|
||||
{{#if isDocumizeProvider}}
|
||||
<i class="material-icons">check</i>
|
||||
{{/if}}
|
||||
</li>
|
||||
<li class="option {{if isKeycloakProvider 'selected'}}" {{action 'onKeycloak'}}>
|
||||
<li class="option {{if isKeycloakProvider "selected"}}" {{action "onKeycloak"}}>
|
||||
<div class="text-header">Keycloak</div>
|
||||
<div class="text">Via authentication server</div>
|
||||
{{#if isKeycloakProvider}}
|
||||
<i class="material-icons">check</i>
|
||||
{{/if}}
|
||||
</li>
|
||||
<li class="option {{if isLDAPProvider 'selected'}}" {{action 'onLDAP'}}>
|
||||
<li class="option {{if isLDAPProvider "selected"}}" {{action "onLDAP"}}>
|
||||
<div class="text-header">LDAP</div>
|
||||
<div class="text">Connect to LDAP/ Active Directory</div>
|
||||
{{#if isLDAPProvider}}
|
||||
|
@ -35,9 +35,9 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
{{#if isDocumizeProvider}}
|
||||
<p>There are no settings.</p>
|
||||
|
@ -47,28 +47,28 @@
|
|||
<div class="form-group row">
|
||||
<label for="keycloak-url" class="col-sm-3 col-form-label">Keycloak Server URL</label>
|
||||
<div class="col-sm-9">
|
||||
{{focus-input id="keycloak-url" type="text" value=keycloakConfig.url class=(if KeycloakUrlError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input id="keycloak-url" type="text" value=keycloakConfig.url class=(if KeycloakUrlError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. http://localhost:8888/auth</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="keycloak-realm" class="col-sm-3 col-form-label">Keycloak Realm</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="keycloak-realm" type="text" value=keycloakConfig.realm class=(if KeycloakRealmError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="keycloak-realm" type="text" value=keycloakConfig.realm class=(if KeycloakRealmError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. main</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="keycloak-publicKey" class="col-sm-3 col-form-label">Keycloak Realm Public Key</label>
|
||||
<div class="col-sm-9">
|
||||
{{textarea id="keycloak-publicKey" type="text" value=keycloakConfig.publicKey rows=7 class=(if KeycloakPublicKeyError 'form-control is-invalid' 'form-control')}}
|
||||
{{textarea id="keycloak-publicKey" type="text" value=keycloakConfig.publicKey rows=7 class=(if KeycloakPublicKeyError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Copy the RSA Public Key from Realm Settings → Keys</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="keycloak-clientId" class="col-sm-3 col-form-label">Keycloak OIDC Client ID</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="keycloak-clientId" type="text" value=keycloakConfig.clientId class=(if KeycloakClientIdError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="keycloak-clientId" type="text" value=keycloakConfig.clientId class=(if KeycloakClientIdError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. account</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -76,13 +76,13 @@
|
|||
<label for="keycloak-group" class="col-sm-3 col-form-label">Keycloak Group ID (Optional)</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="keycloak-group" type="text" value=keycloakConfig.group class="form-control"}}
|
||||
<small class="form-text text-muted">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)</small>
|
||||
<small class="form-text text-muted">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)</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="keycloak-admin-user" class="col-sm-3 col-form-label">Keycloak Username</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="keycloak-admin-user" type="text" value=keycloakConfig.adminUser class=(if KeycloakAdminUserError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="keycloak-admin-user" type="text" value=keycloakConfig.adminUser class=(if KeycloakAdminUserError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Used to connect with Keycloak and sync users with Documize (create user under Master Realm and assign 'view-users' role
|
||||
against Realm specified above)</small>
|
||||
</div>
|
||||
|
@ -90,7 +90,7 @@
|
|||
<div class="form-group row">
|
||||
<label for="keycloak-admin-password" class="col-sm-3 col-form-label">Keycloak Password</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="keycloak-admin-password" type="password" value=keycloakConfig.adminPassword class=(if KeycloakAdminPasswordError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="keycloak-admin-password" type="password" value=keycloakConfig.adminPassword class=(if KeycloakAdminPasswordError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Used to connect with Keycloak and sync users with Documize</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -112,25 +112,25 @@
|
|||
<div class="form-group row">
|
||||
<label for="ldap-host" class="col-sm-3 col-form-label">LDAP Server</label>
|
||||
<div class="col-sm-9">
|
||||
{{focus-input id="ldap-host" type="text" value=ldapConfig.serverHost class=(if ldapErrorServerHost 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input id="ldap-host" type="text" value=ldapConfig.serverHost class=(if ldapErrorServerHost "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">IP or host address, e.g. ldap.example.org, 127.0.0.1</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-port" class="col-sm-3 col-form-label">LDAP Server Port</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-port" type="number" value=ldapConfig.serverPort class=(if ldapErrorServerPort 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-port" type="number" value=ldapConfig.serverPort class=(if ldapErrorServerPort "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Port number, e.g. 389</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-encryption" class="col-sm-3 col-form-label">Encryption</label>
|
||||
<div class="col-sm-9">
|
||||
<select onchange={{action 'onLDAPEncryption' value="target.value"}} class="form-control">
|
||||
<option value="{{constants.AuthProvider.EncryptionTypeNone}}" selected={{is-equal ldapConfig.encryptionType constants.AuthProvider.EncryptionTypeNone}}>
|
||||
<select onchange={{action "onLDAPEncryption" value="target.value"}} class="form-control">
|
||||
<option value={{constants.AuthProvider.EncryptionTypeNone}} selected={{is-equal ldapConfig.encryptionType constants.AuthProvider.EncryptionTypeNone}}>
|
||||
{{constants.AuthProvider.EncryptionTypeNone}}
|
||||
</option>
|
||||
<option value="{{constants.AuthProvider.EncryptionTypeStartTLS}}" selected={{is-equal ldapConfig.encryptionType constants.AuthProvider.EncryptionTypeStartTLS}}>
|
||||
<option value={{constants.AuthProvider.EncryptionTypeStartTLS}} selected={{is-equal ldapConfig.encryptionType constants.AuthProvider.EncryptionTypeStartTLS}}>
|
||||
{{constants.AuthProvider.EncryptionTypeStartTLS}}
|
||||
</option>
|
||||
</select>
|
||||
|
@ -139,28 +139,28 @@
|
|||
<div class="form-group row">
|
||||
<label for="ldap-baseDN" class="col-sm-3 col-form-label">Base DN</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-baseDN" type="text" value=ldapConfig.baseDN class='form-control'}}
|
||||
{{input id="ldap-baseDN" type="text" value=ldapConfig.baseDN class="form-control"}}
|
||||
<small class="form-text text-muted">Starting point for search filters, e.g. ou=users,dc=example,dc=com</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-bindDN" class="col-sm-3 col-form-label">Bind DN</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-bindDN" type="text" value=ldapConfig.bindDN class=(if ldapErrorBindDN 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-bindDN" type="text" value=ldapConfig.bindDN class=(if ldapErrorBindDN "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">login credentials for LDAP server</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-bindPassword" class="col-sm-3 col-form-label">Bind Password</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-bindPassword" type="password" value=ldapConfig.bindPassword class=(if ldapErrorBindPassword 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-bindPassword" type="password" value=ldapConfig.bindPassword class=(if ldapErrorBindPassword "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">login credentials for LDAP server</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-userFilter" class="col-sm-3 col-form-label">User Filter</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-userFilter" type="text" value=ldapConfig.userFilter class=(if ldapErrorNoFilter 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-userFilter" type="text" value=ldapConfig.userFilter class=(if ldapErrorNoFilter "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Search filter for finding users, e.g. (|(objectClass=person)(objectClass=user)(objectClass=inetOrgPerson))</small>
|
||||
<small class="form-text text-muted highlight">Specify User Filter and/or Group Filter</small>
|
||||
</div>
|
||||
|
@ -168,7 +168,7 @@
|
|||
<div class="form-group row">
|
||||
<label for="ldap-groupFilter" class="col-sm-3 col-form-label">Group Filter</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-groupFilter" type="text" value=ldapConfig.groupFilter class=(if ldapErrorNoFilter 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-groupFilter" type="text" value=ldapConfig.groupFilter class=(if ldapErrorNoFilter "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Search filter for finding users via groups, e.g. (&(objectClass=group)(|(cn=ship_crew)(cn=admin_staff)))</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -176,7 +176,7 @@
|
|||
<div class="form-group row">
|
||||
<label for="ldap-attributeUserRDN" class="col-sm-3 col-form-label">User Attribute RDN</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-attributeUserRDN" type="text" value=ldapConfig.attributeUserRDN class=(if ldapErrorAttributeUserRDN 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-attributeUserRDN" type="text" value=ldapConfig.attributeUserRDN class=(if ldapErrorAttributeUserRDN "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Username/login attribute, e.g. uid in LDAP, sAMAccountName in Active Directory</small>
|
||||
<small class="form-text text-muted highlight">User Attributes used to retreive data when using User Filter</small>
|
||||
</div>
|
||||
|
@ -184,28 +184,28 @@
|
|||
<div class="form-group row">
|
||||
<label for="ldap-attributeUserFirstname" class="col-sm-3 col-form-label">User Attribute Firstname</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-attributeUserFirstname" type="text" value=ldapConfig.attributeUserFirstname class=(if ldapErrorAttributeUserFirstname 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-attributeUserFirstname" type="text" value=ldapConfig.attributeUserFirstname class=(if ldapErrorAttributeUserFirstname "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Firstname attribute, e.g. givenName</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-attributeUserLastname" class="col-sm-3 col-form-label">User Attribute Lastname</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-attributeUserLastname" type="text" value=ldapConfig.attributeUserLastname class=(if ldapErrorAttributeUserLastname 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-attributeUserLastname" type="text" value=ldapConfig.attributeUserLastname class=(if ldapErrorAttributeUserLastname "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Lastname attribute, e.g. sn</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-attributeUserEmail" class="col-sm-3 col-form-label">User Attribute Email</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-attributeUserEmail" type="text" value=ldapConfig.attributeUserEmail class=(if ldapErrorAttributeUserEmail 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-attributeUserEmail" type="text" value=ldapConfig.attributeUserEmail class=(if ldapErrorAttributeUserEmail "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Email attribute, e.g. mail</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ldap-attributeGroupMember" class="col-sm-3 col-form-label">Group Attribute Member</label>
|
||||
<div class="col-sm-9">
|
||||
{{input id="ldap-attributeGroupMember" type="text" value=ldapConfig.attributeGroupMember class=(if ldapErrorAttributeGroupMember 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="ldap-attributeGroupMember" type="text" value=ldapConfig.attributeGroupMember class=(if ldapErrorAttributeGroupMember "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Attribute that identifies individual group member, e.g. member or uniqueMember</small>
|
||||
<small class="form-text text-muted highlight">Group Attributes used to retreive data when using Group Filter</small>
|
||||
</div>
|
||||
|
@ -225,12 +225,12 @@
|
|||
<div class="form-group row">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9">
|
||||
<div class="btn btn-secondary mt-4" {{action 'onLDAPPreview'}}>Test Connection & Preview pauth→</div>
|
||||
<div class="btn btn-secondary mt-4" {{action "onLDAPPreview"}}>Test Connection & Preview pauth→</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="btn btn-success mt-4" {{action 'onSave'}}>ACTIVATE</div>
|
||||
<div class="btn btn-success mt-4" {{action "onSave"}}>ACTIVATE</div>
|
||||
</form>
|
||||
|
||||
{{#if (gt keycloakFailure.length 0)}}
|
||||
|
|
|
@ -36,10 +36,10 @@
|
|||
{{#if backupRunning}}
|
||||
<h3 class="text-success">Backup running, please wait...</h3>
|
||||
{{else}}
|
||||
<button class="btn btn-success mb-3" {{action 'onBackup'}}>TENANT BACKUP ({{appMeta.appHost}})</button>
|
||||
<button class="btn btn-success mb-3" {{action "onBackup"}}>TENANT BACKUP ({{appMeta.appHost}})</button>
|
||||
{{#if session.isGlobalAdmin}}
|
||||
<div class="button-gap" />
|
||||
<button class="btn btn-success mb-3" {{action 'onSystemBackup'}}>SYSTEM BACKUP</button>
|
||||
<button class="btn btn-success mb-3" {{action "onSystemBackup"}}>SYSTEM BACKUP</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if backupFailed}}
|
||||
|
@ -61,7 +61,7 @@
|
|||
|
||||
<div class="margin-top-30 margin-bottom-20">
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" id="restore-file" accept="application/zip" multiple=false onchange={{action "upload"}}>
|
||||
<input type="file" class="custom-file-input" id="restore-file" accept="application/zip" multiple="false" onchange={{action "upload"}}>
|
||||
<label class="custom-file-label" for="restore-file">Choose backup file</label>
|
||||
</div>
|
||||
<div class="margin-top-20"></div>
|
||||
|
@ -73,7 +73,7 @@
|
|||
<div class="restore-success">Restore completed — restart your browser and log in</div>
|
||||
{{else}}
|
||||
{{#if restoreUploadReady}}
|
||||
<button class="btn btn-danger mb-3" {{action 'onShowRestoreModal'}}>{{restoreButtonLabel}}</button>
|
||||
<button class="btn btn-danger mb-3" {{action "onShowRestoreModal"}}>{{restoreButtonLabel}}</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
@ -85,17 +85,17 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Confirm Restore</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onRestore'}}>
|
||||
<form onsubmit={{action "onRestore"}}>
|
||||
<div class="form-group">
|
||||
<label for="delete-space-name">Please type RESTORE to commence the process</label>
|
||||
{{input type='text' id="confirm-restore" class="form-control mousetrap" placeholder="Please type RESTORE" value=confirmRestore}}
|
||||
{{input type="text" id="confirm-restore" class="form-control mousetrap" placeholder="Please type RESTORE" value=confirmRestore}}
|
||||
<small class="form-text text-muted">You should only restore to an empty Documize instance</small>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onRestore'}}>Start Restore</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onRestore"}}>Start Restore</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
<div class="form-group row">
|
||||
<label for="siteTitle" class="col-sm-4 col-form-label">Site Name</label>
|
||||
<div class="col-sm-7">
|
||||
{{focus-input id="siteTitle" type="text" value=model.general.title class=(if hasTitleInputError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input id="siteTitle" type="text" value=model.general.title class=(if hasTitleInputError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Provide short title for this Documize instance</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label id="siteMessage" class="col-sm-4 col-form-label">Site Message</label>
|
||||
<div class="col-sm-7">
|
||||
{{textarea id="siteMessage" rows="3" value=model.general.message class=(if hasMessageInputError 'form-control is-invalid' 'form-control')}}
|
||||
{{textarea id="siteMessage" rows="3" value=model.general.message class=(if hasMessageInputError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Provide short message explaining this Documize instance</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -27,8 +27,7 @@
|
|||
<label class="col-sm-4 col-form-label">Anonymous Access</label>
|
||||
<div class="col-sm-7">
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input" id="allowAnonymousAccess" checked= {{model.general.allowAnonymousAccess}}
|
||||
/>
|
||||
<input type="checkbox" class="form-check-input" id="allowAnonymousAccess" checked={{model.general.allowAnonymousAccess}}>
|
||||
<label class="form-check-label" for="allowAnonymousAccess">
|
||||
Make content marked as "Everyone" available to anonymous users
|
||||
</label>
|
||||
|
@ -38,7 +37,7 @@
|
|||
<div class="form-group row">
|
||||
<label for="conversionEndpoint" class="col-sm-4 col-form-label">Conversion Service URL</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="conversionEndpoint" type="text" value=model.general.conversionEndpoint class=(if hasConversionEndpointInputError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="conversionEndpoint" type="text" value=model.general.conversionEndpoint class=(if hasConversionEndpointInputError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">
|
||||
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>)
|
||||
|
@ -48,15 +47,15 @@
|
|||
<div class="form-group row">
|
||||
<label for="maxTags" class="col-sm-4 col-form-label">Maximum Tags Per Document</label>
|
||||
<div class="col-sm-7">
|
||||
<select class="form-control" id="maxTags" {{action 'change' on='change'}}>
|
||||
<option selected={{is-equal 3 maxTags}} value=3>3</option>
|
||||
<option selected={{is-equal 4 maxTags}} value=4>4</option>
|
||||
<option selected={{is-equal 5 maxTags}} value=5>5</option>
|
||||
<option selected={{is-equal 6 maxTags}} value=6>6</option>
|
||||
<option selected={{is-equal 7 maxTags}} value=7>7</option>
|
||||
<option selected={{is-equal 8 maxTags}} value=8>8</option>
|
||||
<option selected={{is-equal 9 maxTags}} value=9>9</option>
|
||||
<option selected={{is-equal 10 maxTags}} value=10>10</option>
|
||||
<select class="form-control" id="maxTags" {{action "change" on="change"}}>
|
||||
<option selected={{is-equal 3 maxTags}} value="3">3</option>
|
||||
<option selected={{is-equal 4 maxTags}} value="4">4</option>
|
||||
<option selected={{is-equal 5 maxTags}} value="5">5</option>
|
||||
<option selected={{is-equal 6 maxTags}} value="6">6</option>
|
||||
<option selected={{is-equal 7 maxTags}} value="7">7</option>
|
||||
<option selected={{is-equal 8 maxTags}} value="8">8</option>
|
||||
<option selected={{is-equal 9 maxTags}} value="9">9</option>
|
||||
<option selected={{is-equal 10 maxTags}} value="10">10</option>
|
||||
</select>
|
||||
<small class="form-text text-muted">How many tags can be assigned to a document (between 3 and 10 tags)</small>
|
||||
</div>
|
||||
|
@ -64,11 +63,11 @@
|
|||
<div class="form-group row">
|
||||
<label class="col-sm-4 col-form-label">Default Site Theme</label>
|
||||
<div class="col-sm-7">
|
||||
{{ui/theme-picker onChange=(action 'onThemeChange')}}
|
||||
{{ui/theme-picker onChange=(action "onThemeChange")}}
|
||||
<small class="form-text text-muted">Users can set their own theme under Profile</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn btn-success font-weight-bold text-uppercase mt-4" {{action 'save'}}>Save</div>
|
||||
<div class="btn btn-success font-weight-bold text-uppercase mt-4" {{action "save"}}>Save</div>
|
||||
</form>
|
||||
</div>
|
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="btn btn-success font-weight-bold text-uppercase mt-4" {{action 'onSave'}}>Save</div>
|
||||
<div class="btn btn-success font-weight-bold text-uppercase mt-4" {{action "onSave"}}>Save</div>
|
||||
|
||||
</form>
|
||||
</div>
|
|
@ -38,58 +38,58 @@
|
|||
<h3 class="text-danger">Hmm, your product subscription is not valid</h3>
|
||||
<a class="btn btn-success" href="https://documize.com/pricing?ref=app">upgrade ⟶</a>
|
||||
{{/if}}
|
||||
<br/>
|
||||
<br/>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-id" class="col-sm-4 col-form-label">Customer ID</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-id" type="text" value=subscription.id class='form-control' readonly=true}}
|
||||
{{input id="sub-id" type="text" value=subscription.id class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">Quote this ID when contacting us</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-name" class="col-sm-4 col-form-label">Customer Name</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-name" type="text" value=subscription.name class='form-control' readonly=true}}
|
||||
{{input id="sub-name" type="text" value=subscription.name class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">The business or personal name of our customer</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-email" class="col-sm-4 col-form-label">Contact Email</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-email" type="email" value=subscription.email class='form-control' readonly=true}}
|
||||
{{input id="sub-email" type="email" value=subscription.email class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">Where we will send product update and billing notices</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-seats" class="col-sm-4 col-form-label">Maximum Users</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-seats" type="number" value=subscription.seats class='form-control' readonly=true}}
|
||||
{{input id="sub-seats" type="number" value=subscription.seats class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">Your user pack size — you have {{subscription.activeUsers}} active users at the moment</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if (eq appMeta.location 'selfhost')}}
|
||||
{{#if (eq appMeta.location "selfhost")}}
|
||||
<div class="form-group row">
|
||||
<label for="sub-start" class="col-sm-4 col-form-label">Start Date</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-start" type="text" value=(formatted-date subscription.start) class='form-control' readonly=true}}
|
||||
{{input id="sub-start" type="text" value=(formatted-date subscription.start) class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">When you (re)signed up</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-end" class="col-sm-4 col-form-label">Renewal Date</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-end" type="text" value=(formatted-date subscription.end) class='form-control' readonly=true}}
|
||||
{{input id="sub-end" type="text" value=(formatted-date subscription.end) class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">The renewal date of your annual subscription</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-price" class="col-sm-4 col-form-label">Annual Billing</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-price" type="text" value=(formatted-price subscription.price) class='form-control' readonly=true}}
|
||||
{{input id="sub-price" type="text" value=(formatted-price subscription.price) class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">What you pay each year</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -97,14 +97,14 @@
|
|||
<div class="form-group row">
|
||||
<label for="sub-start" class="col-sm-4 col-form-label">Start of Billing</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-start" type="text" value=(formatted-date subscription.start) class='form-control' readonly=true}}
|
||||
{{input id="sub-start" type="text" value=(formatted-date subscription.start) class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">When we first charged your credit card — charged every 30 days thereafter</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="sub-price" class="col-sm-4 col-form-label">Monthly Amount</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-price" type="text" value=(formatted-price subscription.price) class='form-control' readonly=true}}
|
||||
{{input id="sub-price" type="text" value=(formatted-price subscription.price) class="form-control" readonly=true}}
|
||||
<small class="form-text text-muted">What you pay us each month</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -114,17 +114,17 @@
|
|||
<div class="form-group row">
|
||||
<label for="sub-trial" class="col-sm-4 col-form-label">Trial?</label>
|
||||
<div class="col-sm-7">
|
||||
{{input id="sub-trial" type="text" value="Yes" class='form-control' readonly=true}}
|
||||
{{input id="sub-trial" type="text" value="Yes" class="form-control" readonly=true}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if (eq appMeta.location 'selfhost')}}
|
||||
{{#if (eq appMeta.location "selfhost")}}
|
||||
<div class="form-group row">
|
||||
<label for="sub-license" class="col-sm-4 col-form-label">Activation Key</label>
|
||||
<div class="col-sm-7">
|
||||
{{focus-textarea id="sub-license" value=license rows="10" class=(if licenseError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-textarea id="sub-license" value=license rows="10" class=(if licenseError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">The activation key you received after sign-up</small>
|
||||
<div class="btn btn-secondary mt-3" {{action 'saveLicense'}}>Activate</div>
|
||||
<div class="btn btn-secondary mt-3" {{action "saveLicense"}}>Activate</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -132,7 +132,7 @@
|
|||
</div>
|
||||
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if (eq appMeta.location 'cloud')}}
|
||||
{{#if (eq appMeta.location "cloud")}}
|
||||
<div class="row">
|
||||
<div class="col-sm-4"></div>
|
||||
<div class="col-sm-7">
|
||||
|
@ -141,9 +141,9 @@
|
|||
<p>Let us know if you would like to close your account or cancel your subscription.</p>
|
||||
<p><span class="font-weight-bold">WARNING: </span>All data will be deleted so please download a complete backup of all your data.</p>
|
||||
<p>Requests can take up to 24 hours to process.</p>
|
||||
{{#link-to 'customize.backup' class="btn btn-success"}}PERFORM BACKUP{{/link-to}}
|
||||
{{#link-to "customize.backup" class="btn btn-success"}}PERFORM BACKUP{{/link-to}}
|
||||
<div class="button-gap" />
|
||||
<button class="btn btn-danger" {{action 'onRequestClosure'}}>CLOSE ACCOUNT</button>
|
||||
<button class="btn btn-danger" {{action "onRequestClosure"}}>CLOSE ACCOUNT</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -166,7 +166,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onDeactivate'}}>Close Account</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDeactivate"}}>Close Account</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -178,7 +178,7 @@
|
|||
<div class="modal-header">Deactivation Requested</div>
|
||||
<div class="modal-body">
|
||||
<p>Your request has been sent and will be processed shortly.</p>
|
||||
<p>If you haven't already, please run a backup to download all your data.</p>
|
||||
<p>If you haven"t already, please run a backup to download all your data.</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">ok</button>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<form class="mt-5 ">
|
||||
<div class="form-group">
|
||||
<p>It can take up to 30 minutes to rebuild the search index across all documents and associated content.</p>
|
||||
<div class="btn btn-danger mt-3" {{action 'reindex'}}>{{buttonLabel}}</div>
|
||||
<div class="btn btn-danger mt-3" {{action "reindex"}}>{{buttonLabel}}</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -12,28 +12,28 @@
|
|||
<div class="form-group row">
|
||||
<label for="smtp-host" class="col-sm-4 col-form-label">Host</label>
|
||||
<div class="col-sm-8">
|
||||
{{focus-input id="smtp-host" type="text" value=model.smtp.host class=(if SMTPHostEmptyError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input id="smtp-host" type="text" value=model.smtp.host class=(if SMTPHostEmptyError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. my.host.com</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="smtp-port" class="col-sm-4 col-form-label">Port</label>
|
||||
<div class="col-sm-8">
|
||||
{{input id="smtp-port" type="text" value=model.smtp.port class=(if SMTPPortEmptyError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="smtp-port" type="text" value=model.smtp.port class=(if SMTPPortEmptyError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. 587</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="smtp-userid" class="col-sm-4 col-form-label">Username</label>
|
||||
<div class="col-sm-8">
|
||||
{{input id="smtp-userid" type="text" value=model.smtp.userid class='form-control'}}
|
||||
{{input id="smtp-userid" type="text" value=model.smtp.userid class="form-control"}}
|
||||
<small class="form-text text-muted">e.g. Login username for SMTP server</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="smtp-password" class="col-sm-4 col-form-label">Password</label>
|
||||
<div class="col-sm-8">
|
||||
{{input id="smtp-password" type="password" value=model.smtp.password class='form-control'}}
|
||||
{{input id="smtp-password" type="password" value=model.smtp.password class="form-control"}}
|
||||
<small class="form-text text-muted">e.g. Login password for SMTP server</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -41,14 +41,14 @@
|
|||
<div class="form-group row">
|
||||
<label for="smtp-sender" class="col-sm-4 col-form-label">Sender Email</label>
|
||||
<div class="col-sm-8">
|
||||
{{input id="smtp-sender" type="email" value=model.smtp.sender class=(if SMTPSenderEmptyError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="smtp-sender" type="email" value=model.smtp.sender class=(if SMTPSenderEmptyError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. user@some-domain.com</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="smtp-senderName" class="col-sm-4 col-form-label">Sender Name</label>
|
||||
<div class="col-sm-8">
|
||||
{{input id="smtp-senderName" type="text" value=model.smtp.senderName class=(if senderNameError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="smtp-senderName" type="text" value=model.smtp.senderName class=(if senderNameError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">e.g. Documize</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -57,7 +57,7 @@
|
|||
<label class="col-sm-4 col-form-label">Anonymous</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="form-check">
|
||||
{{input id="smtp-anonymous" type="checkbox" checked=model.smtp.anonymous class='form-check-input'}}
|
||||
{{input id="smtp-anonymous" type="checkbox" checked=model.smtp.anonymous class="form-check-input"}}
|
||||
<label class="form-check-label" for="smtp-anonymous">Anonymous authentication, ignore Username and Password fields</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -66,7 +66,7 @@
|
|||
<label class="col-sm-4 col-form-label">Base64</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="form-check">
|
||||
{{input id="smtp-base64creds" type="checkbox" checked=model.smtp.base64creds class='form-check-input'}}
|
||||
{{input id="smtp-base64creds" type="checkbox" checked=model.smtp.base64creds class="form-check-input"}}
|
||||
<label class="form-check-label" for="smtp-base64creds">Base64 encode Username and Password fields</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -75,13 +75,13 @@
|
|||
<label class="col-sm-4 col-form-label">SSL</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="form-check">
|
||||
{{input id="smtp-usessl" type="checkbox" checked=model.smtp.usessl class='form-check-input'}}
|
||||
{{input id="smtp-usessl" type="checkbox" checked=model.smtp.usessl class="form-check-input"}}
|
||||
<label class="form-check-label" for="smtp-usessl">Use SSL</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn btn-success mt-4" {{action 'saveSMTP'}}>{{buttonText}}</div>
|
||||
<div class="btn btn-success mt-4" {{action "saveSMTP"}}>{{buttonText}}</div>
|
||||
</form>
|
||||
{{#if testSMTP.success}}
|
||||
<p class="smtp-success my-3">{{testSMTP.message}}</p>
|
||||
|
|
|
@ -9,12 +9,12 @@
|
|||
|
||||
<div class="view-customize my-5">
|
||||
{{#if spaces}}
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onExport'}}>Export content</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onExport"}}>Export content</button>
|
||||
<div class="space-list">
|
||||
{{#each spaces as |space|}}
|
||||
<div class="space row">
|
||||
<div class="col-12 col-sm-8">
|
||||
{{#link-to 'folder' space.id space.slug class="alt"}}{{space.name}}{{/link-to}}
|
||||
{{#link-to "folder" space.id space.slug class="alt"}}{{space.name}}{{/link-to}}
|
||||
</div>
|
||||
<div class="col-12 col-sm-4 text-right">
|
||||
<div id="space-ownership-button-{{space.id}}" class="button-icon-gray align-middle" {{action "onOwner" space.id}}>
|
||||
|
@ -36,18 +36,18 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Space Deletion</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onDelete'}}>
|
||||
<form onsubmit={{action "onDelete"}}>
|
||||
<p>Are you sure you want to delete this space and all documents?</p>
|
||||
<div class="form-group">
|
||||
<label for="delete-space-name">Please type space name to confirm</label>
|
||||
{{input type='text' id="delete-space-name" class="form-control mousetrap" placeholder="Space name" value=deleteSpace.name}}
|
||||
{{input type="text" id="delete-space-name" class="form-control mousetrap" placeholder="Space name" value=deleteSpace.name}}
|
||||
<small class="form-text text-muted">This will delete all documents and templates within this space!</small>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onDelete'}}>Delete</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDelete"}}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
<h2 class="sub-heading">Set basic information, passwords and permissions for {{users.length}} users</h2>
|
||||
|
||||
{{#if isAuthProviderDocumize}}
|
||||
<div class="btn btn-success mt-3 mb-3" {{action 'onOpenUserModal'}}>Add user</div>
|
||||
<div class="btn btn-success mt-3 mb-3" {{action "onOpenUserModal"}}>Add user</div>
|
||||
<div id="add-user-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Add User</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onAddUser'}}>
|
||||
<form onsubmit={{action "onAddUser"}}>
|
||||
<div class="form-row">
|
||||
<div class="col">
|
||||
<label for="newUserFirstname">Firstname</label>
|
||||
|
@ -28,18 +28,18 @@
|
|||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col mt-3 text-right">
|
||||
<button type="submit" class="btn btn-success" {{action 'onAddUser'}}>Add user</button>
|
||||
<button type="submit" class="btn btn-success" {{action "onAddUser"}}>Add user</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form onsubmit={{action 'onAddUser'}}>
|
||||
<form onsubmit={{action "onAddUser"}}>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-desc">Bulk create users</label>
|
||||
{{textarea id="bulkUsers" value=bulkUsers class="form-control" rows="5" placeholder="firstname, lastname, email"}}
|
||||
<small class="form-text text-muted">Comma-delimited list: firstname, lastname, email</small>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<button type="submit" class="btn btn-success" {{action 'onAddUsers'}}>Add users</button>
|
||||
<button type="submit" class="btn btn-success" {{action "onAddUsers"}}>Add users</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
|
||||
<h1 class="admin-heading">Groups</h1>
|
||||
<h2 class="sub-heading">Create groups for easier user management — assign users to groups</h2>
|
||||
<div class="btn btn-success mt-3 mb-3" {{action 'onShowAddGroupModal'}}>Add Group</div>
|
||||
<div class="btn btn-success mt-3 mb-3" {{action "onShowAddGroupModal"}}>Add Group</div>
|
||||
|
||||
<div id="add-group-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Add Group</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit= {{action 'onAddGroup'}}>
|
||||
<form onsubmit= {{action "onAddGroup"}}>
|
||||
<div class="form-group">
|
||||
<label for="new-group-name">Name</label>
|
||||
{{focus-input id="new-group-name" type="text" class="form-control mousetrap" placeholder="Enter group name" value=newGroup.name}}
|
||||
|
@ -25,7 +25,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-success" onclick= {{action 'onAddGroup'}}>Add</button>
|
||||
<button type="button" class="btn btn-success" onclick= {{action "onAddGroup"}}>Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -44,18 +44,18 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-4 buttons text-right">
|
||||
<button class="btn btn-primary" {{action 'onShowAddMemberModal' group.id}}>Add Member</button>
|
||||
<button class="btn btn-primary" {{action "onShowAddMemberModal" group.id}}>Add Member</button>
|
||||
{{#if (gt group.members 0)}}
|
||||
<div class="button-icon-gap" />
|
||||
<button class="btn btn-danger" {{action 'onShowRemoveMemberModal' group.id}}>Remove Member</button>
|
||||
<button class="btn btn-danger" {{action "onShowRemoveMemberModal" group.id}}>Remove Member</button>
|
||||
{{/if}}
|
||||
<div class="button-icon-gap" />
|
||||
<div class="button-icon-gray align-middle" {{action 'onShowEditModal' group.id}}>
|
||||
<div class="button-icon-gray align-middle" {{action "onShowEditModal" group.id}}>
|
||||
<i class="material-icons">edit</i>
|
||||
{{#attach-tooltip showDelay=1000}}Edit group{{/attach-tooltip}}
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
<div class="button-icon-danger align-middle" {{action 'onShowDeleteModal' group.id}}>
|
||||
<div class="button-icon-danger align-middle" {{action "onShowDeleteModal" group.id}}>
|
||||
<i class="material-icons">delete</i>
|
||||
{{#attach-tooltip showDelay=1000}}Delete group{{/attach-tooltip}}
|
||||
</div>
|
||||
|
@ -73,7 +73,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Delete Group</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit= {{action 'onDeleteGroup'}}>
|
||||
<form onsubmit= {{action "onDeleteGroup"}}>
|
||||
<p>Are you sure you want to delete this group?</p>
|
||||
<div class="form-group">
|
||||
<label for="delete-group-name">Please type group name to confirm</label>
|
||||
|
@ -84,7 +84,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-danger" onclick= {{action 'onDeleteGroup'}}>Delete</button>
|
||||
<button type="button" class="btn btn-danger" onclick= {{action "onDeleteGroup"}}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -95,7 +95,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Edit Group</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit= {{action 'onEditGroup'}}>
|
||||
<form onsubmit= {{action "onEditGroup"}}>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-name">Name</label>
|
||||
{{input id="edit-group-name" type="text" class="form-control mousetrap" placeholder="Enter group name" value=editGroup.name}}
|
||||
|
@ -109,7 +109,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-success" onclick= {{action 'onEditGroup'}}>Save</button>
|
||||
<button type="button" class="btn btn-success" onclick= {{action "onEditGroup"}}>Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -126,7 +126,7 @@
|
|||
<div class="row item">
|
||||
<div class="col-10 fullname">{{member.fullname}}</div>
|
||||
<div class="col-2 text-right">
|
||||
<button class="btn btn-danger" {{action 'onLeaveGroup' member.userId}}>Remove</button>
|
||||
<button class="btn btn-danger" {{action "onLeaveGroup" member.userId}}>Remove</button>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
@ -147,39 +147,39 @@
|
|||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="group-members-search">Search users to join this group</label>
|
||||
{{input id="group-members-search" type="text" class="form-control mousetrap" placeholder="Search members and users..." value=searchText key-up=(action 'onSearch')}}
|
||||
{{input id="group-members-search" type="text" class="form-control mousetrap" placeholder="Search members and users..." value=searchText key-up=(action "onSearch")}}
|
||||
<small class="form-text text-muted">search firstname, lastname, email</small>
|
||||
</div>
|
||||
<div class="view-customize">
|
||||
<div class="text-center">
|
||||
<div class="btn-group btn-group-toggle">
|
||||
{{#attach-tooltip showDelay=1000}}Number of users to display{{/attach-tooltip}}>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 1}}>1
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 1}}>1
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 10) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 10}}>10
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 10) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 10}}>10
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 25) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 25}}>25
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 25) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 25}}>25
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 50) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 50}}>50
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 50) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 50}}>50
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 100) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 100}}>100
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 100) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 100}}>100
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 250) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 250}}>250
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 250) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 250}}>250
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 500) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 500}}>500
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 500) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 500}}>500
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1000) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 1000}}>1,000
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1000) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 1000}}>1,000
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 99999) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 99999}}>all
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 99999) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 99999}}>all
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -191,9 +191,9 @@
|
|||
<div class="col-10 fullname">{{user.firstname}} {{user.lastname}}</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#if user.isMember}}
|
||||
<button class="btn btn-danger" {{action 'onLeaveGroup' user.id}}>Remove</button>
|
||||
<button class="btn btn-danger" {{action "onLeaveGroup" user.id}}>Remove</button>
|
||||
{{else}}
|
||||
<button class="btn btn-success" {{action 'onJoinGroup' user.id}}>Add</button>
|
||||
<button class="btn btn-success" {{action "onJoinGroup" user.id}}>Add</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
{{#if syncInProgress}}
|
||||
<div class="btn btn-secondary mt-3 mb-3">Keycloak user sync running...</div>
|
||||
{{else}}
|
||||
<div class="btn btn-success mt-3 mb-3" {{action 'onSyncKeycloak'}}>Sync with Keycloak</div>
|
||||
<div class="btn btn-success mt-3 mb-3" {{action "onSyncKeycloak"}}>Sync with Keycloak</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if isAuthProviderLDAP}}
|
||||
{{#if syncInProgress}}
|
||||
<div class="btn btn-secondary mt-3 mb-3">LDAP user sync running...</div>
|
||||
{{else}}
|
||||
<div class="btn btn-success mt-3 mb-3" {{action 'onSyncLDAP'}}>Sync with LDAP</div>
|
||||
<div class="btn btn-success mt-3 mb-3" {{action "onSyncLDAP"}}>Sync with LDAP</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
@ -43,32 +43,32 @@
|
|||
<div class="max-results py-3">
|
||||
<div class="btn-group btn-group-toggle">
|
||||
{{#attach-tooltip showDelay=1000}}Number of users to display{{/attach-tooltip}}
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 1}}>1
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 1}}>1
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 10) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 10}}>10
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 10) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 10}}>10
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 25) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 25}}>25
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 25) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 25}}>25
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 50) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 50}}>50
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 50) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 50}}>50
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 100) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 100}}>100
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 100) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 100}}>100
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 250) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 250}}>250
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 250) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 250}}>250
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 500) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 500}}>500
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 500) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 500}}>500
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1000) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 1000}}>1,000
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 1000) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 1000}}>1,000
|
||||
</label>
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 99999) 'active'}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 99999}}>all
|
||||
<label class="btn btn-outline-secondary {{if (eq userLimit 99999) "active"}}">
|
||||
<input type="radio" name="options" autocomplete="off" {{action "onLimit" 99999}}>all
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -93,14 +93,14 @@
|
|||
<tbody>
|
||||
{{#each users key="id" as |user|}}
|
||||
<tr>
|
||||
<td class="{{unless user.active 'inactive-user'}} {{if user.admin 'admin-user'}}">
|
||||
<td class="{{unless user.active "inactive-user"}} {{if user.admin "admin-user"}}">
|
||||
<div class="d-inline-block align-top">
|
||||
{{#if user.me}}
|
||||
<i class="material-icons color-gray-700">check_box_outline_blank</i>
|
||||
{{else if user.selected}}
|
||||
<i class="material-icons checkbox" {{action 'toggleSelect' user}}>check_box</i>
|
||||
<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>
|
||||
<i class="material-icons checkbox" {{action "toggleSelect" user}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="d-inline-block">
|
||||
|
@ -118,41 +118,41 @@
|
|||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.editor}}
|
||||
<i class="material-icons checkbox" {{action 'toggleEditor' user.id}}>check_box</i>
|
||||
<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>
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.viewUsers}}
|
||||
<i class="material-icons checkbox" {{action 'toggleUsers' user.id}}>check_box</i>
|
||||
<i class="material-icons checkbox" {{action "toggleUsers" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action 'toggleUsers' user.id}}>check_box_outline_blank</i>
|
||||
<i class="material-icons checkbox" {{action "toggleUsers" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.me}}
|
||||
<i class="material-icons color-gray-700">check_box</i>
|
||||
{{else if user.admin}}
|
||||
<i class="material-icons checkbox" {{action 'toggleAdmin' user.id}}>check_box</i>
|
||||
<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>
|
||||
<i class="material-icons checkbox" {{action "toggleAdmin" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.analytics}}
|
||||
<i class="material-icons checkbox" {{action 'toggleAnalytics' user.id}}>check_box</i>
|
||||
<i class="material-icons checkbox" {{action "toggleAnalytics" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action 'toggleAnalytics' user.id}}>check_box_outline_blank</i>
|
||||
<i class="material-icons checkbox" {{action "toggleAnalytics" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.me}}
|
||||
<i class="material-icons color-gray-700">check_box</i>
|
||||
{{else if user.active}}
|
||||
<i class="material-icons checkbox" {{action 'toggleActive' user.id}}>check_box</i>
|
||||
<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>
|
||||
<i class="material-icons checkbox" {{action "toggleActive" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
|
@ -214,13 +214,13 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onUpdate'}}>Save</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onUpdate"}}>Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Delete User" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog onAction=(action 'onDelete')}}
|
||||
{{#ui/ui-dialog title="Delete User" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog onAction=(action "onDelete")}}
|
||||
<p>Are you sure you want to delete {{deleteUser.fullname}}?</p>
|
||||
{{/ui/ui-dialog}}
|
||||
|
||||
|
@ -233,7 +233,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onBulkDelete'}}>Delete</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onBulkDelete"}}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -255,9 +255,9 @@
|
|||
</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#if group.isMember}}
|
||||
<button class="btn btn-danger" {{action 'onLeaveGroup' group.id}}>Leave</button>
|
||||
<button class="btn btn-danger" {{action "onLeaveGroup" group.id}}>Leave</button>
|
||||
{{else}}
|
||||
<button class="btn btn-success" {{action 'onJoinGroup' group.id}}>Join</button>
|
||||
<button class="btn btn-success" {{action "onJoinGroup" group.id}}>Join</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" id="new-section-name" value=newSectionName
|
||||
class=(if newSectionNameMissing 'mousetrap form-control form-control-lg is-invalid' 'mousetrap form-control form-control-lg')
|
||||
class=(if newSectionNameMissing "mousetrap form-control form-control-lg is-invalid" "mousetrap form-control form-control-lg")
|
||||
placeholder="Enter section name" autocomplete="off"}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -23,11 +23,11 @@
|
|||
<div class="new-section-caption">Select Section Type</div>
|
||||
<ul class="preset-list">
|
||||
{{#each sections as |section|}}
|
||||
<li class="item" {{action 'onInsertSection' section}}>
|
||||
<li class="item" {{action "onInsertSection" section}}>
|
||||
<div class="icon">
|
||||
<img class="img" src="/sections/{{section.contentType}}.png" srcset="/sections/{{section.contentType}}@2x.png" />
|
||||
<img class="img" src="/sections/{{section.contentType}}.png" srcset="/sections/{{section.contentType}}@2x.png">
|
||||
</div>
|
||||
<div class='title'>{{section.title}}</div>
|
||||
<div class="title">{{section.title}}</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
@ -40,7 +40,7 @@
|
|||
{{#each blocks as |block|}}
|
||||
<li class="item">
|
||||
{{#attach-tooltip showDelay=1000}}Published by {{block.firstname}} {{block.lastname}}, {{time-ago block.created}} — used {{ block.used }} times{{/attach-tooltip}}
|
||||
<div class="details" {{action 'onInsertBlock' block}}>
|
||||
<div class="details" {{action "onInsertBlock" block}}>
|
||||
<div class="title text-truncate">{{block.title}}</div>
|
||||
<div class="desc text-truncate">{{block.excerpt}}</div>
|
||||
</div>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="block-editor">
|
||||
{{component editorType document=document space=space page=page meta=meta blockMode=true onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{component editorType document=document space=space page=page meta=meta blockMode=true onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
<div class="row">
|
||||
<div class="col mt-3 mb-5">
|
||||
<ul class="tabnav-control text-center">
|
||||
<li class="tab {{if tab1Selected 'selected'}}" {{action 'onTabSelect' 1}}>Section</li>
|
||||
<li class="tab {{if tab2Selected 'selected'}}" {{action 'onTabSelect' 2}}>Attachment</li>
|
||||
<li class="tab {{if tab3Selected 'selected'}}" {{action 'onTabSelect' 3}}>Search</li>
|
||||
<li class="tab {{if tab4Selected 'selected'}}" {{action 'onTabSelect' 4}}>Network</li>
|
||||
<li class="tab {{if tab1Selected "selected"}}" {{action "onTabSelect" 1}}>Section</li>
|
||||
<li class="tab {{if tab2Selected "selected"}}" {{action "onTabSelect" 2}}>Attachment</li>
|
||||
<li class="tab {{if tab3Selected "selected"}}" {{action "onTabSelect" 3}}>Search</li>
|
||||
<li class="tab {{if tab4Selected "selected"}}" {{action "onTabSelect" 4}}>Network</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -19,7 +19,7 @@
|
|||
<div class="row">
|
||||
<div class="col content-linker-modal-container">
|
||||
<p>Link to content within this document</p>
|
||||
{{ui/ui-list-picker items=candidates.pages nameField='title' singleSelect=true onSelect=(action 'setSelection')}}
|
||||
{{ui/ui-list-picker items=candidates.pages nameField="title" singleSelect=true onSelect=(action "setSelection")}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -31,9 +31,9 @@
|
|||
<div class="widget-list-picker">
|
||||
<ul class="options">
|
||||
{{#each candidates.attachments as |item|}}
|
||||
<li class="option {{if item.selected 'selected'}}" {{action 'setSelection' item}}>
|
||||
<li class="option {{if item.selected "selected"}}" {{action "setSelection" item}}>
|
||||
<div class="text text-truncate">
|
||||
<img class="icon" src="/assets/img/attachments/{{document/file-icon item.context}}" />
|
||||
<img class="icon" src="/assets/img/attachments/{{document/file-icon item.context}}">
|
||||
{{item.title}}
|
||||
</div>
|
||||
{{#if item.selected}}
|
||||
|
@ -61,9 +61,9 @@
|
|||
<div class="widget-list-picker">
|
||||
<ul class="options">
|
||||
{{#each matches.documents as |item|}}
|
||||
<li class="option {{if item.selected 'selected'}}" {{action 'setSelection' item}}>
|
||||
<li class="option {{if item.selected "selected"}}" {{action "setSelection" item}}>
|
||||
<div class="text text-truncate">
|
||||
{{item.title}}<br/>{{item.context}}
|
||||
{{item.title}}<br>{{item.context}}
|
||||
</div>
|
||||
{{#if item.selected}}
|
||||
<i class="material-icons">check</i>
|
||||
|
@ -71,9 +71,9 @@
|
|||
</li>
|
||||
{{/each}}
|
||||
{{#each matches.pages as |item|}}
|
||||
<li class="option {{if item.selected 'selected'}}" {{action 'setSelection' item}}>
|
||||
<li class="option {{if item.selected "selected"}}" {{action "setSelection" item}}>
|
||||
<div class="text text-truncate">
|
||||
{{item.title}}<br/>{{item.context}}
|
||||
{{item.title}}<br>{{item.context}}
|
||||
</div>
|
||||
{{#if item.selected}}
|
||||
<i class="material-icons">check</i>
|
||||
|
@ -81,9 +81,9 @@
|
|||
</li>
|
||||
{{/each}}
|
||||
{{#each matches.attachments as |item|}}
|
||||
<li class="option {{if item.selected 'selected'}}" {{action 'setSelection' item}}>
|
||||
<li class="option {{if item.selected "selected"}}" {{action "setSelection" item}}>
|
||||
<div class="text text-truncate">
|
||||
<img class="icon" src="/assets/img/attachments/{{document/file-icon item.context}}" />
|
||||
<img class="icon" src="/assets/img/attachments/{{document/file-icon item.context}}">
|
||||
{{item.title}}
|
||||
</div>
|
||||
{{#if item.selected}}
|
||||
|
@ -112,8 +112,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" {{action 'onCancel'}}>Cancel</button>
|
||||
<button type="button" class="btn btn-success" {{action 'onInsertLink'}}>Insert</button>
|
||||
<button type="button" class="btn btn-outline-secondary" {{action "onCancel"}}>Cancel</button>
|
||||
<button type="button" class="btn btn-success" {{action "onInsertLink"}}>Insert</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1 +1 @@
|
|||
{{component editorType document=document folder=folder page=page meta=meta onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{component editorType document=document folder=folder page=page meta=meta onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
{{#if (eq document.lifecycle constants.Lifecycle.Live)}}
|
||||
<div id="document-lifecycle-popover" class="document-lifecycle-live text-uppercase" {{action 'onEditLifecycle'}}>{{document.lifecycleLabel}}</div>
|
||||
<div id="document-lifecycle-popover" class="document-lifecycle-live text-uppercase" {{action "onEditLifecycle"}}>{{document.lifecycleLabel}}</div>
|
||||
{{/if}}
|
||||
{{#if (eq document.lifecycle constants.Lifecycle.Draft)}}
|
||||
<div id="document-lifecycle-popover" class="document-lifecycle-draft text-uppercase" {{action 'onEditLifecycle'}}>{{document.lifecycleLabel}}</div>
|
||||
<div id="document-lifecycle-popover" class="document-lifecycle-draft text-uppercase" {{action "onEditLifecycle"}}>{{document.lifecycleLabel}}</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="d-block d-sm-none margin-top-20" />
|
||||
<div class="d-sm-inline-block margin-left-20" />
|
||||
|
||||
{{#if (eq document.protection constants.ProtectionType.None)}}
|
||||
<div id="document-protection-popover" class="document-protection-unlocked text-uppercase" {{action 'onEditProtection'}}>OPEN</div>
|
||||
<div id="document-protection-popover" class="document-protection-unlocked text-uppercase" {{action "onEditProtection"}}>OPEN</div>
|
||||
{{/if}}
|
||||
{{#if (eq document.protection constants.ProtectionType.Review)}}
|
||||
<div id="document-protection-popover" class="document-protection-review text-uppercase" {{action 'onEditProtection'}}>PROTECTED</div>
|
||||
<div id="document-protection-popover" class="document-protection-review text-uppercase" {{action "onEditProtection"}}>PROTECTED</div>
|
||||
{{/if}}
|
||||
{{#if (eq document.protection constants.ProtectionType.Lock)}}
|
||||
<div id="document-protection-popover" class="document-protection-locked text-uppercase" {{action 'onEditProtection'}}>LOCKED</div>
|
||||
<div id="document-protection-popover" class="document-protection-locked text-uppercase" {{action "onEditProtection"}}>LOCKED</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="d-block d-sm-none margin-top-20" />
|
||||
<div class="d-sm-inline-block margin-left-20" />
|
||||
|
||||
{{#each selectedCategories as |cat|}}
|
||||
<div class="document-category {{if isSpaceAdmin 'cursor-pointer'}}" {{action 'onEditCategory'}}>
|
||||
<div class="document-category {{if isSpaceAdmin "cursor-pointer"}}" {{action "onEditCategory"}}>
|
||||
{{cat.category}}
|
||||
{{#attach-tooltip showDelay=1000}}Category{{/attach-tooltip}}
|
||||
</div>
|
||||
|
@ -30,10 +30,10 @@
|
|||
|
||||
<div class="d-block d-sm-none margin-top-20" />
|
||||
|
||||
{{#each tagz as |t index|}}
|
||||
<div class="document-tag {{if isSpaceAdmin 'cursor-pointer'}}" {{action 'onEditCategory'}}>
|
||||
{{#each tagz as |t|}}
|
||||
<div class="document-tag {{if isSpaceAdmin "cursor-pointer"}}" {{action "onEditCategory"}}>
|
||||
{{#attach-tooltip showDelay=1000}}Tag{{/attach-tooltip}}
|
||||
{{concat '#' t}}
|
||||
{{concat "#" t}}
|
||||
</div>
|
||||
{{/each}}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div id="page-{{page.id}}" data-id="{{page.id}}" data-type="{{page.contentType}}">
|
||||
<div id="page-{{page.id}}" data-id={{page.id}} data-type={{page.contentType}}>
|
||||
|
||||
{{#if editMode}}
|
||||
|
||||
|
@ -8,8 +8,8 @@
|
|||
folder=folder
|
||||
page=editPage
|
||||
meta=editMeta
|
||||
onCancel=(action 'onCancelEdit')
|
||||
onAction=(action 'onSavePage')}}
|
||||
onCancel=(action "onCancelEdit")
|
||||
onAction=(action "onSavePage")}}
|
||||
</div>
|
||||
|
||||
{{else}}
|
||||
|
@ -25,12 +25,12 @@
|
|||
pending=pending
|
||||
document=document
|
||||
permissions=permissions
|
||||
onEdit=(action 'onEdit')
|
||||
onEdit=(action "onEdit")
|
||||
refresh=(action refresh)
|
||||
onCopyPage=(action 'onCopyPage')
|
||||
onMovePage=(action 'onMovePage')
|
||||
onDeletePage=(action 'onDeletePage')
|
||||
onSavePageAsBlock=(action 'onSavePageAsBlock')
|
||||
onCopyPage=(action "onCopyPage")
|
||||
onMovePage=(action "onMovePage")
|
||||
onDeletePage=(action "onDeletePage")
|
||||
onSavePageAsBlock=(action "onSavePageAsBlock")
|
||||
onPageLevelChange=(action onPageLevelChange)
|
||||
onPageSequenceChange=(action onPageSequenceChange)}}
|
||||
|
||||
|
|
|
@ -7,30 +7,30 @@
|
|||
<div id="doc-toc" class="document-toc">
|
||||
<div class="header">
|
||||
{{#if canEdit}}
|
||||
<div id="tocToolbar" class="toc-controls {{if state.actionablePage 'current-page'}}">
|
||||
<div id="toc-up-button" class="button-icon-green button-icon-small {{if state.upDisabled 'disabled'}}" {{action 'pageUp'}}>
|
||||
<div id="tocToolbar" class="toc-controls {{if state.actionablePage "current-page"}}">
|
||||
<div id="toc-up-button" class="button-icon-green button-icon-small {{if state.upDisabled "disabled"}}" {{action "pageUp"}}>
|
||||
<i class="material-icons">arrow_upward</i>
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
<div id="toc-down-button" class="button-icon-green button-icon-small {{if state.downDisabled 'disabled'}}" {{action 'pageDown'}}>
|
||||
<div id="toc-down-button" class="button-icon-green button-icon-small {{if state.downDisabled "disabled"}}" {{action "pageDown"}}>
|
||||
<i class="material-icons">arrow_downward</i>
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
<div id="toc-outdent-button" class="button-icon-green button-icon-small {{if state.outdentDisabled 'disabled'}}" {{action 'pageOutdent'}}>
|
||||
<div id="toc-outdent-button" class="button-icon-green button-icon-small {{if state.outdentDisabled "disabled"}}" {{action "pageOutdent"}}>
|
||||
<i class="material-icons">arrow_back</i>
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
<div id="toc-indent-button" class="button-icon-green button-icon-small {{if state.indentDisabled 'disabled'}}" {{action 'pageIndent'}}>
|
||||
<div id="toc-indent-button" class="button-icon-green button-icon-small {{if state.indentDisabled "disabled"}}" {{action "pageIndent"}}>
|
||||
<i class="material-icons">arrow_forward</i>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<ul class="index-list">
|
||||
{{#each pages key="id" as |item index|}}
|
||||
{{#each pages key="id" as |item|}}
|
||||
<li class="item">
|
||||
<a id="index-{{item.page.id}}" {{action 'onGotoPage' item.page.id}}
|
||||
class="link toc-index-item {{item.page.tocIndentCss}} {{if (eq item.page.id state.pageId) 'selected'}}"
|
||||
<a id="index-{{item.page.id}}" {{action "onGotoPage" item.page.id}}
|
||||
class="link toc-index-item {{item.page.tocIndentCss}} {{if (eq item.page.id state.pageId) "selected"}}"
|
||||
title={{item.page.title}}>
|
||||
<span class="numbering">{{item.page.numbering}}</span>
|
||||
{{#if (or item.userHasChangePending userHasNewPagePending)}}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<div class="page-toolbar" id="page-toolbar-{{ page.id }}">
|
||||
<div class="float-right">
|
||||
{{#if canEdit}}
|
||||
<div id="page-edit-button-{{page.id}}" class="button-icon-gray align-middle d-none d-md-inline-block" {{action 'onEdit'}}>
|
||||
<div id="page-edit-button-{{page.id}}" class="button-icon-gray align-middle d-none d-md-inline-block" {{action "onEdit"}}>
|
||||
<i class="material-icons">mode_edit</i>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -21,36 +21,36 @@
|
|||
<div class="button-icon-gap" />
|
||||
<div id="page-menu-button-{{page.id}}" class="button-icon-gray align-middle">
|
||||
<i class="material-icons">more_vert</i>
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn='clickout' showOn='click' isShown=false}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
{{#if canEdit}}
|
||||
<a class="item" href="#" id={{concat 'edit-page-button-' page.id}} {{action 'onEdit'}}>Edit</a>
|
||||
<a class="item" href="#" id={{concat "edit-page-button-" page.id}} {{action "onEdit"}}>Edit</a>
|
||||
{{/if}}
|
||||
{{#if permissions.documentCopy}}
|
||||
<a class="item" href="#" id={{concat 'copy-page-button-' page.id}} data-toggle="modal" data-target={{concat '#copy-page-modal-' page.id}} data-backdrop="static">Copy</a>
|
||||
<a class="item" href="#" id={{concat "copy-page-button-" page.id}} data-toggle="modal" data-target={{concat "#copy-page-modal-" page.id}} data-backdrop="static">Copy</a>
|
||||
{{/if}}
|
||||
{{#if canMove}}
|
||||
<a class="item" href="#" id={{concat 'move-page-button-' page.id}} data-toggle="modal" data-target={{concat '#move-page-modal-' page.id}} data-backdrop="static">Move</a>
|
||||
<a class="item" href="#" id={{concat "move-page-button-" page.id}} data-toggle="modal" data-target={{concat "#move-page-modal-" page.id}} data-backdrop="static">Move</a>
|
||||
{{/if}}
|
||||
{{#if permissions.documentTemplate}}
|
||||
<a class="item" href="#" id={{concat 'publish-page-button-' page.id}} data-toggle="modal" data-target={{concat '#publish-page-modal-' page.id}} data-backdrop="static">Publish</a>
|
||||
<a class="item" href="#" id={{concat "publish-page-button-" page.id}} data-toggle="modal" data-target={{concat "#publish-page-modal-" page.id}} data-backdrop="static">Publish</a>
|
||||
{{/if}}
|
||||
{{#if canDelete}}
|
||||
<a class="item red" href="#" id={{concat 'delete-page-button-' page.id}} data-toggle="modal" data-target={{concat '#delete-page-modal-' page.id}} data-backdrop="static">Delete</a>
|
||||
<a class="item red" href="#" id={{concat "delete-page-button-" page.id}} data-toggle="modal" data-target={{concat "#delete-page-modal-" page.id}} data-backdrop="static">Delete</a>
|
||||
{{/if}}
|
||||
{{#if (and canEdit state.actionablePage)}}
|
||||
<div class="divider"></div>
|
||||
{{#unless state.indentDisabled}}
|
||||
<a class="item" href="#" id={{concat 'toc-indent-button-' page.id}} {{action 'pageIndent'}}>Indent</a>
|
||||
<a class="item" href="#" id={{concat "toc-indent-button-" page.id}} {{action "pageIndent"}}>Indent</a>
|
||||
{{/unless}}
|
||||
{{#unless state.outdentDisabled}}
|
||||
<a class="item" href="#" id={{concat 'toc-outdent-button-' page.id}} {{action 'pageOutdent'}}>Outdent</a>
|
||||
<a class="item" href="#" id={{concat "toc-outdent-button-" page.id}} {{action "pageOutdent"}}>Outdent</a>
|
||||
{{/unless}}
|
||||
{{#unless state.upDisabled}}
|
||||
<a class="item" href="#" id={{concat 'toc-up-button-' page.id}} {{action 'pageUp'}}>Move up</a>
|
||||
<a class="item" href="#" id={{concat "toc-up-button-" page.id}} {{action "pageUp"}}>Move up</a>
|
||||
{{/unless}}
|
||||
{{#unless state.downDisabled}}
|
||||
<a class="item" href="#" id={{concat 'toc-down-button-' page.id}} {{action 'pageDown'}}>Move down</a>
|
||||
<a class="item" href="#" id={{concat "toc-down-button-" page.id}} {{action "pageDown"}}>Move down</a>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
@ -65,22 +65,22 @@
|
|||
</div>
|
||||
|
||||
{{#if permissions.documentCopy}}
|
||||
<div id={{concat 'copy-page-modal-' page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div id={{concat "copy-page-modal-" page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Copy Section</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label>Destination Document</label>
|
||||
{{focus-input type="text" value=docSearchFilter class="form-control mb-4" placeholder='a OR b, x AND y, "phrase mat*"'}}
|
||||
{{focus-input type="text" value=docSearchFilter class="form-control mb-4" placeholder="a OR b, x AND y, 'phrase mat*'"}}
|
||||
</div>
|
||||
<div class="my-5 document-copy-move">
|
||||
{{#if emptySearch}}
|
||||
<p>No matching documents found.</p>
|
||||
{{/if}}
|
||||
<ul class="documents-list">
|
||||
{{#each docSearchResults key="id" as |result index|}}
|
||||
<li class="document {{if result.selected 'selected'}}" {{action 'onSelectSearchResult' result.documentId}}>
|
||||
{{#each docSearchResults key="id" as |result|}}
|
||||
<li class="document {{if result.selected "selected"}}" {{action "onSelectSearchResult" result.documentId}}>
|
||||
<div class="title">{{result.document}}</div>
|
||||
<div class="space">{{result.space}}</div>
|
||||
<div class="snippet">{{result.excerpt}}</div>
|
||||
|
@ -94,7 +94,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onCopyPage'}}>Copy</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onCopyPage"}}>Copy</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -102,22 +102,22 @@
|
|||
{{/if}}
|
||||
|
||||
{{#if permissions.documentMove}}
|
||||
<div id={{concat 'move-page-modal-' page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div id={{concat "move-page-modal-" page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Move Section</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label>Destination Document</label>
|
||||
{{focus-input type="text" value=docSearchFilter class="form-control mb-4" placeholder='a OR b, x AND y, "phrase mat*"'}}
|
||||
{{focus-input type="text" value=docSearchFilter class="form-control mb-4" placeholder="a OR b, x AND y, 'phrase mat*'"}}
|
||||
</div>
|
||||
<div class="my-5 document-copy-move">
|
||||
{{#if emptySearch}}
|
||||
<p>No matching documents found.</p>
|
||||
{{/if}}
|
||||
<ul class="documents-list">
|
||||
{{#each docSearchResults key="id" as |result index|}}
|
||||
<li class="document {{if result.selected 'selected'}}" {{action 'onSelectSearchResult' result.documentId}}>
|
||||
{{#each docSearchResults key="id" as |result|}}
|
||||
<li class="document {{if result.selected "selected"}}" {{action "onSelectSearchResult" result.documentId}}>
|
||||
<div class="title">{{result.document}}</div>
|
||||
<div class="space">{{result.space}}</div>
|
||||
<div class="snippet">{{result.excerpt}}</div>
|
||||
|
@ -131,7 +131,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onMovePage'}}>Move</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onMovePage"}}>Move</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -139,7 +139,7 @@
|
|||
{{/if}}
|
||||
|
||||
{{#if permissions.documentDelete}}
|
||||
<div id= {{concat 'delete-page-modal-' page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div id= {{concat "delete-page-modal-" page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Delete Section</div>
|
||||
|
@ -147,8 +147,8 @@
|
|||
<p>Are you sure you want to delete this section?</p>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
{{input type="checkbox" class="form-check-input" checked=deleteChildren id=(concat 'delete-page-check-' page.id)}}
|
||||
<label class="form-check-label" for= {{concat 'delete-page-check-' page.id}}>
|
||||
{{input type="checkbox" class="form-check-input" checked=deleteChildren id=(concat "delete-page-check-" page.id)}}
|
||||
<label class="form-check-label" for= {{concat "delete-page-check-" page.id}}>
|
||||
Also delete child sections
|
||||
</label>
|
||||
</div>
|
||||
|
@ -156,7 +156,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick= {{action 'onDeletePage'}}>Delete</button>
|
||||
<button type="button" class="btn btn-danger" onclick= {{action "onDeletePage"}}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -164,25 +164,25 @@
|
|||
{{/if}}
|
||||
|
||||
{{#if permissions.documentTemplate}}
|
||||
<div id={{concat 'publish-page-modal-' page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div id={{concat "publish-page-modal-" page.id}} class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Publish Reusable Content Block</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="block-title-{{page.id}}">Name</label>
|
||||
{{input id=(concat 'block-title-' page.id) type='text' class="form-control mousetrap" placeholder="Enter name" value=blockTitle}}
|
||||
{{input id=(concat "block-title-" page.id) type="text" class="form-control mousetrap" placeholder="Enter name" value=blockTitle}}
|
||||
<small class="form-text text-muted">Provide a short title for the reusable content block</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="block-desc-{{page.id}}">Description</label>
|
||||
{{textarea id=(concat 'block-desc-' page.id) rows="3" class="form-control mousetrap" placeholder="Enter description" value=blockExcerpt}}
|
||||
{{textarea id=(concat "block-desc-" page.id) rows="3" class="form-control mousetrap" placeholder="Enter description" value=blockExcerpt}}
|
||||
<small class="form-text text-muted">Short description to help others understand the reusable content block</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onSavePageAsBlock'}}>Publish</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onSavePageAsBlock"}}>Publish</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
<div class="form-group">
|
||||
<label for="document-name">Name</label>
|
||||
{{focus-input id="document-name" type="text" value=docName
|
||||
class=(if hasNameError 'form-control mousetrap is-invalid' 'form-control mousetrap') placeholder="Title" autocomplete="off"}}
|
||||
class=(if hasNameError "form-control mousetrap is-invalid" "form-control mousetrap") placeholder="Title" autocomplete="off"}}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="document-excerpt">Excerpt</label>
|
||||
{{textarea id="document-excerpt" rows="4" value=docExcerpt class='form-control mousetrap' placeholder="Excerpt" autocomplete="off"}}
|
||||
{{textarea id="document-excerpt" rows="4" value=docExcerpt class="form-control mousetrap" placeholder="Excerpt" autocomplete="off"}}
|
||||
<small class="form-text text-muted">Optional description explaining content</small>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">#</span>
|
||||
</div>
|
||||
{{input type='text' id=(concat 'add-tag-field-' tag.number) class="form-control mousetrap tag-input" placeholder="Tag name" value=tag.value}}
|
||||
{{input type="text" id=(concat "add-tag-field-" tag.number) class="form-control mousetrap tag-input" placeholder="Tag name" value=tag.value}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</form>
|
||||
|
@ -20,7 +20,7 @@
|
|||
<h1>Assign categories</h1>
|
||||
<p class="form-text text-muted">Categories allow you divide a space into logical chunks</p>
|
||||
|
||||
{{ui/ui-list-picker items=categories nameField='category' singleSelect=false}}
|
||||
{{ui/ui-list-picker items=categories nameField="category" singleSelect=false}}
|
||||
{{#unless selectedCategories}}
|
||||
<p class="text-danger">This space has no categories defined yet.</p>
|
||||
{{/unless}}
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
{{/if}}
|
||||
{{#if hasAttachments}}
|
||||
<ul class="list">
|
||||
{{#each files key="id" as |a index|}}
|
||||
{{#each files key="id" as |file|}}
|
||||
<li class="item">
|
||||
<a href="{{appMeta.endpoint}}/public/attachments/{{appMeta.orgId}}/{{a.id}}">
|
||||
{{a.filename}}
|
||||
<a href="{{appMeta.endpoint}}/public/attachments/{{appMeta.orgId}}/{{file.id}}">
|
||||
{{file.filename}}
|
||||
</a>
|
||||
{{#if canEdit}}
|
||||
<div class="delete">
|
||||
<div class="button-icon-danger button-icon-small align-middle" {{action 'onShowDialog' a.id a.filename}}>
|
||||
<div class="button-icon-danger button-icon-small align-middle" {{action "onShowDialog" file.id file.filename}}>
|
||||
<i class="material-icons">delete</i>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -26,6 +26,6 @@
|
|||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Delete Attachment" confirmCaption="Delete" buttonType="btn-danger" show=showDialog onAction=(action 'onDelete')}}
|
||||
{{#ui/ui-dialog title="Delete Attachment" confirmCaption="Delete" buttonType="btn-danger" show=showDialog onAction=(action "onDelete")}}
|
||||
<p>Are you sure you want to delete {{deleteAttachment.name}}?</p>
|
||||
{{/ui/ui-dialog}}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{{#if hasPages}}
|
||||
|
||||
{{#each pages key="id" as |item index|}}
|
||||
{{#each pages key="id" as |item|}}
|
||||
{{#if canEdit}}
|
||||
<div class="start-section" {{action 'onShowSectionWizard' item.page}}>
|
||||
<div class="start-section" {{action "onShowSectionWizard" item.page}}>
|
||||
<div class="start-button">
|
||||
<div class="cta">+ SECTION</div>
|
||||
</div>
|
||||
|
@ -22,17 +22,17 @@
|
|||
pending=item.pending
|
||||
permissions=permissions
|
||||
refresh=(action refresh)
|
||||
onSavePage=(action 'onSavePage')
|
||||
onCopyPage=(action 'onCopyPage')
|
||||
onMovePage=(action 'onMovePage')
|
||||
onDeletePage=(action 'onDeletePage')
|
||||
onSavePageAsBlock=(action 'onSavePageAsBlock')
|
||||
onSavePage=(action "onSavePage")
|
||||
onCopyPage=(action "onCopyPage")
|
||||
onMovePage=(action "onMovePage")
|
||||
onDeletePage=(action "onDeletePage")
|
||||
onSavePageAsBlock=(action "onSavePageAsBlock")
|
||||
onPageLevelChange=(action onPageLevelChange)
|
||||
onPageSequenceChange=(action onPageSequenceChange)}}
|
||||
{{/each}}
|
||||
|
||||
{{#if canEdit}}
|
||||
<div class="start-section" {{action 'onShowSectionWizard'}}>
|
||||
<div class="start-section" {{action "onShowSectionWizard"}}>
|
||||
<div class="start-button">
|
||||
<div class="cta">+ SECTION</div>
|
||||
</div>
|
||||
|
@ -47,8 +47,8 @@
|
|||
{{folder.likes}}
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button type="button" class="btn btn-outline-success font-weight-bold" {{action 'onVote' 1}}>Yes, thanks!</button>
|
||||
<button type="button" class="btn btn-outline-secondary font-weight-bold" {{action 'onVote' 2}}>Not really</button>
|
||||
<button type="button" class="btn btn-outline-success font-weight-bold" {{action "onVote" 1}}>Yes, thanks!</button>
|
||||
<button type="button" class="btn btn-outline-secondary font-weight-bold" {{action "onVote" 2}}>Not really</button>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="ack">Thanks for the feedback!</div>
|
||||
|
@ -60,7 +60,7 @@
|
|||
{{else }}
|
||||
|
||||
{{#if canEdit}}
|
||||
<div class="start-section" {{action 'onShowSectionWizard'}}>
|
||||
<div class="start-section" {{action "onShowSectionWizard"}}>
|
||||
<div class="start-button">
|
||||
<div class="cta">+ SECTION</div>
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
{{ui-select tagName="span" class="revision-picker" content=revisions action=(action 'onSelectRevision') optionValuePath="id" optionLabelPath="label"}}
|
||||
{{ui-select tagName="span" class="revision-picker" content=revisions action=(action "onSelectRevision") optionValuePath="id" optionLabelPath="label"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -41,7 +41,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onRollback'}}>Restore</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onRollback"}}>Restore</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,29 +4,29 @@
|
|||
<form class="my-5" {{action "save" on="submit"}}>
|
||||
<div class="form-group">
|
||||
<label>Team</label>
|
||||
{{focus-input id="siteTitle" type="text" value=model.title class=(if hasEmptyTitleError 'form-control is-invalid' 'form-control')}}
|
||||
<small class="form-text text-muted">What's your tribe called?</small>
|
||||
{{focus-input id="siteTitle" type="text" value=model.title class=(if hasEmptyTitleError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">What"s your tribe called?</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="adminFirstname">Firstname</label>
|
||||
{{input id="adminFirstname" type="text" value=model.firstname class=(if hasEmptyFirstnameError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="adminFirstname" type="text" value=model.firstname class=(if hasEmptyFirstnameError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">What do people call you?</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="adminLastname">Lastname</label>
|
||||
{{input id="adminLastname" type="text" value=model.lastname class=(if hasEmptyLastnameError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="adminLastname" type="text" value=model.lastname class=(if hasEmptyLastnameError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">How the government refers to you</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="adminEmail">Email</label>
|
||||
{{input id="adminEmail" type="email" value=model.email class=(if hasEmptyEmailError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="adminEmail" type="email" value=model.email class=(if hasEmptyEmailError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">No spam. Ever.</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="adminPassword">Password</label>
|
||||
{{input id="adminPassword" type="password" value=model.password class=(if hasEmptyPasswordError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="adminPassword" type="password" value=model.password class=(if hasEmptyPasswordError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Pick something strong and unique that you don't use anywhere else</small>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-success mt-5" {{action 'save'}}>{{buttonLabel}}</button>
|
||||
<button type="submit" class="btn btn-success mt-5" {{action "save"}}>{{buttonLabel}}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{{#each documents key="id" as |document|}}
|
||||
<li class="document {{if document.selected "selected"}}" id="document-{{document.id}}">
|
||||
|
||||
{{#link-to 'document.index' space.id space.slug document.id document.slug}}
|
||||
{{#link-to "document.index" space.id space.slug document.id document.slug}}
|
||||
<div class="title">{{ document.name }}</div>
|
||||
<div class="snippet">{{ document.excerpt }}</div>
|
||||
{{folder/document-tags documentTags=document.tags}}
|
||||
|
@ -13,7 +13,7 @@
|
|||
{{/link-to}}
|
||||
|
||||
{{#if hasDocumentActions}}
|
||||
<div class="checkbox" {{action 'selectDocument' document.id}}>
|
||||
<div class="checkbox" {{action "selectDocument" document.id}}>
|
||||
{{#if document.selected}}
|
||||
<i class="material-icons">check_box</i>
|
||||
{{else}}
|
||||
|
@ -22,20 +22,20 @@
|
|||
</div>
|
||||
{{#if document.selected}}
|
||||
<div class="actions">
|
||||
<div class="move-documents-button button-icon-green button-icon-small align-middle" {{action 'onExport'}}>
|
||||
<div class="move-documents-button button-icon-green button-icon-small align-middle" {{action "onExport"}}>
|
||||
<i class="material-icons">import_export</i>
|
||||
{{#attach-tooltip showDelay=1000}}Export as HTML{{/attach-tooltip}}
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
{{#if permissions.documentMove}}
|
||||
<div class="move-documents-button button-icon-green button-icon-small align-middle" {{action 'onShowMoveDocuments'}}>
|
||||
<div class="move-documents-button button-icon-green button-icon-small align-middle" {{action "onShowMoveDocuments"}}>
|
||||
<i class="material-icons">compare_arrows</i>
|
||||
{{#attach-tooltip showDelay=1000}}Move{{/attach-tooltip}}
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
{{/if}}
|
||||
{{#if permissions.documentDelete}}
|
||||
<div class="delete-documents-button button-icon-red button-icon-small align-middle" {{action 'onShowDeleteDocuments'}}>
|
||||
<div class="delete-documents-button button-icon-red button-icon-small align-middle" {{action "onShowDeleteDocuments"}}>
|
||||
{{#attach-tooltip showDelay=1000}}Delete{{/attach-tooltip}}
|
||||
<i class="material-icons">delete</i>
|
||||
</div>
|
||||
|
@ -49,15 +49,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Delete Documents" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog onAction=(action
|
||||
'onDeleteDocuments')}}
|
||||
{{#ui/ui-dialog title="Delete Documents" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog onAction=(action "onDeleteDocuments")}}
|
||||
<p>Are you sure you want to delete {{selectedDocuments.length}} {{selectedCaption}}?</p>
|
||||
{{/ui/ui-dialog}}
|
||||
|
||||
{{#ui/ui-dialog title="Move Documents" confirmCaption="Move" buttonType="btn-success" show=showMoveDialog onAction=(action
|
||||
'onMoveDocuments')}}
|
||||
{{#ui/ui-dialog title="Move Documents" confirmCaption="Move" buttonType="btn-success" show=showMoveDialog onAction=(action "onMoveDocuments")}}
|
||||
<p>Select space for {{selectedDocuments.length}} {{selectedCaption}}</p>
|
||||
{{ui/ui-list-picker items=moveOptions nameField='name' singleSelect=true}}
|
||||
{{ui/ui-list-picker items=moveOptions nameField="name" singleSelect=true}}
|
||||
{{/ui/ui-dialog}}
|
||||
|
||||
{{#if showAdd}}
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
<div class="mb-5">
|
||||
<h1>{{block.title}}</h1>
|
||||
<p>{{block.excerpt}}</p>
|
||||
<button type="button" class="btn btn-outline-success" onclick={{action 'onEdit' block.id}}>Edit</button>
|
||||
<button type="button" class="btn btn-outline-success" onclick={{action "onEdit" block.id}}>Edit</button>
|
||||
<div class="button-gap" />
|
||||
<button type="button" class="btn btn-outline-danger" onclick={{action 'onShowDeleteDialog' block.id}}>Delete</button>
|
||||
<button type="button" class="btn btn-outline-danger" onclick={{action "onShowDeleteDialog" block.id}}>Delete</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
{{#if isSpaceAdmin}}
|
||||
{{#ui/ui-dialog title="Delete Content Block" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog onAction=(action 'onDeleteBlock')}}
|
||||
{{#ui/ui-dialog title="Delete Content Block" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog onAction=(action "onDeleteBlock")}}
|
||||
<p>Are you sure you want to delete this re-usable content block?</p>
|
||||
{{/ui/ui-dialog}}
|
||||
{{/if}}
|
|
@ -1,11 +1,11 @@
|
|||
<div class="content-zone">
|
||||
|
||||
<div class="explainer-header explainer-gap">Categories</div>
|
||||
<form class="form-inline" onsubmit={{action 'onAdd'}}>
|
||||
<form class="form-inline" onsubmit={{action "onAdd"}}>
|
||||
<div class="form-group mr-3">
|
||||
{{focus-input id="new-category-name" type='text' class="form-control mousetrap" placeholder="Category name" value=newCategory}}
|
||||
{{focus-input id="new-category-name" type="text" class="form-control mousetrap" placeholder="Category name" value=newCategory}}
|
||||
</div>
|
||||
<button type="button" class="btn btn-success font-weight-bold" onclick={{action 'onAdd'}}>Add</button>
|
||||
<button type="button" class="btn btn-success font-weight-bold" onclick={{action "onAdd"}}>Add</button>
|
||||
</form>
|
||||
|
||||
<div class="space-admin">
|
||||
|
@ -13,34 +13,34 @@
|
|||
{{#each category as |cat|}}
|
||||
<div class="item row">
|
||||
{{#if cat.editMode}}
|
||||
<form onsubmit={{action 'onSave' cat.id bubbles=false}} class="col-8">
|
||||
{{focus-input id=(concat 'edit-category-' cat.id) type="text" value=cat.category class="form-control"}}
|
||||
<form onsubmit={{action "onSave" cat.id bubbles=false}} class="col-8">
|
||||
{{focus-input id=(concat "edit-category-" cat.id) type="text" value=cat.category class="form-control"}}
|
||||
</form>
|
||||
{{else}}
|
||||
<div class="category col-8">
|
||||
<div class="name">{{cat.category}}</div>
|
||||
<div class="info">
|
||||
{{cat.documents}} {{if (eq cat.documents 1) 'document' 'documents' }} · {{cat.users}} users/groups
|
||||
{{cat.documents}} {{if (eq cat.documents 1) "document" "documents" }} · {{cat.users}} users/groups
|
||||
{{#unless cat.access}}<span class="text-danger">(you have no view permission)</span>{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="col-4 buttons text-right">
|
||||
{{#if cat.editMode}}
|
||||
<button type="button" class="btn btn-outline-secondary" {{action 'onEditCancel' cat.id}}>Cancel</button>
|
||||
<button type="button" class="btn btn-success" {{action 'onSave' cat.id}}>Save</button>
|
||||
<button type="button" class="btn btn-outline-secondary" {{action "onEditCancel" cat.id}}>Cancel</button>
|
||||
<button type="button" class="btn btn-success" {{action "onSave" cat.id}}>Save</button>
|
||||
{{else}}
|
||||
<div id="category-access-button-{{cat.id}}" class="button-icon-gray align-middle" {{action 'onShowAccessPicker' cat.id}}>
|
||||
<div id="category-access-button-{{cat.id}}" class="button-icon-gray align-middle" {{action "onShowAccessPicker" cat.id}}>
|
||||
{{#attach-tooltip showDelay=1000}}Category view permission{{/attach-tooltip}}
|
||||
<i class="material-icons">security</i>
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
<div class="button-icon-gray align-middle" {{action 'onEdit' cat.id}} >
|
||||
<div class="button-icon-gray align-middle" {{action "onEdit" cat.id}} >
|
||||
{{#attach-tooltip showDelay=1000}}Rename{{/attach-tooltip}}
|
||||
<i class="material-icons">edit</i>
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
<div id="{{concat 'delete-category-' cat.id}}" class="button-icon-danger align-middle" {{action 'onShowDelete' cat.id}}>
|
||||
<div id={{concat "delete-category-" cat.id}} class="button-icon-danger align-middle" {{action "onShowDelete" cat.id}}>
|
||||
{{#attach-tooltip showDelay=1000}}Delete{{/attach-tooltip}}
|
||||
<i class="material-icons">delete</i>
|
||||
</div>
|
||||
|
@ -62,19 +62,19 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onDelete'}}>Delete</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDelete"}}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Set Category Access" confirmCaption="Save" buttonType="btn-success" show=showCategoryAccess onAction=(action 'onGrantAccess')}}
|
||||
{{#ui/ui-dialog title="Set Category Access" confirmCaption="Save" buttonType="btn-success" show=showCategoryAccess onAction=(action "onGrantAccess")}}
|
||||
<p>Select who can view documents within category</p>
|
||||
|
||||
<div class="widget-list-picker">
|
||||
<ul class="options">
|
||||
{{#each categoryPermissions as |permission|}}
|
||||
<li class="option {{if permission.selected 'selected'}}" {{action 'onToggle' permission}}>
|
||||
<li class="option {{if permission.selected "selected"}}" {{action "onToggle" permission}}>
|
||||
<div class="text text-truncate">
|
||||
{{#if (eq permission.who "role")}}
|
||||
<span class="button-icon-gray button-icon-small align-middle">
|
||||
|
|
|
@ -7,5 +7,5 @@
|
|||
<small class="form-text text-muted">This will delete all documents and templates within this space!</small>
|
||||
</div>
|
||||
</form>
|
||||
<button type="button" class="btn btn-danger mt-3" onclick={{action 'onDelete'}}>Delete Space</button>
|
||||
<button type="button" class="btn btn-danger mt-3" onclick={{action "onDelete"}}>Delete Space</button>
|
||||
</div>
|
||||
|
|
|
@ -3,29 +3,29 @@
|
|||
<form>
|
||||
<div class="form-group">
|
||||
<label>Space 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"}}
|
||||
{{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>
|
||||
{{ui-select id="spacetypes-dropdown" content=spaceTypeOptions optionValuePath="id" optionLabelPath="label" selection=spaceType action=(action 'onSetSpaceType')}}
|
||||
{{ui-select id="spacetypes-dropdown" content=spaceTypeOptions optionValuePath="id" optionLabelPath="label" selection=spaceType action=(action "onSetSpaceType")}}
|
||||
<small class="form-text text-muted">Who can see this space?</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Content Liking</label>
|
||||
{{#if allowLikes}}
|
||||
{{input type='text' id="space-likes-prompt" class="form-control" placeholder="Enter prompt asking for user feedback" value=likes}}
|
||||
{{input type="text" id="space-likes-prompt" class="form-control" placeholder="Enter prompt asking for user feedback" value=likes}}
|
||||
<small class="form-text text-muted">Specify the prompt, e.g. Did this help you? Was this helpful? Did you find what you needed?</small>
|
||||
<div class="mt-4">
|
||||
<button type="button" class="btn btn-outline-danger" onclick={{action 'onSetLikes' false}}>Do not allow users to like content</button>
|
||||
<button type="button" class="btn btn-outline-danger" onclick={{action "onSetLikes" false}}>Do not allow users to like content</button>
|
||||
</div>
|
||||
{{else}}
|
||||
<div>
|
||||
<button type="button" class="btn btn-outline-success" onclick={{action 'onSetLikes' true}}>Allow users to like content</button>
|
||||
<button type="button" class="btn btn-outline-success" onclick={{action "onSetLikes" true}}>Allow users to like content</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</form>
|
||||
<button type="button" class="btn btn-success mt-3" onclick={{action 'onSave'}}>Save</button>
|
||||
<button type="button" class="btn btn-success mt-3" onclick={{action "onSave"}}>Save</button>
|
||||
</div>
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
<div class="container-fluid my-3">
|
||||
<div class="row justify-content-center">
|
||||
<button type="button" class="btn btn-info font-weight-bold text-uppercase my-3" onclick={{action 'onShowAddModal'}}>Add existing users</button>
|
||||
<button type="button" class="btn btn-info font-weight-bold text-uppercase my-3" onclick={{action "onShowAddModal"}}>Add existing users</button>
|
||||
|
||||
<button type="button" class="btn btn-info font-weight-bold text-uppercase my-3" onclick={{action 'onShowInviteModal'}}>Invite new users</button>
|
||||
<button type="button" class="btn btn-info font-weight-bold text-uppercase my-3" onclick={{action "onShowInviteModal"}}>Invite new users</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -39,10 +39,10 @@
|
|||
<tr>
|
||||
<td class="no-wrap no-width">
|
||||
<i class="material-icons align-top text-secondary cursor-pointer">more_vert</i>
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn='clickout' showOn='click' isShown=false}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
<a class="item" href="#" {{action 'onBulkPermission' permission true}}>Grant all</a>
|
||||
<a class="item" href="#" {{action 'onBulkPermission' permission false}}>Revoke all</a>
|
||||
<a class="item" href="#" {{action "onBulkPermission" permission true}}>Grant all</a>
|
||||
<a class="item" href="#" {{action "onBulkPermission" permission false}}>Revoke all</a>
|
||||
</div>
|
||||
{{/attach-popover}}
|
||||
{{#if (eq permission.who "role")}}
|
||||
|
@ -88,7 +88,7 @@
|
|||
</table>
|
||||
</div>
|
||||
|
||||
<button type="button" class="btn btn-success font-weight-bold text-uppercase my-3" onclick={{action 'onSave'}}>SAVE</button>
|
||||
<button type="button" class="btn btn-success font-weight-bold text-uppercase my-3" onclick={{action "onSave"}}>SAVE</button>
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-12 col-md-6">
|
||||
|
@ -124,12 +124,12 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Add User To Space</div>
|
||||
<div class="modal-body">
|
||||
{{input id="user-search" type="text" class="form-control mousetrap" placeholder="Search for users by firstname, lastname, email" value=searchText key-up=(action 'onSearch')}}
|
||||
{{input id="user-search" type="text" class="form-control mousetrap" placeholder="Search for users by firstname, lastname, email" value=searchText key-up=(action "onSearch")}}
|
||||
{{#each filteredUsers as |user|}}
|
||||
<div class="row my-3">
|
||||
<div class="col-10">{{user.fullname}}</div>
|
||||
<div class="col-2 text-right">
|
||||
<button class="btn btn-success" {{action 'onAdd' user}}>Add</button>
|
||||
<button class="btn btn-success" {{action "onAdd" user}}>Add</button>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
@ -147,10 +147,10 @@
|
|||
<div class="modal-header">Invite Users to Space</div>
|
||||
<div class="modal-body">
|
||||
<p>Email invite leads to a smooth onboarding process</p>
|
||||
<form onsubmit={{action 'onSpaceInvite'}}>
|
||||
<form onsubmit={{action "onSpaceInvite"}}>
|
||||
<div class="form-group">
|
||||
<label for="space-invite-email">Email</label>
|
||||
{{input id="space-invite-email" type='email' class="form-control mousetrap" placeholder="Enter email" value=inviteEmail}}
|
||||
{{input id="space-invite-email" type="email" class="form-control mousetrap" placeholder="Enter email" value=inviteEmail}}
|
||||
<small class="form-text text-muted">Comma separate multiple email addresses</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -161,7 +161,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onSpaceInvite'}}>Invite</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onSpaceInvite"}}>Invite</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="mb-5">
|
||||
<h1>{{item.title}}</h1>
|
||||
<p>{{item.description}}</p>
|
||||
<button type="button" class="btn btn-outline-success" onclick={{action 'onOpenTemplate' item.id}}>Open</button>
|
||||
<button type="button" class="btn btn-outline-success" onclick={{action "onOpenTemplate" item.id}}>Open</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
|
@ -1,10 +1,10 @@
|
|||
<div class="view-space">
|
||||
<div class="filter-caption mt-4">{{documents.length}} documents</div>
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if spaceSelected 'selected'}}" {{action 'onDocumentFilter' 'space' space.id}}>All ({{documents.length}})</li>
|
||||
<li class="tab tab-vertical {{if spaceSelected "selected"}}" {{action "onDocumentFilter" "space" space.id}}>All ({{documents.length}})</li>
|
||||
{{#if hasCategories}}
|
||||
{{#if (gt rootDocCount 0)}}
|
||||
<li class="tab tab-vertical text-truncate {{if uncategorizedSelected 'selected'}}" {{action 'onDocumentFilter' 'uncategorized' space.id}}>Uncategorized ({{rootDocCount}})</li>
|
||||
<li class="tab tab-vertical text-truncate {{if uncategorizedSelected "selected"}}" {{action "onDocumentFilter" "uncategorized" space.id}}>Uncategorized ({{rootDocCount}})</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
@ -22,14 +22,14 @@
|
|||
{{/if}}
|
||||
</div>
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
{{#each categories as |cat index|}}
|
||||
<li class="tab tab-vertical text-truncate {{if cat.selected 'selected'}}" {{action 'onDocumentFilter' 'category' cat.id}}>{{cat.category}} ({{cat.docCount}})</li>
|
||||
{{#each categories as |cat|}}
|
||||
<li class="tab tab-vertical text-truncate {{if cat.selected "selected"}}" {{action "onDocumentFilter" "category" cat.id}}>{{cat.category}} ({{cat.docCount}})</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
{{#if spaceSettings}}
|
||||
<div class="text-center {{if (gt categories.length 0) 'mt-4'}}">
|
||||
{{#link-to 'folder.settings' space.id space.slug (query-params tab="categories") class="btn btn-secondary font-weight-bold"}}{{categoryLinkName}}{{/link-to}}
|
||||
<div class="text-center {{if (gt categories.length 0) "mt-4"}}">
|
||||
{{#link-to "folder.settings" space.id space.slug (query-params tab="categories") class="btn btn-secondary font-weight-bold"}}{{categoryLinkName}}{{/link-to}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
|
@ -1,16 +1,16 @@
|
|||
<form {{action 'forgot' on="submit"}}>
|
||||
<form {{action "forgot" on="submit"}}>
|
||||
{{#if sayThanks}}
|
||||
<div class="reset-thanks margin-bottom-30">Thanks. Check your email for instructions.</div>
|
||||
{{else}}
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
{{focus-input type="email" value=email id="email" class=(if hasEmptyEmailError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input type="email" value=email id="email" class=(if hasEmptyEmailError "form-control is-invalid" "form-control")}}
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<button type="submit" class="btn btn-success font-weight-bold text-uppercase">Reset</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="mt-5">
|
||||
{{#link-to 'auth.login'}}Click here to sign in{{/link-to}}
|
||||
{{#link-to "auth.login"}}Click here to sign in{{/link-to}}
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div class="footer">
|
||||
{{#if showWait}}
|
||||
<div class="progress progress-wait animated fadeIn">
|
||||
<img src="/assets/img/busy-gray.gif" />
|
||||
<img src="/assets/img/busy-gray.gif">
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if showDone}}
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
<div class="master-navbar">
|
||||
<div class="nav-content">
|
||||
<div class="nav-options">
|
||||
{{#link-to 'folders' class=(if (eq selectedItem 'spaces') 'option selected' 'option')}}
|
||||
{{#link-to "folders" class=(if (eq selectedItem "spaces") "option selected" "option")}}
|
||||
<i class="dicon dicon-grid-interface"></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')}}
|
||||
{{#link-to "dashboard" class=(if (eq selectedItem "actions") "option selected" "option")}}
|
||||
<i class="dicon dicon-list-bullet-2"></i>
|
||||
<div class="name">actions</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'activity' class=(if (eq selectedItem 'activity') 'option selected' 'option')}}
|
||||
{{#link-to "activity" class=(if (eq selectedItem "activity") "option selected" "option")}}
|
||||
<i class="dicon dicon-pulse"></i>
|
||||
<div class="name">activity</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#if session.viewAnalytics}}
|
||||
{{#link-to 'analytics' class=(if (eq selectedItem 'analytics') 'option selected' 'option')}}
|
||||
{{#link-to "analytics" class=(if (eq selectedItem "analytics") "option selected" "option")}}
|
||||
<i class="dicon dicon-chart-bar-33"></i>
|
||||
<div class="name">reports</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#link-to 'search' class=(if (eq selectedItem 'spaces') 'option selected' 'option')}}
|
||||
{{#link-to "search" class=(if (eq selectedItem "spaces") "option selected" "option")}}
|
||||
<i class="dicon dicon-magnifier"></i>
|
||||
<div class="name">search</div>
|
||||
{{/link-to}}
|
||||
|
@ -34,18 +34,18 @@
|
|||
{{#if hasPins}}
|
||||
<div class="bookmarks" id="user-pins-button">
|
||||
<i class="dicon dicon-bookmark"></i>
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn='clickout' showOn='click' isShown=false}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
{{#if hasSpacePins}}
|
||||
<li class="item header">Spaces</li>
|
||||
{{#each spacePins as |pin|}}
|
||||
<a class="item" href="#" {{action 'jumpToPin' pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
<a class="item" href="#" {{action "jumpToPin" pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
{{#if hasDocumentPins}}
|
||||
<li class="item header">Content</li>
|
||||
{{#each documentPins as |pin|}}
|
||||
<a class="item" href="#" {{action 'jumpToPin' pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
<a class="item" href="#" {{action "jumpToPin" pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
@ -63,28 +63,28 @@
|
|||
<div class="update-available-dot" />
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn='clickout' showOn='click' isShown=false}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
{{#if session.isAdmin}}
|
||||
{{#link-to 'customize.general' class="item"}}Settings{{/link-to}}
|
||||
{{#link-to "customize.general" class="item"}}Settings{{/link-to}}
|
||||
{{#unless appMeta.valid}}
|
||||
{{#link-to 'customize.billing' class="item bold red"}}Update Billing{{/link-to}}
|
||||
{{#link-to "customize.billing" class="item bold red"}}Update Billing{{/link-to}}
|
||||
{{/unless}}
|
||||
<div class="divider"></div>
|
||||
{{/if}}
|
||||
{{#link-to 'profile' class="item"}}Profile{{/link-to}}
|
||||
{{#link-to "profile" class="item"}}Profile{{/link-to}}
|
||||
<div class="divider"></div>
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#if appMeta.updateAvailable}}
|
||||
{{#link-to 'customize.product' class="item bold yellow"}}Update available{{/link-to}}
|
||||
{{#link-to "customize.product" class="item bold yellow"}}Update available{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<a href="#" class="item {{if hasWhatsNew 'bold green'}}" {{action 'onShowWhatsNewModal'}}>What's New</a>
|
||||
<a href="#" class="item {{if hasWhatsNew "bold green"}}" {{action "onShowWhatsNewModal"}}>What's New</a>
|
||||
<a href="https://docs.documize.com" target="_blank" class="item">Help</a>
|
||||
<a href="#" class="item" data-toggle="modal" data-target="#about-documize-modal" data-backdrop="static">About</a>
|
||||
{{#if enableLogout}}
|
||||
<div class="divider"></div>
|
||||
{{#link-to 'auth.logout' class="item" }}Logout{{/link-to}}
|
||||
{{#link-to "auth.logout" class="item" }}Logout{{/link-to}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/attach-popover}}
|
||||
|
@ -92,7 +92,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
<a class="logo" href="https://documize.com?ref=app">
|
||||
<img src="/assets/img/icon-white-64x64.png" />
|
||||
<img src="/assets/img/icon-white-64x64.png">
|
||||
<div class="documize">Documize</div>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -146,8 +146,8 @@
|
|||
© Documize Inc. All rights reserved.
|
||||
</div>
|
||||
<div class="license">
|
||||
<br/>
|
||||
<br/> This software (Documize Community Edition) is licensed under
|
||||
<br>
|
||||
<br> This software (Documize Community Edition) is licensed under
|
||||
<a href="http://www.gnu.org/licenses/agpl-3.0.en.html">GNU AGPL v3</a>
|
||||
You can operate outside the AGPL restrictions by purchasing Documize Enterprise Edition and obtaining a commercial license by
|
||||
contacting
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
<div class="top-bar d-none d-md-block">
|
||||
<ul class="items d-flex align-items-center">
|
||||
<li class="item cursor-auto">
|
||||
<img class="logo" src="/assets/img/icon-white-64x64.png" />
|
||||
<img class="logo" src="/assets/img/icon-white-64x64.png">
|
||||
</li>
|
||||
{{#if (eq appMeta.edition constants.Product.CommunityEdition)}}
|
||||
<li class="item">
|
||||
{{#link-to "folders" class=(if (eq selectItem 'spaces') 'link selected' 'link')}}SPACES{{/link-to}}
|
||||
{{#link-to "folders" class=(if (eq selectItem "spaces") "link selected" "link")}}SPACES{{/link-to}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if session.viewDashboard}}
|
||||
<li class="item">
|
||||
{{#link-to "dashboard" class=(if (eq selectItem 'dashboard') 'link selected' 'link')}}ACTIONS{{/link-to}}
|
||||
{{#link-to "dashboard" class=(if (eq selectItem "dashboard") "link selected" "link")}}ACTIONS{{/link-to}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if session.viewAnalytics}}
|
||||
<li class="item">
|
||||
{{#link-to "analytics" class=(if (eq selectItem 'analytics') 'link selected' 'link')}}ANALYTICS{{/link-to}}
|
||||
{{#link-to "analytics" class=(if (eq selectItem "analytics") "link selected" "link")}}ANALYTICS{{/link-to}}
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item">
|
||||
{{#link-to "folders" class=(if (eq selectItem 'spaces') 'link selected' 'link')}}SPACES{{/link-to}}
|
||||
{{#link-to "folders" class=(if (eq selectItem "spaces") "link selected" "link")}}SPACES{{/link-to}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{yield}}
|
||||
|
@ -57,7 +57,7 @@
|
|||
<div class="buttons d-flex flex-wrap align-items-center">
|
||||
{{#unless appMeta.valid}}
|
||||
<div class="btn-group">
|
||||
<div class="button-icon-gold animated infinite wobble slow delay-2s" {{action 'onBilling'}}>
|
||||
<div class="button-icon-gold animated infinite wobble slow delay-2s" {{action "onBilling"}}>
|
||||
<i class="material-icons">report</i>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -80,13 +80,13 @@
|
|||
{{#if hasSpacePins}}
|
||||
<h6 class="dropdown-header">Spaces</h6>
|
||||
{{#each spacePins as |pin|}}
|
||||
<a class="dropdown-item" href="#" {{action 'jumpToPin' pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
<a class="dropdown-item" href="#" {{action "jumpToPin" pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
{{#if hasDocumentPins}}
|
||||
<h6 class="dropdown-header">Documents</h6>
|
||||
{{#each documentPins as |pin|}}
|
||||
<a class="dropdown-item" href="#" {{action 'jumpToPin' pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
<a class="dropdown-item" href="#" {{action "jumpToPin" pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
@ -108,32 +108,32 @@
|
|||
</div>
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="profile-button">
|
||||
{{#if session.isAdmin}}
|
||||
{{#link-to 'customize.general' class="dropdown-item"}}Settings{{/link-to}}
|
||||
{{#link-to "customize.general" class="dropdown-item"}}Settings{{/link-to}}
|
||||
{{#unless appMeta.valid}}
|
||||
{{#link-to 'customize.billing' class="dropdown-item font-weight-bold color-red-600"}}Update Billing{{/link-to}}
|
||||
{{#link-to "customize.billing" class="dropdown-item font-weight-bold color-red-600"}}Update Billing{{/link-to}}
|
||||
{{/unless}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{/if}}
|
||||
{{#link-to 'profile' class="dropdown-item" }}Profile{{/link-to}}
|
||||
{{#link-to "profile" class="dropdown-item" }}Profile{{/link-to}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#if appMeta.updateAvailable}}
|
||||
{{#link-to 'customize.product' class="dropdown-item font-weight-bold color-yellow-600"}}Update available{{/link-to}}
|
||||
{{#link-to "customize.product" class="dropdown-item font-weight-bold color-yellow-600"}}Update available{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<a href="#" class="dropdown-item {{if hasWhatsNew 'color-red-600 font-weight-bold'}}" {{action 'onShowWhatsNewModal'}}>What's New</a>
|
||||
<a href="#" class="dropdown-item {{if hasWhatsNew "color-red-600 font-weight-bold"}}" {{action "onShowWhatsNewModal"}}>What's New</a>
|
||||
<a href="https://docs.documize.com" target="_blank" class="dropdown-item">Help</a>
|
||||
<a href="#" class="dropdown-item" data-toggle="modal" data-target="#about-documize-modal" data-backdrop="static">About</a>
|
||||
{{#if enableLogout}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{#link-to 'auth.logout' class="dropdown-item" }}Logout{{/link-to}}
|
||||
{{#link-to "auth.logout" class="dropdown-item"}}Logout{{/link-to}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="button-icon-gap" />
|
||||
<div class="btn-group">
|
||||
{{#link-to 'auth.login' class="button-icon-white " }}
|
||||
{{#link-to "auth.login" class="button-icon-white"}}
|
||||
<i class="material-icons">lock_open</i>
|
||||
{{/link-to}}
|
||||
</div>
|
||||
|
@ -194,8 +194,8 @@
|
|||
© Documize Inc. All rights reserved.
|
||||
</div>
|
||||
<div class="license">
|
||||
<br/>
|
||||
<br/> This software (Documize Community Edition) is licensed under
|
||||
<br>
|
||||
<br>This software (Documize Community Edition) is licensed under
|
||||
<a href="http://www.gnu.org/licenses/agpl-3.0.en.html">GNU AGPL v3</a>
|
||||
You can operate outside the AGPL restrictions by purchasing Documize Enterprise Edition and obtaining a commercial license by
|
||||
contacting
|
||||
|
|
|
@ -5,18 +5,18 @@
|
|||
<div class="col col-sm-6">
|
||||
<div class="sidebar">
|
||||
|
||||
<img class="logo img-responsive" src="/assets/img/logo-color.png"/>
|
||||
<img class="logo img-responsive" src="/assets/img/logo-color.png">
|
||||
|
||||
<div class="stage-1">
|
||||
<p>Let's set up your account</p>
|
||||
<div class="form-group">
|
||||
<label for="stage-1-firstname">Firstname</label>
|
||||
<input id="stage-1-firstname" type="text" value="" class="form-control" />
|
||||
<input id="stage-1-firstname" type="text" value="" class="form-control">
|
||||
<small class="form-text text-muted">Nickname or otherwise</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="stage-1-lastname">Lastname</label>
|
||||
<input id="stage-1-lastname" type="text" value="" class="form-control" />
|
||||
<input id="stage-1-lastname" type="text" value="" class="form-control">
|
||||
<small class="form-text text-muted">Usually not the same as your firstname</small>
|
||||
</div>
|
||||
<div class="form-group mt-5">
|
||||
|
@ -28,13 +28,13 @@
|
|||
<h2>Password</h2>
|
||||
<div class="form-group">
|
||||
<label for="stage-2-password">Choose Password</label>
|
||||
<input id="stage-2-password" type="password" value="" class="form-control" />
|
||||
<input id="stage-2-password" type="password" value="" class="form-control">
|
||||
<small class="form-text text-muted">Between 6 and 50 characters</small>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="stage-2-password-confirm">Confirm Password</label>
|
||||
<input id="stage-2-password-confirm" type="password" value="" class="form-control" />
|
||||
<input id="stage-2-password-confirm" type="password" value="" class="form-control">
|
||||
<small class="form-text text-muted">Re-type your chosen password</small>
|
||||
</div>
|
||||
<div class="form-group mt-5">
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<div class="login-form">
|
||||
<form {{action 'reset' on="submit"}}>
|
||||
<form {{action "reset" on="submit"}}>
|
||||
<div class="form-group">
|
||||
<label>New Password</label>
|
||||
{{focus-input type="password" value=password id="newPassword" autocomplete="new-password" class=(if hasPasswordError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input type="password" value=password id="newPassword" autocomplete="new-password" class=(if hasPasswordError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Choose a strong password</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Confirm Password</label>
|
||||
{{input type="password" value=passwordConfirm id="passwordConfirm" autocomplete="new-password" class=(if hasConfirmError 'form-control is-invalid' 'form-control')}}
|
||||
{{input type="password" value=passwordConfirm id="passwordConfirm" autocomplete="new-password" class=(if hasConfirmError "form-control is-invalid" "form-control")}}
|
||||
<small class="form-text text-muted">Please type your new password again</small>
|
||||
</div>
|
||||
<div class="margin-top-10 margin-bottom-20">
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div class="view-search">
|
||||
<div class="heading">{{resultPhrase}}</div>
|
||||
<ul class="documents">
|
||||
{{#each documents key="id" as |result index|}}
|
||||
{{#each documents key="id" as |result|}}
|
||||
<li class="document">
|
||||
{{#link-to 'document.index' result.spaceId result.spaceSlug result.documentId result.documentSlug (query-params currentPageId=result.itemId source=searchQuery) class="link"}}
|
||||
{{#link-to "document.index" result.spaceId result.spaceSlug result.documentId result.documentSlug (query-params currentPageId=result.itemId source=searchQuery) class="link"}}
|
||||
<div class="title">
|
||||
{{result.document}}
|
||||
{{#if (gt result.versionId.length 0)}}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<div class="view-search">
|
||||
<form onsubmit={{action 'onSearch'}} class="form-inline">
|
||||
<form onsubmit={{action "onSearch"}} class="form-inline">
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" value=filter class="form-control mr-3 search-box" placeholder='keywords, tags'}}
|
||||
{{focus-input type="text" value=filter class="form-control mr-3 search-box" placeholder="keywords, tags"}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-success" {{action 'onSearch'}}>Search</button>
|
||||
<button class="btn btn-success" {{action "onSearch"}}>Search</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="form-group mt-2">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{#section/base-editor document=document folder=folder page=page isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{#section/base-editor document=document folder=folder page=page isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
<div class="form-group">
|
||||
<label for="airtable-embed-code">Airtable embed code</label>
|
||||
{{textarea value=data rows="3" id="airtable-embed-code" class="form-control mousetrap" placeholder="Enter code" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"}}
|
||||
|
|
|
@ -3,36 +3,36 @@
|
|||
<div class="col-8 section-editor">
|
||||
{{#if blockMode}}
|
||||
<div class="form-group">
|
||||
{{focus-input id="page-id-{{pageId}}" value=pageTitle class=(if hasNameError 'form-control mousetrap form-control-lg edit-title is-invalid' 'form-control form-control-lg edit-title mousetrap') placeholder="Enter name"}}
|
||||
{{focus-input id="page-id-{{pageId}}" value=pageTitle class=(if hasNameError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{textarea id="page-excerpt-{{pageId}}" value=page.excerpt rows="2" class=(if hasDescError 'form-control mousetrap form-control-lg edit-title is-invalid' 'form-control form-control-lg edit-title mousetrap') placeholder="Enter description"}}
|
||||
{{textarea id="page-excerpt-{{pageId}}" value=page.excerpt rows="2" class=(if hasDescError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter description"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" id=pageId value=pageTitle class=(if hasNameError 'form-control mousetrap form-control-lg edit-title is-invalid' 'form-control form-control-lg edit-title mousetrap') placeholder="Enter name"}}
|
||||
{{focus-input type="text" id=pageId value=pageTitle class=(if hasNameError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="float-right">
|
||||
{{#if busy}}
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator" />
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator">
|
||||
{{/if}}
|
||||
|
||||
{{#if contentLinkerButton}}
|
||||
<div class="btn btn-primary" id="section-editor-link-button-{{pageId}}" {{action 'onShowLinkModal'}}>
|
||||
<div class="btn btn-primary" id="section-editor-link-button-{{pageId}}" {{action "onShowLinkModal"}}>
|
||||
Link
|
||||
{{#attach-tooltip showDelay=1000}}Insert Link{{/attach-tooltip}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if previewButton}}
|
||||
<div class="btn btn-primary" id="section-editor-preview-button-{{pageId}}" {{action 'onPreview'}}>{{previewText}}</div>
|
||||
<div class="btn btn-primary" id="section-editor-preview-button-{{pageId}}" {{action "onPreview"}}>{{previewText}}</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="btn btn-success" {{action 'onAction'}}>Save</div>
|
||||
<div class="btn btn-outline-secondary" id="section-editor-cancel-button-{{pageId}}" {{action 'onCancel'}}>Cancel</div>
|
||||
<div class="btn btn-success" {{action "onAction"}}>Save</div>
|
||||
<div class="btn btn-outline-secondary" id="section-editor-cancel-button-{{pageId}}" {{action "onCancel"}}>Cancel</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -54,10 +54,10 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Continue editing</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onDiscard'}}>Discard changes</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDiscard"}}>Discard changes</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{document/content-linker document=document folder=folder page=page showModal=showLinkModal onInsertLink=(action 'onInsertLink')}}
|
||||
{{document/content-linker document=document folder=folder page=page showModal=showLinkModal onInsertLink=(action "onInsertLink")}}
|
||||
|
|
|
@ -2,22 +2,22 @@
|
|||
<div class="row">
|
||||
<div class="col-8 section-editor">
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" id="page-title" value=page.title class=(if hasNameError 'form-control mousetrap form-control-lg edit-title is-invalid' 'form-control form-control-lg edit-title mousetrap') placeholder="Enter name"}}
|
||||
{{focus-input type="text" id="page-title" value=page.title class=(if hasNameError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
{{#if hasExcerpt}}
|
||||
<div class="form-group">
|
||||
{{textarea id="page-excerpt" value=page.excerpt rows="2" class=(if hasDescError 'form-control mousetrap form-control-lg edit-title is-invalid' 'form-control form-control-lg edit-title mousetrap') placeholder="Enter description"}}
|
||||
{{textarea id="page-excerpt" value=page.excerpt rows="2" class=(if hasDescError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter description"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="float-right">
|
||||
{{#if busy}}
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator" />
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator">
|
||||
{{/if}}
|
||||
|
||||
<div class="btn btn-success" {{action 'onAction'}}>{{actionLabel}}</div>
|
||||
<div class="btn btn-outline-secondary" id="section-editor-cancel-button-{{pageId}}" {{action 'onCancel'}}>{{cancelLabel}}</div>
|
||||
<div class="btn btn-success" {{action "onAction"}}>{{actionLabel}}</div>
|
||||
<div class="btn btn-outline-secondary" id="section-editor-cancel-button-{{pageId}}" {{action "onCancel"}}>{{cancelLabel}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -39,7 +39,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Continue editing</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onDiscard'}}>Discard changes</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDiscard"}}>Discard changes</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{{#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')}}
|
||||
{{#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')
|
||||
action=(action "onSyntaxChange")
|
||||
optionValuePath="mode"
|
||||
optionLabelPath="name"
|
||||
selection=codeSyntax}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Concise name that describes the diagram" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Concise name that describes the diagram" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
<div class="section-flowchart-diagram">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<div class="text-center">
|
||||
<img src="{{page.body}}" />
|
||||
<img src={{page.body}}>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{#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')}}
|
||||
{{#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="row">
|
||||
<div class="col-6">
|
||||
|
@ -17,7 +17,7 @@
|
|||
{{input id="gemini-apikey" type="password" value=config.APIKey class="form-control"}}
|
||||
<small class="form-text text-muted">Gemini user API key (from user profile)</small>
|
||||
</div>
|
||||
<div class="btn btn-primary" {{action 'auth'}}>Authenticate</div>
|
||||
<div class="btn btn-primary" {{action "auth"}}>Authenticate</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
|
@ -28,7 +28,7 @@
|
|||
{{#each workspaces as |card|}}
|
||||
<li class="section-gemini-workspace" id="gemini-workspace-{{card.Id}}">
|
||||
{{#attach-tooltip showDelay=1000}}{{card.Title}}{{/attach-tooltip}}
|
||||
<div class="section-gemini-card" style="background-color:{{card.Color}};" {{action 'onWorkspaceChange' card.Id}}>{{card.Key}}</div>
|
||||
<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">✓</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#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')}}
|
||||
{{#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="row section-github-editor">
|
||||
{{#if authenticated}}
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label>Select Organization</label>
|
||||
{{ui-select id="owners-dropdown" content=owners action=(action 'onOwnerChange') optionValuePath="id" optionLabelPath="name" selection=config.owner}}
|
||||
{{ui-select id="owners-dropdown" content=owners action=(action "onOwnerChange") optionValuePath="id" optionLabelPath="name" selection=config.owner}}
|
||||
<small class="form-text text-muted">Select organization or user whose repository you want to show</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -18,10 +18,10 @@
|
|||
<div class="github-view">
|
||||
{{input id="show-milestone" checked=config.showMilestones type="checkbox"}}
|
||||
<label>Show Milestones</label>
|
||||
<br/>
|
||||
<br>
|
||||
{{input id="show-issues" checked=config.showIssues type="checkbox"}}
|
||||
<label>Show Issues</label>
|
||||
<br/>
|
||||
<br>
|
||||
{{input id="show-commits" checked=config.showCommits type="checkbox" }}
|
||||
<label>Show Commits</label>
|
||||
</div>
|
||||
|
@ -33,11 +33,11 @@
|
|||
<div class="input-form">
|
||||
<div class="form-group">
|
||||
<label>Select Repository</label>
|
||||
{{ui/ui-list-picker items=config.lists nameField='repo' singleSelect=true}}
|
||||
{{ui/ui-list-picker items=config.lists nameField="repo" singleSelect=true}}
|
||||
|
||||
{{!-- <div class="github-board">
|
||||
{{#each config.lists as |list|}}
|
||||
<div class="github-list" {{action 'onListCheckbox' list.id}}>
|
||||
<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}}
|
||||
|
@ -52,7 +52,7 @@
|
|||
</div>
|
||||
{{else}}
|
||||
<div class="col-6">
|
||||
<div class="btn btn-primary" {{action 'auth'}}>Authenticate</div>
|
||||
<div class="btn btn-primary" {{action "auth"}}>Authenticate</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Jira issue tracking" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Jira issue tracking" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 mb-5">
|
||||
{{#if session.isAdmin}}
|
||||
{{#link-to 'customize.integrations' class="btn btn-outline-secondary font-weight-bold"}}
|
||||
{{#link-to "customize.integrations" class="btn btn-outline-secondary font-weight-bold"}}
|
||||
Configure Jira Connector
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
|
@ -17,7 +17,7 @@
|
|||
{{#if authenticated}}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form {{action 'onPreview'}}>
|
||||
<form {{action "onPreview"}}>
|
||||
<div class="form-group">
|
||||
<label for="gemini-url">Jira Query Language</label>
|
||||
{{focus-input id="jira-jql" type="text" value=config.jql class="form-control" placeholder="e.g. (status = resolved AND project = SysAdmin) OR assignee = bobsmith"}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{#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')}}
|
||||
contentLinkerButton=true onInsertLink=(action "onInsertLink")
|
||||
previewButton=true onPreview=(action "onPreview")
|
||||
isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
<style>
|
||||
.CodeMirror {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{{#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')}}
|
||||
{{#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="row">
|
||||
<div class="col-6">
|
||||
<form {{ action 'auth' on="submit" }} >
|
||||
<form {{action "auth" on="submit"}} >
|
||||
<div class="form-group">
|
||||
<label>Papertrail API Key</label>
|
||||
{{focus-input id="papertrail-apitoken" type="password" value=config.APIToken class="form-control"}}
|
||||
<small class="form-text text-muted">API Token (from your profile)</small>
|
||||
</div>
|
||||
<div class="btn btn-primary" {{ action 'auth' }} >
|
||||
<div class="btn btn-primary" {{action "auth"}} >
|
||||
{{#if authenticated}}
|
||||
Re-Authenticate
|
||||
{{else}}
|
||||
|
@ -20,7 +20,7 @@
|
|||
|
||||
{{#if authenticated}}
|
||||
<div class="col-6">
|
||||
<form {{action 'onAction' on="submit"}}>
|
||||
<form {{action "onAction" on="submit"}}>
|
||||
<div class="form-group">
|
||||
<label for="papertrail-query">Search query</label>
|
||||
{{input id="papertrail-query" type="text" class="form-control mousetrap" value=config.query}}
|
||||
|
@ -33,7 +33,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="group-dropdown">Group</label>
|
||||
{{ui-select id="group-dropdown" prompt="<group>" content=options.groups action=(action 'onGroupsChange') optionValuePath="id" optionLabelPath="name" selection=config.group}}
|
||||
{{ui-select id="group-dropdown" prompt="<group>" content=options.groups action=(action "onGroupsChange") optionValuePath="id" optionLabelPath="name" selection=config.group}}
|
||||
<small class="form-text text-muted">Optional Papertrail group</small>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Concise name that describes the diagram" isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Concise name that describes the diagram" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
<div class="section-plantuml-diagram">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
@ -8,13 +8,13 @@
|
|||
<div class="my-3">
|
||||
<p>Insert sample diagrams:</p>
|
||||
<p>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertSequence'}}>Sequence</button>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertUseCase'}}>Use Case</button>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertClass'}}>Class</button>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertActivity'}}>Activity</button>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertActivityNew'}}>Activity (new syntax)</button>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertComponent'}}>Component</button>
|
||||
<button type="button" class="btn btn-light" {{action 'onInsertState'}}>State</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertSequence"}}>Sequence</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertUseCase"}}>Use Case</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertClass"}}>Class</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertActivity"}}>Activity</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertActivityNew"}}>Activity (new syntax)</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertComponent"}}>Component</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertState"}}>State</button>
|
||||
</p>
|
||||
</div>
|
||||
{{focus-textarea value=diagramText rows=30 id=editorId class="diagram-editor form-control mousetrap"}}
|
||||
|
@ -24,9 +24,9 @@
|
|||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-secondary" {{action 'onPreview'}}>{{previewButtonCaption}}</button>
|
||||
<button type="button" class="btn btn-secondary" {{action "onPreview"}}>{{previewButtonCaption}}</button>
|
||||
<div id={{previewId}} class="text-center my-5">
|
||||
<img src="{{diagramPreview}}" />
|
||||
<img src={{diagramPreview}}>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<div class="text-center">
|
||||
<img src="{{page.body}}" />
|
||||
<img src={{page.body}}>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{#section/base-editor-inline document=document folder=folder page=page isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
|
||||
{{#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>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#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')}}
|
||||
isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
{{#if trelloConfigured}}
|
||||
{{#if authenticated}}
|
||||
|
@ -9,14 +9,14 @@
|
|||
{{else}}
|
||||
<div class="form-group">
|
||||
<label>Select Board</label>
|
||||
{{ui-select id="boards-dropdown" content=boards action=(action 'onBoardChange') optionValuePath="id" optionLabelPath="name" selection=config.board}}
|
||||
{{ui-select id="boards-dropdown" content=boards action=(action "onBoardChange") optionValuePath="id" optionLabelPath="name" selection=config.board}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="airtable-embed-cod">Select Lists</label>
|
||||
<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}}>
|
||||
<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}}
|
||||
|
@ -30,11 +30,11 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<div class="btn btn-primary" {{action 'auth'}}>Authenticate</div>
|
||||
<div class="btn btn-primary" {{action "auth"}}>Authenticate</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#link-to 'customize.integrations' class="btn btn-outline-secondary font-weight-bold"}}
|
||||
{{#link-to "customize.integrations" class="btn btn-outline-secondary font-weight-bold"}}
|
||||
Configure Trello Connector
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#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')}}
|
||||
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>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{{/unless}}
|
||||
<ul class="list clearfix">
|
||||
{{#each publicFolders as |folder|}}
|
||||
{{#link-to 'folder.index' folder.id folder.slug}}
|
||||
{{#link-to "folder.index" folder.id folder.slug}}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
|
@ -18,7 +18,7 @@
|
|||
{{/unless}}
|
||||
<ul class="list clearfix">
|
||||
{{#each protectedFolders as |folder|}}
|
||||
{{#link-to 'folder.index' folder.id folder.slug}}
|
||||
{{#link-to "folder.index" folder.id folder.slug}}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
|
@ -30,7 +30,7 @@
|
|||
{{/unless}}
|
||||
<ul class="list clearfix">
|
||||
{{#each privateFolders as |folder|}}
|
||||
{{#link-to 'folder.index' folder.id folder.slug}}
|
||||
{{#link-to "folder.index" folder.id folder.slug}}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="text-right non-printable">
|
||||
{{#if session.authenticated}}
|
||||
{{#if permissions.documentEdit}}
|
||||
{{#link-to 'document.settings' space.id space.slug document.id document.slug class="button-icon-gray align-middle"}}
|
||||
{{#link-to "document.settings" space.id space.slug document.id document.slug class="button-icon-gray align-middle"}}
|
||||
<i class="material-icons">settings</i>
|
||||
{{#attach-tooltip showDelay=1000}}Settings — meta, lifecycle, workflow{{/attach-tooltip}}
|
||||
{{/link-to}}
|
||||
|
@ -16,26 +16,26 @@
|
|||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<div id="document-print-button" class="button-icon-gray align-middle" {{action 'onPrintDocument'}}>
|
||||
<div id="document-print-button" class="button-icon-gray align-middle" {{action "onPrintDocument"}}>
|
||||
<i class="material-icons">print</i>
|
||||
{{#attach-tooltip showDelay=1000}}Print{{/attach-tooltip}}
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
|
||||
<div id="space-export-button" class="button-icon-danger align-middle" {{action 'onExport'}}>
|
||||
<div id="space-export-button" class="button-icon-danger align-middle" {{action "onExport"}}>
|
||||
<i class="material-icons">import_export</i>
|
||||
{{#attach-tooltip showDelay=1000}}Export as HTML{{/attach-tooltip}}
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
|
||||
{{#if pinState.isPinned}}
|
||||
<div id="document-pin-button" class="button-icon-gold align-middle" {{action 'onUnpin'}}>
|
||||
<div id="document-pin-button" class="button-icon-gold align-middle" {{action "onUnpin"}}>
|
||||
<i class="material-icons">star</i>
|
||||
{{#attach-tooltip showDelay=1000}}Remove bookmark{{/attach-tooltip}}
|
||||
</div>
|
||||
<div class="button-icon-gap" />
|
||||
{{else if session.authenticated}}
|
||||
<div id="document-pin-button" class="button-icon-gray align-middle" {{action 'onPin'}}>
|
||||
<div id="document-pin-button" class="button-icon-gray align-middle" {{action "onPin"}}>
|
||||
<i class="material-icons">star</i>
|
||||
{{#attach-tooltip showDelay=1000}}Add bookmark{{/attach-tooltip}}
|
||||
</div>
|
||||
|
@ -55,10 +55,10 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Save as Template</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onSaveTemplate'}}>
|
||||
<form onsubmit={{action "onSaveTemplate"}}>
|
||||
<div class="form-group">
|
||||
<label for="new-template-name">Name</label>
|
||||
{{input id="new-template-name" value=saveTemplate.name type='email' class="form-control mousetrap" placeholder="Template name"}}
|
||||
{{input id="new-template-name" value=saveTemplate.name type="email" class="form-control mousetrap" placeholder="Template name"}}
|
||||
<small class="form-text text-muted">Good template name conveys document type</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -70,7 +70,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onSaveTemplate'}}>Save</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onSaveTemplate"}}>Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -85,7 +85,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action 'onDocumentDelete'}}>Delete</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDocumentDelete"}}>Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
<div class="btn-group" role="group">
|
||||
<button id="btnGroupDocument" type="button" class="btn btn-success font-weight-bold dropdown-toggle">
|
||||
+ CONTENT
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn='clickout' showOn='click' isShown=false}}
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
<a class="item" href="#" {{action 'onShowEmptyDocModal'}}>Blank canvas</a>
|
||||
<a class="item" href="#" {{action "onShowEmptyDocModal"}}>Blank canvas</a>
|
||||
{{#if hasTemplates}}
|
||||
<a class="item" href="#" {{action 'onShowTemplateDocModal'}}>From template</a>
|
||||
<a class="item" href="#" {{action "onShowTemplateDocModal"}}>From template</a>
|
||||
{{/if}}
|
||||
<a class="item" href="#" {{action 'onShowImportDocModal'}}>Import files</a>
|
||||
<a class="item" href="#" {{action "onShowImportDocModal"}}>Import files</a>
|
||||
</div>
|
||||
{{/attach-popover}}
|
||||
</button>
|
||||
|
@ -21,16 +21,16 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">Blank Canvas</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onAddEmptyDoc'}}>
|
||||
<form onsubmit={{action "onAddEmptyDoc"}}>
|
||||
<div class="form-group">
|
||||
<label for="empty-doc-name">Document Name</label>
|
||||
{{input id="empty-doc-name" type="text" value=emptyDocName placeholder="Enter name" class=(if emptyDocNameError 'form-control mousetrap is-invalid' 'form-control mousetrap') autocomplete="off"}}
|
||||
{{input id="empty-doc-name" type="text" value=emptyDocName placeholder="Enter name" class=(if emptyDocNameError "form-control mousetrap is-invalid" "form-control mousetrap") autocomplete="off"}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onAddEmptyDoc'}}>Add</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onAddEmptyDoc"}}>Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -40,17 +40,17 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">From Template</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onAddTemplateDoc'}}>
|
||||
<form onsubmit={{action "onAddTemplateDoc"}}>
|
||||
<div class="form-group">
|
||||
<label for="template-doc-name">Document Name</label>
|
||||
{{input id="template-doc-name" type="text" value=templateDocName placeholder="Enter name" class=(if templateDocNameError 'form-control mousetrap is-invalid' 'form-control mousetrap') autocomplete="off"}}
|
||||
{{input id="template-doc-name" type="text" value=templateDocName placeholder="Enter name" class=(if templateDocNameError "form-control mousetrap is-invalid" "form-control mousetrap") autocomplete="off"}}
|
||||
</div>
|
||||
<div class="widget-list-picker">
|
||||
<ul class="options">
|
||||
{{#each templates as |item|}}
|
||||
<li class="option {{if item.selected 'selected'}}" {{action 'onSelectTemplate' item}}>
|
||||
<li class="option {{if item.selected "selected"}}" {{action "onSelectTemplate" item}}>
|
||||
<div class="text text-truncate">
|
||||
{{item.title}}<br/>{{item.description}}
|
||||
{{item.title}}<br>{{item.description}}
|
||||
</div>
|
||||
{{#if item.selected}}
|
||||
<i class="material-icons">check</i>
|
||||
|
@ -63,7 +63,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onAddTemplateDoc'}}>Add</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onAddTemplateDoc"}}>Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -75,11 +75,11 @@
|
|||
<div class="modal-body">
|
||||
<div class="import-zone">
|
||||
<button id="import-document-button" type="button" class="btn btn-outline-secondary btn-lg btn-block">
|
||||
<br/>
|
||||
<br>
|
||||
Click to select files or drag-drop files
|
||||
<br/><br/>
|
||||
<br><br>
|
||||
.doc, .docx, .md, .markdown
|
||||
<br/><br/>
|
||||
<br><br>
|
||||
</button>
|
||||
<div class="import-status">
|
||||
{{#each importStatus as |status|}}
|
||||
|
@ -99,7 +99,7 @@
|
|||
|
||||
<div class="col-6 text-right">
|
||||
{{#if hasDocuments}}
|
||||
<div id="space-export-button" class="button-icon-danger align-middle" {{action 'onShowExport'}}>
|
||||
<div id="space-export-button" class="button-icon-danger align-middle" {{action "onShowExport"}}>
|
||||
<i class="material-icons">import_export</i>
|
||||
{{#attach-tooltip showDelay=1000}}Export as HTML{{/attach-tooltip}}
|
||||
</div>
|
||||
|
@ -107,13 +107,13 @@
|
|||
|
||||
{{#if pinState.isPinned}}
|
||||
<div class="button-icon-gap" />
|
||||
<div id="space-pin-button" class="button-icon-gold align-middle" {{action 'onUnpin'}}>
|
||||
<div id="space-pin-button" class="button-icon-gold align-middle" {{action "onUnpin"}}>
|
||||
<i class="material-icons">star</i>
|
||||
{{#attach-tooltip showDelay=1000}}Remove bookmark{{/attach-tooltip}}
|
||||
</div>
|
||||
{{else if session.authenticated}}
|
||||
<div class="button-icon-gap" />
|
||||
<div id="space-pin-button" class="button-icon-gray align-middle" {{action 'onPin'}}>
|
||||
<div id="space-pin-button" class="button-icon-gray align-middle" {{action "onPin"}}>
|
||||
<i class="material-icons">star</i>
|
||||
{{#attach-tooltip showDelay=1000}}Bookmark{{/attach-tooltip}}
|
||||
</div>
|
||||
|
@ -121,7 +121,7 @@
|
|||
|
||||
{{#if (or permissions.spaceOwner permissions.spaceManage)}}
|
||||
<div class="button-icon-gap" />
|
||||
{{#link-to 'folder.settings' space.id space.slug class="button-icon-gray align-middle"}}
|
||||
{{#link-to "folder.settings" space.id space.slug class="button-icon-gray align-middle"}}
|
||||
<i class="material-icons">settings</i>
|
||||
{{#attach-tooltip showDelay=1000}}Settings, permissions, templates{{/attach-tooltip}}
|
||||
{{/link-to}}
|
||||
|
@ -146,7 +146,7 @@
|
|||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action 'onExport'}}>Export</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onExport"}}>Export</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<select {{action 'change' on='change'}} class="form-control {{cssClass}}" readonly={{readonly}}>
|
||||
<select {{action "change" on="change"}} class="form-control {{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}}>
|
||||
<option value={{read-path item optionValuePath}} selected={{is-equal item selection}}>
|
||||
{{read-path item optionLabelPath}}
|
||||
</option>
|
||||
{{/each}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="theme-picker">
|
||||
{{#each themes as |theme|}}
|
||||
<div class="theme" style="{{concat 'background-color: ' theme.primary}}" {{action 'onSelect' theme.name}}>
|
||||
<div class="theme" style={{concat "background-color: " theme.primary}} {{action "onSelect" theme.name}}>
|
||||
{{theme.name}}
|
||||
<div class="tick">
|
||||
{{#if theme.selected}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="ui-checkbox {{if selected 'ui-checkbox-selected'}}" {{action 'onCheck'}}>
|
||||
<div class="ui-checkbox {{if selected "ui-checkbox-selected"}}" {{action "onCheck"}}>
|
||||
{{#if selected}}
|
||||
<i class="material-icons selected">check_box</i>
|
||||
{{else}}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<div id="{{contentId}}" class="modal" tabindex="-1" role="dialog">
|
||||
<div id={{contentId}} class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog {{size}}" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">{{title}}</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action 'onAction'}}>
|
||||
<form onsubmit={{action "onAction"}}>
|
||||
{{yield}}
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal" {{action 'onCancel'}}>{{cancelCaption}}</button>
|
||||
<button type="button" class="btn {{buttonType}}" onclick={{action 'onAction'}}>{{confirmCaption}}</button>
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal" {{action "onCancel"}}>{{cancelCaption}}</button>
|
||||
<button type="button" class="btn {{buttonType}}" onclick={{action "onAction"}}>{{confirmCaption}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="widget-list-picker">
|
||||
<ul class="options" style="{{{styleCss}}}">
|
||||
<ul class="options" style={{{styleCss}}}>
|
||||
{{#each items as |item|}}
|
||||
<li class="option {{if item.selected 'selected'}}" {{action 'onToggle' item}}>
|
||||
<li class="option {{if item.selected "selected"}}" {{action "onToggle" item}}>
|
||||
<div class="text text-truncate">{{get item nameField}}</div>
|
||||
{{#if item.selected}}
|
||||
<i class="material-icons">check</i>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="ui-radio {{if selected 'ui-radio-selected'}}" {{action 'onCheck'}}>
|
||||
<div class="ui-radio {{if selected "ui-radio-selected"}}" {{action "onCheck"}}>
|
||||
{{#if selected}}
|
||||
<i class="material-icons selected">radio_button_checked</i>
|
||||
{{else}}
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
<div class="view-profile">
|
||||
<div class="form-group">
|
||||
<label for="firstname">Firstname</label>
|
||||
{{focus-input id="firstname" type="text" value=model.firstname class=(if hasFirstnameError 'form-control is-invalid' 'form-control')}}
|
||||
{{focus-input id="firstname" type="text" value=model.firstname class=(if hasFirstnameError "form-control is-invalid" "form-control")}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="lastname">Lastname</label>
|
||||
{{input id="lastname" type="text" value=model.lastname class=(if hasLastnameError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="lastname" type="text" value=model.lastname class=(if hasLastnameError "form-control is-invalid" "form-control")}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
{{input id="email" type="email" value=model.email class=(if hasEmailError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="email" type="email" value=model.email class=(if hasEmailError "form-control is-invalid" "form-control")}}
|
||||
</div>
|
||||
{{#if isAuthProviderDocumize}}
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
{{input id="password" type="password" value=password.password class=(if hasPasswordError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="password" type="password" value=password.password class=(if hasPasswordError "form-control is-invalid" "form-control")}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="confirmPassword">Confirm Password</label>
|
||||
{{input id="confirmPassword" type="password" value=password.confirmation class=(if hasConfirmPasswordError 'form-control is-invalid' 'form-control')}}
|
||||
{{input id="confirmPassword" type="password" value=password.confirmation class=(if hasConfirmPasswordError "form-control is-invalid" "form-control")}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="btn btn-success my-5" {{action 'save'}}>Save</div>
|
||||
<div class="btn btn-success my-5" {{action "save"}}>Save</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue