Commit 07095d4d87f297c1b3641eb5d27902d8288945fe

Authored by Jatinder Singh
1 parent 91df5052d3

regex

package-lock.json
... ... @@ -4904,7 +4904,7 @@
4904 4904 },
4905 4905 "expect": {
4906 4906 "version": "22.4.3",
4907   - "resolved": "http://registry.npmjs.org/expect/-/expect-22.4.3.tgz",
  4907 + "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz",
4908 4908 "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==",
4909 4909 "dev": true,
4910 4910 "requires": {
... ... @@ -7806,7 +7806,7 @@
7806 7806 },
7807 7807 "jest-diff": {
7808 7808 "version": "22.4.3",
7809   - "resolved": "http://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz",
  7809 + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz",
7810 7810 "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==",
7811 7811 "dev": true,
7812 7812 "requires": {
... ... @@ -7880,7 +7880,7 @@
7880 7880 },
7881 7881 "jest-leak-detector": {
7882 7882 "version": "22.4.3",
7883   - "resolved": "http://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz",
  7883 + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz",
7884 7884 "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==",
7885 7885 "dev": true,
7886 7886 "requires": {
... ... @@ -7889,7 +7889,7 @@
7889 7889 },
7890 7890 "jest-matcher-utils": {
7891 7891 "version": "22.4.3",
7892   - "resolved": "http://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz",
  7892 + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz",
7893 7893 "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==",
7894 7894 "dev": true,
7895 7895 "requires": {
... ... @@ -7925,7 +7925,7 @@
7925 7925 },
7926 7926 "jest-resolve": {
7927 7927 "version": "22.4.3",
7928   - "resolved": "http://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz",
  7928 + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz",
7929 7929 "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==",
7930 7930 "dev": true,
7931 7931 "requires": {
... ... @@ -7950,7 +7950,7 @@
7950 7950 },
7951 7951 "jest-snapshot": {
7952 7952 "version": "22.4.3",
7953   - "resolved": "http://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz",
  7953 + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz",
7954 7954 "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==",
7955 7955 "dev": true,
7956 7956 "requires": {
... ... @@ -12239,7 +12239,7 @@
12239 12239 },
12240 12240 "pretty-format": {
12241 12241 "version": "22.4.3",
12242   - "resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
  12242 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
12243 12243 "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
12244 12244 "dev": true,
12245 12245 "requires": {
... ... @@ -13411,7 +13411,7 @@
13411 13411 },
13412 13412 "minimist": {
13413 13413 "version": "1.2.0",
13414   - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
  13414 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
13415 13415 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
13416 13416 "dev": true
13417 13417 }
... ... @@ -15408,6 +15408,15 @@
15408 15408 }
15409 15409 }
15410 15410 },
  15411 + "vue-password": {
  15412 + "version": "1.2.0",
  15413 + "resolved": "https://registry.npmjs.org/vue-password/-/vue-password-1.2.0.tgz",
  15414 + "integrity": "sha512-1GGL0bbLG9/xOS6YyvIXZqIUxyX6e15QjUyY3Ce7BBqeKdy39NL34tUFgGsp/twi/knM1zfxy99rum03YMudpg==",
  15415 + "requires": {
  15416 + "vue": "^2.5.0",
  15417 + "zxcvbn": "^4.4.2"
  15418 + }
  15419 + },
15411 15420 "vue-perfect-scrollbar": {
15412 15421 "version": "0.1.0",
15413 15422 "resolved": "https://registry.npmjs.org/vue-perfect-scrollbar/-/vue-perfect-scrollbar-0.1.0.tgz",
... ... @@ -15493,7 +15502,7 @@
15493 15502 "dependencies": {
15494 15503 "minimist": {
15495 15504 "version": "1.2.0",
15496   - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
  15505 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
15497 15506 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
15498 15507 "dev": true
15499 15508 }
... ... @@ -16637,6 +16646,11 @@
16637 16646 "lodash.isequal": "^4.0.0",
16638 16647 "validator": "^9.0.0"
16639 16648 }
  16649 + },
  16650 + "zxcvbn": {
  16651 + "version": "4.4.2",
  16652 + "resolved": "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz",
  16653 + "integrity": "sha1-KOwXzwl0PtyrBW3dixsGJizHPDA="
16640 16654 }
16641 16655 }
16642 16656 }
... ...
... ... @@ -22,6 +22,7 @@
22 22 "vee-validate": "^2.0.9",
23 23 "vue": "^2.5.16",
24 24 "vue-fullcalendar": "^1.0.9",
  25 + "vue-password": "^1.2.0",
25 26 "vue-perfect-scrollbar": "^0.1.0",
26 27 "vue-quill-editor": "^3.0.6",
27 28 "vue-resize": "^0.4.4",
... ...
... ... @@ -17,6 +17,19 @@ export default [
17 17 }
18 18 },
19 19 {
  20 + name: 'APP_CHANGE',
  21 + callback: function (e) {
  22 + this.snackbar = {
  23 + show: true,
  24 + color: 'green',
  25 + text: 'Logout successfully.'
  26 + };
  27 + this.$router.replace({
  28 + path: '/'
  29 + });
  30 + }
  31 + },
  32 + {
20 33 name: 'APP_PAGE_LOADED',
21 34 callback: function (e) {
22 35 }
... ...
src/pages/Dashboard.vue
... ... @@ -63,7 +63,7 @@
63 63 <v-container fluid fill-height>
64 64 <v-layout align-center>
65 65 <v-flex xs12 sm8 offset-sm2>
66   - <v-flex offset-sm5>
  66 + <v-flex offset-sm4>
67 67 <v-avatar size="40px">
68 68 <img src="/static/avatar/download.png"/> </v-avatar>
69 69 </v-flex>
... ... @@ -172,9 +172,9 @@ export default {
172 172 max: 'The name field may not be greater than 10 characters'
173 173 // custom messages
174 174 },
175   - select: {
176   - required: 'Select field is required'
177   - }
  175 + // select: {
  176 + // required: 'Select field is required'
  177 + // }
178 178 }
179 179 },
180 180 mounted () {
... ... @@ -246,6 +246,8 @@ export default {
246 246 // this.select = null;
247 247 // this.checkbox = null;
248 248 this.$validator.reset();
  249 +
  250 +
249 251 }
250 252 };
251 253  
... ...
src/pages/Login.vue
... ... @@ -11,8 +11,8 @@
11 11 <v-container fluid fill-height>
12 12 <v-layout align-center justify-center>
13 13 <v-flex xs12 sm8 md6 lg4>
14   - <v-toolbar color="black" dark>
15   - <v-spacer></v-spacer>
  14 + <v-toolbar color="black" dark>
  15 + <v-spacer></v-spacer>
16 16 <v-toolbar-title>Admin Login</v-toolbar-title>
17 17 <v-spacer></v-spacer>
18 18 </v-toolbar>
... ... @@ -22,33 +22,27 @@
22 22 <v-form>
23 23 <v-text-field
24 24 append-icon="person"
25   - v-validate="'required|email'"
26 25 v-model="email"
27   - :error-messages="errors.collect('email')"
  26 + :rules="[erules.required, erules.em]"
28 27 label="E-mail"
29 28 data-vv-name="email"
30   - required
  29 +
31 30 ></v-text-field>
32 31 <v-text-field
  32 + :rules="[rules.required, rules.min]"
33 33 v-model="password"
34 34 :append-icon="e1 ? 'visibility' : 'visibility_off'"
35 35 :append-icon-cb="() => (e1 = !e1)"
36 36 :type="e1 ? 'password' : 'text'"
37   - :rules="[() => password.length > 7 || ('This password field is required')]"
38 37 name="input-10-1"
39 38 label="Password"
40   - hint="At least 8 characters"
41   - min="8"
42 39 counter
43   - required
  40 +
44 41 ></v-text-field>
45   -
46   -
  42 +
47 43 </v-form>
48   -
49   - </v-card-text>
50   -
51   - <v-checkbox :label="`Remember me`"
  44 + </v-card-text>
  45 + <v-checkbox :label="`Remember me`"
52 46 v-model="remember"></v-checkbox>
53 47 <h5 class="text-md-center" > <router-link to="/forgetpassword">Forget Password</router-link></h5>
54 48 <v-flex class="mt-3 text-md-center">
... ... @@ -59,11 +53,9 @@
59 53 </v-layout>
60 54 </v-container>
61 55 </v-content>
62   - <v-footer class="pa-4" color="grey darken-2">
63   -
64   - </v-footer>
65   - </v-app>
66   -
  56 + <v-footer class="pa-4" color="grey darken-2">
  57 +</v-footer>
  58 +</v-app>
67 59 </template>
68 60  
69 61 <script>
... ... @@ -75,14 +67,17 @@ export default {
75 67 loading: false,
76 68 remember: false,
77 69 valid: false,
78   - model: {
79   - Email: '',
80   - password: '',
81   - rules: {
82   - required: value => !!value || 'Required.',
83   - min: v => v.length >= 8 || 'Min 8 characters',
84   - }
85   - }
  70 + Email: '',
  71 + erules: {
  72 + required: value => !!value || 'This email field is Required.',
  73 + em: v => (v.length > 0 && /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/.test(v) || 'Email must be valid')
  74 + },
  75 + password: '',
  76 + rules: {
  77 + required: value => !!value || 'This password field is Required.',
  78 + min: v => (/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/).test(v) && v.length >= 8 || 'Min 8 characters upper case lower case symbol required'
  79 +
  80 + }
86 81 };
87 82 },
88 83 methods: {
... ... @@ -94,7 +89,6 @@ export default {
94 89 }
95 90 }
96 91 };
97   -
98 92 </script>
99 93  
100 94 <style scoped lang="css">
... ...
src/pages/Provider.vue
... ... @@ -22,9 +22,9 @@
22 22  
23 23 <template slot="items" slot-scope="props">
24 24 <td>{{ props.item.No }}</td>
25   - <td>{{ props.item.FName +' '+ props.item.LName }}</td>
  25 + <td>{{ props.item.Name+' '+props.item.LName }}</td>
26 26 <td>{{ props.item.Email }}</td>
27   - <td><v-flex xs6>
  27 + <td><v-flex xs6 sm7>
28 28 <v-select
29 29 :items="status"
30 30 v-model="e1"
... ... @@ -142,7 +142,7 @@ export default {
142 142 text: 'No',
143 143 align: 'left',
144 144 sortable: false,
145   - value: 'name'
  145 + value: 'no'
146 146 },
147 147 { text: 'Name', value: 'Name', sortable: false },
148 148 { text: 'Email', value: 'Email', sortable: false },
... ... @@ -185,14 +185,14 @@ export default {
185 185 this.desserts = [
186 186 {
187 187 No: 1,
188   - FName: 'Amit',
  188 + Name: 'Amit',
189 189 LName: 'goyal',
190 190 Email: 'jsi@gmail.com',
191 191 DOB: '22/09/1996'
192 192 },
193 193 {
194 194 No: 2,
195   - FName: 'Sumit',
  195 + Name: 'Sumit',
196 196 LName: 'kumar',
197 197 Email: 'aasi@gmail.com',
198 198 DOB: '16/09/1997'
... ...
src/pages/forgetpassword.vue
1 1 <template>
2 2 <v-app id="login">
3   - <v-toolbar color="grey lighten-2">
  3 + <v-toolbar color="grey lighten">
4 4 <v-toolbar-items>
5   - <img src=" " />
  5 + <img src="/static/ana@2x.png" height="36" alt="ana" />
6 6 </v-toolbar-items>
7 7 </v-toolbar>
8 8 <v-content>
... ... @@ -18,28 +18,17 @@
18 18 </v-toolbar>
19 19 <v-card class="elevation-1 pa-3">
20 20 <v-card-text>
21   - <!-- <div>
22   - <h2 class=" primary--text mt-3 text-md-left">Forget Password</h2>
23   -
24   - </div> -->
  21 +
25 22 <h5 class="text-md-center"> Not to Worry ! Enter to your registered Email ID. </h5>
26 23 <h5 class="text-md-center"> We'll send you a reset,</h5>
27 24 <v-form class="mt-5">
28   - <!--<v-text-field append-icon="person" name="Email" label="Email" type="text" v-model="model.username"></v-text-field>-->
  25 +
29 26 <v-text-field append-icon="person" v-validate="'required|email'" v-model="email" :error-messages="errors.collect('email')" label="E-mail" data-vv-name="email" required ></v-text-field>
30 27  
31 28 </v-form>
32 29 </v-card-text>
33 30 <v-card-actions>
34   - <!-- <v-btn icon>
35   - <v-icon color="blue">fa fa-facebook-square fa-lg</v-icon>
36   - </v-btn>
37   - <v-btn icon>
38   - <v-icon color="red">fa fa-google fa-lg</v-icon>
39   - </v-btn>
40   - <v-btn icon>
41   - <v-icon color="light-blue">fa fa-twitter fa-lg</v-icon>
42   - </v-btn>-->
  31 +
43 32  
44 33  
45 34 <v-flex text-sm-center>
... ...
src/pages/notification.vue
... ... @@ -56,7 +56,7 @@
56 56 hide-details
57 57 ></v-checkbox>
58 58 </td>
59   - <td>{{ props.item.User }}</td>
  59 + <td>{{ props.item.Name }}</td>
60 60  
61 61 </template>
62 62 </v-data-table>
... ... @@ -75,7 +75,7 @@ export default {
75 75 text: 'User List',
76 76 align: 'left',
77 77 sortable: false,
78   - value: 'name'
  78 + value: 'Name'
79 79 },
80 80 { text: '', value: '', sortable: false },
81 81 { text: '', value: '', sortable: false },
... ... @@ -87,7 +87,7 @@ export default {
87 87 desserts: [
88 88 {
89 89 value: true,
90   - User: 'ajay',
  90 + Name: 'ajay',
91 91  
92 92 }
93 93  
... ...
src/services/api.js