├── .eslintrc ├── .gitignore ├── .tern-project ├── LICENSE ├── README.md ├── css └── app.css ├── gulpfile.js ├── index.html ├── items.json ├── js ├── app.js ├── bundle.js └── components │ ├── item-list │ ├── index.js │ └── template.html │ └── transaction │ ├── index.js │ └── template.html └── package.json /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "babel-eslint", 3 | "env": { 4 | "browser": true 5 | } 6 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # node-waf configuration 20 | .lock-wscript 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 27 | node_modules 28 | -------------------------------------------------------------------------------- /.tern-project: -------------------------------------------------------------------------------- 1 | { 2 | "ecmaVersion": 5, 3 | "libs": [ 4 | "browser" 5 | ], 6 | "loadEagerly": [ 7 | "./js" 8 | ], 9 | "dontLoad": [ 10 | "./node_modules" 11 | ] 12 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Alex Sears 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 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # pos-system-vuejs-blog 2 | The repo for the source code for the blog post "Create a POS system using Vue.js" 3 | -------------------------------------------------------------------------------- /css/app.css: -------------------------------------------------------------------------------- 1 | button { 2 | outline: none; 3 | } 4 | 5 | td > span, 6 | i.fa-times { 7 | cursor: pointer; 8 | } -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var browserify = require('browserify'); 3 | var partialify = require('partialify'); 4 | var source = require('vinyl-source-stream'); 5 | 6 | gulp.task('js', function() { 7 | browserify('js/app.js') 8 | .transform(partialify) 9 | .bundle() 10 | .pipe(source('bundle.js')) 11 | .pipe(gulp.dest('js')) 12 | }); 13 | 14 | gulp.task('default', ['js']); -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 |Name | 5 |Number of Items | 6 |Amount | 7 |8 | |
---|---|---|---|
{{ item.item.name }} | 13 |14 | {{ item.numberOfItems }} 15 | 16 | | 17 |{{ item.numberOfItems * item.item.price | currency }} | 18 |19 | |
No items have been added.
23 | 24 |Subtotal: | 28 |{{ subtotal | currency }} | 29 |
Tax: | 32 |{{ tax | currency }} | 33 |
Total: | 36 |{{ total | currency }} | 37 |