Просмотр исходного кода

added show-modal-button component for opening modals

Rafał Pitoń 10 лет назад
Родитель
Сommit
1b014a674e

+ 1 - 7
misago/emberapp/app/components/forum-navbar.js

@@ -13,11 +13,5 @@ export default Ember.Component.extend({
         top: this.$('.navbar').offset().top
       }
     });
-  }.on('didInsertElement'),
-
-  actions: {
-    showModal: function(template, model) {
-      this.modal.show(template, model);
-    }
-  }
+  }.on('didInsertElement')
 });

+ 14 - 0
misago/emberapp/app/components/show-modal-button.js

@@ -0,0 +1,14 @@
+import Ember from 'ember';
+
+export default Ember.Component.extend({
+  tagName: 'button',
+
+  attributeBindings: ['type'],
+  type: 'button',
+
+  _modal: Ember.inject.service('modal'),
+
+  click: function() {
+    this.get('_modal').show(this.get('modal'), this.get('model'));
+  }
+});

+ 0 - 6
misago/emberapp/app/routes/application.js

@@ -3,12 +3,6 @@ import MisagoRoute from 'misago/routes/misago';
 export default MisagoRoute.extend({
   actions: {
 
-    // Shortcut for opening modals from templates
-
-    showModal: function(template, model) {
-      this.modal.show(template, model);
-    },
-
     // Loading handler
 
     loading: function() {

+ 4 - 4
misago/emberapp/app/templates/components/forum-navbar.hbs

@@ -69,9 +69,9 @@
     </ul>
     {{else}}
     <div class="navbar-guest-nav hidden-xs hidden-sm">
-      <button type="button" class="btn btn-outlined btn-default navbar-btn" {{action "showModal" "login"}}>
+      {{#show-modal-button modal="login" class="btn btn-outlined btn-default navbar-btn"}}
         {{gettext "Sign in"}}
-      </button>
+      {{/show-modal-button}}
 
       {{#register-button class="btn btn-outlined btn-success navbar-btn"}}
         {{gettext "Register account"}}
@@ -130,9 +130,9 @@
 
               <div class="row">
                 <div class="col-xs-6">
-                  <button type="button" class="btn btn-outlined btn-default btn-block btn-sm" {{action "showModal" "login"}}>
+                  {{#show-modal-button modal="login" class="btn btn-outlined btn-default btn-block btn-sm"}}
                     {{gettext "Sign in"}}
-                  </button>
+                  {{/show-modal-button}}
                 </div>
                 <div class="col-xs-6">
                   {{#register-button class="btn btn-outlined btn-success btn-block btn-sm"}}