mirror of
https://github.com/documize/community.git
synced 2025-07-30 10:39:44 +02:00
Provide icon rendering framework
This commit is contained in:
parent
6eb68f84e0
commit
02102f9bf3
48 changed files with 851 additions and 546 deletions
|
@ -9,51 +9,8 @@
|
|||
//
|
||||
// https://documize.com
|
||||
|
||||
import NotifierMixin from '../../mixins/notifier';
|
||||
import AuthMixin from '../../mixins/auth';
|
||||
import Component from '@ember/component';
|
||||
|
||||
export default Component.extend(NotifierMixin, AuthMixin, {
|
||||
hasPublicFolders: false,
|
||||
hasProtectedFolders: false,
|
||||
hasPrivateFolders: false,
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
this.publicFolders = [];
|
||||
this.protectedFolders = [];
|
||||
this.privateFolders = [];
|
||||
},
|
||||
|
||||
didReceiveAttrs() {
|
||||
this._super(...arguments);
|
||||
|
||||
let constants = this.get('constants');
|
||||
let folders = this.get('spaces');
|
||||
let publicFolders = [];
|
||||
let protectedFolders = [];
|
||||
let privateFolders = [];
|
||||
|
||||
_.each(folders, folder => {
|
||||
if (folder.get('spaceType') === constants.SpaceType.Public) {
|
||||
publicFolders.pushObject(folder);
|
||||
}
|
||||
if (folder.get('spaceType') === constants.SpaceType.Private) {
|
||||
privateFolders.pushObject(folder);
|
||||
}
|
||||
if (folder.get('spaceType') === constants.SpaceType.Protected) {
|
||||
protectedFolders.pushObject(folder);
|
||||
}
|
||||
});
|
||||
|
||||
this.set('publicFolders', publicFolders);
|
||||
this.set('protectedFolders', protectedFolders);
|
||||
this.set('privateFolders', privateFolders);
|
||||
this.set('hasPublicFolders', this.get('publicFolders.length') > 0);
|
||||
this.set('hasPrivateFolders', this.get('privateFolders.length') > 0);
|
||||
this.set('hasProtectedFolders', this.get('protectedFolders.length') > 0);
|
||||
},
|
||||
|
||||
actions: {
|
||||
}
|
||||
export default Component.extend(AuthMixin, {
|
||||
});
|
||||
|
|
47
gui/app/components/ui/ui-spacer.js
Normal file
47
gui/app/components/ui/ui-spacer.js
Normal file
|
@ -0,0 +1,47 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
||||
//
|
||||
// This software (Documize Community Edition) is licensed under
|
||||
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
//
|
||||
// You can operate outside the AGPL restrictions by purchasing
|
||||
// Documize Enterprise Edition and obtaining a commercial license
|
||||
// by contacting <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
import { computed } from '@ember/object';
|
||||
import Component from '@ember/component';
|
||||
|
||||
export default Component.extend({
|
||||
classNames: [],
|
||||
classNameBindings: ['calcClass'],
|
||||
|
||||
size: 500,
|
||||
|
||||
calcClass: computed(function() {
|
||||
switch(this.size) {
|
||||
case 100:
|
||||
return 'spacer-100';
|
||||
|
||||
case 200:
|
||||
return 'spacer-200';
|
||||
|
||||
case 300:
|
||||
return 'spacer-300';
|
||||
|
||||
case 400:
|
||||
return 'spacer-400';
|
||||
|
||||
case 500:
|
||||
return 'spacer-500';
|
||||
|
||||
case 600:
|
||||
return 'spacer-600';
|
||||
|
||||
case 700:
|
||||
return 'spacer-700';
|
||||
}
|
||||
|
||||
return 'spacer-100';
|
||||
}),
|
||||
});
|
|
@ -195,11 +195,30 @@ let constants = EmberObject.extend({
|
|||
},
|
||||
|
||||
Icon: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects
|
||||
All: 'dicon-menu-8',
|
||||
ArrowUp: 'dicon-arrow-up',
|
||||
ArrowDown: 'dicon-arrow-down',
|
||||
ArrowLeft: 'dicon-arrow-left',
|
||||
ArrowRight: 'dicon-arrow-right',
|
||||
Attachment: 'dicon-attachment',
|
||||
BarChart: 'dicon-chart-bar-2',
|
||||
Bookmark: 'dicon-bookmark',
|
||||
Delete: 'dicon-bin',
|
||||
Edit: 'dicon-pen-2',
|
||||
Filter: 'dicon-sort-tool',
|
||||
Grid1: 'dicon-grid-interface',
|
||||
Index: 'dicon-align-justify',
|
||||
ListBullet: 'dicon-list-bullet-2',
|
||||
Print: 'dicon-print',
|
||||
Pulse: 'dicon-pulse',
|
||||
Plus: 'dicon-e-add',
|
||||
Person: 'dicon-single-01',
|
||||
People: 'dicon-multiple-19',
|
||||
Remove: 'dicon-i-remove',
|
||||
Search: 'dicon-magnifier',
|
||||
Settings: 'dicon-settings-gear',
|
||||
Tag: 'dicon-delete-key',
|
||||
World: 'dicon-globe',
|
||||
},
|
||||
|
||||
Color: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
{{input type="password" value=password id="authPassword" class="form-control" autocomplete="current-password"}}
|
||||
{{/if}}
|
||||
</div>
|
||||
<button type="submit" class="btn btn-success font-weight-bold text-uppercase mt-4">Sign in</button>
|
||||
<button type="submit" class="btn btn-success bold-700 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}}
|
||||
|
|
|
@ -27,6 +27,12 @@ export default Controller.extend(AuthMixin, Modals, {
|
|||
hasClone: notEmpty('clonedSpace.id'),
|
||||
clonedSpace: null,
|
||||
|
||||
selectedView: 'all',
|
||||
selectedSpaces: null,
|
||||
publicSpaces: null,
|
||||
protectedSpaces: null,
|
||||
personalSpaces: null,
|
||||
|
||||
actions: {
|
||||
onShowModal() {
|
||||
this.modalOpen('#add-space-modal', {'show': true}, '#new-space-name');
|
||||
|
@ -65,6 +71,25 @@ export default Controller.extend(AuthMixin, Modals, {
|
|||
this.get('folderService').setCurrentFolder(sp);
|
||||
this.transitionToRoute('folder', sp.get('id'), sp.get('slug'));
|
||||
});
|
||||
},
|
||||
|
||||
onSelect(view) {
|
||||
this.set('selectedView', view);
|
||||
|
||||
switch(view) {
|
||||
case 'all':
|
||||
this.set('selectedSpaces', this.get('model'));
|
||||
break;
|
||||
case 'public':
|
||||
this.set('selectedSpaces', this.get('publicSpaces'));
|
||||
break;
|
||||
case 'protected':
|
||||
this.set('selectedSpaces', this.get('protectedSpaces'));
|
||||
break;
|
||||
case 'personal':
|
||||
this.set('selectedSpaces', this.get('personalSpaces'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -29,7 +29,33 @@ export default Route.extend(AuthenticatedRouteMixin, {
|
|||
return this.get('folderService').getAll();
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
this._super(controller, model);
|
||||
controller.set('selectedSpaces', model);
|
||||
|
||||
let constants = this.get('constants');
|
||||
let publicSpaces = [];
|
||||
let protectedSpaces = [];
|
||||
let personalSpaces = [];
|
||||
|
||||
_.each(model, space => {
|
||||
if (space.get('spaceType') === constants.SpaceType.Public) {
|
||||
publicSpaces.pushObject(space);
|
||||
}
|
||||
if (space.get('spaceType') === constants.SpaceType.Private) {
|
||||
personalSpaces.pushObject(space);
|
||||
}
|
||||
if (space.get('spaceType') === constants.SpaceType.Protected) {
|
||||
protectedSpaces.pushObject(space);
|
||||
}
|
||||
});
|
||||
|
||||
controller.set('publicSpaces', publicSpaces);
|
||||
controller.set('protectedSpaces', protectedSpaces);
|
||||
controller.set('personalSpaces', personalSpaces);
|
||||
},
|
||||
|
||||
activate() {
|
||||
this.get('browser').setTitle('Spaces');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,4 +1,33 @@
|
|||
{{#layout/master-sidebar selectedItem="spaces"}}
|
||||
|
||||
{{#unless session.isMobile}}
|
||||
{{ui/ui-spacer size=300}}
|
||||
{{/unless}}
|
||||
|
||||
<div class="section">
|
||||
<div class="title">filter</div>
|
||||
<div class="list">
|
||||
<div class="item {{if (eq selectedView "all") "selected"}}" {{action 'onSelect' 'all'}}>
|
||||
<i class={{concat "dicon " constants.Icon.All}} />
|
||||
<div class="name">All ({{model.length}})</div>
|
||||
</div>
|
||||
<div class="item {{if (eq selectedView "public") "selected"}}" {{action 'onSelect' 'public'}}>
|
||||
<i class={{concat "dicon " constants.Icon.World}} />
|
||||
<div class="name">Public ({{publicSpaces.length}})</div>
|
||||
</div>
|
||||
{{#if session.authenticated}}
|
||||
<div class="item {{if (eq selectedView "protected") "selected"}}" {{action 'onSelect' 'protected'}}>
|
||||
<i class={{concat "dicon " constants.Icon.People}} />
|
||||
<div class="name">Protected ({{protectedSpaces.length}})</div>
|
||||
</div>
|
||||
<div class="item {{if (eq selectedView "personal") "selected"}}" {{action 'onSelect' 'personal'}}>
|
||||
<i class={{concat "dicon " constants.Icon.Person}} />
|
||||
<div class="name">Personal ({{personalSpaces.length}})</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{/layout/master-sidebar}}
|
||||
|
||||
{{#layout/master-content}}
|
||||
|
@ -7,7 +36,7 @@
|
|||
{{layout/page-heading title=appMeta.title}}
|
||||
{{layout/page-desc desc=appMeta.message}}
|
||||
</div>
|
||||
<div class="grid-cell-2">
|
||||
<div class="grid-cell-2 grid-cell-right">
|
||||
{{#if (or session.isEditor session.isAdmin)}}
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
|
||||
{{#if session.isEditor}}
|
||||
|
@ -21,8 +50,9 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{{ui/ui-spacer size=400}}
|
||||
|
||||
{{spaces/space-list spaces=model}}
|
||||
{{spaces/space-list spaces=selectedSpaces}}
|
||||
|
||||
<div class="modal" tabindex="-1" role="dialog" id="add-space-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
|
|
@ -29,18 +29,21 @@
|
|||
.background-color-theme-200 { background-color: $theme-200; }
|
||||
.background-color-theme-100 { background-color: $theme-100; }
|
||||
|
||||
@import "reset.scss";
|
||||
@import "font.scss";
|
||||
@import "icon.scss";
|
||||
@import "mixins.scss";
|
||||
@import "base.scss";
|
||||
@import "layout/all.scss";
|
||||
@import "util.scss";
|
||||
@import "text.scss";
|
||||
@import "bootstrap.scss";
|
||||
|
||||
|
||||
@import "view/common.scss";
|
||||
@import "widget/widget.scss";
|
||||
@import "ui/all.scss";
|
||||
@import "view/toolbar.scss";
|
||||
@import "view/views.scss";
|
||||
@import "layout/all.scss";
|
||||
|
||||
@import "vendor/all.scss";
|
||||
@import "print.scss";
|
||||
|
|
|
@ -1,196 +0,0 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
||||
//
|
||||
// This software (Documize Community Edition) is licensed under
|
||||
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
//
|
||||
// You can operate outside the AGPL restrictions by purchasing
|
||||
// Documize Enterprise Edition and obtaining a commercial license
|
||||
// by contacting <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
html {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
text-rendering: optimizeLegibility;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow-y: scroll;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
// height: 100vh;
|
||||
}
|
||||
|
||||
a {
|
||||
// @include ease-in();
|
||||
color: $color-link;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
a:focus,
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
a.admin-link {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
|
||||
a:focus,
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
a.broken-link {
|
||||
color: map-get($red-shades, 600);
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.no-outline {
|
||||
outline: none !important;
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
|
||||
&:active,
|
||||
&:focus {
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.no-select {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
list-style-type: none;
|
||||
}
|
||||
}
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cursor-auto {
|
||||
cursor: auto !important;
|
||||
}
|
||||
|
||||
.no-width {
|
||||
white-space: nowrap;
|
||||
width: 1%;
|
||||
}
|
||||
|
||||
.absolute-center {
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
input:-webkit-autofill {
|
||||
-webkit-box-shadow: 0 0 0 1000px white inset;
|
||||
box-shadow: 0 0 0 1000px white inset;
|
||||
}
|
||||
|
||||
.bordered {
|
||||
border: 1px solid map-get($gray-shades, 300);
|
||||
}
|
||||
|
||||
.text-truncate {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
background: map-get($gray-shades, 100);
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: map-get($gray-shades, 300);
|
||||
|
||||
&:hover {
|
||||
background: map-get($gray-shades, 600);
|
||||
}
|
||||
}
|
||||
|
||||
$i: 150;
|
||||
@while $i > 0 {
|
||||
.margin-#{$i} {
|
||||
margin: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-top-#{$i} {
|
||||
margin-top: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-bottom-#{$i} {
|
||||
margin-bottom: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-right-#{$i} {
|
||||
margin-right: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-left-#{$i} {
|
||||
margin-left: #{$i}px;
|
||||
}
|
||||
$i: $i - 5;
|
||||
}
|
||||
|
||||
$i: 150;
|
||||
@while $i > 0 {
|
||||
.padding-#{$i} {
|
||||
padding: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-top-#{$i} {
|
||||
padding-top: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-bottom-#{$i} {
|
||||
padding-bottom: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-right-#{$i} {
|
||||
padding-right: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-left-#{$i} {
|
||||
padding-left: #{$i}px;
|
||||
}
|
||||
$i: $i - 5;
|
||||
}
|
||||
|
||||
$i: 100;
|
||||
@while $i > 0 {
|
||||
.width-#{$i} {
|
||||
width: #{$i}#{"%"} !important;
|
||||
}
|
||||
$i: $i - 1;
|
||||
}
|
|
@ -187,30 +187,10 @@ icons
|
|||
content: "\ea08";
|
||||
}
|
||||
|
||||
.dicon-edit-to-check::before {
|
||||
content: "\ea0a";
|
||||
}
|
||||
|
||||
.dicon-settings-gear::before {
|
||||
content: "\ea0c";
|
||||
}
|
||||
|
||||
.dicon-arrow-down::before {
|
||||
content: "\ea0d";
|
||||
}
|
||||
|
||||
.dicon-arrow-left::before {
|
||||
content: "\ea0e";
|
||||
}
|
||||
|
||||
.dicon-arrow-right::before {
|
||||
content: "\ea0f";
|
||||
}
|
||||
|
||||
.dicon-arrow-up::before {
|
||||
content: "\ea10";
|
||||
}
|
||||
|
||||
.dicon-small-down::before {
|
||||
content: "\ea11";
|
||||
}
|
||||
|
@ -375,14 +355,6 @@ icons
|
|||
content: "\ea3a";
|
||||
}
|
||||
|
||||
.dicon-menu-to-arrow-left-3::before {
|
||||
content: "\ea3b";
|
||||
}
|
||||
|
||||
.dicon-grid-to-list::before {
|
||||
content: "\ea3c";
|
||||
}
|
||||
|
||||
.dicon-ctrl-down::before {
|
||||
content: "\ea3d";
|
||||
}
|
||||
|
@ -415,4 +387,10 @@ icons
|
|||
content: "\ea45";
|
||||
}
|
||||
|
||||
.dicon-bookmark-2::before {
|
||||
content: "\ea46";
|
||||
}
|
||||
|
||||
.dicon-menu-8::before {
|
||||
content: "\ea48";
|
||||
}
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
@import "grid.scss";
|
||||
@import "spacing.scss";
|
||||
@import "headings.scss";
|
||||
@import "master-internal.scss";
|
||||
@import "sidebar.scss";
|
||||
|
||||
@import "layout-master.scss";
|
||||
@import "layout-topbar.scss";
|
||||
@import "layout-sidebar.scss";
|
||||
@import "layout-footer.scss";
|
||||
@import "layout-content.scss";
|
||||
|
||||
@import "common.scss";
|
||||
@import "master-internal.scss";
|
||||
|
|
|
@ -1,25 +1,10 @@
|
|||
// Styles that apply to all pages using master layout
|
||||
|
||||
|
||||
$display-break-1: 700px;
|
||||
$display-break-2: 900px;
|
||||
$display-break-3: 1200px;
|
||||
$display-break-4: 1600px;
|
||||
$display-break-5: 1800px;
|
||||
|
||||
.master-page-heading {
|
||||
font-size: 2rem;
|
||||
font-weight: 700;
|
||||
color: map-get($gray-shades, 800);
|
||||
}
|
||||
|
||||
.master-page-desc {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 400;
|
||||
color: map-get($gray-shades, 700);
|
||||
}
|
||||
|
||||
.grid-container-8-2 {
|
||||
%grid-base {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: 2fr;
|
||||
|
@ -40,6 +25,32 @@ $display-break-5: 1800px;
|
|||
justify-self: self-start;
|
||||
}
|
||||
|
||||
// X- axis alignment
|
||||
.grid-cell-left {
|
||||
justify-self: self-end;
|
||||
}
|
||||
.grid-cell-right {
|
||||
justify-self: self-end;
|
||||
}
|
||||
.grid-cell-center {
|
||||
justify-self: center;
|
||||
}
|
||||
|
||||
// Y axis alignment
|
||||
.grid-cell-top {
|
||||
align-self: self-start;
|
||||
}
|
||||
.grid-cell-middle {
|
||||
align-self: center;
|
||||
}
|
||||
.grid-cell-bottom {
|
||||
align-self: self-end;
|
||||
}
|
||||
}
|
||||
|
||||
.grid-container-8-2 {
|
||||
@extend %grid-base;
|
||||
|
||||
@media (min-width: $display-break-2) {
|
||||
grid-template-columns: 8fr 2fr;
|
||||
grid-template-rows: 1fr;
|
||||
|
@ -50,6 +61,27 @@ $display-break-5: 1800px;
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
.grid-cell-2 {
|
||||
grid-column-start: 2;
|
||||
grid-row-start: 1;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grid-container-6-4 {
|
||||
@extend %grid-base;
|
||||
|
||||
@media (min-width: $display-break-2) {
|
||||
grid-template-columns: 6fr 4fr;
|
||||
grid-template-rows: 1fr;
|
||||
|
||||
.grid-cell-1 {
|
||||
grid-column-start: 1;
|
||||
grid-row-start: 1;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.grid-cell-2 {
|
||||
grid-column-start: 2;
|
||||
grid-row-start: 1;
|
12
gui/app/styles/core/layout/headings.scss
Normal file
12
gui/app/styles/core/layout/headings.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
// Headings
|
||||
.master-page-heading {
|
||||
font-size: 2rem;
|
||||
font-weight: 700;
|
||||
color: map-get($gray-shades, 900);
|
||||
}
|
||||
|
||||
.master-page-desc {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 400;
|
||||
color: map-get($gray-shades, 800);
|
||||
}
|
59
gui/app/styles/core/layout/sidebar.scss
Normal file
59
gui/app/styles/core/layout/sidebar.scss
Normal file
|
@ -0,0 +1,59 @@
|
|||
.sidebar-content {
|
||||
display: block;
|
||||
position: relative;
|
||||
|
||||
> .section {
|
||||
margin: 0;
|
||||
padding: 0 7px;
|
||||
|
||||
> .title {
|
||||
text-transform: uppercase;
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
color: map-get($gray-shades, 700);
|
||||
}
|
||||
|
||||
> .list {
|
||||
margin: 10px 0;
|
||||
|
||||
> .item {
|
||||
padding: 3px 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
|
||||
> .dicon {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: map-get($gray-shades, 500);
|
||||
}
|
||||
|
||||
> .name {
|
||||
display: inline-block;
|
||||
padding: 0 0 0 8px;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
color: $color-black-light-3;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
> .dicon {
|
||||
color: map-get($gray-shades, 600);
|
||||
}
|
||||
|
||||
> .name {
|
||||
color: $color-black-light-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .selected {
|
||||
> .dicon, > .name, &:hover {
|
||||
color: $theme-500 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
71
gui/app/styles/core/layout/spacing.scss
Normal file
71
gui/app/styles/core/layout/spacing.scss
Normal file
|
@ -0,0 +1,71 @@
|
|||
.spacer-100 { height: 10px; }
|
||||
.spacer-200 { height: 20px; }
|
||||
.spacer-300 { height: 30px; }
|
||||
.spacer-400 { height: 40px; }
|
||||
.spacer-500 { height: 70px; }
|
||||
.spacer-600 { height: 100px; }
|
||||
.spacer-700 { height: 120px; }
|
||||
.spacer-800 { height: 150px; }
|
||||
.spacer-900 { height: 200px; }
|
||||
|
||||
@media (max-width: $display-break-1) {
|
||||
div[class^="spacer-"] {
|
||||
height: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
$i: 150;
|
||||
@while $i > 0 {
|
||||
.margin-#{$i} {
|
||||
margin: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-top-#{$i} {
|
||||
margin-top: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-bottom-#{$i} {
|
||||
margin-bottom: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-right-#{$i} {
|
||||
margin-right: #{$i}px;
|
||||
}
|
||||
|
||||
.margin-left-#{$i} {
|
||||
margin-left: #{$i}px;
|
||||
}
|
||||
$i: $i - 5;
|
||||
}
|
||||
|
||||
$i: 150;
|
||||
@while $i > 0 {
|
||||
.padding-#{$i} {
|
||||
padding: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-top-#{$i} {
|
||||
padding-top: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-bottom-#{$i} {
|
||||
padding-bottom: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-right-#{$i} {
|
||||
padding-right: #{$i}px;
|
||||
}
|
||||
|
||||
.padding-left-#{$i} {
|
||||
padding-left: #{$i}px;
|
||||
}
|
||||
$i: $i - 5;
|
||||
}
|
||||
|
||||
$i: 100;
|
||||
@while $i > 0 {
|
||||
.width-#{$i} {
|
||||
width: #{$i}#{"%"} !important;
|
||||
}
|
||||
$i: $i - 1;
|
||||
}
|
|
@ -40,11 +40,11 @@
|
|||
|
||||
@mixin ease-in()
|
||||
{
|
||||
-webkit-transition: all 0.30s ease-in-out;
|
||||
-moz-transition: all 0.30s ease-in-out;
|
||||
-ms-transition: all 0.30s ease-in-out;
|
||||
-o-transition: all 0.30s ease-in-out;
|
||||
transition: all 0.30s ease-in-out;
|
||||
// -webkit-transition: all 0.30s ease-in-out;
|
||||
// -moz-transition: all 0.30s ease-in-out;
|
||||
// -ms-transition: all 0.30s ease-in-out;
|
||||
// -o-transition: all 0.30s ease-in-out;
|
||||
// transition: all 0.30s ease-in-out;
|
||||
}
|
||||
|
||||
@mixin content-container($pad-tb: 25px, $pad-lr: 50px) {
|
||||
|
@ -59,8 +59,7 @@
|
|||
box-shadow: 1px 1px 3px 0px rgba(211,211,211,1);
|
||||
|
||||
&:hover {
|
||||
background-color: darken($color-card, 5%);
|
||||
color: $color-link;
|
||||
background-color: map-get($gray-shades, 100);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
57
gui/app/styles/core/reset.scss
Normal file
57
gui/app/styles/core/reset.scss
Normal file
|
@ -0,0 +1,57 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
||||
//
|
||||
// This software (Documize Community Edition) is licensed under
|
||||
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
//
|
||||
// You can operate outside the AGPL restrictions by purchasing
|
||||
// Documize Enterprise Edition and obtaining a commercial license
|
||||
// by contacting <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
html {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
text-rendering: optimizeLegibility;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow-y: scroll;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
// height: 100vh;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
list-style-type: none;
|
||||
}
|
||||
}
|
||||
|
||||
input:-webkit-autofill {
|
||||
-webkit-box-shadow: 0 0 0 1000px white inset;
|
||||
box-shadow: 0 0 0 1000px white inset;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
background: map-get($gray-shades, 100);
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: map-get($gray-shades, 300);
|
||||
|
||||
&:hover {
|
||||
background: map-get($gray-shades, 600);
|
||||
}
|
||||
}
|
42
gui/app/styles/core/text.scss
Normal file
42
gui/app/styles/core/text.scss
Normal file
|
@ -0,0 +1,42 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
||||
//
|
||||
// This software (Documize Community Edition) is licensed under
|
||||
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
//
|
||||
// You can operate outside the AGPL restrictions by purchasing
|
||||
// Documize Enterprise Edition and obtaining a commercial license
|
||||
// by contacting <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
.text-truncate {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.text-upper {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.bold-100 { font-weight: 100; }
|
||||
.bold-200 { font-weight: 200; }
|
||||
.bold-300 { font-weight: 300; }
|
||||
.bold-400 { font-weight: 400; }
|
||||
.bold-500 { font-weight: 500; }
|
||||
.bold-600 { font-weight: 600; }
|
||||
.bold-700 { font-weight: 700; }
|
||||
.bold-800 { font-weight: 800; }
|
||||
.bold-900 { font-weight: 900; }
|
88
gui/app/styles/core/util.scss
Normal file
88
gui/app/styles/core/util.scss
Normal file
|
@ -0,0 +1,88 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
||||
//
|
||||
// This software (Documize Community Edition) is licensed under
|
||||
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
//
|
||||
// You can operate outside the AGPL restrictions by purchasing
|
||||
// Documize Enterprise Edition and obtaining a commercial license
|
||||
// by contacting <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
a {
|
||||
// @include ease-in();
|
||||
color: $color-link;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
a:focus,
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
a.admin-link {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
|
||||
a:focus,
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
a.broken-link {
|
||||
color: map-get($red-shades, 600);
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.no-outline {
|
||||
outline: none !important;
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
|
||||
&:active,
|
||||
&:focus {
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.no-select {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cursor-auto {
|
||||
cursor: auto !important;
|
||||
}
|
||||
|
||||
.no-width {
|
||||
white-space: nowrap;
|
||||
width: 1%;
|
||||
}
|
||||
|
||||
.absolute-center {
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.bordered {
|
||||
border: 1px solid map-get($gray-shades, 300);
|
||||
}
|
||||
|
|
@ -1,44 +1,101 @@
|
|||
.view-spaces {
|
||||
> .heading {
|
||||
font-size: 1.3rem;
|
||||
font-weight: bold;
|
||||
color: map-get($gray-shades, 800);
|
||||
text-transform: uppercase;
|
||||
|
||||
> .counter {
|
||||
font-size: 0.9rem;
|
||||
font-weight: normal;
|
||||
color: map-get($gray-shades, 600);
|
||||
display: inline-block;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
> .empty {
|
||||
font-size: 1.2rem;
|
||||
color: map-get($gray-shades, 600);
|
||||
font-weight: normal;
|
||||
margin: 20px 0 50px 0;
|
||||
}
|
||||
|
||||
> .list {
|
||||
margin: 30px 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
> a {
|
||||
color: $color-black;
|
||||
|
||||
> .item {
|
||||
@include card();
|
||||
@include ease-in();
|
||||
list-style-type: none;
|
||||
float: left;
|
||||
margin: 0 20px 20px 0;
|
||||
padding: 10px;
|
||||
width: 250px;
|
||||
height: 100px;
|
||||
font-size: 1.1rem;
|
||||
overflow: hidden;
|
||||
margin: 0 0 2rem 0;
|
||||
padding: 15px 20px;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: 2fr;
|
||||
|
||||
> .info {
|
||||
grid-column-start: 1;
|
||||
grid-row-start: 1;
|
||||
padding: 0;
|
||||
align-self: self-start;
|
||||
justify-self: self-start;
|
||||
|
||||
> .name {
|
||||
font-size: 1.3rem;
|
||||
font-weight: 700;
|
||||
color: map-get($gray-shades, 800);
|
||||
}
|
||||
|
||||
> .desc {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 400;
|
||||
margin-top: 0.4rem;
|
||||
color: $color-black-light-3;
|
||||
}
|
||||
|
||||
> .meta {
|
||||
padding: 25px 0 0 0;
|
||||
|
||||
> .dicon {
|
||||
color: map-get($gray-shades, 600);
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .stats {
|
||||
grid-column-start: 1;
|
||||
grid-row-start: 2;
|
||||
padding: 0;
|
||||
align-self: self-start;
|
||||
justify-self: self-start;
|
||||
|
||||
> .stat {
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
margin: 5px 30px 5px 0;
|
||||
|
||||
> .number {
|
||||
font-size: 1.7rem;
|
||||
font-weight: 700;
|
||||
color: map-get($gray-shades, 600);
|
||||
}
|
||||
|
||||
> .label {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 500;
|
||||
color: map-get($gray-shades, 600);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: $display-break-2) {
|
||||
grid-template-columns: 8fr 2fr;
|
||||
grid-template-rows: 1fr;
|
||||
|
||||
> .info {
|
||||
grid-column-start: 1;
|
||||
grid-row-start: 1;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
> .stats {
|
||||
grid-column-start: 2;
|
||||
grid-row-start: 1;
|
||||
padding: 0;
|
||||
justify-self: self-end;
|
||||
|
||||
> .stat, > .number, > .label {
|
||||
display: block;
|
||||
}
|
||||
|
||||
> .stat {
|
||||
margin: 5px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,15 +21,15 @@
|
|||
{{/if}}
|
||||
<p>
|
||||
<span class="color-black-light-2">Community Edition {{appMeta.communityLatest}}</span>
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-community-windows-amd64.exe" class="font-weight-bold">Windows</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-community-linux-amd64" class="font-weight-bold">Linux</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-community-darwin-amd64" class="font-weight-bold">macOS</a>
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-community-windows-amd64.exe" class="bold-700">Windows</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-community-linux-amd64" class="bold-700">Linux</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-community-darwin-amd64" class="bold-700">macOS</a>
|
||||
</p>
|
||||
<p>
|
||||
<span class="color-black-light-2">Enterprise Edition {{appMeta.enterpriseLatest}}</span>
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-windows-amd64.exe" class="font-weight-bold color-gray-700">Windows</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-linux-amd64" class="font-weight-bold color-gray-700">Linux</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-darwin-amd64" class="font-weight-bold color-gray-700">macOS</a>
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-windows-amd64.exe" class="bold-700 color-gray-700">Windows</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-linux-amd64" class="bold-700 color-gray-700">Linux</a> ·
|
||||
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-darwin-amd64" class="bold-700 color-gray-700">macOS</a>
|
||||
</p>
|
||||
<div class="my-5" />
|
||||
{{{changelog}}}
|
||||
|
|
|
@ -68,6 +68,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn btn-success font-weight-bold text-uppercase mt-4" {{action "save"}}>Save</div>
|
||||
<div class="btn btn-success bold-700 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 bold-700 text-uppercase mt-4" {{action "onSave"}}>Save</div>
|
||||
|
||||
</form>
|
||||
</div>
|
|
@ -139,7 +139,7 @@
|
|||
<div class="view-customize">
|
||||
<div class="deactivation-zone">
|
||||
<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><span class="bold-700">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}}
|
||||
<div class="button-gap" />
|
||||
|
|
|
@ -1,37 +1,38 @@
|
|||
<div class="view-customize my-5">
|
||||
{{#if isAuthProviderKeycloak}}
|
||||
{{#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>
|
||||
{{/if}}
|
||||
{{#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>
|
||||
{{/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>
|
||||
{{/if}}
|
||||
{{#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>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<div class="my-2">
|
||||
<span class="font-weight-bold">Spaces</span>
|
||||
<span class="bold-700">Spaces</span>
|
||||
<span class="text-muted"> — can add spaces, both personal and shared with others</span>
|
||||
</div>
|
||||
<div class="my-2">
|
||||
<span class="font-weight-bold">Visible</span>
|
||||
<span class="text-muted"> — can see names of users and groups, can disable for external users like customers/partners</span>
|
||||
<span class="bold-700">Visible</span>
|
||||
<span class="text-muted"> — can see names of users and groups, can disable for external users
|
||||
like customers/partners</span>
|
||||
</div>
|
||||
<div class="my-2">
|
||||
<span class="font-weight-bold">Admin</span>
|
||||
<span class="bold-700">Admin</span>
|
||||
<span class="text-muted"> — can manage all aspects of Documize, like this screen</span>
|
||||
</div>
|
||||
<div class="my-2">
|
||||
<span class="font-weight-bold">Analytics</span>
|
||||
<span class="bold-700">Analytics</span>
|
||||
<span class="text-muted"> — can view analytical reports</span>
|
||||
</div>
|
||||
<div class="mt-2 mb-4">
|
||||
<span class="font-weight-bold">Active</span>
|
||||
<span class="bold-700">Active</span>
|
||||
<span class="text-muted"> — can login and use Documize</span>
|
||||
</div>
|
||||
|
||||
|
@ -78,7 +79,8 @@
|
|||
<tr>
|
||||
<th class="text-muted">
|
||||
{{#if hasSelectedUsers}}
|
||||
<button id="bulk-delete-users" type="button" class="btn btn-danger" data-toggle="modal" data-target="#admin-user-delete-modal" data-backdrop="static">Delete selected users</button>
|
||||
<button id="bulk-delete-users" type="button" class="btn btn-danger" data-toggle="modal" data-target="#admin-user-delete-modal"
|
||||
data-backdrop="static">Delete selected users</button>
|
||||
{{/if}}
|
||||
</th>
|
||||
<th class="no-width">Spaces</th>
|
||||
|
@ -92,83 +94,86 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
{{#each users key="id" as |user|}}
|
||||
<tr>
|
||||
<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>
|
||||
<tr>
|
||||
<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>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleSelect" user}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="d-inline-block">
|
||||
<div class="name" {{action "onShowEdit" user.id}}>{{user.fullname}}<div class="email"> ({{user.email}})</div>
|
||||
</div>
|
||||
<div class="groups" {{action "onShowGroupsModal" user.id}}>
|
||||
{{#each user.groups as |group|}}
|
||||
<span class="group">
|
||||
{{group.name}}{{#if (not-eq group user.groups.lastObject)}}, {{/if}}
|
||||
</span>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleSelect" user}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
<span class="group"><no groups></span>
|
||||
{{/each}}
|
||||
</div>
|
||||
<div class="d-inline-block">
|
||||
<div class="name" {{action "onShowEdit" user.id}}>{{user.fullname}}<div class="email"> ({{user.email}})</div></div>
|
||||
<div class="groups" {{action "onShowGroupsModal" user.id}}>
|
||||
{{#each user.groups as |group|}}
|
||||
<span class="group">
|
||||
{{group.name}}{{#if (not-eq group user.groups.lastObject)}}, {{/if}}
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="group"><no groups></span>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.editor}}
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.viewUsers}}
|
||||
<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>
|
||||
{{/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>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleAdmin" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.analytics}}
|
||||
<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>
|
||||
{{/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>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleActive" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
<div class="user-button-{{user.id}} button-icon-gray button-icon-small" title="Edit" {{action "onShowEdit" user.id}}>
|
||||
<i class="material-icons">mode_edit</i>
|
||||
{{#attach-tooltip showDelay=1000}}Edit user{{/attach-tooltip}}
|
||||
</div>
|
||||
{{#unless user.me}}
|
||||
<div class="button-icon-gap" />
|
||||
<div class="delete-button-{{user.id}} button-icon-red button-icon-small" title="Delete" {{action "onShowDelete" user.id}}>
|
||||
<i class="material-icons">delete</i>
|
||||
{{#attach-tooltip showDelay=1000}}Delete user{{/attach-tooltip}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.editor}}
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.viewUsers}}
|
||||
<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>
|
||||
{{/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>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleAdmin" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.analytics}}
|
||||
<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>
|
||||
{{/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>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleActive" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
<div class="user-button-{{user.id}} button-icon-gray button-icon-small" title="Edit"
|
||||
{{action "onShowEdit" user.id}}>
|
||||
<i class="material-icons">mode_edit</i>
|
||||
{{#attach-tooltip showDelay=1000}}Edit user{{/attach-tooltip}}
|
||||
</div>
|
||||
{{#unless user.me}}
|
||||
<div class="button-icon-gap" />
|
||||
<div class="delete-button-{{user.id}} button-icon-red button-icon-small" title="Delete"
|
||||
{{action "onShowDelete" user.id}}>
|
||||
<i class="material-icons">delete</i>
|
||||
{{#attach-tooltip showDelay=1000}}Delete user{{/attach-tooltip}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -193,22 +198,22 @@
|
|||
{{input id="edit-email" type="text" class="form-control" value=editUser.email}}
|
||||
</div>
|
||||
{{#if isAuthProviderDocumize}}
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="edit-password">Password</label>
|
||||
{{input id="edit-password" type="password" class="form-control" value=password.password}}
|
||||
<small class="form-text text-muted">Optional new password</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="edit-confirmPassword">Confirm Password</label>
|
||||
{{input id="edit-confirmPassword" type="password" class="form-control" value=password.confirmation}}
|
||||
<small class="form-text text-muted">Confirm new password</small>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="edit-password">Password</label>
|
||||
{{input id="edit-password" type="password" class="form-control" value=password.password}}
|
||||
<small class="form-text text-muted">Optional new password</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="edit-confirmPassword">Confirm Password</label>
|
||||
{{input id="edit-confirmPassword" type="password" class="form-control" value=password.confirmation}}
|
||||
<small class="form-text text-muted">Confirm new password</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</form>
|
||||
</div>
|
||||
|
@ -220,8 +225,9 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{{#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 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}}
|
||||
|
||||
<div id="admin-user-delete-modal" class="modal" tabindex="-1" role="dialog">
|
||||
|
@ -247,20 +253,20 @@
|
|||
<div class="view-customize">
|
||||
<div class="group-membership my-5">
|
||||
{{#each groups as |group|}}
|
||||
<div class="row item">
|
||||
<div class="col-10 group-name">{{group.name}}
|
||||
{{#if group.purpose}}
|
||||
<span class="text-muted group-purpose"> — {{group.purpose}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#if group.isMember}}
|
||||
<button class="btn btn-danger" {{action "onLeaveGroup" group.id}}>Leave</button>
|
||||
{{else}}
|
||||
<button class="btn btn-success" {{action "onJoinGroup" group.id}}>Join</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="row item">
|
||||
<div class="col-10 group-name">{{group.name}}
|
||||
{{#if group.purpose}}
|
||||
<span class="text-muted group-purpose"> — {{group.purpose}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#if group.isMember}}
|
||||
<button class="btn btn-danger" {{action "onLeaveGroup" group.id}}>Leave</button>
|
||||
{{else}}
|
||||
<button class="btn btn-success" {{action "onJoinGroup" group.id}}>Join</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -270,4 +276,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<small class="form-text text-muted">Optional description explaining content</small>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-success text-uppercase font-weight-bold mt-5" {{action "onSave"}}>Save</button>
|
||||
<button type="submit" class="btn btn-success text-uppercase bold-700 mt-5" {{action "onSave"}}>Save</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,6 +25,6 @@
|
|||
<p class="text-danger">This space has no categories defined yet.</p>
|
||||
{{/unless}}
|
||||
|
||||
<button type="submit" class="btn btn-success text-uppercase font-weight-bold mt-5" {{action "onSave"}}>Save</button>
|
||||
<button type="submit" class="btn btn-success text-uppercase bold-700 mt-5" {{action "onSave"}}>Save</button>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="view-attachment d-print-none">
|
||||
{{#if canEdit}}
|
||||
<div class="upload-document-files">
|
||||
<div id="upload-document-files" class="btn btn-secondary text-uppercase font-weight-bold">+ Attachments</div>
|
||||
<div id="upload-document-files" class="btn btn-secondary text-uppercase bold-700">+ Attachments</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="margin-top-50" />
|
||||
|
|
|
@ -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 bold-700" {{action "onVote" 1}}>Yes, thanks!</button>
|
||||
<button type="button" class="btn btn-outline-secondary bold-700" {{action "onVote" 2}}>Not really</button>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="ack">Thanks for the feedback!</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="snippet">{{ document.excerpt }}</div>
|
||||
{{folder/document-tags documentTags=document.tags}}
|
||||
{{#if (not-eq document.lifecycle constants.Lifecycle.Live)}}
|
||||
<button type="button" class="mt-3 btn btn-warning text-uppercase font-weight-bold">{{document.lifecycleLabel}}</button>
|
||||
<button type="button" class="mt-3 btn btn-warning text-uppercase bold-700">{{document.lifecycleLabel}}</button>
|
||||
{{/if}}
|
||||
{{/link-to}}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="form-group mr-3">
|
||||
{{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 bold-700" onclick={{action "onAdd"}}>Add</button>
|
||||
</form>
|
||||
|
||||
<div class="space-admin">
|
||||
|
|
|
@ -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 bold-700 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 bold-700 text-uppercase my-3" onclick={{action "onShowInviteModal"}}>Invite new users</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -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 bold-700 text-uppercase my-3" onclick={{action "onSave"}}>SAVE</button>
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-12 col-md-6">
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
{{#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}}
|
||||
{{#link-to "folder.settings" space.id space.slug (query-params tab="categories") class="btn btn-secondary bold-700"}}{{categoryLinkName}}{{/link-to}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
|
@ -2,29 +2,29 @@
|
|||
<div class="nav-content">
|
||||
<div class="nav-options">
|
||||
{{#link-to "folders" class=(if (eq selectedItem "spaces") "option selected" "option")}}
|
||||
<i class="dicon dicon-grid-interface"></i>
|
||||
<i class={{concat "dicon " constants.Icon.Grid1}}></i>
|
||||
<div class="name">spaces</div>
|
||||
{{/link-to}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if session.viewDashboard}}
|
||||
{{#link-to "dashboard" class=(if (eq selectedItem "actions") "option selected" "option")}}
|
||||
<i class="dicon dicon-list-bullet-2"></i>
|
||||
<i class={{concat "dicon " constants.Icon.ListBullet}}></i>
|
||||
<div class="name">actions</div>
|
||||
{{/link-to}}
|
||||
{{#link-to "activity" class=(if (eq selectedItem "activity") "option selected" "option")}}
|
||||
<i class="dicon dicon-pulse"></i>
|
||||
<i class={{concat "dicon " constants.Icon.Pulse}}></i>
|
||||
<div class="name">activity</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#if session.viewAnalytics}}
|
||||
{{#link-to "analytics" class=(if (eq selectedItem "analytics") "option selected" "option")}}
|
||||
<i class="dicon dicon-chart-bar-33"></i>
|
||||
<i class={{concat "dicon " constants.Icon.BarChart}}></i>
|
||||
<div class="name">reports</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#link-to "search" class=(if (eq selectedItem "spaces") "option selected" "option")}}
|
||||
<i class="dicon dicon-magnifier"></i>
|
||||
<i class={{concat "dicon " constants.Icon.Search}}></i>
|
||||
<div class="name">search</div>
|
||||
{{/link-to}}
|
||||
</div>
|
||||
|
@ -33,7 +33,7 @@
|
|||
{{#if session.authenticated}}
|
||||
{{#if hasPins}}
|
||||
<div class="bookmarks" id="user-pins-button">
|
||||
<i class="dicon dicon-bookmark"></i>
|
||||
<i class={{concat "dicon " constants.Icon.Bookmark}}></i>
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
{{#if hasSpacePins}}
|
||||
|
@ -165,5 +165,7 @@
|
|||
{{/if}}
|
||||
</div>
|
||||
<div class="master-sidebar">
|
||||
{{yield}}
|
||||
<div class="sidebar-content">
|
||||
{{yield}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
{{#if session.isAdmin}}
|
||||
{{#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 bold-700 color-red-600"}}Update Billing{{/link-to}}
|
||||
{{/unless}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{/if}}
|
||||
|
@ -118,10 +118,10 @@
|
|||
<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 bold-700 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 bold-700"}}" {{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}}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<div class="snippet">{{result.excerpt}}</div>
|
||||
{{folder/document-tags documentTags=result.tags}}
|
||||
{{#if result.template}}
|
||||
<button type="button" class="mt-3 btn btn-warning text-uppercase font-weight-bold">TEMPLATE</button>
|
||||
<button type="button" class="mt-3 btn btn-warning text-uppercase bold-700">TEMPLATE</button>
|
||||
{{/if}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<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 bold-700"}}
|
||||
Configure Jira Connector
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
|
@ -22,7 +22,7 @@
|
|||
<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"}}
|
||||
</div>
|
||||
<button type="submit" class="btn btn-secondary font-weight-bold">Preview</button>
|
||||
<button type="submit" class="btn btn-secondary bold-700">Preview</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
{{/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 bold-700"}}
|
||||
Configure Trello Connector
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
|
|
|
@ -1,39 +1,41 @@
|
|||
<div class="view-spaces">
|
||||
<div class="heading">EVERYONE <div class="counter">({{publicFolders.length}})</div></div>
|
||||
{{#unless hasPublicFolders}}
|
||||
<p class="empty">No global spaces</p>
|
||||
{{/unless}}
|
||||
<ul class="list clearfix">
|
||||
{{#each publicFolders as |folder|}}
|
||||
{{#link-to "folder.index" folder.id folder.slug}}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
<ul class="list">
|
||||
{{#each spaces as |space|}}
|
||||
{{#link-to "folder.index" space.id space.slug}}
|
||||
<li class="item">
|
||||
<div class="info">
|
||||
<div class="name">{{space.name}}</div>
|
||||
<div class="desc">Some description that is to be wired up to the backend</div>
|
||||
<div class="meta">
|
||||
{{#if (eq space.spaceType constants.SpaceType.Public)}}
|
||||
<i class={{concat "dicon " constants.Icon.World}}>
|
||||
{{#attach-tooltip showDelay=1000}}Public space{{/attach-tooltip}}
|
||||
</i>
|
||||
{{/if}}
|
||||
{{#if (eq space.spaceType constants.SpaceType.Protected)}}
|
||||
<i class={{concat "dicon " constants.Icon.People}}>
|
||||
{{#attach-tooltip showDelay=1000}}Protected space{{/attach-tooltip}}
|
||||
</i>
|
||||
{{/if}}
|
||||
{{#if (eq space.spaceType constants.SpaceType.Private)}}
|
||||
<i class={{concat "dicon " constants.Icon.Person}}>
|
||||
{{#attach-tooltip showDelay=1000}}Personal space{{/attach-tooltip}}
|
||||
</i>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats">
|
||||
<div class="stat">
|
||||
<div class="number">18</div>
|
||||
<div class="label">items</div>
|
||||
</div>
|
||||
<div class="stat">
|
||||
<div class="number">5</div>
|
||||
<div class="label">categories</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
{{#if session.authenticated}}
|
||||
<div class="heading">TEAM <div class="counter">({{protectedFolders.length}})</div></div>
|
||||
{{#unless hasProtectedFolders}}
|
||||
<p class="empty">No team spaces</p>
|
||||
{{/unless}}
|
||||
<ul class="list clearfix">
|
||||
{{#each protectedFolders as |folder|}}
|
||||
{{#link-to "folder.index" folder.id folder.slug}}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<div class="heading">PERSONAL <div class="counter">({{privateFolders.length}})</div></div>
|
||||
{{#unless hasPrivateFolders}}
|
||||
<p class="empty">No personal spaces</p>
|
||||
{{/unless}}
|
||||
<ul class="list clearfix">
|
||||
{{#each privateFolders as |folder|}}
|
||||
{{#link-to "folder.index" folder.id folder.slug}}
|
||||
<li class="item">{{ folder.name }}</li>
|
||||
{{/link-to}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="col-6">
|
||||
{{#if permissions.documentAdd}}
|
||||
<div class="btn-group" role="group">
|
||||
<button id="btnGroupDocument" type="button" class="btn btn-success font-weight-bold dropdown-toggle">
|
||||
<button id="btnGroupDocument" type="button" class="btn btn-success bold-700 dropdown-toggle">
|
||||
+ CONTENT
|
||||
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false}}
|
||||
<div class="menu">
|
||||
|
|
0
gui/app/templates/components/ui/ui-spacer.hbs
Normal file
0
gui/app/templates/components/ui/ui-spacer.hbs
Normal file
|
@ -7,7 +7,7 @@
|
|||
{{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>
|
||||
<button type="submit" class="btn btn-success bold-700 text-uppercase">Reset</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="mt-5">
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<small class="form-text text-muted">Please type your new password again</small>
|
||||
</div>
|
||||
<div class="margin-top-10 margin-bottom-20">
|
||||
<button type="submit" class="btn btn-success font-weight-bold text-uppercase">Reset</button>
|
||||
<button type="submit" class="btn btn-success bold-700 text-uppercase">Reset</button>
|
||||
<span class="{{unless mustMatch "d-none"}} color-red-600 margin-left-20">Passwords must match</span>
|
||||
</div>
|
||||
</form>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue