Skip to content

Instantly share code, notes, and snippets.

@tamebadger
Created May 8, 2016 00:17
Show Gist options
  • Save tamebadger/a7576bef5c81f5203b69f18363ccef07 to your computer and use it in GitHub Desktop.
Save tamebadger/a7576bef5c81f5203b69f18363ccef07 to your computer and use it in GitHub Desktop.
Modal Route above query
import Ember from 'ember';
export default Ember.Component.extend({
isOpen: false,
classNameBindings: ['isOpen:modalDialog:notOpen'],
actions: {
close(){
this.get('onClose')()
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
});
import Ember from 'ember';
export default Ember.Controller.extend({
actions:{
routeClosed(){
this.transitionToRoute('module1.query')
},
save(){
this.get('model').save().then(record=>{
this.transitionToRoute('module1.query')
})
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
actions:{
routeClosed(){
this.transitionToRoute('module1.query')
},
save(){
console.log()
this.get('model').deleteRecord()
this.get('model').save().then(()=>{
this.transitionToRoute('module1.query')
})
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
actions:{
routeClosed(){
this.transitionToRoute('module1.query')
}
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
actions:{
routeClosed(){
this.transitionToRoute('module1.query')
},
save(){
this.get('model').save().then(record=>{
this.transitionToRoute('module1.query')
})
}
}
});
export default function() {
window.server = this;
this.get('items')
this.post('items')
this.patch('items/:id')
this.delete('items/:id')
};
export default [
{title: 'Item 1'},
{title: 'Item 2'},
{title: 'Item 3'},
{title: 'Item 4'},
{title: 'Item 5'},
{title: 'Item 6'},
{title: 'Item 7'},
{title: 'Item 8'},
{title: 'Item 9'},
{title: 'Item 10'},
{title: 'Item 11'},
{title: 'Item 12'}
];
import { Model } from 'ember-cli-mirage';
export default Model.extend({
});
export default function(server) {
window.server = server;
server.create('task');
}
export default DS.Model.extend({
title: DS.attr('string')
});
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none'
});
Router.map(function() {
this.route('module1',function(){
this.route('query',function(){
this.route('add')
this.route('update', { path: '/update/:item_id' })
this.route('delete', { path: '/delete/:item_id' })
})
})
this.route('module2',function(){
this.route('query',function(){
this.route('add')
this.route('update')
this.route('delete')
})
})
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
});
import Ember from 'ember';
export default Ember.Route.extend({
model(params){
return this.store.createRecord('item')
}
});
import Ember from 'ember';
export default Ember.Route.extend({
model(params){
return this.store.query('item',params.item_id)
}
});
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return this.store.findAll('item')
}
});
import Ember from 'ember';
export default Ember.Route.extend({
model(params){
return this.store.query('item',params.item_id)
}
});
import Ember from 'ember';
export default Ember.Route.extend({
});
import Ember from 'ember';
export default Ember.Route.extend({
});
.notOpen {
display: none;
}
.modalDialog {
display: block;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.4);
}
.modalDialog > div {
width: 200px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
background: #fff;
}
.close:hover {
background: #00d9ff;
}
{{link-to 'module1' 'module1'}}|{{link-to 'module2' 'module2'}}
<hr/>
{{outlet}}
<div>
{{yield}}
</div>
<button class='close' {{action 'close'}}>Close Me</button>
Module 1 {{link-to 'query' 'module1.query'}}
<hr/>
{{outlet}}
{{#modal-component isOpen=true onClose=(action "routeClosed")}}
<div>
Title:{{input value=model.title}}
</div>
<button {{action 'save'}}>Save</button>
{{/modal-component}}
{{#modal-component isOpen=true onClose=(action "routeClosed")}}
Are you sure you want to delete this item ?
<button {{action 'save'}}>Yes</button>
{{/modal-component}}
Queried List<br/>
{{link-to 'add' 'module1.query.add'}}
<ul>
{{#each model as |item|}}
<li>{{item.id}}-{{item.title}} {{link-to 'u' 'module1.query.update' item}}
{{link-to 'd' 'module1.query.delete' item}}</li>
{{/each}}
</ul>
{{outlet}}
{{#modal-component isOpen=true onClose=(action "routeClosed")}}
<div>
Title:{{input value=model.title}}
</div>
<button {{action 'save'}}>Save</button>
{{/modal-component}}
Module 2
<hr/>
{{outlet}}
{
"version": "0.8.0",
"EmberENV": {
"FEATURES": {}
},
"ENV": {
"ember-cli-mirage": {
"enabled": true
}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.5.1",
"ember-data": "2.5.2",
"ember-template-compiler": "2.5.1"
},
"addons": {
"ember-cli-mirage": "0.2.0-beta.8"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment