Skip to content

Instantly share code, notes, and snippets.

@iezer
Created December 5, 2018 16:47
Show Gist options
  • Save iezer/29dc4befe747b2f4f7fdf788aec64e8e to your computer and use it in GitHub Desktop.
Save iezer/29dc4befe747b2f4f7fdf788aec64e8e to your computer and use it in GitHub Desktop.
CMS Service
import Ember from 'ember';
export default Ember.Controller.extend({
appName: Ember.computed(function() {
debugger;
return 'Ember Twiddle';
})
});
import Ember from 'ember';
import { inject as service } from '@ember/service';
export default Ember.Controller.extend({
// You can assume this is loaded when the template renders
cms: computed('cmsService', 'routeName', function() {
return this.cmsService.getCMSFor('routeName');
})
});
import Ember from 'ember';
export default Ember.Route.extend({
});
import Ember from 'ember';
import { inject as service } from '@ember/service';
export default Ember.Route.extend({
cms: service(),
model(params) {
return { id: '1', name: 'CIBC' };
let model = this.store.find('credit-card', params.id);
return this.cms.getCMSModel(this.routeName, model);
},
setupController(controller) {
this._super(...arguments);
controller.set('routeName', this.routeName);
}
});
import Ember from 'ember';
import { hash } from 'rsvp';
export default Ember.Service.extend({
// getCMS(routeName) {
// // async hits API
// return this.ajax(routeName);
// }
// getCMSModel(routeName, modelPromise) {
// return hash({
// cms: this.getCMS(routeName),
// modelPromise
// }).then(({cms, modelPromise}) => {
// this.setCacheKey(routeName, cms);
// return modelPromise;
// });
// }
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{model.name}}
<br>
<br>
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment