1
0
Fork 0
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:
Harvey Kandola 2018-12-03 19:51:34 +00:00
parent 34d54745f3
commit da0861b3fd
8 changed files with 429 additions and 488 deletions

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

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,3 @@
<div class="master-content">
{{yield}}
</div>

View 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">&times;</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">
&copy; 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>