├── .gitignore
├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── public
    ├── favicon.ico
    └── index.html
└── src
    ├── App.vue
    ├── assets
        └── logo.png
    ├── client_secret.json
    ├── components
        ├── HelloWorld.vue
        ├── Row.vue
        └── Sheet.vue
    ├── main.js
    ├── router
        └── index.js
    ├── store
        └── index.js
    └── views
        ├── Add.vue
        └── Home.vue
/.gitignore:
--------------------------------------------------------------------------------
 1 | .DS_Store
 2 | node_modules
 3 | /dist
 4 | 
 5 | # local env files
 6 | .env.local
 7 | .env.*.local
 8 | 
 9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | 
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
22 | 
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
 1 | # VueSheet
 2 | 
 3 | ## Google Sheets API : google-spreadsheet Package
 4 | 
 5 | ### Installation 
 6 | 
 7 | ``` npm i google-spreadsheet --save ```
 8 | 
 9 | ### Features
10 | 
11 | - multiple auth options - API key, service account (used in this example), oauth
12 | - cell-based API - read, write, bulk-updates, formatting
13 | - row-based API - read, update, delete (based on the old v3 row-based calls)
14 | - managing worksheets - add, remove, resi
15 | 
16 | ## Demo
17 | 
18 | [Live Demo](https://vuesheet.netlify.app/)
19 | 
20 | ## Examples 
21 | 
22 | the following [examples](https://www.npmjs.com/package/google-spreadsheet#examples) are meant to give you an idea of just some of the things you can do
23 | 
24 | ## Project setup
25 | ```
26 | npm install
27 | ```
28 | 
29 | ### Compiles and hot-reloads for development
30 | ```
31 | npm run serve
32 | ```
33 | 
34 | ### Compiles and minifies for production
35 | ```
36 | npm run build
37 | ```
38 | 
39 | ### Lints and fixes files
40 | ```
41 | npm run lint
42 | ```
43 | 
44 | ### Customize configuration
45 | See [Configuration Reference](https://cli.vuejs.org/config/).
46 | 
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   presets: [
3 |     '@vue/cli-plugin-babel/preset'
4 |   ]
5 | }
6 | 
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "vuesheet",
 3 |   "version": "0.1.0",
 4 |   "private": true,
 5 |   "scripts": {
 6 |     "serve": "vue-cli-service serve",
 7 |     "build": "vue-cli-service build",
 8 |     "lint": "vue-cli-service lint"
 9 |   },
10 |   "dependencies": {
11 |     "axios": "^0.19.2",
12 |     "core-js": "^3.6.4",
13 |     "google-spreadsheet": "^3.0.11",
14 |     "i": "^0.3.6",
15 |     "sheetsu-node": "0.0.7",
16 |     "vue": "^2.6.11",
17 |     "vue-router": "^3.1.6",
18 |     "vuex": "^3.1.3"
19 |   },
20 |   "devDependencies": {
21 |     "@vue/cli-plugin-babel": "~4.3.0",
22 |     "@vue/cli-plugin-eslint": "~4.3.0",
23 |     "@vue/cli-plugin-router": "^4.3.1",
24 |     "@vue/cli-plugin-vuex": "^4.3.1",
25 |     "@vue/cli-service": "~4.3.0",
26 |     "babel-eslint": "^10.1.0",
27 |     "eslint": "^6.7.2",
28 |     "eslint-plugin-vue": "^6.2.2",
29 |     "vue-template-compiler": "^2.6.11"
30 |   },
31 |   "eslintConfig": {
32 |     "root": true,
33 |     "env": {
34 |       "node": true
35 |     },
36 |     "extends": [
37 |       "plugin:vue/essential",
38 |       "eslint:recommended"
39 |     ],
40 |     "parserOptions": {
41 |       "parser": "babel-eslint"
42 |     },
43 |     "rules": {}
44 |   },
45 |   "browserslist": [
46 |     "> 1%",
47 |     "last 2 versions",
48 |     "not dead"
49 |   ]
50 | }
51 | 
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aminehck/VueSheet/03950d5c5b2d19220981b1dfb3a64d3484ee11a9/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 |   
 4 |     
 5 |     
 6 |     
 7 |     
 8 |     <%= htmlWebpackPlugin.options.title %>
 9 |     
10 |     
11 |     
12 |   
13 |   
14 |     
17 |     
18 |     
19 | 
20 | 
21 |     
22 |     
23 |     
24 |     
25 |     
26 | 
27 |     
28 |     
29 |     
32 |   
33 | 
34 | 
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
 1 | 
 2 |   
 3 |     
 4 |       
13 |     
14 |     
15 |   
 3 |     
{{ msg }}
 4 |     
 5 |       For a guide and recipes on how to configure / customize this project,
 6 |       check out the
 7 |       vue-cli documentation.
 8 |     
 9 |     
Installed CLI Plugins
10 |     
14 |     
Essential Links
15 |     
22 |     
Ecosystem
23 |     
30 |   
 3 | 		| {{row.name}}4 | | {{row.phone}}5 | | {{row.activity}}6 | | {{row.city}}7 | | 
 8 | 
 9 | 
10 | 
17 | 
18 | 
--------------------------------------------------------------------------------
/src/components/Sheet.vue:
--------------------------------------------------------------------------------
 1 | 
 2 | 	
 3 | 		
 4 | 			
 5 | 				
 6 | 					
VueSheet List
 7 | 					
14 | 				
16 | 				
17 | 					
18 | 					
19 | 						| Name20 | | Phone21 | | Activity22 | | City23 | | 
24 | 					
25 | 					
26 | 					
27 | 						|
28 | 					
29 | 				
30 | 				
32 | 		
33 | 	
  3 | 		
  4 | 			
  5 | 				
  6 | 					
 19 | 					
 20 | 						{{message}}
 21 | 						
 24 | 					
 25 | 					
 64 | 
 65 | 					
 66 | 				
 69 | 		
 70 | 	
 3 | 		
 4 | 	
 5 | 
 6 | 
 7 | 
18 | 
--------------------------------------------------------------------------------