YUKI Hiroshi
null+****@clear*****
Fri Oct 5 17:16:07 JST 2012
YUKI Hiroshi 2012-10-05 17:16:07 +0900 (Fri, 05 Oct 2012) New Revision: bfcc35e5f37c0a3a11e89c10bab364a8c7b8954f https://github.com/groonga/gcs/commit/bfcc35e5f37c0a3a11e89c10bab364a8c7b8954f Log: Transit to "domain show" page after the domain is created Modified files: public/js/gcs/controllers.js public/js/gcs/router.js public/js/gcs/views.js views/index.jade Modified: public/js/gcs/controllers.js (+9 -7) =================================================================== --- public/js/gcs/controllers.js 2012-10-04 18:56:13 +0900 (319976d) +++ public/js/gcs/controllers.js 2012-10-05 17:16:07 +0900 (526b870) @@ -115,15 +115,14 @@ App.IndexController = Ember.ArrayController.extend({ App.DomainController = Ember.ObjectController.extend({ selectedAction: null, - delete: function() { + delete: function(callback) { var domainName = this.get('domain').get('name'); var record = App.store.find(App.Domain, domainName); if (record && confirm('Do you really want this domain to be deleted?')) { App.store.deleteRecord(record); App.store.commit(); - return true; + callback(); } - return false; } }); @@ -131,9 +130,12 @@ App.DomainShowController = Ember.ObjectController.extend({ }); App.DomainCreateController = Ember.ObjectController.extend({ - domainName: null -}); + domainName: null, -App.DomainDeleteController = Ember.ObjectController.extend({ - domainName: null + create: function(callback) { + var domainName = this.get('domainName'); + var domain = App.store.createRecord(App.Domain, {name: domainName}); + App.store.commit(); + callback(domain); + } }); Modified: public/js/gcs/router.js (+7 -1) =================================================================== --- public/js/gcs/router.js 2012-10-04 18:56:13 +0900 (e7beb69) +++ public/js/gcs/router.js 2012-10-05 17:16:07 +0900 (bfa37ae) @@ -45,8 +45,9 @@ App.Router = Ember.Router.extend({ domainController.connectOutlet('domainShow', domain); }, delete: function(router) { - if (router.get('domainController').delete()) + router.get('domainController').delete(function() { router.transitionTo('root.index'); + }); } }), search: Ember.Route.extend(App.WithDomain, { @@ -74,6 +75,11 @@ App.Router = Ember.Router.extend({ var applicationController = router.get('applicationController'); applicationController.set('selected', ['DomainCreate']); applicationController.connectOutlet('domainCreate'); + }, + createAndShow: function(router, event) { + router.get('domainCreateController').create(function(domain) { + router.transitionTo('domains.show', domain); + }); } }) }), Modified: public/js/gcs/views.js (+0 -5) =================================================================== --- public/js/gcs/views.js 2012-10-04 18:56:13 +0900 (b49bf81) +++ public/js/gcs/views.js 2012-10-05 17:16:07 +0900 (4189be5) @@ -64,11 +64,6 @@ App.DomainCreateView = Ember.View.extend({ classNames: 'form-horizontal', submit: function(event) { - event.preventDefault(); - var domainName = this.get('controller.domainName'); - var domain = App.store.createRecord(App.Domain, {name: domainName}); - // TODO treat ajax errors (but how?) - App.store.commit(); } }) }); Modified: views/index.jade (+1 -1) =================================================================== --- views/index.jade 2012-10-04 18:56:13 +0900 (cb5d388) +++ views/index.jade 2012-10-05 17:16:07 +0900 (498ad64) @@ -91,7 +91,7 @@ html {{view Ember.TextField valueBinding="domainName"}} .control-group .controls - button(type="submit", class="btn btn-primary") Create + <button class="btn btn-primary" {{action createAndShow}}>Create</button> {{/view}} script(data-template-name="domain-search", type="text/x-handlebars") -------------- next part -------------- HTML����������������������������... Download