1
0
Fork 0
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:
Harvey Kandola 2018-12-12 13:35:16 +00:00
parent 6eb68f84e0
commit 02102f9bf3
48 changed files with 851 additions and 546 deletions

View file

@ -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, {
});

View 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';
}),
});

View file

@ -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

View file

@ -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}}

View file

@ -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;
}
}
}
});

View file

@ -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');
}
}
});

View file

@ -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">

View file

@ -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";

View file

@ -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;
}

View file

@ -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";
}

View file

@ -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";

View file

@ -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;

View 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);
}

View 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;
}
}
}
}
}

View 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;
}

View file

@ -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);
}
}

View 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);
}
}

View 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; }

View 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);
}

View file

@ -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;
}
}
}
}
}
}

View file

@ -21,15 +21,15 @@
{{/if}}
<p>
<span class="color-black-light-2">Community Edition {{appMeta.communityLatest}}</span>&nbsp;&nbsp;&nbsp;
<a href="https://storage.googleapis.com/documize/downloads/documize-community-windows-amd64.exe" class="font-weight-bold">Windows</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-community-linux-amd64" class="font-weight-bold">Linux</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-community-darwin-amd64" class="font-weight-bold">macOS</a>&nbsp;
<a href="https://storage.googleapis.com/documize/downloads/documize-community-windows-amd64.exe" class="bold-700">Windows</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-community-linux-amd64" class="bold-700">Linux</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-community-darwin-amd64" class="bold-700">macOS</a>&nbsp;
</p>
<p>
<span class="color-black-light-2">Enterprise Edition {{appMeta.enterpriseLatest}}</span>&nbsp;&nbsp;&nbsp;
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-windows-amd64.exe" class="font-weight-bold color-gray-700">Windows</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-linux-amd64" class="font-weight-bold color-gray-700">Linux</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-darwin-amd64" class="font-weight-bold color-gray-700">macOS</a>&nbsp;
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-windows-amd64.exe" class="bold-700 color-gray-700">Windows</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-linux-amd64" class="bold-700 color-gray-700">Linux</a>&nbsp;&middot;
<a href="https://storage.googleapis.com/documize/downloads/documize-enterprise-darwin-amd64" class="bold-700 color-gray-700">macOS</a>&nbsp;
</p>
<div class="my-5" />
{{{changelog}}}

View file

@ -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>

View file

@ -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>

View file

@ -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" />

View file

@ -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">&nbsp;&nbsp;&mdash;&nbsp;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">&nbsp;&nbsp;&mdash;&nbsp;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">&nbsp;&nbsp;&mdash;&nbsp;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">&nbsp;&nbsp;&mdash;&nbsp;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">&nbsp;&nbsp;&mdash;&nbsp;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">&nbsp;&nbsp;&mdash;&nbsp;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">&nbsp;&nbsp;({{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">&lt;no groups&gt;</span>
{{/each}}
</div>
<div class="d-inline-block">
<div class="name" {{action "onShowEdit" user.id}}>{{user.fullname}}<div class="email">&nbsp;&nbsp;({{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">&lt;no groups&gt;</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">&nbsp;&nbsp;&mdash;&nbsp;{{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">&nbsp;&nbsp;&mdash;&nbsp;{{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>

View file

@ -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>

View file

@ -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>

View file

@ -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" />

View file

@ -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>&nbsp;&nbsp;
<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>&nbsp;&nbsp;
<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>

View file

@ -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}}

View file

@ -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">

View file

@ -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>
&nbsp;&nbsp;
<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">

View file

@ -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>

View file

@ -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>

View file

@ -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}}

View file

@ -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>

View file

@ -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>

View file

@ -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}}

View file

@ -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>

View file

@ -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">

View 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">

View file

@ -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>