Commit b1b73f4

mo <mo.khan@gmail.com>
2018-04-09 18:16:27
move sessions controller to sessions/new.js
1 parent 58bb84c
Changed files (3)
app
javascript
controllers
views
spec
javascripts
controllers
sessions
app/javascript/controllers/sessions_controller.js → app/javascript/controllers/sessions/new_controller.js
@@ -1,5 +1,5 @@
 import { Controller } from 'stimulus'
-import Email from '../models/email'
+import Email from '../../models/email'
 
 export default class extends Controller {
   get email() { return this.targets.find("email") }
app/views/sessions/new.html.erb
@@ -2,14 +2,14 @@
   <div class="row">
     <div class="col">
       <h1>Login</h1>
-      <%= form_for :user, url: session_path, method: :post, data: { controller: 'sessions' } do |form| %>
+      <%= form_for :user, url: session_path, method: :post, data: { controller: 'sessions--new' } do |form| %>
         <div class="form-group">
-          <%= form.email_field :email, class: 'form-control', placeholder: User.human_attribute_name(:email), autofocus: true, required: :required, data: { target: 'sessions.email', action: "keyup->sessions#validate" } %>
+          <%= form.email_field :email, class: 'form-control', placeholder: User.human_attribute_name(:email), autofocus: true, required: :required, data: { target: 'sessions--new.email', action: "keyup->sessions--new#validate" } %>
         </div>
         <div class="form-group">
-          <%= form.password_field :password, class: 'form-control', placeholder: User.human_attribute_name(:password), required: :required, data: { target: 'sessions.password', action: "keyup->sessions#validate" } %>
+          <%= form.password_field :password, class: 'form-control', placeholder: User.human_attribute_name(:password), required: :required, data: { target: 'sessions--new.password', action: "keyup->sessions--new#validate" } %>
         </div>
-        <%= form.button t('.login'), type: 'submit', class: 'btn btn-primary', data: { disable_with: t('.loading'), target: 'sessions.submit' } %>
+        <%= form.button t('.login'), type: 'submit', class: 'btn btn-primary', data: { disable_with: t('.loading'), target: 'sessions--new.submit' } %>
         <%= link_to "Register", new_registration_path %>
       <% end %>
 
spec/javascripts/controllers/sessions.spec.js → spec/javascripts/controllers/sessions/new.spec.js
@@ -1,14 +1,14 @@
-import SessionsController from '../../../app/javascript/controllers/sessions_controller'
+import Controller from '../../../../app/javascript/controllers/sessions/new_controller'
 import { Application } from 'stimulus';
 
-describe('SessionsController', () => {
+describe('sessions--new', () => {
   beforeEach(() => {
-    let $form = affix('form[data-controller="sessions"]')
-    $form.affix('input[data-target="sessions.email" data-action="keyup->sessions#validate" type="email" id="user_email"]')
-    $form.affix('input[data-target="sessions.password" data-action="keyup->sessions#validate" type="password" id="user_password"]')
-    $form.affix('button[name="button" type="submit" data-target="sessions.submit"]')
+    let $form = affix('form[data-controller="sessions--new"]')
+    $form.affix('input[data-target="sessions--new.email" data-action="keyup->sessions--new#validate" type="email" id="user_email"]')
+    $form.affix('input[data-target="sessions--new.password" data-action="keyup->sessions--new#validate" type="password" id="user_password"]')
+    $form.affix('button[name="button" type="submit" data-target="sessions--new.submit"]')
     const application = Application.start();
-    application.register('sessions', SessionsController);
+    application.register('sessions--new', Controller);
   });
 
   describe("validate", () => {