ENH: Setting up esa, base template (#13)

Fixes #4
This commit is contained in:
Matthew Ryan Dillon 2017-08-30 06:06:31 -07:00 committed by GitHub
parent 75b75358cd
commit 253aac1fd4
27 changed files with 187 additions and 73 deletions

View file

@ -0,0 +1,12 @@
import DS from 'ember-data';
import ENV from '../config/environment';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';
const { JSONAPIAdapter } = DS;
const { APP: { API_HOST, API_NAMESPACE } } = ENV;
export default JSONAPIAdapter.extend(DataAdapterMixin, {
namespace: API_NAMESPACE,
host: API_HOST,
authorizer: 'authorizer:application',
});

View file

@ -1,11 +1,11 @@
import Ember from 'ember';
import BaseAuthorizer from 'ember-simple-auth/authorizers/base';
const { isEmpty } = Ember;
const { isEmpty, get } = Ember;
export default BaseAuthorizer.extend({
authorize(data, block) {
const accessToken = data['token'];
const accessToken = get(data, 'data.token');
if (!isEmpty(accessToken)) {
block('Authorization', `Token ${accessToken}`);
}

5
app/breakpoints.js Normal file
View file

@ -0,0 +1,5 @@
export default {
mobile: '(max-width: 767px)',
tablet: '(min-width: 768px) and (max-width: 991px)',
desktop: '(min-width: 992px) and (max-width: 1200px)'
};

View file

@ -0,0 +1,5 @@
import Ember from 'ember';
const { Component } = Ember;
export default Component.extend({});

View file

@ -0,0 +1,7 @@
import Ember from 'ember';
const { Controller, inject: { service }} = Ember;
export default Controller.extend({
session: service('session'),
});

View file

@ -0,0 +1,6 @@
import { initialize } from 'ember-responsive/initializers/responsive';
export default {
name: 'responsive',
initialize
};

View file

@ -0,0 +1,8 @@
import DS from 'ember-data';
const { Model, attr } = DS;
export default Model.extend({
name: attr('string'),
sort: attr('number'),
});

View file

@ -8,6 +8,7 @@ const Router = Ember.Router.extend({
Router.map(function() {
this.route('login');
this.route('logout');
});
export default Router;

11
app/routes/logout.js Normal file
View file

@ -0,0 +1,11 @@
import Ember from 'ember';
const { Route, inject: { service }} = Ember;
export default Route.extend({
session: service('session'),
beforeModel() {
this.get('session').invalidate();
}
});

View file

@ -37,3 +37,38 @@
border-top-left-radius: 0;
border-top-right-radius: 0;
}
/* Sidebar */
.sidebar {
position: fixed;
top: 0px;
bottom: 0;
left: 0;
z-index: 1000;
display: block;
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
background-color: #f5f5f5;
border-right: 1px solid #eee;
}
/* Sidebar navigation */
.nav-sidebar {
margin-right: -21px; /* 20px padding + 1px border */
margin-bottom: 20px;
margin-left: -20px;
}
.nav-sidebar > li > a {
padding-right: 20px;
padding-left: 20px;
}
.nav-sidebar > .active > a,
.nav-sidebar > .active > a:hover,
.nav-sidebar > .active > a:focus {
color: #fff;
background-color: #428bca;
}

View file

@ -1 +1,21 @@
{{#if session.isAuthenticated}}
<div class="container-fluid">
<div class="row">
<div class="col-md-2 sidebar">
<ul class="nav nav-sidebar">
<li class="active"><a href="#">Overview</a></li>
<li><a href="#">Experiments</a></li>
<li><a href="#">Collections</a></li>
</ul>
<ul class="nav nav-sidebar">
<li>{{#link-to 'logout'}}Logout{{/link-to}}</li>
</ul>
</div>
<div class="col-md-10 content">
{{outlet}}
</div>
</div>
</div>
{{else}}
{{outlet}}
{{/if}}

View file

@ -0,0 +1 @@
{{yield}}

View file

@ -1,2 +1 @@
Logged in
{{outlet}}

1
app/templates/logout.hbs Normal file
View file

@ -0,0 +1 @@
{{outlet}}