handy-uploader 1.1.8 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +391 -30
  2. package/dist/components/InsertButton.vue.d.ts +24 -0
  3. package/dist/components/SelectFileIconType.vue.d.ts +29 -0
  4. package/dist/components/SimpleUploader.vue.d.ts +60 -0
  5. package/dist/components/TableUploader.vue.d.ts +62 -0
  6. package/dist/components/ThumbnailUploader.vue.d.ts +59 -0
  7. package/dist/components/handyUploader.vue.d.ts +146 -0
  8. package/dist/composables/useErrorHandler.d.ts +39 -0
  9. package/dist/composables/useFileUpload.d.ts +33 -0
  10. package/dist/favicon.ico +0 -0
  11. package/dist/handy-uploader.es.js +2407 -0
  12. package/dist/handy-uploader.umd.js +1 -0
  13. package/dist/lib/index.d.ts +713 -0
  14. package/dist/lib/language.d.ts +39 -0
  15. package/dist/types/index.d.ts +129 -0
  16. package/dist/utils/documentation.d.ts +95 -0
  17. package/dist/utils/fileUtils.d.ts +41 -0
  18. package/dist/utils/propValidation.d.ts +71 -0
  19. package/package.json +59 -56
  20. package/.eslintrc.js +0 -14
  21. package/LICENSE +0 -21
  22. package/babel.config.js +0 -3
  23. package/dist/demo.html +0 -10
  24. package/dist/handyUploader.common.js +0 -30712
  25. package/dist/handyUploader.common.js.map +0 -1
  26. package/dist/handyUploader.css +0 -5
  27. package/dist/handyUploader.umd.js +0 -30722
  28. package/dist/handyUploader.umd.js.map +0 -1
  29. package/dist/handyUploader.umd.min.js +0 -11
  30. package/dist/handyUploader.umd.min.js.map +0 -1
  31. package/package-lock.json +0 -11831
  32. package/src/App.vue +0 -69
  33. package/src/components/InsertButton.vue +0 -61
  34. package/src/components/SelectFileIconType.vue +0 -103
  35. package/src/components/SimpleUploader.vue +0 -401
  36. package/src/components/TableUploader.vue +0 -350
  37. package/src/components/ThumbnailUploader.vue +0 -371
  38. package/src/components/handyUploader.vue +0 -883
  39. package/src/components/index.js +0 -10
  40. package/src/components/language.js +0 -148
  41. package/src/main.js +0 -10
  42. package/src/plugins/vuetify.js +0 -11
  43. package/vue.config.js +0 -3
@@ -1,350 +0,0 @@
1
- <template>
2
- <div>
3
- <v-row>
4
- <v-col cols="12" lg="12" md="12" xs="12">
5
- <v-simple-table
6
- :fixed-header="tableFixedHeader"
7
- :height="tableHeight + 'px'"
8
- >
9
- <template v-slot:default>
10
- <thead>
11
- <tr>
12
- <th v-if="tableThumbColumn" class="text-left">
13
- {{ selectedLang[lang].table.thumb }}
14
- </th>
15
- <th class="text-left">{{ selectedLang[lang].table.name }}</th>
16
- <th class="text-left">{{ selectedLang[lang].table.size }}</th>
17
- <th class="text-left">
18
- {{ selectedLang[lang].table.action.action }}
19
- </th>
20
- </tr>
21
- </thead>
22
- <tbody>
23
- <tr
24
- v-for="(attachment, index) in documentAttachment"
25
- :key="`attachment-${index}`"
26
- >
27
- <td v-if="tableThumbColumn">
28
- <template
29
- v-if="
30
- attachment.file.name
31
- .split('.')
32
- .pop()
33
- .toLowerCase() == 'jpg' ||
34
- attachment.file.name
35
- .split('.')
36
- .pop()
37
- .toLowerCase() == 'jpeg' ||
38
- attachment.file.name
39
- .split('.')
40
- .pop()
41
- .toLowerCase() == 'png' ||
42
- attachment.file.name
43
- .split('.')
44
- .pop()
45
- .toLowerCase() == 'tif' ||
46
- attachment.file.name
47
- .split('.')
48
- .pop()
49
- .toLowerCase() == 'bmp'
50
- "
51
- >
52
- <v-img
53
- v-if="thumb"
54
- style="margin: 10px"
55
- :src="
56
- 'data:' +
57
- attachment.file.format +
58
- ',' +
59
- attachment.file.base64
60
- "
61
- height="50px"
62
- width="50px"
63
- ></v-img>
64
- <v-icon
65
- v-else
66
- style="margin-left: 10px"
67
- size="50"
68
- file-word-outline
69
- color="deep-purple darken-1"
70
- >mdi-file-image-outline</v-icon
71
- >
72
- </template>
73
- <template v-else>
74
- <v-icon
75
- v-if="
76
- attachment.file.name
77
- .split('.')
78
- .pop()
79
- .toLowerCase() === 'pdf'
80
- "
81
- style="margin-left: 10px"
82
- size="50"
83
- file-word-outline
84
- color="red darken-1"
85
- >mdi-file-pdf-outline</v-icon
86
- >
87
- <v-icon
88
- v-else-if="
89
- attachment.file.name
90
- .split('.')
91
- .pop()
92
- .toLowerCase() === 'doc' ||
93
- attachment.file.name
94
- .split('.')
95
- .pop()
96
- .toLowerCase() === 'docx' ||
97
- attachment.file.name
98
- .split('.')
99
- .pop()
100
- .toLowerCase() === 'odt'
101
- "
102
- style="margin-left: 10px"
103
- size="50"
104
- file-word-outline
105
- color="blue darken-1"
106
- >mdi-file-word-outline</v-icon
107
- >
108
- <v-icon
109
- v-else-if="
110
- attachment.file.name
111
- .split('.')
112
- .pop()
113
- .toLowerCase() === 'xls' ||
114
- attachment.file.name
115
- .split('.')
116
- .pop()
117
- .toLowerCase() === 'xlsx'
118
- "
119
- style="margin-left: 10px"
120
- size="50"
121
- file-word-outline
122
- color="teal darken-1"
123
- >mdi-file-excel-outline</v-icon
124
- >
125
- <v-icon
126
- v-else-if="
127
- attachment.file.name
128
- .split('.')
129
- .pop()
130
- .toLowerCase() === 'pptx' ||
131
- attachment.file.name
132
- .split('.')
133
- .pop()
134
- .toLowerCase() === 'pptm' ||
135
- attachment.file.name
136
- .split('.')
137
- .pop()
138
- .toLowerCase() === 'ppt'
139
- "
140
- style="margin-left: 10px"
141
- size="50"
142
- file-word-outline
143
- color="orange darken-3"
144
- >mdi-file-powerpoint-outline</v-icon
145
- >
146
- <v-icon
147
- v-else-if="
148
- attachment.file.name
149
- .split('.')
150
- .pop()
151
- .toLowerCase() === 'mp4' ||
152
- attachment.file.name
153
- .split('.')
154
- .pop()
155
- .toLowerCase() === 'mov' ||
156
- attachment.file.name
157
- .split('.')
158
- .pop()
159
- .toLowerCase() === 'flv' ||
160
- attachment.file.name
161
- .split('.')
162
- .pop()
163
- .toLowerCase() === 'wmv' ||
164
- attachment.file.name
165
- .split('.')
166
- .pop()
167
- .toLowerCase() === 'avi'
168
- "
169
- style="margin-left: 10px"
170
- size="50"
171
- file-word-outline
172
- color="red lighten-1"
173
- >mdi-file-video-outline</v-icon
174
- >
175
- <v-icon
176
- v-else-if="
177
- attachment.file.name
178
- .split('.')
179
- .pop()
180
- .toLowerCase() === 'dwg'
181
- "
182
- style="margin-left: 10px"
183
- size="50"
184
- file-word-outline
185
- color="indigo lighten-2"
186
- >mdi-file-cad</v-icon
187
- >
188
- <v-icon
189
- v-else-if="
190
- attachment.file.name
191
- .split('.')
192
- .pop()
193
- .toLowerCase() === 'zip' ||
194
- attachment.file.name
195
- .split('.')
196
- .pop()
197
- .toLowerCase() === 'rar' ||
198
- attachment.file.name
199
- .split('.')
200
- .pop()
201
- .toLowerCase() === '7-zip'
202
- "
203
- size="120"
204
- file-word-outline
205
- color="lime lighten-1"
206
- >mdi-folder-zip-outline</v-icon
207
- >
208
- <v-icon
209
- v-else-if="
210
- attachment.file.name
211
- .split('.')
212
- .pop()
213
- .toLowerCase() === 'txt'
214
- "
215
- style="margin-left: 10px"
216
- size="50"
217
- file-word-outline
218
- color="light-green darken-3"
219
- >mdi-script-text-outline</v-icon
220
- >
221
- <v-icon
222
- v-else
223
- x-large
224
- file-word-outline
225
- color="indigo lighten-1"
226
- >mdi-file-question-outline</v-icon
227
- >
228
- </template>
229
- </td>
230
- <td>{{ attachment.file.name }}</td>
231
- <td>
232
- <v-card-subtitle
233
- v-if="
234
- Number((attachment.file.size / 1000).toFixed(1)) < 1024
235
- "
236
- class="mt2"
237
- >
238
- <v-chip color="teal lighten-2" label text-color="white">
239
- {{
240
- Number((attachment.file.size / 1000).toFixed(1)) +
241
- selectedLang[lang].size.kb
242
- }}
243
- <v-icon right>mdi-harddisk</v-icon>
244
- </v-chip>
245
- </v-card-subtitle>
246
- <v-card-subtitle
247
- v-if="
248
- Number((attachment.file.size / 1000).toFixed(1)) > 1024
249
- "
250
- >
251
- <v-chip color="teal lighten-2" label text-color="white">
252
- {{
253
- Number(
254
- (attachment.file.size / 1000 / 1024).toFixed(1)
255
- ) + selectedLang[lang].size.mb
256
- }}
257
- <v-icon right>mdi-harddisk</v-icon>
258
- </v-chip>
259
- </v-card-subtitle>
260
- </td>
261
- <td>
262
- <v-tooltip top>
263
- <template v-slot:activator="{ on }">
264
- <v-btn
265
- v-if="deletePermission"
266
- icon
267
- color="red"
268
- v-on="on"
269
- @click="openDeleteDialog(index, '')"
270
- ><v-icon>mdi-delete</v-icon></v-btn
271
- >
272
- </template>
273
- <span>{{
274
- selectedLang[lang].table.action.deleteTooltip
275
- }}</span>
276
- </v-tooltip>
277
- <v-tooltip top>
278
- <template v-slot:activator="{ on }">
279
- <v-btn
280
- v-if="editPermission"
281
- text
282
- fab
283
- v-on="on"
284
- @click="openEditDocumentDialog(attachment, index)"
285
- ><v-icon color="green"
286
- >mdi-pencil-outline</v-icon
287
- ></v-btn
288
- >
289
- </template>
290
- <span class="BYekan">{{ selectedLang[lang].edit }}</span>
291
- </v-tooltip>
292
- </td>
293
- </tr>
294
- </tbody>
295
- </template>
296
- </v-simple-table>
297
- </v-col>
298
- </v-row>
299
- </div>
300
- </template>
301
-
302
- <script>
303
- export default {
304
- props: {
305
- documentAttachment: [Array],
306
- thumb: {
307
- type: Boolean,
308
- default: true
309
- },
310
- lang: {
311
- type: String,
312
- default: "en"
313
- },
314
- cols: {
315
- type: Number,
316
- default: 4
317
- },
318
- editPermission: {
319
- type: Boolean,
320
- default: true
321
- },
322
- deletePermission: {
323
- type: Boolean,
324
- default: true
325
- },
326
- tableThumbColumn: Boolean,
327
- tableFixedHeader: {
328
- type: Boolean,
329
- default: true
330
- },
331
- tableHeight: {
332
- type: Number,
333
- default: 400
334
- },
335
- selectedLang: {}
336
- },
337
- data: () => ({}),
338
- methods: {
339
- setCardTheme() {
340
- this.$emit("setCardTheme");
341
- },
342
- openDeleteDialog(index, deleteId) {
343
- this.$emit("openDeleteDialog", index, deleteId);
344
- },
345
- openEditDocumentDialog(item, index) {
346
- this.$emit("openEditDocumentDialog", item, index);
347
- }
348
- }
349
- };
350
- </script>