├── _config.yml
├── static
├── v.png
├── icon.png
├── favicon.ico
├── vue-file-uploader.png
├── README.md
└── vuetify-logo.svg
├── vue-shim.d.ts
├── assets
├── variables.scss
└── README.md
├── content
└── doc.md
├── components
├── README.md
├── InsertButton.vue
├── SelectFileIconType.vue
├── language.js
├── TableUploader.vue
├── ThumbnailUploader.vue
├── SimpleUploader.vue
├── fileUploader.vue
└── fileUploader copy.vue
├── .editorconfig
├── layouts
├── README.md
├── error.vue
└── default.vue
├── plugins
└── README.md
├── .eslintrc.js
├── middleware
└── README.md
├── store
└── README.md
├── tsconfig.json
├── package.json
├── README.md
├── LICENSE
├── .gitignore
├── pages
├── index.vue
├── documentation.vue
├── simple.vue
├── table.vue
├── thumbnail.vue
└── README.md
└── nuxt.config.js
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
--------------------------------------------------------------------------------
/static/v.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/HEAD/static/v.png
--------------------------------------------------------------------------------
/static/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/HEAD/static/icon.png
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/HEAD/static/favicon.ico
--------------------------------------------------------------------------------
/vue-shim.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.vue" {
2 | import Vue from 'vue'
3 | export default Vue
4 | }
5 |
--------------------------------------------------------------------------------
/static/vue-file-uploader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alijahanpak/vue-file-uploader/HEAD/static/vue-file-uploader.png
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/vuetify-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/components/InsertButton.vue:
--------------------------------------------------------------------------------
1 |
2 |