├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── LICENSE
├── README.md
├── _config.yml
├── assets
├── README.md
└── variables.scss
├── components
├── InsertButton.vue
├── README.md
├── SelectFileIconType.vue
├── SimpleUploader.vue
├── TableUploader.vue
├── ThumbnailUploader.vue
├── fileUploader copy.vue
├── fileUploader.vue
└── language.js
├── content
└── doc.md
├── layouts
├── README.md
├── default.vue
└── error.vue
├── middleware
└── README.md
├── nuxt.config.js
├── package-lock.json
├── package.json
├── pages
├── README.md
├── documentation.vue
├── index.vue
├── simple.vue
├── table.vue
└── thumbnail.vue
├── plugins
└── README.md
├── static
├── README.md
├── favicon.ico
├── icon.png
├── v.png
├── vue-file-uploader.png
└── vuetify-logo.svg
├── store
└── README.md
├── tsconfig.json
└── vue-shim.d.ts
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "env": {
3 | "browser": true,
4 | "es2021": true
5 | },
6 | "extends": [
7 | "eslint:recommended",
8 | "plugin:vue/essential"
9 | ],
10 | "parserOptions": {
11 | "ecmaVersion": 12,
12 | "sourceType": "module"
13 | },
14 | "plugins": [
15 | "vue"
16 | ],
17 | "rules": {
18 | }
19 | };
20 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Node template
3 | # Logs
4 | /logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Runtime data
11 | pids
12 | *.pid
13 | *.seed
14 | *.pid.lock
15 |
16 | # Directory for instrumented libs generated by jscoverage/JSCover
17 | lib-cov
18 |
19 | # Coverage directory used by tools like istanbul
20 | coverage
21 |
22 | # nyc test coverage
23 | .nyc_output
24 |
25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
26 | .grunt
27 |
28 | # Bower dependency directory (https://bower.io/)
29 | bower_components
30 |
31 | # node-waf configuration
32 | .lock-wscript
33 |
34 | # Compiled binary addons (https://nodejs.org/api/addons.html)
35 | build/Release
36 |
37 | # Dependency directories
38 | node_modules/
39 | jspm_packages/
40 |
41 | # TypeScript v1 declaration files
42 | typings/
43 |
44 | # Optional npm cache directory
45 | .npm
46 |
47 | # Optional eslint cache
48 | .eslintcache
49 |
50 | # Optional REPL history
51 | .node_repl_history
52 |
53 | # Output of 'npm pack'
54 | *.tgz
55 |
56 | # Yarn Integrity file
57 | .yarn-integrity
58 |
59 | # dotenv environment variables file
60 | .env
61 |
62 | # parcel-bundler cache (https://parceljs.org/)
63 | .cache
64 |
65 | # next.js build output
66 | .next
67 |
68 | # nuxt.js build output
69 | .nuxt
70 |
71 | # Nuxt generate
72 | dist
73 |
74 | # vuepress build output
75 | .vuepress/dist
76 |
77 | # Serverless directories
78 | .serverless
79 |
80 | # IDE / Editor
81 | .idea
82 |
83 | # Service worker
84 | sw.*
85 |
86 | # macOS
87 | .DS_Store
88 |
89 | # Vim swap files
90 | *.swp
91 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 ali jahanpak
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 |
4 | # vue-file-uploader
5 |
6 | > Complete and simple file uploader with image compressor in Vue.js
7 |
8 | + Choice Theme : Thumbnail, Simple, Table
9 | + Add custom fields (Title, Description, Tags, ...)
10 | + Image compressor
11 | + Select level for Image compressor
12 | + Mange file extensions
13 | + Manage files count
14 | + Manage files size
15 | + Multi languages support
16 | + Add custom language
17 | + Right to left support
18 | + Multi file upload
19 | + Responsive
20 | + ...
21 |
22 | ## Examples
23 | - [Demo](https://friendly-varahamihira-45c09f.netlify.app)
24 |
25 | ## Documentation
26 | - [Documentation](https://friendly-varahamihira-45c09f.netlify.app/documentation)
27 |
28 | ## Install
29 | ```bash
30 | # install
31 | $ npm install handy-uploader
32 |
33 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
--------------------------------------------------------------------------------
/assets/README.md:
--------------------------------------------------------------------------------
1 | # ASSETS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).
8 |
--------------------------------------------------------------------------------
/assets/variables.scss:
--------------------------------------------------------------------------------
1 | // Ref: https://github.com/nuxt-community/vuetify-module#customvariables
2 | //
3 | // The variables you want to modify
4 | // $font-size-root: 20px;
5 |
--------------------------------------------------------------------------------
/components/InsertButton.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 | {{selectedLang[lang].insertFile}}
12 |
13 |
14 |
15 | {{selectedLang[lang].insertFile}}
16 |
17 |
18 |
19 | {{selectedLang[lang].insertFile}}
20 |
21 |
22 |
23 |
24 |
25 |
55 |
--------------------------------------------------------------------------------
/components/README.md:
--------------------------------------------------------------------------------
1 | # COMPONENTS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | The components directory contains your Vue.js Components.
6 |
7 | _Nuxt.js doesn't supercharge these components._
8 |
--------------------------------------------------------------------------------
/components/SelectFileIconType.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | mdi-file-pdf-outline
4 | mdi-file-word-outline
5 | mdi-file-image-outline
6 | mdi-file-excel-outline
7 | mdi-file-powerpoint-outline
8 | mdi-file-video-outline
9 | mdi-file-cad
10 | mdi-folder-zip-outline
11 | mdi-script-text-outline
12 | mdi-file-question-outline
13 |
14 |
15 |
16 |
17 |
31 |
--------------------------------------------------------------------------------
/components/SimpleUploader.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
13 | {{attachment.file.name}}
14 |
15 |
20 | {{ Number((attachment.file.size / 1000).toFixed(1)) +' '+ selectedLang[lang].size.kb}}
21 | mdi-harddisk
22 |
23 |
24 |
25 |
30 | {{ Number(((attachment.file.size / 1000) / 1024 ).toFixed(1)) +' '+ selectedLang[lang].size.mb}}
31 | mdi-harddisk
32 |
33 |
34 |
35 |
40 |
41 |
45 | mdi-file-image-outline
46 |
47 |
48 | mdi-file-pdf-outline
49 | mdi-file-word-outline
50 | mdi-file-image-outline
51 | mdi-file-excel-outline
52 | mdi-file-powerpoint-outline
53 | mdi-file-video-outline
54 | mdi-file-cad
55 | mdi-folder-zip-outline
56 | mdi-script-text-outline
57 | mdi-file-question-outline
58 |
59 |
60 |
61 |
64 |
65 |
66 |
67 | mdi-trash-can-outline
68 |
69 | {{selectedLang[lang].delete}}
70 |
71 |
72 |
73 | mdi-pencil-outline
74 |
75 | {{selectedLang[lang].edit}}
76 |
77 |
78 |
79 |
80 |
85 | {{ attachment.file.showDetailState ? 'mdi-chevron-up' : 'mdi-chevron-down' }}
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
99 |
100 | {{tag}}
101 |
102 |
103 |
104 | {{attachment.file.description}}
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
161 |
--------------------------------------------------------------------------------
/components/TableUploader.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {{selectedLang[lang].table.thumb}} |
10 | {{selectedLang[lang].table.name}} |
11 | {{selectedLang[lang].table.size}} |
12 | {{selectedLang[lang].table.action.action}} |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
26 | mdi-file-image-outline
27 |
28 |
29 | mdi-file-pdf-outline
30 | mdi-file-word-outline
31 | mdi-file-excel-outline
32 | mdi-file-powerpoint-outline
33 | mdi-file-video-outline
34 | mdi-file-cad
35 | mdi-folder-zip-outline
36 | mdi-script-text-outline
37 | mdi-file-question-outline
38 |
39 | |
40 | {{ attachment.file.name }} |
41 |
42 |
43 |
48 | {{ Number((attachment.file.size / 1000).toFixed(1)) + selectedLang[lang].size.kb}}
49 | mdi-harddisk
50 |
51 |
52 |
53 |
58 | {{ Number(((attachment.file.size / 1000) / 1024 ).toFixed(1)) + selectedLang[lang].size.mb}}
59 | mdi-harddisk
60 |
61 |
62 | |
63 |
64 |
65 |
66 | mdi-delete
67 |
68 | {{selectedLang[lang].table.action.deleteTooltip}}
69 |
70 |
71 |
72 | mdi-pencil-outline
73 |
74 | {{selectedLang[lang].edit}}
75 |
76 | |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
136 |
--------------------------------------------------------------------------------
/components/ThumbnailUploader.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
14 |
18 |
19 |
20 |
27 |
28 | mdi-file-pdf-outline
29 | mdi-file-word-outline
30 | mdi-file-excel-outline
31 | mdi-file-powerpoint-outline
32 | mdi-file-video-outline
33 | mdi-file-cad
34 | mdi-folder-zip-outline
35 | mdi-script-text-outline
36 | mdi-file-question-outline
37 |
38 |
39 |
40 |
41 |
42 | {{attachment.file.name}}
43 |
44 |
45 |
50 | {{ Number((attachment.file.size / 1000).toFixed(1)) +' '+ selectedLang[lang].size.kb}}
51 | mdi-harddisk
52 |
53 |
54 |
55 |
60 | {{ Number(((attachment.file.size / 1000) / 1024 ).toFixed(1)) +' '+ selectedLang[lang].size.mb}}
61 | mdi-harddisk
62 |
63 |
64 |
67 |
68 |
69 |
70 |
71 | mdi-trash-can-outline
72 |
73 | {{selectedLang[lang].delete}}
74 |
75 |
76 |
77 | mdi-pencil-outline
78 |
79 | {{selectedLang[lang].edit}}
80 |
81 |
82 |
83 |
84 |
89 | {{ attachment.file.showDetailState ? 'mdi-chevron-up' : 'mdi-chevron-down' }}
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
103 |
104 | {{tag}}
105 |
106 |
107 |
108 | {{attachment.file.description}}
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
166 |
--------------------------------------------------------------------------------
/components/fileUploader copy.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
14 | {{selectedLang[lang].insertFile}}
15 |
16 |
17 |
18 | {{selectedLang[lang].insertFile}}
19 |
20 |
21 |
22 | {{selectedLang[lang].insertFile}}
23 |
24 |
25 |
26 |
32 |
33 |
34 | {{attachment.file.name}}
35 |
36 |
41 | {{ Number((attachment.file.size / 1000).toFixed(1)) +' '+ selectedLang[lang].size.kb}}
42 | mdi-harddisk
43 |
44 |
45 |
46 |
51 | {{ Number(((attachment.file.size / 1000) / 1024 ).toFixed(1)) +' '+ selectedLang[lang].size.mb}}
52 | mdi-harddisk
53 |
54 |
55 |
56 |
61 |
62 |
66 | mdi-file-image-outline
67 |
68 |
69 | mdi-file-pdf-outline
70 | mdi-file-word-outline
71 | mdi-file-image-outline
72 | mdi-file-excel-outline
73 | mdi-file-powerpoint-outline
74 | mdi-file-video-outline
75 | mdi-file-cad
76 | mdi-folder-zip-outline
77 | mdi-script-text-outline
78 | mdi-file-question-outline
79 |
80 |
81 |
82 |
85 |
86 |
87 |
88 | mdi-trash-can-outline
89 |
90 | {{selectedLang[lang].delete}}
91 |
92 |
93 |
94 | mdi-pencil-outline
95 |
96 | {{selectedLang[lang].edit}}
97 |
98 |
99 |
100 |
101 |
106 | {{ attachment.file.showDetailState ? 'mdi-chevron-up' : 'mdi-chevron-down' }}
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
120 |
121 | {{tag}}
122 |
123 |
124 |
125 | {{attachment.file.description}}
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
143 |
144 |
148 |
149 |
150 |
157 |
158 | mdi-file-pdf-outline
159 | mdi-file-word-outline
160 | mdi-file-excel-outline
161 | mdi-file-powerpoint-outline
162 | mdi-file-video-outline
163 | mdi-file-cad
164 | mdi-folder-zip-outline
165 | mdi-script-text-outline
166 | mdi-file-question-outline
167 |
168 |
169 |
170 |
171 |
172 | {{attachment.file.name}}
173 |
174 |
175 |
180 | {{ Number((attachment.file.size / 1000).toFixed(1)) +' '+ selectedLang[lang].size.kb}}
181 | mdi-harddisk
182 |
183 |
184 |
185 |
190 | {{ Number(((attachment.file.size / 1000) / 1024 ).toFixed(1)) +' '+ selectedLang[lang].size.mb}}
191 | mdi-harddisk
192 |
193 |
194 |
197 |
198 |
199 |
200 |
201 | mdi-trash-can-outline
202 |
203 | {{selectedLang[lang].delete}}
204 |
205 |
206 |
207 | mdi-pencil-outline
208 |
209 | {{selectedLang[lang].edit}}
210 |
211 |
212 |
213 |
214 |
219 | {{ attachment.file.showDetailState ? 'mdi-chevron-up' : 'mdi-chevron-down' }}
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
233 |
234 | {{tag}}
235 |
236 |
237 |
238 | {{attachment.file.description}}
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 | {{selectedLang[lang].table.thumb}} |
254 | {{selectedLang[lang].table.name}} |
255 | {{selectedLang[lang].table.size}} |
256 | {{selectedLang[lang].table.action.action}} |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
270 | mdi-file-image-outline
271 |
272 |
273 | mdi-file-pdf-outline
274 | mdi-file-word-outline
275 | mdi-file-excel-outline
276 | mdi-file-powerpoint-outline
277 | mdi-file-video-outline
278 | mdi-file-cad
279 | mdi-folder-zip-outline
280 | mdi-script-text-outline
281 | mdi-file-question-outline
282 |
283 | |
284 | {{ attachment.file.name }} |
285 |
286 |
287 |
292 | {{ Number((attachment.file.size / 1000).toFixed(1)) + selectedLang[lang].size.kb}}
293 | mdi-harddisk
294 |
295 |
296 |
297 |
302 | {{ Number(((attachment.file.size / 1000) / 1024 ).toFixed(1)) + selectedLang[lang].size.mb}}
303 | mdi-harddisk
304 |
305 |
306 | |
307 |
308 |
309 |
310 | mdi-delete
311 |
312 | {{selectedLang[lang].table.action.deleteTooltip}}
313 |
314 |
315 |
316 | mdi-pencil-outline
317 |
318 | {{selectedLang[lang].edit}}
319 |
320 | |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 | mdi-close
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
346 | {{attachment.name}}
347 |
348 |
349 |
350 |
356 |
357 |
364 |
365 |
374 |
375 |
376 |
377 |
378 |
381 |
382 |
383 |
384 | mdi-file-pdf-outline
385 | mdi-file-word-outline
386 | mdi-file-image-outline
387 | mdi-file-excel-outline
388 | mdi-file-powerpoint-outline
389 | mdi-file-video-outline
390 | mdi-file-cad
391 | mdi-folder-zip-outline
392 | mdi-script-text-outline
393 | mdi-file-question-outline
394 |
395 |
396 |
397 |
398 |
399 |
400 |
405 |
406 |
407 |
408 | mdi-file-pdf-outline
409 | mdi-file-word-outline
410 | mdi-file-image-outline
411 | mdi-file-excel-outline
412 | mdi-file-powerpoint-outline
413 | mdi-file-video-outline
414 | mdi-file-cad
415 | mdi-folder-zip-outline
416 | mdi-script-text-outline
417 | mdi-file-question-outline
418 | {{attachment.name}}.{{attachment.format}}
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 | {{selectedLang[lang].add}}
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 | mdi-close
438 |
439 |
440 |
441 |
442 |
448 |
449 |
456 |
457 |
466 |
467 |
468 |
469 |
470 |
473 |
474 |
475 |
476 | mdi-file-pdf-outline
477 | mdi-file-word-outline
478 | mdi-file-image-outline
479 | mdi-file-excel-outline
480 | mdi-file-powerpoint-outline
481 | mdi-file-video-outline
482 | mdi-file-cad
483 | mdi-folder-zip-outline
484 | mdi-script-text-outline
485 | mdi-file-question-outline
486 |
487 |
488 |
489 |
490 |
491 | {{selectedLang[lang].edit}}
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
506 | {{fileUploaderSnackText}}
507 |
512 | mdi-close
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 | {{selectedLang[lang].deleteDialog.message}}
525 |
526 |
527 |
528 | {{selectedLang[lang].deleteDialog.cancel}}
529 | {{selectedLang[lang].delete}}
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
1040 |
--------------------------------------------------------------------------------
/components/fileUploader.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
14 |
15 |
33 |
34 |
52 |
53 |
74 |
75 |
76 |
77 |
78 |
79 |
85 |
86 |
87 | mdi-close
88 |
89 |
90 |
91 |
99 |
105 |
106 |
107 |
110 |
114 | {{
115 | attachment.name
116 | }}
117 |
118 |
119 |
120 |
126 |
127 |
134 |
135 |
144 |
145 |
146 |
155 |
156 |
157 |
158 |
159 |
160 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
177 |
178 |
179 |
180 |
181 | {{ attachment.name }}.{{ attachment.format }}
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 | {{ selectedLang[lang].add }}
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
210 |
211 |
212 | mdi-close
213 |
214 |
219 |
220 |
221 |
227 |
228 |
235 |
236 |
245 |
246 |
247 |
271 |
272 |
277 |
278 |
279 |
280 |
284 |
285 |
286 |
287 |
288 |
289 |
290 | {{ selectedLang[lang].edit }}
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
313 | {{ fileUploaderSnackText }}
314 |
315 | mdi-close
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 | {{ selectedLang[lang].deleteDialog.message }}
328 |
329 |
330 |
331 | {{ selectedLang[lang].deleteDialog.cancel }}
338 | {{ selectedLang[lang].delete }}
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
881 |
--------------------------------------------------------------------------------
/components/language.js:
--------------------------------------------------------------------------------
1 | export default{
2 | en:{
3 | insertFile: 'Insert File',
4 | insertNewFile: 'Insert New File',
5 | add: 'Add',
6 | delete: 'Delete',
7 | edit: 'Edit',
8 | deleteDialog:{
9 | message: 'Are you sure you want to delete the file?',
10 | cancel: 'cancel',
11 | },
12 | table:{
13 | thumb: 'Thumb',
14 | name: 'Name',
15 | size: 'Size',
16 | tags: 'tags',
17 | action:{
18 | action: 'Action',
19 | deleteTooltip: 'Delete'
20 | }
21 | },
22 | size:{
23 | kb: 'KB',
24 | mb: 'MB',
25 | },
26 | maxFileSizeAlert: 'Max file Size is',
27 | maxFileCountAlert: 'Max file Count is',
28 | fileName: 'File Name',
29 | fileDescription: 'File Description',
30 | fileTags: 'File Tags',
31 | },
32 | fa:{
33 | insertFile: 'افزودن فایل',
34 | insertNewFile: 'افزودن فایل جدید',
35 | add: 'افزودن',
36 | delete: 'حذف',
37 | edit: 'ویرایش',
38 | deleteDialog:{
39 | message: 'آیا برای حذف فایل اطمینان دارید؟',
40 | cancel: 'لغو',
41 | },
42 | table:{
43 | thumb: 'پیش نمایش',
44 | name: 'نام',
45 | size: 'حجم',
46 | action:{
47 | action: 'عملیات',
48 | deleteTooltip: 'حذف'
49 | }
50 | },
51 | size:{
52 | kb: 'کیلو بایت',
53 | mb: 'مگابایت'
54 | },
55 | maxSizeAlert: 'حداکثر حجم فایل انتحابی ',
56 | maxFileCountAlert: 'حداکثر تعداد فایل انتخابی',
57 | fileName: 'نام فایل',
58 | fileDescription: 'توضیحات فایل',
59 | fileTags: 'برچسب فایل',
60 | },
61 | fr:{
62 | insertFile: 'Insérer un fichier',
63 | insertNewFile: 'Insérer un nouveau fichier',
64 | add: 'Ajouter',
65 | delete: 'Supprimer',
66 | edit: 'Éditer',
67 | deleteDialog:{
68 | message: 'Voulez-vous vraiment supprimer le fichier?',
69 | cancel: 'Annuler',
70 | },
71 | table:{
72 | thumb: 'la vignette',
73 | name: 'Nom',
74 | size: 'Taille',
75 | action:{
76 | action: 'Action',
77 | deleteTooltip: 'Supprimer'
78 | }
79 | },
80 | size:{
81 | kb: 'KB',
82 | mb: 'MB',
83 | },
84 | maxSizeAlert: 'La taille maximale du fichier est',
85 | maxFileCountAlert: 'Le nombre maximal de fichiers est',
86 | fileName: 'Nom de fichier',
87 | fileDescription: 'description du fichier',
88 | fileTags: 'Balises de fichier',
89 | },
90 | ch:{
91 | insertFile: '插入档案',
92 | insertNewFile: '插入新文件',
93 | add: '加',
94 | delete: '删除',
95 | edit: '编辑',
96 | deleteDialog:{
97 | message: '您确定要删除文件吗?',
98 | cancel: '取消',
99 | },
100 | table:{
101 | thumb: '缩图',
102 | name: '名称',
103 | size: '尺寸',
104 | action:{
105 | action: '行动',
106 | deleteTooltip: '删除'
107 | }
108 | },
109 | size:{
110 | kb: 'KB',
111 | mb: 'MB',
112 | },
113 | maxSizeAlert: '档案大小上限为',
114 | maxFileCountAlert: '现“最大文件数”为',
115 | fileName: '文档名称',
116 | fileDescription: '文件描述',
117 | fileTags: '文件标签',
118 | },
119 | ar:{
120 | insertFile: 'إدراج ملف',
121 | insertNewFile: 'إدراج ملف جديد',
122 | add: 'أضف',
123 | delete: 'حذف',
124 | edit: 'تعديل',
125 | deleteDialog:{
126 | message: 'هل أنت متأكد أنك تريد حذف الملف؟',
127 | cancel: 'إلغاء',
128 | },
129 | table:{
130 | thumb: 'ظفري',
131 | name: 'اسم',
132 | size: 'بحجم',
133 | action:{
134 | action: 'عمل',
135 | deleteTooltip: 'حذف'
136 | }
137 | },
138 | size:{
139 | kb: 'کیلو بایت',
140 | mb: 'ميغا بايت'
141 | },
142 | maxSizeAlert: 'الحجم الأقصى للملف هو',
143 | maxFileCountAlert: 'الحد الأقصى لعدد الملفات هو',
144 | fileName: 'اسم الملف',
145 | fileDescription: 'وصف الملف',
146 | fileTags: 'علامات الملف',
147 | },
148 | }
149 |
--------------------------------------------------------------------------------
/content/doc.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Why I don't care about the starbucks cup in Game of Thrones
3 | ---
4 |
5 | Hey Everyone, this is simple a test blog post to show you
6 | the functionality of nuxt markdown blog.
7 |
8 | ---
9 |
--------------------------------------------------------------------------------
/layouts/README.md:
--------------------------------------------------------------------------------
1 | # LAYOUTS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your Application Layouts.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
8 |
--------------------------------------------------------------------------------
/layouts/default.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
12 | mdi-white-balance-sunny
13 | mdi-weather-night
14 |
15 |
16 |
17 |
18 | Documentation
19 |
20 |
21 |
22 | Examples
23 |
24 |
25 |
26 | mdi-github Github
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
39 | © {{ new Date().getFullYear() }} - MIT License
40 |
41 |
42 |
43 |
44 |
66 |
--------------------------------------------------------------------------------
/layouts/error.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ pageNotFound }}
5 |
6 |
7 | {{ otherError }}
8 |
9 |
10 | Home page
11 |
12 |
13 |
14 |
15 |
39 |
40 |
45 |
--------------------------------------------------------------------------------
/middleware/README.md:
--------------------------------------------------------------------------------
1 | # MIDDLEWARE
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your application middleware.
6 | Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
7 |
8 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
9 |
--------------------------------------------------------------------------------
/nuxt.config.js:
--------------------------------------------------------------------------------
1 | import colors from 'vuetify/es5/util/colors'
2 | import hljs from 'highlight.js';
3 |
4 | export default {
5 | mode: 'spa',
6 | /*
7 | ** Headers of the page
8 | */
9 | generate: {
10 | fallback: true
11 | },
12 | head: {
13 | titleTemplate: 'Handy Uploader',
14 | title: process.env.npm_package_name || '',
15 | meta: [
16 | { charset: 'utf-8' },
17 | { name: 'viewport', content: 'width=device-width, initial-scale=1' },
18 | { hid: 'description', name: 'description', content: process.env.npm_package_description || '' }
19 | ],
20 | link: [
21 | { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
22 | ]
23 | },
24 | /*
25 | ** Customize the progress-bar color
26 | */
27 | loading: { color: '#fff' },
28 | /*
29 | ** Global CSS
30 | */
31 | css: [
32 | 'highlight.js/styles/github.css'
33 | ],
34 | /*
35 | ** Plugins to load before mounting the App
36 | */
37 | plugins: [
38 | ],
39 | /*
40 | ** Nuxt.js dev-modules
41 | */
42 | buildModules: [
43 | '@nuxt/typescript-build',
44 | '@nuxtjs/vuetify',
45 | '@nuxtjs/markdownit',
46 | ],
47 |
48 | markdownit: {
49 | highlight: function (str, lang) {
50 | if (lang && hljs.getLanguage(lang)) {
51 | try {
52 | return '
' +
53 | hljs.highlight(lang, str, true).value +
54 | '
';
55 | } catch (__) {}
56 | }
57 |
58 | return '' + md.utils.escapeHtml(str) + '
';
59 | }
60 | },
61 | /*
62 | ** Nuxt.js modules
63 | */
64 | modules: [
65 | // Doc: https://axios.nuxtjs.org/usage
66 | ],
67 | /*
68 | ** Axios module configuration
69 | ** See https://axios.nuxtjs.org/options
70 | */
71 | axios: {
72 | },
73 | /*
74 | ** vuetify module configuration
75 | ** https://github.com/nuxt-community/vuetify-module
76 | */
77 | vuetify: {
78 | customVariables: ['~/assets/variables.scss'],
79 | theme: {
80 | themes: {
81 | dark: {
82 | primary: colors.blue.darken2,
83 | accent: colors.grey.darken3,
84 | secondary: colors.amber.darken3,
85 | info: colors.teal.lighten1,
86 | warning: colors.amber.base,
87 | error: colors.deepOrange.accent4,
88 | success: colors.green.accent3
89 | }
90 | }
91 | }
92 | },
93 | /*
94 | ** Build configuration
95 | */
96 | build: {
97 | /*
98 | ** You can extend webpack config here
99 | */
100 |
101 | extend (config, ctx) {
102 |
103 | }
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-file-uploader",
3 | "version": "1.1.1",
4 | "description": "Complete and simple file uploader with image compressor in Vue.js. ",
5 | "author": "Ali Jahanapak",
6 | "private": true,
7 | "scripts": {
8 | "dev": "nuxt-ts",
9 | "build": "nuxt-ts build",
10 | "start": "nuxt-ts start",
11 | "generate": "nuxt-ts generate"
12 | },
13 | "dependencies": {
14 | "@nuxt/typescript-runtime": "^0.4.8",
15 | "@nuxtjs/markdownit": "^1.2.9",
16 | "highlightjs": "^9.16.2",
17 | "markdown-it": "^11.0.0",
18 | "markdown-it-attrs": "^3.0.3",
19 | "markdown-it-div": "^1.1.0",
20 | "nuxt": "^2.15.4"
21 | },
22 | "devDependencies": {
23 | "@nuxt/typescript-build": "^0.6.7",
24 | "@nuxtjs/vuetify": "^1.0.0",
25 | "eslint": "^7.23.0",
26 | "eslint-plugin-vue": "^7.8.0"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/pages/README.md:
--------------------------------------------------------------------------------
1 | # OverView
2 |
3 |
4 | Complete and simple file uploader with image compressor in Vue.js
5 |
6 |
7 | + Choice Theme : Thumbnail, Simple, Table
8 | + Add custom fields (Title, Description, Tags, ...)
9 | + Image compressor
10 | + Select level for Image compressor
11 | + Mange file extensions
12 | + Manage files count
13 | + Manage files size
14 | + Multi languages support
15 | + Add custom language
16 | + Right to left support
17 | + Multi file upload
18 | + Responsive
19 | + ...
20 |
21 |
22 |
23 | # Install
24 |
25 |
26 |
27 | 1. Install package:
28 | ``` bash
29 | $npm install handy-uploader
30 | ```
31 |
32 |
33 | 2. You should Install Vuetify on project:
34 |
35 | ### Install on Vue CLI
36 | ``` bash
37 | $vue add vuetify
38 | ```
39 | ### Install on Nuxt
40 | ``` bash
41 | $npm install @nuxtjs/vuetify -D
42 | ```
43 | Once installed, update your `nuxt.config.js` file to include the Vuetify module in the build.
44 |
45 | ``` js
46 | // nuxt.config.js
47 |
48 | buildModules: [
49 | '@nuxtjs/vuetify',
50 | ]
51 | ```
52 |
53 |
54 | ## Build Setup
55 |
56 |
57 |
58 | Import handy-uploader to project
59 |
60 | ``` js
61 |
69 | ```
70 |
71 |
72 |
73 | ### Import handy-uploader to project - Full Example
74 |
75 | ``` html
76 |
90 |
91 | ```
92 |
93 | ``` js
94 |
105 | ```
106 | ---
107 |
108 |
109 |
110 | # props
111 |
112 | ### `documentAttachment`
113 |
114 |
115 | The documentAttachment return array of uploaded file
116 |
117 | #### Type: ` Array `
118 |
119 | #### Usage:
120 | ``` html
121 |
124 |
125 | ```
126 |
127 | #### return Array:
128 |
129 | ``` js
130 | [
131 | {
132 | file: {
133 | name: 'file name',
134 | size: 'file size',
135 | base64: 'base64',
136 | format: 'file upload format. for example:image/jpeg;base64'
137 | tags: [],
138 | description: 'file description'
139 | }
140 | }
141 | ]
142 | ```
143 | ---
144 |
145 |
146 | ### `fileUploaderType`
147 |
148 |
149 | The fileUploaderType define file uploader theme : `thumbnaile` , `simple` , `table`
150 |
151 | #### Type: ` String `
152 |
153 | #### Default: ` thumbnail `
154 |
155 | #### Usage:
156 | ``` html
157 |
160 |
161 | ```
162 |
163 | or
164 |
165 | ``` html
166 |
169 |
170 | ```
171 |
172 | or
173 |
174 | ``` html
175 |
178 |
179 | ```
180 |
181 | ---
182 |
183 |
184 | ### `cardType`
185 |
186 |
187 | Choose File Uploader Card Type Theme
188 |
189 |
190 | cardTypes : `default` , `outlined` , `shaped` , `raised` , `tile`
191 |
192 | #### Type: ` String `
193 | #### Default: ` default `
194 |
195 | #### Usage:
196 | ``` html
197 |
200 |
201 | ```
202 |
203 |
204 | ---
205 |
206 |
207 | ### `fileAccept`
208 |
209 |
210 | The fileAccept attribute of the input tag, MIME type
211 |
212 | #### Type: ` String `
213 |
214 | #### Usage:
215 | ``` html
216 |
219 |
220 | ```
221 |
222 | `Important: ` If don`t send fileAccept, file uploader accept all file formats.
223 |
224 |
225 |
226 | ---
227 |
228 |
229 | ### `imageCompressor`
230 |
231 |
232 | handy-uploader, Uses the Browser's native [canvas.toBlob](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob) API to do the compression work, which means it is lossy compression. General use this to precompress a client image file before upload it.
233 |
234 | #### Type: ` Boolean `
235 |
236 | #### Default: ` true `
237 |
238 | #### Usage:
239 | ``` html
240 |
243 |
244 | ```
245 |
246 | ---
247 |
248 |
249 | ### `imageCompressLevel`
250 |
251 |
252 | A Number between 0 and 1 indicating image quality.
253 |
254 | #### Type: ` Number `
255 |
256 | #### Default: ` 0.5 `
257 |
258 | #### Usage:
259 | ``` html
260 |
263 |
264 | ```
265 |
266 |
267 | ---
268 |
269 |
270 | ### `maxFileSize`
271 |
272 |
273 | Maximum of file size upload. sent in prop to KB
274 |
275 | #### Type: ` Number `
276 |
277 | #### Default: ` 5120 ` kb
278 |
279 | #### Usage:
280 | ``` html
281 |
284 |
285 | ```
286 |
287 | ---
288 |
289 |
290 | ### `maxFileCount`
291 |
292 |
293 | Maximum of file upload
294 |
295 | #### Type: ` Number `
296 |
297 | #### Default: ` 0 `
298 |
299 | #### Usage:
300 | ``` html
301 |
304 |
305 | ```
306 | If you dont send maxFileCount, You can upload files without restrictions.
307 |
308 | ---
309 |
310 |
311 | ### `thumb`
312 |
313 |
314 | show / hidden thumb for images in `table` and `simple` file uploader
315 |
316 | #### Type: ` Boolean `
317 |
318 | #### Default: `true`
319 |
320 | #### Usage:
321 | ``` html
322 |
325 |
326 | ```
327 | ---
328 |
329 |
330 | ### `tableThumbColumn`
331 |
332 |
333 | show / hidden thumb column in `table` file uploader
334 |
335 | #### Type: ` Boolean `
336 |
337 | #### Default: `true`
338 |
339 | #### Usage:
340 | ``` html
341 |
344 |
345 | ```
346 | ---
347 |
348 |
349 | ### `tableFixedHeader`
350 |
351 |
352 | enable / disable table fixed header
353 |
354 | #### Type: ` Boolean `
355 |
356 | #### Default: `true`
357 |
358 | #### Usage:
359 | ``` html
360 |
363 |
364 | ```
365 | ---
366 |
367 |
368 | ### `tableHeight`
369 |
370 |
371 | Set table height in `px`.
372 |
373 | #### Type: ` Number `
374 |
375 | #### Default: `400`
376 |
377 | #### Usage:
378 | ``` html
379 |
382 |
383 | ```
384 |
385 | ---
386 |
387 |
388 | ### `badgeCounter`
389 |
390 |
391 | Badge file counter state.
392 |
393 | #### Type: ` Boolean `
394 |
395 | #### Default: `true`
396 |
397 | #### Usage:
398 | ``` html
399 |
402 |
403 | ```
404 | ---
405 |
406 |
407 | ### `rtlSupport`
408 |
409 |
410 | Enable RTL support languages.
411 |
412 | #### Type: ` Boolean `
413 |
414 | #### Default: `false`
415 |
416 | #### Usage:
417 | ``` html
418 |
421 |
422 | ```
423 |
424 | ---
425 |
426 |
427 | ### `lang`
428 |
429 |
430 | Change file uploader languages.
431 |
432 | Examples: English `en` , Persian `fa` , French `fr` , Chinese `ch` , Arabic `ar`
433 |
434 | #### Type: ` String `
435 |
436 | #### Default: `en`
437 |
438 | #### Usage:
439 | ``` html
440 |
443 |
444 | ```
445 | ---
446 |
447 |
448 | ### `customLang`
449 |
450 |
451 | Define Custom language for uploader.
452 |
453 |
454 | #### Type: ` Object `
455 |
456 | #### Default: `null`
457 |
458 | #### Usage:
459 | ``` html
460 |
464 |
465 | ```
466 |
467 | ``` js
468 |
511 | ```
512 | ---
513 |
514 |
515 | ### `btnColor`
516 |
517 |
518 | change Button color.
519 |
520 | #### Type: ` String `
521 |
522 | #### Default: `info`
523 |
524 | #### Usage:
525 | ``` html
526 |
529 |
530 | ```
531 |
532 | ---
533 |
534 |
535 | ### `changeFileName`
536 |
537 |
538 | Change file name before upload.
539 |
540 | #### Type: ` Boolean `
541 |
542 | #### Default: `false`
543 |
544 | #### Usage:
545 | ``` html
546 |
549 |
550 | ```
551 |
552 | ---
553 |
554 |
555 | ### `addFileDescription`
556 |
557 |
558 | Add file Description before upload.
559 |
560 | #### Type: ` Boolean `
561 |
562 | #### Default: `false`
563 |
564 | #### Usage:
565 | ``` html
566 |
569 |
570 | ```
571 |
572 | ---
573 |
574 |
575 | ### `addFileTag`
576 |
577 |
578 | Add file tags before upload.
579 |
580 | #### Type: ` Boolean `
581 |
582 | #### Default: `false`
583 |
584 | #### Usage:
585 | ``` html
586 |
589 |
590 | ```
591 |
592 | ---
593 |
594 |
595 | ### `tags`
596 |
597 |
598 | Array of file tags.
599 |
600 | #### Type: ` Array `
601 |
602 | #### Usage:
603 | ``` html
604 |
607 |
608 | ```
609 |
610 | ---
611 |
612 |
613 | ### `cols`
614 |
615 |
616 | Change count of columns.
617 |
618 | #### Type: ` Number `
619 | #### Default: ` 4 `
620 |
621 | #### Usage:
622 | ``` html
623 |
626 |
627 | ```
628 |
629 | ---
630 |
631 |
632 | ### `editPermission`
633 |
634 |
635 | Set edit Permission for edit attachment details.
636 |
637 | #### Type: ` Boolean `
638 | #### Default: ` true `
639 |
640 | #### Usage:
641 | ``` html
642 |
645 |
646 | ```
647 |
648 | ---
649 |
650 |
651 | ### `deletePermission`
652 |
653 |
654 | Set delete Permission for delete attachment details.
655 |
656 | #### Type: ` Boolean `
657 | #### Default: ` true `
658 |
659 | #### Usage:
660 | ``` html
661 |
664 |
665 | ```
666 |
667 | ---
668 |
669 |
670 |
671 | # Code Examples
672 |
673 | ### Thumbnail
674 |
675 | ``` html
676 |
689 |
690 | ```
691 |
692 | ``` js
693 |
704 | ```
705 |
706 | `handyAttachments` The Array you define for file uploader
707 |
708 |
709 |
710 | ---
711 |
712 |
713 | ### Simple
714 |
715 | ``` html
716 |
730 |
731 | ```
732 |
733 | ``` js
734 |
745 | ```
746 |
747 | `handyAttachments` The Array you define for file uploader
748 |
749 |
750 |
751 | ---
752 |
753 |
754 | ### Table
755 |
756 | ``` html
757 |
774 |
775 | ```
776 |
777 | ``` js
778 |
789 | ```
790 |
791 | `handyAttachments` The Array you define for file uploader
792 |
--------------------------------------------------------------------------------
/pages/documentation.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
15 |
16 |
17 | Getting Started
18 |
19 |
20 |
21 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 | Props
37 |
38 |
39 |
44 |
45 |
46 |
47 |
48 |
52 |
53 |
54 | Code Examples
55 |
56 |
57 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
91 | mdi-chevron-up
92 |
93 |
94 |
95 |
96 |
97 |
164 |
184 |
--------------------------------------------------------------------------------
/pages/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Handy Uploader
8 |
Complete and simple file uploader with image compressor in Vue.js
9 |
10 |
11 |
12 |
20 | mdi-image-plus
21 | Thumbnail File Uploader
22 |
23 |
24 |
32 | mdi-file-upload
33 | Simple File Uploader
34 |
35 |
36 |
44 | mdi-table
45 | Table File Uploader
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
66 |
67 |
72 |
--------------------------------------------------------------------------------
/pages/simple.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Simple file uploader example
7 |
14 | mdi-cog-outline
15 | Options
16 |
17 |
18 |
19 |
20 |
38 |
39 |
40 |
41 |
42 |
46 |
47 | You can customize your Simple File Uploader
48 |
49 |
50 |
51 |
52 |
53 | Select Language:
54 |
59 | English
60 |
61 | Persian
62 |
63 | French
64 |
65 | Chines
66 |
67 | Arabic
68 |
69 |
70 |
71 | Select card type:
72 |
77 | DEFAULT
78 |
79 | OUTLINED
80 |
81 | RAISED
82 |
83 | SHAPED
84 |
85 | TILE
86 |
87 |
88 |
89 |
93 |
94 |
95 |
99 |
100 |
101 |
105 |
106 |
107 |
111 |
112 |
113 |
117 |
118 |
119 |
120 |
124 |
125 |
126 |
127 |
131 |
132 |
133 |
134 |
138 |
139 |
140 |
150 |
151 |
152 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
169 | ok
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
285 |
--------------------------------------------------------------------------------
/pages/table.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Table file uploader example
7 |
14 | mdi-cog-outline
15 | Options
16 |
17 |
18 |
19 |
20 |
40 |
41 |
42 |
43 |
44 |
48 |
49 | You can customize your Table File Uploader
50 |
51 |
52 |
53 |
54 |
55 | Select Language:
56 |
61 | English
62 |
63 | Persian
64 |
65 | French
66 |
67 | Chines
68 |
69 | Arabic
70 |
71 |
72 |
73 |
77 |
78 |
79 |
83 |
84 |
85 |
89 |
90 |
91 |
95 |
96 |
97 |
98 |
102 |
103 |
104 |
108 |
109 |
110 |
114 |
115 |
116 |
117 |
121 |
122 |
123 |
124 |
128 |
129 |
130 |
131 |
135 |
136 |
137 |
147 |
148 |
149 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
166 | ok
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
274 |
--------------------------------------------------------------------------------
/pages/thumbnail.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Thumbnail file uploader example
7 |
14 | mdi-cog-outline
15 | Options
16 |
17 |
18 |
19 |
20 |
37 |
38 |
39 |
40 |
41 |
45 |
46 | You can customize your Thumbnail File Uploader
47 |
48 |
49 |
50 |
51 |
52 | Select Language:
53 |
58 | English
59 |
60 | Persian
61 |
62 | French
63 |
64 | Chines
65 |
66 | Arabic
67 |
68 |
69 |
70 | Select card type:
71 |
76 | DEFAULT
77 |
78 | OUTLINED
79 |
80 | RAISED
81 |
82 | SHAPED
83 |
84 | TILE
85 |
86 |
87 |
88 |
92 |
93 |
94 |
98 |
99 |
100 |
104 |
105 |
106 |
110 |
111 |
112 |
113 |
117 |
118 |
119 |
120 |
124 |
125 |
126 |
127 |
131 |
132 |
133 |
143 |
144 |
145 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
162 | ok
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
304 |
--------------------------------------------------------------------------------
/plugins/README.md:
--------------------------------------------------------------------------------
1 | # PLUGINS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains Javascript plugins that you want to run before mounting the root Vue.js application.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).
8 |
--------------------------------------------------------------------------------
/static/README.md:
--------------------------------------------------------------------------------
1 | # STATIC
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your static files.
6 | Each file inside this directory is mapped to `/`.
7 | Thus you'd want to delete this README.md before deploying to production.
8 |
9 | Example: `/static/robots.txt` is mapped as `/robots.txt`.
10 |
11 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
12 |
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/5ad1d24ed10817664e8907cc90a4013fea46677f/static/favicon.ico
--------------------------------------------------------------------------------
/static/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/5ad1d24ed10817664e8907cc90a4013fea46677f/static/icon.png
--------------------------------------------------------------------------------
/static/v.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/5ad1d24ed10817664e8907cc90a4013fea46677f/static/v.png
--------------------------------------------------------------------------------
/static/vue-file-uploader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/5ad1d24ed10817664e8907cc90a4013fea46677f/static/vue-file-uploader.png
--------------------------------------------------------------------------------
/static/vuetify-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/store/README.md:
--------------------------------------------------------------------------------
1 | # STORE
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your Vuex Store files.
6 | Vuex Store option is implemented in the Nuxt.js framework.
7 |
8 | Creating a file in this directory automatically activates the option in the framework.
9 |
10 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
11 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2018",
4 | "module": "esnext",
5 | "moduleResolution": "node",
6 | "lib": [
7 | "esnext",
8 | "esnext.asynciterable",
9 | "dom"
10 | ],
11 | "esModuleInterop": true,
12 | "allowJs": true,
13 | "sourceMap": true,
14 | "strict": true,
15 | "noEmit": true,
16 | "experimentalDecorators": true,
17 | "baseUrl": ".",
18 | "paths": {
19 | "~/*": [
20 | "./*"
21 | ],
22 | "@/*": [
23 | "./*"
24 | ]
25 | },
26 | "types": [
27 | "@types/node",
28 | "@nuxt/types"
29 | ]
30 | },
31 | "exclude": [
32 | "node_modules",
33 | ".nuxt",
34 | "dist"
35 | ]
36 | }
37 |
--------------------------------------------------------------------------------
/vue-shim.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.vue" {
2 | import Vue from 'vue'
3 | export default Vue
4 | }
5 |
--------------------------------------------------------------------------------