From 5bc260b81c5cbdaebcd862556017e02445f2cf2e Mon Sep 17 00:00:00 2001
From: Markus Grigull
Date: Tue, 28 Jun 2016 10:57:34 +0200
Subject: [PATCH] Add visulization and plot
Plot has no routes defined.
Visualization edit and delete routes are not working.
---
app/models/plot.js | 12 ++++++++++
app/models/project.js | 5 ++--
app/models/visualization.js | 8 +++++++
app/router.js | 6 +++++
app/routes/visualization/delete.js | 8 +++++++
app/routes/visualization/edit.js | 8 +++++++
app/routes/visualization/index.js | 8 +++++++
app/routes/visualization/new.js | 5 ++++
app/templates/project/index.hbs | 24 +++++++++++++++++--
app/templates/visualization/delete.hbs | 1 +
app/templates/visualization/edit.hbs | 1 +
app/templates/visualization/index.hbs | 6 +++++
app/templates/visualization/new.hbs | 1 +
tests/unit/models/plot-test.js | 12 ++++++++++
tests/unit/models/visualization-test.js | 12 ++++++++++
.../unit/routes/visualization/delete-test.js | 11 +++++++++
tests/unit/routes/visualization/edit-test.js | 11 +++++++++
tests/unit/routes/visualization/index-test.js | 11 +++++++++
tests/unit/routes/visualization/new-test.js | 11 +++++++++
19 files changed, 157 insertions(+), 4 deletions(-)
create mode 100644 app/models/plot.js
create mode 100644 app/models/visualization.js
create mode 100644 app/routes/visualization/delete.js
create mode 100644 app/routes/visualization/edit.js
create mode 100644 app/routes/visualization/index.js
create mode 100644 app/routes/visualization/new.js
create mode 100644 app/templates/visualization/delete.hbs
create mode 100644 app/templates/visualization/edit.hbs
create mode 100644 app/templates/visualization/index.hbs
create mode 100644 app/templates/visualization/new.hbs
create mode 100644 tests/unit/models/plot-test.js
create mode 100644 tests/unit/models/visualization-test.js
create mode 100644 tests/unit/routes/visualization/delete-test.js
create mode 100644 tests/unit/routes/visualization/edit-test.js
create mode 100644 tests/unit/routes/visualization/index-test.js
create mode 100644 tests/unit/routes/visualization/new-test.js
diff --git a/app/models/plot.js b/app/models/plot.js
new file mode 100644
index 0000000..0f3204d
--- /dev/null
+++ b/app/models/plot.js
@@ -0,0 +1,12 @@
+import Model from 'ember-data/model';
+import attr from 'ember-data/attr';
+// import { belongsTo, hasMany } from 'ember-data/relationships';
+
+export default Model.extend({
+ name: attr('string'),
+ signal: attr('string'),
+ //position:
+ //size:
+ title: attr('string')
+ //backgroundColor:
+});
diff --git a/app/models/project.js b/app/models/project.js
index 377d618..2ff9490 100644
--- a/app/models/project.js
+++ b/app/models/project.js
@@ -1,8 +1,9 @@
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
-import { belongsTo } from 'ember-data/relationships';
+import { hasMany, belongsTo } from 'ember-data/relationships';
export default Model.extend({
name: attr('string'),
- owner: belongsTo('user', { async: true })
+ owner: belongsTo('user', { async: true }),
+ visualizations: hasMany('visualization', { async: true })
});
diff --git a/app/models/visualization.js b/app/models/visualization.js
new file mode 100644
index 0000000..709e47c
--- /dev/null
+++ b/app/models/visualization.js
@@ -0,0 +1,8 @@
+import Model from 'ember-data/model';
+import attr from 'ember-data/attr';
+import { hasMany } from 'ember-data/relationships';
+
+export default Model.extend({
+ name: attr('string'),
+ plots: hasMany('plot', { async: true })
+});
diff --git a/app/router.js b/app/router.js
index c17bdab..3b52f3d 100644
--- a/app/router.js
+++ b/app/router.js
@@ -19,6 +19,12 @@ Router.map(function() {
this.route('user', function() {
this.route('edit');
});
+ this.route('visualization', function() {
+ this.route('index', { path: '/:visualizationid' });
+ this.route('new');
+ this.route('edit', { path: '/edit/:visualizationid' });
+ this.route('delete', { path: '/delete/:visualizationid' });
+ });
});
export default Router;
diff --git a/app/routes/visualization/delete.js b/app/routes/visualization/delete.js
new file mode 100644
index 0000000..398a1e3
--- /dev/null
+++ b/app/routes/visualization/delete.js
@@ -0,0 +1,8 @@
+import Ember from 'ember';
+import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
+
+export default Ember.Route.extend(AuthenticatedRouteMixin, {
+ model(params) {
+ return this.store.findRecord('visualization', params.visualizationid);
+ }
+});
diff --git a/app/routes/visualization/edit.js b/app/routes/visualization/edit.js
new file mode 100644
index 0000000..398a1e3
--- /dev/null
+++ b/app/routes/visualization/edit.js
@@ -0,0 +1,8 @@
+import Ember from 'ember';
+import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
+
+export default Ember.Route.extend(AuthenticatedRouteMixin, {
+ model(params) {
+ return this.store.findRecord('visualization', params.visualizationid);
+ }
+});
diff --git a/app/routes/visualization/index.js b/app/routes/visualization/index.js
new file mode 100644
index 0000000..398a1e3
--- /dev/null
+++ b/app/routes/visualization/index.js
@@ -0,0 +1,8 @@
+import Ember from 'ember';
+import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
+
+export default Ember.Route.extend(AuthenticatedRouteMixin, {
+ model(params) {
+ return this.store.findRecord('visualization', params.visualizationid);
+ }
+});
diff --git a/app/routes/visualization/new.js b/app/routes/visualization/new.js
new file mode 100644
index 0000000..30e4e30
--- /dev/null
+++ b/app/routes/visualization/new.js
@@ -0,0 +1,5 @@
+import Ember from 'ember';
+import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
+
+export default Ember.Route.extend(AuthenticatedRouteMixin, {
+});
diff --git a/app/templates/project/index.hbs b/app/templates/project/index.hbs
index 24f0c61..2ecd482 100644
--- a/app/templates/project/index.hbs
+++ b/app/templates/project/index.hbs
@@ -1,4 +1,24 @@
{{model.name}}
-{{#link-to "project.edit" model.id}}Edit project{{/link-to}}
-{{#link-to "project.delete" model.id}}Delete project{{/link-to}}
+
+
+
+
Visualizations
+
+
+ {{#each model.visualizations as |visualization|}}
+ - {{#link-to 'visualization.index' visualization.id}}{{visualization.name}}{{/link-to}}
+ {{/each}}
+
+
+
+
+ {{#link-to 'visualization.new'}}New visualization{{/link-to}}
+
+
+
+
+
+ {{#link-to "project.edit" model.id}}Edit project{{/link-to}}
+ {{#link-to "project.delete" model.id}}Delete project{{/link-to}}
+
diff --git a/app/templates/visualization/delete.hbs b/app/templates/visualization/delete.hbs
new file mode 100644
index 0000000..49e85ea
--- /dev/null
+++ b/app/templates/visualization/delete.hbs
@@ -0,0 +1 @@
+Delete
diff --git a/app/templates/visualization/edit.hbs b/app/templates/visualization/edit.hbs
new file mode 100644
index 0000000..a835e09
--- /dev/null
+++ b/app/templates/visualization/edit.hbs
@@ -0,0 +1 @@
+Edit
diff --git a/app/templates/visualization/index.hbs b/app/templates/visualization/index.hbs
new file mode 100644
index 0000000..1156777
--- /dev/null
+++ b/app/templates/visualization/index.hbs
@@ -0,0 +1,6 @@
+{{model.name}}
+
+
+ {{#link-to "visualization.edit" model.id}}Edit visualization{{/link-to}}
+ {{#link-to "visualization.delete" model.id}}Delete visualization{{/link-to}}
+
diff --git a/app/templates/visualization/new.hbs b/app/templates/visualization/new.hbs
new file mode 100644
index 0000000..c9904d4
--- /dev/null
+++ b/app/templates/visualization/new.hbs
@@ -0,0 +1 @@
+New visualization
diff --git a/tests/unit/models/plot-test.js b/tests/unit/models/plot-test.js
new file mode 100644
index 0000000..50a2df7
--- /dev/null
+++ b/tests/unit/models/plot-test.js
@@ -0,0 +1,12 @@
+import { moduleForModel, test } from 'ember-qunit';
+
+moduleForModel('plot', 'Unit | Model | plot', {
+ // Specify the other units that are required for this test.
+ needs: []
+});
+
+test('it exists', function(assert) {
+ let model = this.subject();
+ // let store = this.store();
+ assert.ok(!!model);
+});
diff --git a/tests/unit/models/visualization-test.js b/tests/unit/models/visualization-test.js
new file mode 100644
index 0000000..f84f9bc
--- /dev/null
+++ b/tests/unit/models/visualization-test.js
@@ -0,0 +1,12 @@
+import { moduleForModel, test } from 'ember-qunit';
+
+moduleForModel('visualization', 'Unit | Model | visualization', {
+ // Specify the other units that are required for this test.
+ needs: []
+});
+
+test('it exists', function(assert) {
+ let model = this.subject();
+ // let store = this.store();
+ assert.ok(!!model);
+});
diff --git a/tests/unit/routes/visualization/delete-test.js b/tests/unit/routes/visualization/delete-test.js
new file mode 100644
index 0000000..635f4ac
--- /dev/null
+++ b/tests/unit/routes/visualization/delete-test.js
@@ -0,0 +1,11 @@
+import { moduleFor, test } from 'ember-qunit';
+
+moduleFor('route:visualization/delete', 'Unit | Route | visualization/delete', {
+ // Specify the other units that are required for this test.
+ // needs: ['controller:foo']
+});
+
+test('it exists', function(assert) {
+ let route = this.subject();
+ assert.ok(route);
+});
diff --git a/tests/unit/routes/visualization/edit-test.js b/tests/unit/routes/visualization/edit-test.js
new file mode 100644
index 0000000..d04fad6
--- /dev/null
+++ b/tests/unit/routes/visualization/edit-test.js
@@ -0,0 +1,11 @@
+import { moduleFor, test } from 'ember-qunit';
+
+moduleFor('route:visualization/edit', 'Unit | Route | visualization/edit', {
+ // Specify the other units that are required for this test.
+ // needs: ['controller:foo']
+});
+
+test('it exists', function(assert) {
+ let route = this.subject();
+ assert.ok(route);
+});
diff --git a/tests/unit/routes/visualization/index-test.js b/tests/unit/routes/visualization/index-test.js
new file mode 100644
index 0000000..8dae607
--- /dev/null
+++ b/tests/unit/routes/visualization/index-test.js
@@ -0,0 +1,11 @@
+import { moduleFor, test } from 'ember-qunit';
+
+moduleFor('route:visualization/index', 'Unit | Route | visualization/index', {
+ // Specify the other units that are required for this test.
+ // needs: ['controller:foo']
+});
+
+test('it exists', function(assert) {
+ let route = this.subject();
+ assert.ok(route);
+});
diff --git a/tests/unit/routes/visualization/new-test.js b/tests/unit/routes/visualization/new-test.js
new file mode 100644
index 0000000..0f09f4a
--- /dev/null
+++ b/tests/unit/routes/visualization/new-test.js
@@ -0,0 +1,11 @@
+import { moduleFor, test } from 'ember-qunit';
+
+moduleFor('route:visualization/new', 'Unit | Route | visualization/new', {
+ // Specify the other units that are required for this test.
+ // needs: ['controller:foo']
+});
+
+test('it exists', function(assert) {
+ let route = this.subject();
+ assert.ok(route);
+});