Guest User

Untitled

a guest
Dec 31st, 2017
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. <template lang="pug">
  2. .row.justify-center.items-center.max-available-height.col-12
  3. q-card(:flat="true").col-xs-12.col-md-6.col-sm-10.md-gutter
  4. q-card-main
  5. q-field(
  6. icon="fa-user"
  7. helper="Enter your username"
  8. :error="!errors.username.isValid"
  9. :error-label="errors.username.errorMessage"
  10. )
  11. q-input(
  12. float-label="Username"
  13. @input="updateUsername"
  14. v-model="username"
  15. )
  16.  
  17. q-field(
  18. icon="fa-key"
  19. helper="Enter your password"
  20. :error="!errors.password.isValid"
  21. :error-label="errors.password.errorMessage"
  22. count
  23. )
  24. q-input(
  25. type="password"
  26. float-label="Password"
  27. v-model="password",
  28. @input="updatePassword"
  29. )
  30. q-card-actions(align="center")
  31. q-btn.full-width(
  32. @click="signIn()"
  33. :disable="isSubbmitAllowed"
  34. big
  35. color="secondary"
  36. )
  37. | Sign In
  38.  
  39. </template>
  40.  
  41. <script lang="ts">
  42. import Vue from 'vue'
  43. import { Component, Model, Prop, Emit } from 'vue-property-decorator'
  44. import {
  45. QField,
  46. QInput,
  47. QCard,
  48. QCardTitle,
  49. QCardMain,
  50. QCardActions,
  51. QBtn
  52. } from 'quasar'
  53.  
  54. @Component({
  55. components: {
  56. QField,
  57. QInput,
  58. QCard,
  59. QCardActions,
  60. QCardMain,
  61. QBtn
  62. }
  63. })
  64. export default class SignIn extends Vue {
  65. @Prop(Object)
  66. errors
  67.  
  68. @Prop(Boolean)
  69. isUsernameValid: boolean
  70.  
  71. @Prop(Boolean)
  72. isPasswordValid: boolean
  73.  
  74. @Emit('usernameChanged')
  75. updateUsername (username) {}
  76.  
  77. @Emit('passwordChanged')
  78. updatePassword (password) {}
  79.  
  80. // TODO wrap in Emit decorator
  81. signIn (username = this.username, password = this.password) {
  82. this.$emit('login', this.username, this.password)
  83. }
  84.  
  85. username: String = ''
  86. password: String = ''
  87.  
  88. get isSubbmitAllowed (): boolean {
  89. return !this.username
  90. || !this.password
  91. || !this.errors.username.isValid
  92. || !this.errors.password.isValid
  93. }
  94. }
  95. </script>
  96.  
  97. <style lang="stylus">
  98. .max-available-height
  99. min-height: calc(100vh - 50px);
  100. </style>
Add Comment
Please, Sign In to add comment