Blame view

src/pages/News/news.vue 26.8 KB
6566e8f29   Neeraj Sharma   design and functi...
1
2
  <template>
    <v-app id="pages-dasboard">
5b841b043   Neeraj Sharma   fix upload dyanm...
3
      <v-toolbar class="fixcolors" fixed app>
6566e8f29   Neeraj Sharma   design and functi...
4
5
6
7
        <v-toolbar-title class="ml-0 pl-3">
          <v-toolbar-side-icon @click.stop="handleDrawerToggle" class="hide"></v-toolbar-side-icon>
        </v-toolbar-title>
        <!-- ****** SEARCH ALL EXISTING NEWS ****** -->
506be6fd7   Neeraj Sharma   implemet dyamic i...
8
        <v-flex xs7 sm3 class="userSearch">
6566e8f29   Neeraj Sharma   design and functi...
9
10
11
          <v-text-field
            flat
            append-icon="search"
55f72b7d7   Neeraj Sharma   add new page are ...
12
            label="Find your News"
6566e8f29   Neeraj Sharma   design and functi...
13
14
            v-model="search"
            color="white"
506be6fd7   Neeraj Sharma   implemet dyamic i...
15
            class="pa-3"
6566e8f29   Neeraj Sharma   design and functi...
16
17
18
19
20
21
22
            dark
          ></v-text-field>
        </v-flex>
        <v-spacer></v-spacer>
        <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition">
          <v-btn icon large flat slot="activator">
            <v-avatar size="40px">
5b841b043   Neeraj Sharma   fix upload dyanm...
23
              <img src="/static/icon/user.png" />
6566e8f29   Neeraj Sharma   design and functi...
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
            </v-avatar>
          </v-btn>
          <v-list class="pa-0">
            <v-list-tile
              v-for="(item,index) in items"
              :to="!item.href ? { name: item.name } : null"
              :href="item.href"
              @click="item.click"
              ripple="ripple"
              :disabled="item.disabled"
              :target="item.target"
              rel="noopener"
              :key="index"
            >
              <v-list-tile-action v-if="item.icon">
                <v-icon>{{ item.icon }}</v-icon>
              </v-list-tile-action>
              <v-list-tile-content>
                <v-list-tile-title>{{ item.title }}</v-list-tile-title>
              </v-list-tile-content>
            </v-list-tile>
          </v-list>
        </v-menu>
      </v-toolbar>
      <v-tabs grow slider-color="black">
        <v-tab
          ripple
          @click="activeTab('existing')"
          v-bind:class="{ active: isActive }"
          id="tab"
          class="subheading"
        >Existing News</v-tab>
        <v-tab
          ripple
          @click="activeTab('new')"
          v-bind:class="{ active: newActive }"
          id="tab1"
          User
          class="subheading"
        >Add News</v-tab>
  
        <!-- ****** EDITS ALL NEWS DETAILS ****** -->
  
        <v-tab-item>
          <v-snackbar
            :timeout="timeout"
            :top="y === 'top'"
            :right="x === 'right'"
            :vertical="mode === 'vertical'"
            v-model="snackbar"
            color="success"
          >{{ text }}</v-snackbar>
79006bdcb   Neeraj Sharma   uplaod images all...
76
          <v-dialog v-model="dialog" max-width="1000px" scrollable>
5b841b043   Neeraj Sharma   fix upload dyanm...
77
78
            <v-card flat>
              <v-toolbar class="grey lighten-2" flat>
6566e8f29   Neeraj Sharma   design and functi...
79
                <v-spacer></v-spacer>
5b841b043   Neeraj Sharma   fix upload dyanm...
80
81
82
                <v-toolbar-title>
                  <h3>Edit News</h3>
                </v-toolbar-title>
6566e8f29   Neeraj Sharma   design and functi...
83
                <v-spacer></v-spacer>
5b841b043   Neeraj Sharma   fix upload dyanm...
84
85
              </v-toolbar>
              <v-card-text style="height:600px;">
6566e8f29   Neeraj Sharma   design and functi...
86
87
                <v-form ref="form">
                  <v-container fluid>
79006bdcb   Neeraj Sharma   uplaod images all...
88
                    <v-layout row>
5b841b043   Neeraj Sharma   fix upload dyanm...
89
                      <v-flex
6566e8f29   Neeraj Sharma   design and functi...
90
                        xs12
79006bdcb   Neeraj Sharma   uplaod images all...
91
                        class="text-xs-center text-sm-center text-md-center text-lg-center my-4 mr-4"
6566e8f29   Neeraj Sharma   design and functi...
92
                      >
6566e8f29   Neeraj Sharma   design and functi...
93
                        <input
79006bdcb   Neeraj Sharma   uplaod images all...
94
                          type="file"
5b841b043   Neeraj Sharma   fix upload dyanm...
95
                          style="display: none"
6566e8f29   Neeraj Sharma   design and functi...
96
97
                          ref="image"
                          accept="image/*"
79006bdcb   Neeraj Sharma   uplaod images all...
98
                          multiple
6566e8f29   Neeraj Sharma   design and functi...
99
                          @change="onFilePicked"
5b841b043   Neeraj Sharma   fix upload dyanm...
100
                        />
79006bdcb   Neeraj Sharma   uplaod images all...
101
                        <v-layout justify-center>
5b841b043   Neeraj Sharma   fix upload dyanm...
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
                          <v-flex
                            xs3
                            v-for="Image in editedItem.newsImageUrl"
                            :key="Image._id"
                            v-if="editedItem.newsImageUrl"
                            class="profile-image-wrapper"
                          >
                            <img
                              :src="Image.imageUrl"
                              height="160"
                              width="160"
                              alt="News"
                              class="pa-2"
                            />
                            <v-icon
                              class="red edit-profile-icon"
                              dark
                              @click="deleteImage(Image._id,editedItem._id)"
                            >close</v-icon>
                          </v-flex>
                          <v-flex v-for="(file, index) in files" :key="index">
                            <img :src="file" height="160" width="160" class="pa-2" />
                          </v-flex>
                        </v-layout>
                        <img
                          src="/static/icon/user.png"
                          v-if="editedItem.newsImageUrl ==''"
                          height="160"
                          width="160"
                          alt="News"
                        />
6566e8f29   Neeraj Sharma   design and functi...
133
134
                      </v-flex>
                    </v-layout>
79006bdcb   Neeraj Sharma   uplaod images all...
135
                    <!-- </v-layout> -->
6566e8f29   Neeraj Sharma   design and functi...
136
                    <v-layout>
506be6fd7   Neeraj Sharma   implemet dyamic i...
137
                      <v-flex xs12 sm12>
6566e8f29   Neeraj Sharma   design and functi...
138
139
140
141
                        <v-layout>
                          <v-flex xs4 class="pt-4 subheading">
                            <label class="right">Title:</label>
                          </v-flex>
506be6fd7   Neeraj Sharma   implemet dyamic i...
142
                          <v-flex xs5 class="ml-3">
6566e8f29   Neeraj Sharma   design and functi...
143
144
145
146
147
148
149
150
151
152
                            <v-text-field
                              v-model="editedItem.title"
                              placeholder="fill your Title"
                              name="name"
                              type="text"
                              required
                            ></v-text-field>
                          </v-flex>
                        </v-layout>
                      </v-flex>
506be6fd7   Neeraj Sharma   implemet dyamic i...
153
                      <v-flex xs12 sm12>
6566e8f29   Neeraj Sharma   design and functi...
154
155
156
157
                        <v-layout>
                          <v-flex xs4 class="pt-4 subheading">
                            <label class="right">Description:</label>
                          </v-flex>
506be6fd7   Neeraj Sharma   implemet dyamic i...
158
                          <v-flex xs5 class="ml-3">
6566e8f29   Neeraj Sharma   design and functi...
159
160
161
162
163
164
165
166
167
168
                            <v-text-field
                              placeholder="fill your Description"
                              v-model="editedItem.description"
                              type="text"
                              name="email"
                              required
                            ></v-text-field>
                          </v-flex>
                        </v-layout>
                      </v-flex>
506be6fd7   Neeraj Sharma   implemet dyamic i...
169
170
171
                      <v-flex xs12>
                        <v-layout>
                          <v-flex xs4 class="pt-4 subheading">
79006bdcb   Neeraj Sharma   uplaod images all...
172
                            <label class="right">Add New Images:</label>
506be6fd7   Neeraj Sharma   implemet dyamic i...
173
174
175
176
177
178
179
180
181
182
                          </v-flex>
                          <v-flex xs5 class="ml-3">
                            <v-text-field
                              label="Select Image"
                              @click="pickFile"
                              v-model="imageName"
                              append-icon="attach_file"
                              multiple
                            ></v-text-field>
                          </v-flex>
5b841b043   Neeraj Sharma   fix upload dyanm...
183
184
                        </v-layout>
                      </v-flex>
6566e8f29   Neeraj Sharma   design and functi...
185
186
                    </v-layout>
                    <v-layout>
506be6fd7   Neeraj Sharma   implemet dyamic i...
187
                      <v-flex xs12 sm8 offset-sm2>
6566e8f29   Neeraj Sharma   design and functi...
188
189
190
191
192
193
194
195
196
                        <v-card-actions>
                          <v-btn round dark @click.native="close">Cancel</v-btn>
                          <v-spacer></v-spacer>
                          <v-btn round dark @click="save">Save</v-btn>
                        </v-card-actions>
                      </v-flex>
                    </v-layout>
                  </v-container>
                </v-form>
5b841b043   Neeraj Sharma   fix upload dyanm...
197
198
              </v-card-text>
            </v-card>
6566e8f29   Neeraj Sharma   design and functi...
199
200
201
          </v-dialog>
  
          <!-- ****** PROFILE VIEW ALL NEWS DEATILS ******  -->
506be6fd7   Neeraj Sharma   implemet dyamic i...
202
203
  
          <v-dialog v-model="dialog1" max-width="800px">
79006bdcb   Neeraj Sharma   uplaod images all...
204
205
            <v-card>
              <v-toolbar color="grey lighten-2" flat>
5b841b043   Neeraj Sharma   fix upload dyanm...
206
207
208
209
210
211
212
213
                <v-spacer></v-spacer>
                <v-toolbar-title>
                  <h3>News</h3>
                </v-toolbar-title>
                <v-spacer></v-spacer>
                <v-icon @click="close1">close</v-icon>
              </v-toolbar>
              <v-flex align-center justify-center layout text-xs-center>
506be6fd7   Neeraj Sharma   implemet dyamic i...
214
                <!-- <v-avatar size="50px" style="position:absolute; top:20px;">
6566e8f29   Neeraj Sharma   design and functi...
215
                  <img src="/static/icon/user.png">
5b841b043   Neeraj Sharma   fix upload dyanm...
216
                </v-avatar>-->
b8837635f   Neeraj Sharma   solve bugs in news
217
                <span v-for="(image,i) in editedItem.newsImageUrl" :key="i" class="mt-4 pa-2">
5b841b043   Neeraj Sharma   fix upload dyanm...
218
219
                  <img :src="image.imageUrl" alt="News" width="240" height="180" />
                </span>
6566e8f29   Neeraj Sharma   design and functi...
220
221
222
223
224
              </v-flex>
              <v-card-text>
                <v-container grid-list-md>
                  <v-layout wrap>
                    <v-flex>
6566e8f29   Neeraj Sharma   design and functi...
225
226
                      <v-layout>
                        <v-flex xs5 sm6>
5b841b043   Neeraj Sharma   fix upload dyanm...
227
228
229
                          <h5 class="right my-1">
                            <b>Title:</b>
                          </h5>
6566e8f29   Neeraj Sharma   design and functi...
230
231
232
233
234
235
236
                        </v-flex>
                        <v-flex sm6 xs8>
                          <h5 class="my-1">{{ editedItem.title }}</h5>
                        </v-flex>
                      </v-layout>
                      <v-layout>
                        <v-flex xs5 sm6>
5b841b043   Neeraj Sharma   fix upload dyanm...
237
238
239
                          <h5 class="right my-1">
                            <b>Description:</b>
                          </h5>
6566e8f29   Neeraj Sharma   design and functi...
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
                        </v-flex>
                        <v-flex sm6 xs8>
                          <h5 class="my-1">{{ editedItem.description }}</h5>
                        </v-flex>
                      </v-layout>
                    </v-flex>
                  </v-layout>
                </v-container>
              </v-card-text>
            </v-card>
          </v-dialog>
  
          <v-snackbar
            :timeout="timeout"
            :top="y === 'top'"
            :right="x === 'right'"
            :vertical="mode === 'vertical'"
            v-model="snackbar"
            color="success"
          >{{ text }}</v-snackbar>
  
          <!-- ****** EXISTING-USERS NEWS TABLE ****** -->
          <v-data-table
            :headers="headers"
            :items="desserts"
            :pagination.sync="pagination"
            :search="search"
          >
            <template slot="items" slot-scope="props">
506be6fd7   Neeraj Sharma   implemet dyamic i...
269
              <td class="text-xs-center">{{ props.index}}</td>
5b841b043   Neeraj Sharma   fix upload dyanm...
270
271
272
273
274
              <td id="td" class="text-xs-center">
                <span v-for="(image,_id) in props.item.newsImageUrl" class="pa-2">
                  <img :src="image.imageUrl" alt="newsImage" width="100" height="70" />
                </span>
              </td>
6566e8f29   Neeraj Sharma   design and functi...
275
276
277
278
279
280
281
282
283
284
              <td id="td" class="text-xs-center">{{ props.item.title}}</td>
              <td id="td" class="text-xs-center">{{ props.item.description}}</td>
  
              <td class="text-xs-center">
                <span>
                  <img
                    style="cursor:pointer; width:25px; height:18px; "
                    class="mr-5"
                    @click="profile(props.item)"
                    src="/static/icon/eye1.png"
5b841b043   Neeraj Sharma   fix upload dyanm...
285
                  />
6566e8f29   Neeraj Sharma   design and functi...
286
287
288
289
290
                  <img
                    style="cursor:pointer; width:20px; height:18px; "
                    class="mr-5"
                    @click="editItem(props.item)"
                    src="/static/icon/edit1.png"
5b841b043   Neeraj Sharma   fix upload dyanm...
291
                  />
6566e8f29   Neeraj Sharma   design and functi...
292
                  <img
b39d2afd2   Neeraj Sharma   responsive dashboard
293
                    style="cursor:pointer;width:20px; height:20px; "
6566e8f29   Neeraj Sharma   design and functi...
294
295
296
                    class="mr-5"
                    @click="deleteItem(props.item)"
                    src="/static/icon/delete1.png"
5b841b043   Neeraj Sharma   fix upload dyanm...
297
                  />
6566e8f29   Neeraj Sharma   design and functi...
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
                </span>
              </td>
            </template>
            <v-alert
              slot="no-results"
              :value="true"
              color="error"
              icon="warning"
            >Your search for "{{ search }}" found no results.</v-alert>
          </v-data-table>
        </v-tab-item>
  
        <!-- ****** ADD MULTIPLE NEWS ****** -->
  
        <v-tab-item>
          <v-container>
            <v-snackbar
              :timeout="timeout"
              :top="y === 'top'"
              :right="x === 'right'"
              :vertical="mode === 'vertical'"
              v-model="snackbar"
              color="success"
            >{{ text }}</v-snackbar>
            <v-flex xs12 sm12 class="my-4">
              <v-card flat>
                <v-form ref="form" v-model="valid" lazy-validation>
                  <v-container fluid>
                    <v-layout>
                      <v-flex
79006bdcb   Neeraj Sharma   uplaod images all...
328
                        xs12
6566e8f29   Neeraj Sharma   design and functi...
329
330
                        class="text-xs-center text-sm-center text-md-center text-lg-center my-4 mr-4"
                      >
6566e8f29   Neeraj Sharma   design and functi...
331
332
                        <input
                          type="file"
5b841b043   Neeraj Sharma   fix upload dyanm...
333
                          style="display: none"
6566e8f29   Neeraj Sharma   design and functi...
334
335
                          ref="image"
                          accept="image/*"
2b0e316ee   Neeraj Sharma   upload mytiple im...
336
                          multiple
6566e8f29   Neeraj Sharma   design and functi...
337
                          @change="onFilePicked"
5b841b043   Neeraj Sharma   fix upload dyanm...
338
                        />
79006bdcb   Neeraj Sharma   uplaod images all...
339
                        <v-layout justify-center>
5b841b043   Neeraj Sharma   fix upload dyanm...
340
341
                          <v-flex v-for="(file,index) in files" :key="index" v-if="files">
                            <img :src="file" height="160" width="160px;" />
6566e8f29   Neeraj Sharma   design and functi...
342
343
                          </v-flex>
                        </v-layout>
5b841b043   Neeraj Sharma   fix upload dyanm...
344
345
346
347
348
349
                        <img
                          src="/static/icon/user.png"
                          v-if="files ==''"
                          height="140"
                          width="180px;"
                        />
6566e8f29   Neeraj Sharma   design and functi...
350
                      </v-flex>
5b841b043   Neeraj Sharma   fix upload dyanm...
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
                    </v-layout>
                    <v-flex xs12>
                      <v-layout>
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right">Title:</label>
                        </v-flex>
                        <v-flex xs4 class="ml-3">
                          <v-text-field
                            v-model="addNews.title"
                            placeholder="fill your Title"
                            name="name"
                            type="text"
                            :rules="titleRules"
                            required
                          ></v-text-field>
                        </v-flex>
                      </v-layout>
                    </v-flex>
                    <v-flex xs12>
                      <v-layout>
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right">Description:</label>
                        </v-flex>
                        <v-flex xs4 class="ml-3">
                          <v-text-field
                            placeholder="fill your Description"
                            :rules="descriptionRules"
                            v-model="addNews.description"
                            type="text"
                            name="email"
                            required
                          ></v-text-field>
                        </v-flex>
2b0e316ee   Neeraj Sharma   upload mytiple im...
384
                      </v-layout>
5b841b043   Neeraj Sharma   fix upload dyanm...
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
                    </v-flex>
                    <v-flex xs12>
                      <v-layout>
                        <v-flex xs4 class="pt-4 subheading">
                          <label class="right">Uplaod Image:</label>
                        </v-flex>
                        <v-flex xs4 class="ml-3">
                          <v-text-field
                            label="Select Image"
                            @click="pickFile"
                            v-model="imageName"
                            append-icon="attach_file"
                            multiple
                          ></v-text-field>
                        </v-flex>
                      </v-layout>
                    </v-flex>
6566e8f29   Neeraj Sharma   design and functi...
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
                    <v-layout>
                      <v-flex xs12 sm6 offset-sm3>
                        <v-card-actions>
                          <v-btn @click="clear" round dark>clear</v-btn>
                          <v-spacer></v-spacer>
                          <v-btn @click="submit" round dark :loading="loading">Add</v-btn>
                        </v-card-actions>
                      </v-flex>
                    </v-layout>
                  </v-container>
                </v-form>
              </v-card>
            </v-flex>
          </v-container>
        </v-tab-item>
      </v-tabs>
4b169b574   Neeraj Sharma   add loader in all...
418
419
420
      <div class="loader" v-if="showLoader">
        <v-progress-circular indeterminate color="white"></v-progress-circular>
      </div>
6566e8f29   Neeraj Sharma   design and functi...
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
    </v-app>
  </template>
  
  <script>
  import http from "@/Services/http.js";
  import Util from "@/util";
  
  export default {
    data: () => ({
      snackbar: false,
      y: "top",
      x: "right",
      mode: "",
      timeout: 3000,
      text: "",
      loading: false,
      date: null,
      search: "",
5b841b043   Neeraj Sharma   fix upload dyanm...
439
      showLoader: false,
6566e8f29   Neeraj Sharma   design and functi...
440
441
442
443
444
445
446
      dialog: false,
      dialog1: false,
      valid: true,
      isActive: true,
      newActive: false,
      addclass: [],
      addSection: [],
6566e8f29   Neeraj Sharma   design and functi...
447
448
449
450
      AddUsercredentials: {},
      pagination: {
        rowsPerPage: 15
      },
6566e8f29   Neeraj Sharma   design and functi...
451
452
453
      imageName: "",
      imageUrl: "",
      imageFile: "",
2b0e316ee   Neeraj Sharma   upload mytiple im...
454
      image: [],
5b841b043   Neeraj Sharma   fix upload dyanm...
455
456
      upload: "",
      files: [],
6566e8f29   Neeraj Sharma   design and functi...
457
458
459
460
      titleRules: [v => !!v || " Tilte is required"],
      descriptionRules: [v => !!v || " Description is required"],
      headers: [
        {
5f1d4b444   Neeraj Sharma   fix design and fi...
461
          align: "justify-center",
506be6fd7   Neeraj Sharma   implemet dyamic i...
462
          text: "No",
6566e8f29   Neeraj Sharma   design and functi...
463
464
465
          sortable: false,
          value: "No"
        },
5b841b043   Neeraj Sharma   fix upload dyanm...
466
        { text: "Image", vaue: "image", sortable: false, align: "center" },
6566e8f29   Neeraj Sharma   design and functi...
467
        { text: "Title", value: "title", sortable: false, align: "center" },
5b841b043   Neeraj Sharma   fix upload dyanm...
468
469
470
471
472
473
        {
          text: "Description",
          value: "description",
          sortable: false,
          align: "center"
        },
6566e8f29   Neeraj Sharma   design and functi...
474
475
        { text: "Action", value: "", sortable: false, align: "center" }
      ],
5b841b043   Neeraj Sharma   fix upload dyanm...
476
477
478
479
480
481
482
      desserts: [
        {
          image: "https://picsum.photos/500/300?image",
          title: "title",
          description: "description"
        }
      ],
6566e8f29   Neeraj Sharma   design and functi...
483
484
485
      editedIndex: -1,
      addNews: {
        title: "",
5b841b043   Neeraj Sharma   fix upload dyanm...
486
        description: ""
6566e8f29   Neeraj Sharma   design and functi...
487
488
489
      },
      editedItem: {
        title: "",
5b841b043   Neeraj Sharma   fix upload dyanm...
490
        description: ""
6566e8f29   Neeraj Sharma   design and functi...
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
      },
      defaultItem: {
        title: "",
        description: ""
      },
      userName: "",
      items: [
        {
          href: "/changepassword",
          title: "Change Password",
          click: e => {
            console.log(e);
          }
        },
        {
          href: "#",
          title: "Logout",
          click: e => {
            window.getApp.$emit("APP_LOGOUT");
          }
        }
      ]
    }),
6566e8f29   Neeraj Sharma   design and functi...
514
515
    methods: {
      getSections(_id) {
5b841b043   Neeraj Sharma   fix upload dyanm...
516
        console.log("_id", _id);
6566e8f29   Neeraj Sharma   design and functi...
517
518
519
520
521
522
523
524
525
526
527
528
529
530
        var token = this.$store.state.token;
        http()
          .get(
            "/getSectionsList",
            { params: { classId: _id } },
            {
              headers: { Authorization: "Bearer " + token }
            }
          )
          .then(response => {
            this.addSection = response.data.data;
            // console.log("getSectionsList=====>", this.addSection);
          })
          .catch(err => {
5f1d4b444   Neeraj Sharma   fix design and fi...
531
            console.log("err====>", err);
6566e8f29   Neeraj Sharma   design and functi...
532
533
534
535
536
537
            // this.$router.replace({ path: '/' });
          });
      },
      pickFile() {
        this.$refs.image.click();
      },
6566e8f29   Neeraj Sharma   design and functi...
538
539
540
      onFilePicked(e) {
        // console.log(e)
        const files = e.target.files;
5b841b043   Neeraj Sharma   fix upload dyanm...
541
        /** fetch Image Name **/
6566e8f29   Neeraj Sharma   design and functi...
542
543
544
545
        if (files[0] !== undefined) {
          this.imageName = files[0].name;
          if (this.imageName.lastIndexOf(".") <= 0) {
            return;
5b841b043   Neeraj Sharma   fix upload dyanm...
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
          }
          this.files = [];
          // console.log("files", this.files);
          /** Select many image and showing many image add to news card **/
          const test = Array.from(files).forEach((file, idx) => {
            const fr = new FileReader();
            const getResult = new Promise(resolve => {
              fr.onload = e => {
                this.files.push(
                  // id: idx,
                  e.target.result
                );
              };
            });
            fr.readAsDataURL(file);
            return getResult.then(file => {
              return file;
            });
6566e8f29   Neeraj Sharma   design and functi...
564
          });
5b841b043   Neeraj Sharma   fix upload dyanm...
565
566
567
568
569
          const fr = new FileReader();
          fr.readAsDataURL(files[0]);
          fr.addEventListener("load", () => {
            this.imageFile = files; // this is an image file that can be sent to server...
            // console.log("uploadImage=======>", this.imageFile );
2b0e316ee   Neeraj Sharma   upload mytiple im...
570
          });
6566e8f29   Neeraj Sharma   design and functi...
571
572
573
574
575
576
577
        } else {
          this.imageName = "";
          this.imageFile = "";
          this.imageUrl = "";
        }
      },
      getNewsList() {
4b169b574   Neeraj Sharma   add loader in all...
578
        this.showLoader = true;
6566e8f29   Neeraj Sharma   design and functi...
579
580
581
582
583
584
585
        var token = this.$store.state.token;
        http()
          .get("/getNewsList", {
            headers: { Authorization: "Bearer " + token }
          })
          .then(response => {
            this.desserts = response.data.data;
4b169b574   Neeraj Sharma   add loader in all...
586
            this.showLoader = false;
6566e8f29   Neeraj Sharma   design and functi...
587
588
589
590
            // console.log("getNewsList=====>",this.desserts)
          })
          .catch(err => {
            // console.log("err====>", err);
4b169b574   Neeraj Sharma   add loader in all...
591
            this.showLoader = false;
6566e8f29   Neeraj Sharma   design and functi...
592
593
594
595
            this.$router.replace({ path: "/" });
          });
      },
      editItem(item) {
8e6d1a7d7   Neeraj Sharma   solve bugs uplaod...
596
        this.files = [];
6566e8f29   Neeraj Sharma   design and functi...
597
598
599
600
601
602
603
604
605
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.dialog = true;
      },
      profile(item) {
        this.editedIndex = this.desserts.indexOf(item);
        this.editedItem = Object.assign({}, item);
        this.dialog1 = true;
      },
6566e8f29   Neeraj Sharma   design and functi...
606
607
608
609
610
611
612
613
614
615
616
617
618
619
      deleteItem(item) {
        let deleteNews = {
          newsId: item._id
        };
        http()
          .delete(
            "/deleteNews",
            confirm("Are you sure you want to delete this?") && {
              params: deleteNews
            }
          )
          .then(response => {
            // console.log("deleteNews",deleteNews)
            if ((this.snackbar = true)) {
5f1d4b444   Neeraj Sharma   fix design and fi...
620
              this.text = "Successfully delete Existing News";
6566e8f29   Neeraj Sharma   design and functi...
621
622
623
624
625
626
627
            }
            this.getNewsList();
          })
          .catch(error => {
            // console.log(error);
          });
      },
5b841b043   Neeraj Sharma   fix upload dyanm...
628
629
630
      deleteImage(imageId, newsId) {
        console.log(imageId, newsId);
        let deleteImages = {
79006bdcb   Neeraj Sharma   uplaod images all...
631
632
633
634
635
636
          newsId: newsId,
          imageId: imageId
        };
        http()
          .put("/deleteImages", deleteImages)
          .then(response => {
5b841b043   Neeraj Sharma   fix upload dyanm...
637
            console.log("deleteNews", deleteImages);
79006bdcb   Neeraj Sharma   uplaod images all...
638
639
640
641
            if ((this.snackbar = true)) {
              this.text = "Image deleted Successfully";
            }
            this.getNewsList();
8e6d1a7d7   Neeraj Sharma   solve bugs uplaod...
642
            this.close();
79006bdcb   Neeraj Sharma   uplaod images all...
643
644
645
646
647
          })
          .catch(error => {
            console.log(error);
          });
      },
6566e8f29   Neeraj Sharma   design and functi...
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
      activeTab(type) {
        switch (type) {
          case "existing":
            this.newActive = false;
            this.isActive = true;
            break;
  
          default:
            this.newActive = true;
            this.isActive = false;
            break;
        }
      },
      close() {
        this.dialog = false;
        setTimeout(() => {
          this.editedItem = Object.assign({}, this.defaultItem);
          this.editedIndex = -1;
        }, 300);
      },
      close1() {
        this.dialog1 = false;
      },
6566e8f29   Neeraj Sharma   design and functi...
671
      submit() {
506be6fd7   Neeraj Sharma   implemet dyamic i...
672
        this.loading = true;
6566e8f29   Neeraj Sharma   design and functi...
673
        if (this.$refs.form.validate()) {
5b841b043   Neeraj Sharma   fix upload dyanm...
674
675
676
677
678
679
680
681
682
683
684
685
686
          let newsData = {
            title: this.addNews.title,
            description: this.addNews.description
          };
          if (this.files) {
            var ary = [];
            var imageData = [];
            ary = this.files;
            for (let i = 0; i < ary.length; i++) {
              const [baseUrl, imageUrl] = ary[i].split(/,/);
              imageData.push(imageUrl);
              newsData.upload = imageData;
            }
2b0e316ee   Neeraj Sharma   upload mytiple im...
687
          }
6566e8f29   Neeraj Sharma   design and functi...
688
          http()
2b0e316ee   Neeraj Sharma   upload mytiple im...
689
            .post("/createNews", newsData)
6566e8f29   Neeraj Sharma   design and functi...
690
            .then(response => {
5b841b043   Neeraj Sharma   fix upload dyanm...
691
              console.log(newsData);
6566e8f29   Neeraj Sharma   design and functi...
692
              if ((this.snackbar = true)) {
5f1d4b444   Neeraj Sharma   fix design and fi...
693
                this.text = "New News added successfully";
6566e8f29   Neeraj Sharma   design and functi...
694
695
              }
              this.getNewsList();
506be6fd7   Neeraj Sharma   implemet dyamic i...
696
              this.loading = false;
6566e8f29   Neeraj Sharma   design and functi...
697
698
699
              this.clear();
            })
            .catch(error => {
6566e8f29   Neeraj Sharma   design and functi...
700
701
702
703
704
705
706
707
708
709
710
711
              if ((this.snackbar = true)) {
                this.text = error.response.data.message;
              }
            });
        }
      },
      mail() {},
      download() {},
      clear() {
        this.$refs.form.reset();
      },
      save() {
5b841b043   Neeraj Sharma   fix upload dyanm...
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
        let editNews = {
          title: this.editedItem.title,
          description: this.editedItem.description,
          newsId: this.editedItem._id,
        };
        if (this.files) {
            var ary = [];
            var imageData = [];
            ary = this.files;
            for (let i = 0; i < ary.length; i++) {
              const [baseUrl, imageUrl] = ary[i].split(/,/);
              imageData.push(imageUrl);
              editNews.upload = imageData;
            }
          }
6566e8f29   Neeraj Sharma   design and functi...
727
728
729
730
731
        http()
          .put("/updateNews", editNews)
          .then(response => {
            // console.log("updateNews",updateNews);
            if ((this.snackbar = true)) {
5f1d4b444   Neeraj Sharma   fix design and fi...
732
              this.text = "Successfully Edit Existing News";
6566e8f29   Neeraj Sharma   design and functi...
733
734
            }
            this.getNewsList();
79006bdcb   Neeraj Sharma   uplaod images all...
735
            this.close();
6566e8f29   Neeraj Sharma   design and functi...
736
737
738
739
          })
          .catch(error => {
            // console.log(error);
          });
6566e8f29   Neeraj Sharma   design and functi...
740
741
742
743
744
745
746
747
748
749
      },
      handleDrawerToggle() {
        window.getApp.$emit("APP_DRAWER_TOGGLED");
      },
      handleFullScreen() {
        Util.toggleFullScreen();
      }
    },
    mounted() {
      this.getNewsList();
5b841b043   Neeraj Sharma   fix upload dyanm...
750
751
752
753
754
755
756
757
758
759
760
761
762
      // var token = this.$store.state.token;
      // http()
      //   .get("/getClassesList", {
      //     headers: { Authorization: "Bearer " + token }
      //   })
      //   .then(response => {
      //     this.addclass = response.data.data;
      //     // console.log("getClassesList=====>",this.addclass)
      //   })
      //   .catch(err => {
      //     // console.log("err====>", err);
      //   });
      this.editItem;
6566e8f29   Neeraj Sharma   design and functi...
763
    },
6566e8f29   Neeraj Sharma   design and functi...
764
765
766
767
768
769
770
771
    computed: {
      toolbarColor() {
        return this.$vuetify.options.extra.mainNav;
      }
    }
  };
  </script>
  <style scoped>
fc82ac667   Neeraj Sharma   fix design and re...
772
  .pl-3 {
5b841b043   Neeraj Sharma   fix upload dyanm...
773
    padding-left: 0px !important;
fc82ac667   Neeraj Sharma   fix design and re...
774
  }
6566e8f29   Neeraj Sharma   design and functi...
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
  .v-tabs__div {
    text-transform: none;
  }
  .v-input__prepend-outer {
    margin-right: 0px !important;
  }
  .v-card__actions .v-btn {
    margin: 0 15px;
    min-width: 120px;
  }
  .primary {
    background-color: #aaa !important;
    border-color: #aaa !important;
  }
  h4 {
    background-repeat: no-repeat;
    padding: 8px;
    margin: auto;
    font-size: 25px;
  }
  #name {
    position: absolute;
    left: 100px;
    top: 17px;
  }
  #icon {
    position: absolute;
    right: 8px;
    top: 8px;
  }
  #m {
    position: relative;
    left: 135px;
    top: -15px;
  }
  #G {
    position: absolute;
    top: 38px;
    color: white;
  }
  #bt {
    position: relative;
    top: -20px;
    left: 115px;
  }
  #e {
    position: relative;
    top: 5px;
    right: -30px;
    height: 17px;
    cursor: pointer;
  }
  #d {
    position: relative;
    top: 5px;
    right: -70px;
    height: 17px;
    cursor: pointer;
  }
  #td {
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
  }
  #dialog {
    height: 550px;
  }
  .active {
    background-color: black;
    color: white !important;
  }
  .activebtn {
    color: black !important;
  }
  #flex {
    height: 300px;
  }
  .top {
    margin-top: 100px;
  }
  .v-tabs__item a {
    font-size: 16px !important;
  }
5b841b043   Neeraj Sharma   fix upload dyanm...
858
  .list {
506be6fd7   Neeraj Sharma   implemet dyamic i...
859
860
    padding: 0 0px !important;
  }
79006bdcb   Neeraj Sharma   uplaod images all...
861
862
  .profile-image-wrapper {
    position: relative;
5b841b043   Neeraj Sharma   fix upload dyanm...
863
864
  }
  .edit-profile-icon {
79006bdcb   Neeraj Sharma   uplaod images all...
865
866
867
868
    position: absolute;
    right: 15px;
    top: 15px;
    cursor: pointer;
5b841b043   Neeraj Sharma   fix upload dyanm...
869
870
871
872
873
874
875
876
  }
  .profile-image-wrapper > .edit-profile-icon {
    right: 10%;
    top: 0%;
    margin-top: 8px;
    border-radius: 50%;
    padding: 7px;
    font-size: 20px;
79006bdcb   Neeraj Sharma   uplaod images all...
877
  }
6566e8f29   Neeraj Sharma   design and functi...
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
  @media screen and (max-width: 769px) {
    .top {
      margin-top: 0 !important;
    }
    .userSearch .v-icon {
      font-size: 20px !important;
      margin-left: 20px;
    }
  }
  @media screen and (max-width: 380px) {
    .right {
      float: none !important;
    }
    .subheading {
      font-size: 14px !important;
    }
    .v-card__actions .v-btn {
      margin: 0 0px;
      min-width: 100px;
    }
    /* .searchIcon .v-icon {
      font-size: 20px;
      margin-left: 20px;
  } */
    .subheading {
      font-size: 12px !important;
    }
    h5 {
      font-size: 13px;
    }
  }
  .v-icon {
    font-size: 30px;
  }
  @media screen and (min-width: 1270px) {
    .hide {
      display: none;
    }
    /* }
  @media screen and (max-width: 962px) {
  .imglogo{
      position: absolute;
      top: 13px;
      left: 13px !important;
      width: 70px;
      height: 24px;
  } */
  }
  @media screen and (max-width: 420px) {
    .userSearch .v-text-field .v-label {
      line-height: 24px !important;
    }
    .userSearch .v-label {
      font-size: 13px !important;
    }
    .v-list__tile {
      font-size: 14px;
      padding: 0 10px;
    }
    .name {
      font-size: 15px;
    }
  }
  </style>