[Groonga-commit] groonga/gcs [ember] Transit to "domain show" page after the domain is created

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index