mirror of
https://github.com/documize/community.git
synced 2025-07-19 05:09:42 +02:00
Implement new sidebar and master layout
This commit is contained in:
parent
34d54745f3
commit
da0861b3fd
8 changed files with 429 additions and 488 deletions
25
gui/app/components/layout/master-content.js
Normal file
25
gui/app/components/layout/master-content.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
// 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 Component from '@ember/component';
|
||||
|
||||
export default Component.extend({
|
||||
tagName: 'div',
|
||||
classNames: ['master-container'],
|
||||
|
||||
didInsertElement() {
|
||||
this._super(...arguments);
|
||||
},
|
||||
|
||||
willDestroyElement() {
|
||||
this._super(...arguments);
|
||||
}
|
||||
});
|
131
gui/app/components/layout/master-sidebar.js
Normal file
131
gui/app/components/layout/master-sidebar.js
Normal file
|
@ -0,0 +1,131 @@
|
|||
// 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 $ from 'jquery';
|
||||
import { notEmpty } from '@ember/object/computed';
|
||||
import { inject as service } from '@ember/service'
|
||||
import Modals from '../../mixins/modal';
|
||||
import Tooltips from '../../mixins/tooltip';
|
||||
import Component from '@ember/component';
|
||||
|
||||
export default Component.extend(Tooltips, Modals, {
|
||||
tagName: 'div',
|
||||
classNames: ['master-sidebar-container', 'non-printable'],
|
||||
selectedItem: 'spaces',
|
||||
folderService: service('folder'),
|
||||
appMeta: service(),
|
||||
session: service(),
|
||||
store: service(),
|
||||
pinned: service(),
|
||||
enableLogout: true,
|
||||
hasPins: notEmpty('pins'),
|
||||
hasSpacePins: notEmpty('spacePins'),
|
||||
hasDocumentPins: notEmpty('documentPins'),
|
||||
hasWhatsNew: false,
|
||||
newsContent: '',
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
let constants = this.get('constants');
|
||||
|
||||
this.pins = [];
|
||||
|
||||
if (this.get('appMeta.authProvider') !== constants.AuthProvider.Documize) {
|
||||
let config = this.get('appMeta.authConfig');
|
||||
config = JSON.parse(config);
|
||||
this.set('enableLogout', !config.disableLogout);
|
||||
}
|
||||
|
||||
this.get('session').hasWhatsNew().then((v) => {
|
||||
this.set('hasWhatsNew', v);
|
||||
});
|
||||
|
||||
let version = this.get('appMeta.version');
|
||||
let edition = this.get('appMeta.edition').toLowerCase();
|
||||
|
||||
let self = this;
|
||||
let cacheBuster = + new Date();
|
||||
$.ajax({
|
||||
url: `https://storage.googleapis.com/documize/news/${edition}/${version}.html?cb=${cacheBuster}`,
|
||||
type: 'GET',
|
||||
dataType: 'html',
|
||||
success: function (response) {
|
||||
if (self.get('isDestroyed') || self.get('isDestroying')) return;
|
||||
self.set('newsContent', response);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
didInsertElement() {
|
||||
this._super(...arguments);
|
||||
|
||||
if (this.get("session.authenticated")) {
|
||||
this.eventBus.subscribe('pinChange', this, 'setupPins');
|
||||
this.setupPins();
|
||||
}
|
||||
|
||||
this.renderTooltips();
|
||||
},
|
||||
|
||||
setupPins() {
|
||||
if (this.get('isDestroyed') || this.get('isDestroying')) return;
|
||||
|
||||
this.get('pinned').getUserPins().then((pins) => {
|
||||
if (this.get('isDestroyed') || this.get('isDestroying')) {
|
||||
return;
|
||||
}
|
||||
this.set('pins', pins);
|
||||
this.set('spacePins', pins.filterBy('isSpace', true));
|
||||
this.set('documentPins', pins.filterBy('isDocument', true));
|
||||
});
|
||||
},
|
||||
|
||||
willDestroyElement() {
|
||||
this._super(...arguments);
|
||||
|
||||
this.removeTooltips();
|
||||
this.eventBus.unsubscribe('pinChange');
|
||||
},
|
||||
|
||||
actions: {
|
||||
jumpToPin(pin) {
|
||||
let folderId = pin.get('spaceId');
|
||||
let documentId = pin.get('documentId');
|
||||
|
||||
if (_.isEmpty(documentId)) {
|
||||
// jump to space
|
||||
let folder = this.get('store').peekRecord('folder', folderId);
|
||||
this.get('router').transitionTo('folder', folderId, folder.get('slug'));
|
||||
} else {
|
||||
// jump to doc
|
||||
let folder = this.get('store').peekRecord('folder', folderId);
|
||||
this.get('router').transitionTo('document', folderId, folder.get('slug'), documentId, 'document');
|
||||
}
|
||||
},
|
||||
|
||||
onShowWhatsNewModal() {
|
||||
this.modalOpen("#whats-new-modal", { "show": true });
|
||||
|
||||
if (this.get('newsContent.length') > 0) {
|
||||
this.get('session').seenNewVersion();
|
||||
this.set('hasWhatsNew', false);
|
||||
}
|
||||
},
|
||||
|
||||
onBilling() {
|
||||
if (!this.get('session.isAdmin')) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.get('router').transitionTo('customize.billing');
|
||||
}
|
||||
}
|
||||
});
|
|
@ -17,7 +17,7 @@ export default Mixin.create({
|
|||
renderTooltips() {
|
||||
schedule('afterRender', () => {
|
||||
$('[data-toggle="tooltip"]').tooltip('dispose');
|
||||
$('body').tooltip({selector: '[data-toggle="tooltip"]', delay: 250});
|
||||
$('body').tooltip({selector: '[data-toggle="tooltip"]', delay: { "show": 1000, "hide": 100 }});
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -1,200 +1,25 @@
|
|||
<div class="master-sidebar-container">
|
||||
<div class="master-navbar">
|
||||
<div class="nav-content">
|
||||
<div class="nav-options">
|
||||
{{#link-to 'folders' class=(if (eq selectItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-grid-interface"></i>
|
||||
<div class="name">spaces</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'folders' class=(if (eq selectItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-chart-bar-33"></i>
|
||||
<div class="name">reports</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'folders' class=(if (eq selectItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-list-bullet-2"></i>
|
||||
<div class="name">actions</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'folders' class=(if (eq selectItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-pulse"></i>
|
||||
<div class="name">activity</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'search' class=(if (eq selectItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-magnifier"></i>
|
||||
<div class="name">search</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'folders' class=(if (eq selectItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-bookmark"></i>
|
||||
<div class="name">saved</div>
|
||||
{{/link-to}}
|
||||
</div>
|
||||
<div class="meta">
|
||||
<a class="logo" href="https://documize.com?ref=app">
|
||||
<img src="/assets/img/icon-white-64x64.png" />
|
||||
<div class="documize">Documize</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="master-sidebar">
|
||||
one<br/>
|
||||
two<br/>
|
||||
three
|
||||
</div>
|
||||
</div>
|
||||
<div class="master-container">
|
||||
<div class="master-content">
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- <div class="master-container">
|
||||
<div class="master-navbar">nav</div>
|
||||
<div class="master-sidebar">
|
||||
one<br/>
|
||||
two<br/>
|
||||
three
|
||||
</div>
|
||||
<div class="master-content">
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{{!-- {{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folders" class="link"}}SOMETHING{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to "folders" class="link selected"}}Space X July 2019{{/link-to}}
|
||||
</li>
|
||||
{{/layout/top-bar}}
|
||||
|
||||
{{#layout/middle-zone}}
|
||||
{{#layout/middle-zone-content}}
|
||||
<h1>How to install this</h1>
|
||||
<p>
|
||||
Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
|
||||
</p>
|
||||
<p>
|
||||
Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
|
||||
</p>
|
||||
<p>
|
||||
Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
|
||||
</p>
|
||||
<p>
|
||||
Podcasting operational change management inside of workflows to establish a framework. Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration.
|
||||
</p>
|
||||
<p>
|
||||
Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
|
||||
</p>
|
||||
<p>
|
||||
Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
|
||||
</p>
|
||||
<p>
|
||||
Podcasting operational change management inside of workflows to establish a framework. Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration.
|
||||
</p>
|
||||
<p>
|
||||
Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
|
||||
</p>
|
||||
<p>
|
||||
Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
|
||||
</p>
|
||||
<p>
|
||||
Podcasting operational change management inside of workflows to establish a framework. Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration.
|
||||
</p>
|
||||
{{/layout/middle-zone-content}}
|
||||
|
||||
{{#layout/middle-zone-sidebar}}
|
||||
<div id="sidebar" class="sidebar sidebar-white">
|
||||
<h1>Hello Sidebar</h1>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
<p>Something</p>
|
||||
</div>
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
{{/layout/middle-zone}}
|
||||
|
||||
{{#layout/bottom-bar}}
|
||||
{{/layout/bottom-bar}} --}}
|
||||
{{#layout/master-sidebar}}
|
||||
one<br/>
|
||||
two<br/>
|
||||
three
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
{{/layout/master-sidebar}}
|
||||
{{#layout/master-content}}
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
|
||||
{{/layout/master-content}}
|
||||
|
|
|
@ -15,23 +15,22 @@ $display-break-5: 1800px;
|
|||
display: block;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
background: cornsilk;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.master-sidebar-container {
|
||||
display: block;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
background: pink;
|
||||
|
||||
.master-navbar {
|
||||
display: block;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
background-color: red;
|
||||
background-color: $color-primary;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
z-index: 999;
|
||||
|
||||
> .nav-content {
|
||||
display: flex;
|
||||
|
@ -64,6 +63,40 @@ $display-break-5: 1800px;
|
|||
display: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
> .bookmarks {
|
||||
display: inline-block;
|
||||
|
||||
>.dicon {
|
||||
cursor: pointer;
|
||||
color: $color-white;
|
||||
font-size: 20px;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
> .user-gravatar-container {
|
||||
display: inline-block;
|
||||
margin: 0 10px 0 0;
|
||||
padding: 0;
|
||||
vertical-align: text-bottom;
|
||||
|
||||
> .user-gravatar {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
line-height: 24px;
|
||||
padding: 0;
|
||||
border-radius: 50%;
|
||||
font-size: 0.75rem;
|
||||
text-align: center;
|
||||
color: $color-primary;
|
||||
font-weight: bold;
|
||||
background-color: $color-white;
|
||||
@extend .no-select;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +105,9 @@ $display-break-5: 1800px;
|
|||
display: block;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
background-color: lightgray;
|
||||
padding: 5px 10px;
|
||||
z-index: 888;
|
||||
background-color: $color-off-white;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,7 +119,7 @@ $display-break-5: 1800px;
|
|||
|
||||
.master-content {
|
||||
grid-column-start: 2;
|
||||
background: cornsilk;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -92,7 +127,6 @@ $display-break-5: 1800px;
|
|||
position: fixed;
|
||||
width: 240px;
|
||||
height: 100vh;
|
||||
background: pink;
|
||||
|
||||
.master-navbar {
|
||||
position: fixed;
|
||||
|
@ -100,7 +134,6 @@ $display-break-5: 1800px;
|
|||
left: 0;
|
||||
width: 40px;
|
||||
height: 100vh;
|
||||
background-color: red;
|
||||
text-align: center;
|
||||
padding: 10px 0;
|
||||
|
||||
|
@ -139,6 +172,26 @@ $display-break-5: 1800px;
|
|||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
> .bookmarks {
|
||||
>.dicon {
|
||||
display: block;
|
||||
color: $color-white;
|
||||
font-size: 20px;
|
||||
padding: 20px 0;
|
||||
}
|
||||
}
|
||||
|
||||
> .user-gravatar-container {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin: 0 0 15px 4px;
|
||||
padding: 0;
|
||||
|
||||
> .user-gravatar {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -149,7 +202,8 @@ $display-break-5: 1800px;
|
|||
left: 40px;
|
||||
width: 200px;
|
||||
height: 100vh;
|
||||
background-color: lightgray;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -162,7 +216,7 @@ $display-break-5: 1800px;
|
|||
|
||||
.master-content {
|
||||
grid-column-start: 2;
|
||||
background: cornsilk;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -170,7 +224,6 @@ $display-break-5: 1800px;
|
|||
position: fixed;
|
||||
width: 290px;
|
||||
height: 100vh;
|
||||
background: pink;
|
||||
|
||||
.master-navbar {
|
||||
position: fixed;
|
||||
|
@ -178,7 +231,6 @@ $display-break-5: 1800px;
|
|||
left: 0;
|
||||
width: 70px;
|
||||
height: 100vh;
|
||||
background-color: red;
|
||||
text-align: center;
|
||||
|
||||
> .nav-content {
|
||||
|
@ -216,6 +268,18 @@ $display-break-5: 1800px;
|
|||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
> .user-gravatar-container {
|
||||
margin: 0 0 15px 8px;
|
||||
padding: 0;
|
||||
|
||||
> .user-gravatar {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -226,7 +290,6 @@ $display-break-5: 1800px;
|
|||
left: 70px;
|
||||
width: 220px;
|
||||
height: 100vh;
|
||||
background-color: lightgray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -239,7 +302,6 @@ $display-break-5: 1800px;
|
|||
|
||||
.master-content {
|
||||
grid-column-start: 2;
|
||||
background: cornsilk;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -247,7 +309,6 @@ $display-break-5: 1800px;
|
|||
position: fixed;
|
||||
width: 320px;
|
||||
height: 100vh;
|
||||
background: pink;
|
||||
|
||||
.master-navbar {
|
||||
position: fixed;
|
||||
|
@ -255,7 +316,6 @@ $display-break-5: 1800px;
|
|||
left: 0;
|
||||
width: 70px;
|
||||
height: 100vh;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.master-sidebar {
|
||||
|
@ -264,7 +324,7 @@ $display-break-5: 1800px;
|
|||
left: 70px;
|
||||
width: 250px;
|
||||
height: 100vh;
|
||||
background-color: lightgray;
|
||||
padding: 20px 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -277,7 +337,6 @@ $display-break-5: 1800px;
|
|||
|
||||
.master-content {
|
||||
grid-column-start: 2;
|
||||
background: cornsilk;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -285,7 +344,6 @@ $display-break-5: 1800px;
|
|||
position: fixed;
|
||||
width: 370px;
|
||||
height: 100vh;
|
||||
background: pink;
|
||||
|
||||
.master-navbar {
|
||||
position: fixed;
|
||||
|
@ -293,7 +351,6 @@ $display-break-5: 1800px;
|
|||
left: 0;
|
||||
width: 70px;
|
||||
height: 100vh;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.master-sidebar {
|
||||
|
@ -302,252 +359,7 @@ $display-break-5: 1800px;
|
|||
left: 70px;
|
||||
width: 300px;
|
||||
height: 100vh;
|
||||
background-color: lightgray;
|
||||
padding: 20px 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// $break-1: 900px;
|
||||
// $break-2: 1200px;
|
||||
// $break-3: 1400px;
|
||||
// $break-4: 1600px;
|
||||
// $break-5: 1800px;
|
||||
|
||||
// FLEX
|
||||
// Mobile first layout
|
||||
// .master-container {
|
||||
// display: flex;
|
||||
// flex-direction: column;
|
||||
// width: 100%;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
|
||||
// .master-navbar {
|
||||
// display: block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: 40px;
|
||||
// width: 100%;
|
||||
// background-color: red;
|
||||
// }
|
||||
|
||||
// .master-sidebar {
|
||||
// display: block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: auto;
|
||||
// width: 100%;
|
||||
// background-color: lightgray;
|
||||
// }
|
||||
|
||||
// .master-content {
|
||||
// display: block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: auto;
|
||||
// width: 100%;
|
||||
// background-color: cornsilk;
|
||||
// }
|
||||
// }
|
||||
|
||||
// // Small desktop 900px
|
||||
// @media (min-width: $break-1) {
|
||||
// .master-container {
|
||||
// display: flex;
|
||||
// flex-direction: row;
|
||||
// width: 100%;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// background-color: yellow;
|
||||
|
||||
// .master-navbar {
|
||||
// flex: 0 0 80px;
|
||||
// width: 80px;
|
||||
// height: 100vh;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// overflow-x: hidden;
|
||||
// overflow-y: auto;
|
||||
// @include sticky();
|
||||
// background-color: red;
|
||||
// }
|
||||
|
||||
// .master-sidebar {
|
||||
// flex: 0 0 250px;
|
||||
// width: 250px;
|
||||
// height: 100vh;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// overflow-x: hidden;
|
||||
// overflow-y: auto;
|
||||
// @include sticky();
|
||||
// background-color: lightgray;
|
||||
// }
|
||||
|
||||
// .master-content {
|
||||
// flex: 0 1 700px;
|
||||
// max-width: 700px;
|
||||
// height: auto;
|
||||
// width: 100%;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// background-color: cornsilk;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// // Mobile-first layout
|
||||
// .master-container {
|
||||
// background-color: yellow;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
|
||||
// .master-navbar {
|
||||
// display: block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: 40px;
|
||||
// width: 100%;
|
||||
// background-color: red;
|
||||
// }
|
||||
|
||||
// .master-sidebar {
|
||||
// display: block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: auto;
|
||||
// width: 100%;
|
||||
// background-color: lightgray;
|
||||
// }
|
||||
|
||||
// .master-content {
|
||||
// display: block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: auto;
|
||||
// width: 100%;
|
||||
// background-color: cornsilk;
|
||||
// }
|
||||
// }
|
||||
|
||||
// // Small desktop starts at 900px
|
||||
// @media (min-width: $break-1) {
|
||||
// .master-container {
|
||||
// position: relative;
|
||||
// display: inline;
|
||||
|
||||
// .master-navbar {
|
||||
// display: inline-block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: 100vh;
|
||||
// width: 80px;
|
||||
// background-color: red;
|
||||
// @include sticky();
|
||||
// top: 0;
|
||||
// left: 0;
|
||||
// }
|
||||
|
||||
// .master-sidebar {
|
||||
// display: inline-block;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// height: 100vh;
|
||||
// width: 250px;
|
||||
// background-color: lightgray;
|
||||
// @include sticky();
|
||||
// top: 0;
|
||||
// left: 0;
|
||||
// }
|
||||
|
||||
// .master-content {
|
||||
// position: relative;
|
||||
// display: inline;
|
||||
// margin: 0 0 0 330px;
|
||||
// padding: 0;
|
||||
// background-color: cornsilk;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
/*
|
||||
// CSS GRID
|
||||
// Mobile-first layout
|
||||
.master-container {
|
||||
display: grid;
|
||||
grid-template-rows: 3;
|
||||
grid-template-areas:
|
||||
"nav"
|
||||
"sidebar"
|
||||
"content";
|
||||
}
|
||||
|
||||
.master-navbar {
|
||||
grid-area: nav;
|
||||
grid-row: 1;
|
||||
height: auto;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.master-sidebar {
|
||||
grid-area: sidebar;
|
||||
grid-row: 2;
|
||||
height: auto;
|
||||
background-color: lightgray;
|
||||
}
|
||||
|
||||
.master-content {
|
||||
grid-area: content;
|
||||
grid-row: 3;
|
||||
height: auto;
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
// Small desktop 900px
|
||||
@media (min-width: $break-1) {
|
||||
.master-container {
|
||||
grid-template-columns: 80px 250px auto;
|
||||
grid-template-rows: 1;
|
||||
grid-template-areas:
|
||||
"nav sidebar content";
|
||||
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.master-navbar {
|
||||
grid-area: nav;
|
||||
grid-row: 1;
|
||||
grid-column: 1;
|
||||
height: 100vh;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.master-sidebar {
|
||||
grid-area: sidebar;
|
||||
grid-row: 1;
|
||||
grid-column: 2;
|
||||
height: 100vh;
|
||||
width: 250px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 80px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.master-content {
|
||||
grid-area: content;
|
||||
grid-row: 1;
|
||||
grid-column: 3;
|
||||
// height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
// @media (min-width: 900px) {
|
||||
// .master-container {
|
||||
// grid-template-columns: 80px 350px auto;
|
||||
// }
|
||||
// }
|
||||
|
||||
*/
|
||||
|
|
|
@ -196,24 +196,3 @@
|
|||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.button-gravatar-white {
|
||||
display: inline-block;
|
||||
cursor: default;
|
||||
position: relative;
|
||||
// overflow: hidden; // kills update dots
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
line-height: 34px;
|
||||
padding: 0;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
color: $color-primary;
|
||||
font-weight: bold;
|
||||
background-color: $color-white;
|
||||
@include ease-in();
|
||||
|
||||
&:hover {
|
||||
background-color: darken($color-white, 15%);
|
||||
}
|
||||
}
|
||||
|
|
3
gui/app/templates/components/layout/master-content.hbs
Normal file
3
gui/app/templates/components/layout/master-content.hbs
Normal file
|
@ -0,0 +1,3 @@
|
|||
<div class="master-content">
|
||||
{{yield}}
|
||||
</div>
|
166
gui/app/templates/components/layout/master-sidebar.hbs
Normal file
166
gui/app/templates/components/layout/master-sidebar.hbs
Normal file
|
@ -0,0 +1,166 @@
|
|||
<div class="master-navbar">
|
||||
<div class="nav-content">
|
||||
<div class="nav-options">
|
||||
{{#link-to 'folders' class=(if (eq selectedItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-grid-interface"></i>
|
||||
<div class="name">spaces</div>
|
||||
{{/link-to}}
|
||||
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
|
||||
{{#if session.viewDashboard}}
|
||||
{{#link-to 'dashboard' class=(if (eq selectedItem 'actions') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-list-bullet-2"></i>
|
||||
<div class="name">actions</div>
|
||||
{{/link-to}}
|
||||
{{#link-to 'activity' class=(if (eq selectedItem 'activity') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-pulse"></i>
|
||||
<div class="name">activity</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{#if session.viewAnalytics}}
|
||||
{{#link-to 'analytics' class=(if (eq selectedItem 'analytics') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-chart-bar-33"></i>
|
||||
<div class="name">reports</div>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#link-to 'search' class=(if (eq selectedItem 'spaces') 'option selected' 'option')}}
|
||||
<i class="dicon dicon-magnifier"></i>
|
||||
<div class="name">search</div>
|
||||
{{/link-to}}
|
||||
</div>
|
||||
|
||||
<div class="meta">
|
||||
{{#if session.authenticated}}
|
||||
{{#if hasPins}}
|
||||
<div class="bookmarks" id="user-pins-button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="dicon dicon-bookmark" data-toggle="tooltip" data-placement="right" title="Jump to bookmark"></i>
|
||||
</div>
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="user-pins-button">
|
||||
{{#if hasSpacePins}}
|
||||
<h6 class="dropdown-header">Spaces</h6>
|
||||
{{#each spacePins as |pin|}}
|
||||
<a class="dropdown-item" href="#" {{action 'jumpToPin' pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
{{#if hasDocumentPins}}
|
||||
<h6 class="dropdown-header">Documents</h6>
|
||||
{{#each documentPins as |pin|}}
|
||||
<a class="dropdown-item" href="#" {{action 'jumpToPin' pin}} data-id= {{pin.id}} id="pin-{{pin.id}}">{{pin.pin}}</a>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="user-gravatar-container">
|
||||
<div class="user-gravatar align-text-bottom" id="profile-button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{session.user.initials}}
|
||||
{{#if hasWhatsNew}}
|
||||
<div class="whats-new-dot" />
|
||||
{{/if}}
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#if appMeta.updateAvailable}}
|
||||
<div class="update-available-dot" />
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="profile-button">
|
||||
{{#if session.isAdmin}}
|
||||
{{#link-to 'customize.general' class="dropdown-item"}}Settings{{/link-to}}
|
||||
{{#unless appMeta.valid}}
|
||||
{{#link-to 'customize.billing' class="dropdown-item font-weight-bold color-red"}}Update Billing{{/link-to}}
|
||||
{{/unless}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{/if}}
|
||||
{{#link-to 'profile' class="dropdown-item" }}Profile{{/link-to}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{#if session.isGlobalAdmin}}
|
||||
{{#if appMeta.updateAvailable}}
|
||||
{{#link-to 'customize.product' class="dropdown-item font-weight-bold color-orange" }}Update available{{/link-to}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<a href="#" class="dropdown-item {{if hasWhatsNew 'color-whats-new font-weight-bold'}}" {{action 'onShowWhatsNewModal'}}>What's New</a>
|
||||
<a href="https://docs.documize.com" target="_blank" class="dropdown-item">Help</a>
|
||||
<a href="#" class="dropdown-item" data-toggle="modal" data-target="#about-documize-modal" data-backdrop="static">About</a>
|
||||
{{#if enableLogout}}
|
||||
<div class="dropdown-divider"></div>
|
||||
{{#link-to 'auth.logout' class="dropdown-item" }}Logout{{/link-to}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<a class="logo" href="https://documize.com?ref=app">
|
||||
<img src="/assets/img/icon-white-64x64.png" />
|
||||
<div class="documize">Documize</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{#if session.authenticated}}
|
||||
<div id="whats-new-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-header modal-header-white">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true" data-dismiss="modal" aria-label="Close">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div class="product-news">
|
||||
<h2>What's New</h2>
|
||||
|
||||
{{{newsContent}}}
|
||||
|
||||
<div class="action">
|
||||
Have an idea? Suggestion or feedback? <a href="mailto:support@documize.com">Get in touch!</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="about-documize-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div class="product-about">
|
||||
<div class="edition">
|
||||
Documize {{appMeta.edition}} Edition
|
||||
</div>
|
||||
<div class="version">
|
||||
{{appMeta.version}}
|
||||
</div>
|
||||
<div class="version">
|
||||
Build {{appMeta.revision}}
|
||||
</div>
|
||||
<div class="dotcom">
|
||||
<a href="https://documize.com">https://documize.com</a>
|
||||
</div>
|
||||
{{#if (eq appMeta.edition constants.Product.CommunityEdition)}}
|
||||
<div class="copyright">
|
||||
© Documize Inc. All rights reserved.
|
||||
</div>
|
||||
<div class="license">
|
||||
<br/>
|
||||
<br/> This software (Documize Community Edition) is licensed under
|
||||
<a href="http://www.gnu.org/licenses/agpl-3.0.en.html">GNU AGPL v3</a>
|
||||
You can operate outside the AGPL restrictions by purchasing Documize Enterprise Edition and obtaining a commercial license by
|
||||
contacting
|
||||
<a href="mailto:sales@documize.com">sales@documize.com</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="master-sidebar">
|
||||
{{yield}}
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue