Commit 457fcffc authored by Khalid Ali's avatar Khalid Ali
Browse files

Try adding Bootstrap-Vue

parent 174f91d8
Pipeline #3774 failed with stages
in 1 minute and 16 seconds
......@@ -1666,7 +1666,6 @@
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz",
"integrity": "sha1-4857s3LWV3uxg58d/fy/WtKUjZY=",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
......@@ -1677,14 +1676,12 @@
"ajv-errors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
"integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=",
"dev": true
"integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0="
},
"ajv-keywords": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
"integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
"dev": true
"integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo="
},
"alphanum-sort": {
"version": "1.0.2",
......@@ -3891,6 +3888,35 @@
"timsort": "^0.3.0"
}
},
"css-loader": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.0.tgz",
"integrity": "sha512-MoOu+CStsGrSt5K2OeZ89q3Snf+IkxRfAIt9aAKg4piioTrhtP1iEFPu+OVn3Ohz24FO6L+rw9UJxBILiSBw5Q==",
"requires": {
"icss-utils": "^4.0.0",
"loader-utils": "^1.2.1",
"lodash": "^4.17.11",
"postcss": "^7.0.6",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^2.0.3",
"postcss-modules-scope": "^2.0.0",
"postcss-modules-values": "^2.0.0",
"postcss-value-parser": "^3.3.0",
"schema-utils": "^1.0.0"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"css-select": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
......@@ -3911,7 +3937,6 @@
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
"integrity": "sha1-oXcnGovKUBkXL0+JH8bu2cv2jV0=",
"dev": true,
"requires": {
"cssesc": "^0.1.0",
"fastparse": "^1.1.1",
......@@ -3921,20 +3946,17 @@
"cssesc": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
"integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
"dev": true
"integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q="
},
"jsesc": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
},
"regexpu-core": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
"integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
"dev": true,
"requires": {
"regenerate": "^1.2.1",
"regjsgen": "^0.2.0",
......@@ -3944,14 +3966,12 @@
"regjsgen": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
"dev": true
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
},
"regjsparser": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
}
......@@ -5617,8 +5637,7 @@
"fastparse": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
"integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=",
"dev": true
"integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak="
},
"faye-websocket": {
"version": "0.10.0",
......@@ -6502,8 +6521,7 @@
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
"dev": true
"integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
},
"hash.js": {
"version": "1.1.7",
......@@ -6857,8 +6875,15 @@
"icss-replace-symbols": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
"integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
"dev": true
"integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0="
},
"icss-utils": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.0.0.tgz",
"integrity": "sha512-bA/xGiwWM17qjllIs9X/y0EjsB7e0AV08F3OL8UPsoNkNRibIuu8f1eKTnQ8QO1DteKKTxTUAn+IEWUToIwGOA==",
"requires": {
"postcss": "^7.0.5"
}
},
"ieee754": {
"version": "1.1.12",
......@@ -10839,7 +10864,6 @@
"version": "7.0.13",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.13.tgz",
"integrity": "sha1-Qr9xZBPo8ceGq3HcbnIrNnGxZwg=",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
......@@ -10849,14 +10873,12 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
......@@ -11093,6 +11115,42 @@
}
}
},
"postcss-modules-extract-imports": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
"integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
"requires": {
"postcss": "^7.0.5"
}
},
"postcss-modules-local-by-default": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.4.tgz",
"integrity": "sha512-WvuSaTKXUqYJbnT7R3YrsNrHv/C5vRfr5VglS4bFOk0MYT4CLBfc/xgExA+x2RftlYgiBDvWmVs191Xv8S8gZQ==",
"requires": {
"css-selector-tokenizer": "^0.7.0",
"postcss": "^7.0.6",
"postcss-value-parser": "^3.3.1"
}
},
"postcss-modules-scope": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz",
"integrity": "sha512-7+6k9c3/AuZ5c596LJx9n923A/j3nF3ormewYBF1RrIQvjvjXe1xE8V8A1KFyFwXbvnshT6FBZFX0k/F1igneg==",
"requires": {
"css-selector-tokenizer": "^0.7.0",
"postcss": "^7.0.6"
}
},
"postcss-modules-values": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz",
"integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==",
"requires": {
"icss-replace-symbols": "^1.1.0",
"postcss": "^7.0.6"
}
},
"postcss-normalize-charset": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
......@@ -11264,8 +11322,7 @@
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE="
},
"prelude-ls": {
"version": "1.1.2",
......@@ -11690,8 +11747,7 @@
"regenerate": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
"integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=",
"dev": true
"integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE="
},
"regenerate-unicode-properties": {
"version": "7.0.0",
......@@ -13014,6 +13070,27 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"style-loader": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
"integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==",
"requires": {
"loader-utils": "^1.1.0",
"schema-utils": "^1.0.0"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"stylehacks": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz",
......@@ -14220,7 +14297,6 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
"integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==",
"dev": true,
"requires": {
"hash-sum": "^1.0.2",
"loader-utils": "^1.0.2"
......
......@@ -31,4 +31,5 @@ export default class App extends Vue {}
}
@import '~bootstrap/dist/css/bootstrap.css'
@import '~bootstrap-vue/dist/bootstrap-vue.css'
</style>
import Vue from 'vue';
import BootstrapVue from 'bootstrap-vue';
import SvgIcon from 'vue-svgicon';
import App from './App.vue';
import router from './router';
......@@ -7,6 +8,7 @@ import 'bootstrap';
Vue.config.productionTip = false;
Vue.use(SvgIcon);
Vue.use(BootstrapVue);
router.beforeEach((to, from, next) => {
document.title = to.meta.title;
......
<template>
<form class="form" method="post" @submit.prevent="postNow">
ISBN<input class="textinput textInput form-control" id="id_isbn" maxlength="20" v-model="isbn" placeholder="0801884039" type="text" />
Title<input class="textinput textInput form-control" id="id_title" maxlength="200" v-model="title" placeholder="Squirrels: The Animal Answer Guide" type="text" />
Course<input class="textinput textInput form-control" id="id_course_abbr" maxlength="10" v-model="course_abbr" placeholder="ENGH 302" type="text" />
Condition<select class="select form-control" id="id_condition" v-model="condition">
<option value="New">New</option>
<option value="Like New">Like New</option>
<option value="Very Good">Very Good</option>
<option value="Good" selected="selected">Good</option>
<option value="Acceptable">Acceptable</option>
<option value="Unacceptable">Unacceptable</option>
</select>
Access Code<select class="select form-control" id="id_access_code" v-model="access_code">
<option value="Not Applicable" selected="selected">Not Applicable</option>
<option value="Access Code Included">Access Code Included</option>
<option value="Access Code NOT Included">Access Code NOT Included</option>
</select>
Price<input class="numberinput form-control" id="id_price" min="0" v-model="price" placeholder="whole numbers" type="number" value="0"/>
Other Notes<textarea class="textarea form-control" cols="40" id="id_description" maxlength="2000" v-model="description" placeholder="I would be willing to exchange this textbook for one that I need next semester. /// This is for Professor Smith&#39;s section ONLY. /// I can give you the workbook as well." rows="10"></textarea>
</form>
<div>
<b-form @submit="onSubmit" @reset="onReset" v-if="show">
<b-form-group
id="exampleInputGroup1"
label="Email address:"
label-for="exampleInput1"
description="We'll never share your email with anyone else."
>
<b-form-input
id="exampleInput1"
type="email"
v-model="form.email"
required
placeholder="Enter email"
>
</b-form-input>
</b-form-group>
<b-form-group id="exampleInputGroup2" label="Your Name:" label-for="exampleInput2">
<b-form-input
id="exampleInput2"
type="text"
v-model="form.name"
required
placeholder="Enter name"
>
</b-form-input>
</b-form-group>
<b-form-group id="exampleInputGroup3" label="Food:" label-for="exampleInput3">
<b-form-select id="exampleInput3" :options="foods" required v-model="form.food">
</b-form-select>
</b-form-group>
<b-form-group id="exampleGroup4">
<b-form-checkbox-group v-model="form.checked" id="exampleChecks">
<b-form-checkbox value="me">Check me out</b-form-checkbox>
<b-form-checkbox value="that">Check that out</b-form-checkbox>
</b-form-checkbox-group>
</b-form-group>
<b-button type="submit" variant="primary">Submit</b-button>
<b-button type="reset" variant="danger">Reset</b-button>
</b-form>
</div>
</template>
<script lang="ts">
import axios from 'axios';
import { Component, Vue } from 'vue-property-decorator';
@Component
export default class CreateListing extends Vue {
public errors: object[] = [];
private async postNow() {
axios.post('https://localhost:9090/bs/api/listing', {
isbn: this.$data.isbn,
title: this.$data.title,
course: this.$data.course,
}).catch(e => {
this.errors.push(e);
});
}
}
</script>
<template>
<div class="container">
<div class="page-header" id="banner">
<div class="row">
<div class="col-lg-12 text-center">
<h1><strong>SRCT</strong>&#8203;BOOKSHARE</h1>
<p class="lead text-center"><strong>Create Listing</strong></p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
<h1 class="panel-title text-center"><strong><i class="fa fa-plus-circle"></i> Add Your Textbook</strong></h1>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<form class="form" method="post" @submit.prevent="postNow">
ISBN<input class="textinput textInput form-control" id="id_isbn" maxlength="20" v-model="isbn" placeholder="0801884039" type="text" />
Title<input class="textinput textInput form-control" id="id_title" maxlength="200" v-model="title" placeholder="Squirrels: The Animal Answer Guide" type="text" />
Course<input class="textinput textInput form-control" id="id_course_abbr" maxlength="10" v-model="course_abbr" placeholder="ENGH 302" type="text" />
Condition<select class="select form-control" id="id_condition" v-model="condition">
<option value="New">New</option>
<option value="Like New">Like New</option>
<option value="Very Good">Very Good</option>
<option value="Good" selected="selected">Good</option>
<option value="Acceptable">Acceptable</option>
<option value="Unacceptable">Unacceptable</option>
</select>
Access Code<select class="select form-control" id="id_access_code" v-model="access_code">
<option value="Not Applicable" selected="selected">Not Applicable</option>
<option value="Access Code Included">Access Code Included</option>
<option value="Access Code NOT Included">Access Code NOT Included</option>
</select>
<div id="div_id_price">
Price
<div class="controls col-md-9 bottom-padding">
<div class="input-group">
<span class="input-group-addon">$</span>
<input class="numberinput form-control" id="id_price" min="0" v-model="price" placeholder="whole numbers" type="number" value="0"/>
<span class="input-group-addon">.00</span>
</div>
</div>
</div>
Other Notes<textarea class="textarea form-control" cols="40" id="id_description" maxlength="2000" v-model="description" placeholder="I would be willing to exchange this textbook for one that I need next semester. /// This is for Professor Smith&#39;s section ONLY. /// I can give you the workbook as well." rows="10"></textarea>
<input type="submit" value="Create" class= "btn btn-primary btn-primary">
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script lang="ts">
import axios from 'axios';
import { Component, Vue } from 'vue-property-decorator';
@Component
export default class CreateListing extends Vue {
public errors: object[] = [];
private async postNow() {
axios.post('https://localhost:9090/bs/api/listing', {
isbn: this.$data.isbn,
title: this.$data.title,
course: this.$data.course,
condition: this.$data.condition,
accessCode: this.$data.access_code,
price: this.$data.price,
description: this.$data.description,
}).catch(e => {
this.errors.push(e);
});
}
}
</script>
......@@ -2,9 +2,9 @@ module.exports = {
devServer: {
port: 8081,
proxy: {
'/good-beers': {
'/bs/api/': {
target: 'http://localhost:9090',
secure: false
changeOrigin: true
}
}
},
......@@ -19,7 +19,11 @@ module.exports = {
minimize: true
}
}]
}
},
{
test: /.css/,
use: ['style-loader', 'css-loader']
}
]
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment