This is an automated email from the git hooks/post-receive script. New commit to branch bow-v2-go in repository bow. See https://gitlab.nuiton.org/chorem/bow.git commit 76b9f3f2279d06e0f8e591ccb2fea0919fd5b1b2 Author: Benjamin <poussin@codelutin.com> Date: Tue Apr 14 15:32:14 2020 +0200 deplacement du Add dans la Sidebar deplacement de la recherche dans le header --- web/src/components/SearchInput.vue | 78 +++++++++++++++++++++++++++++++++++ web/src/components/layout/Header.vue | 5 ++- web/src/components/layout/Sidebar.vue | 3 ++ web/src/views/Home.vue | 41 +----------------- web/yarn.lock | 58 +++++++++++++++++++++++--- 5 files changed, 139 insertions(+), 46 deletions(-) diff --git a/web/src/components/SearchInput.vue b/web/src/components/SearchInput.vue new file mode 100644 index 0000000..f46d70d --- /dev/null +++ b/web/src/components/SearchInput.vue @@ -0,0 +1,78 @@ +<template> + <div class="search"> + <form @submit.prevent="search"> + tags: + <input type="text" v-model="mTags" @keyup.enter="search" /> fulltext: + <input type="text" v-model="mFulltext" @keyup.enter="search" /> + </form> + <form @submit.prevent="action"> + web: <input type="text" v-model="mQuery" @keyup.enter="action" /> + </form> + </div> +</template> + +<script> +import { Component, Vue } from 'vue-property-decorator' + +@Component({ + name: 'SearchInput', + components: {} +}) +class SearchInput extends Vue { + tags = '' + fulltext = '' + query = '' + + mTags = '' + mFulltext = '' + mQuery = '' + + sameValue(a, b) { + let result = a === b + if (!result) { + // permet de dire que undefined === "" + result = !a && !b + } + return result + } + + search() { + console.log('search', this.mTags, this.mFulltext) + if ( + !this.sameValue(this.mTags, this.tags) || + !this.sameValue(this.mFulltext, this.fulltext) + ) { + let query = {} + this.mTags && (query.t = this.mTags) + this.mFulltext && (query.f = this.mFulltext) + this.$router.push({ name: 'Home', query }) + } + } + + action() { + console.log('search', this.mQuery) + } + + update() { + this.tags = this.$route.query.t + this.fulltext = this.$route.query.f + this.query = this.$route.query.q + + this.mTags = this.tags || '' + this.mFulltext = this.fulltext || '' + this.mQuery = this.query || '' + } + + beforeMount() { + console.log('beforeMounted SearchInput') + this.update() + } + + beforeMUpdate() { + console.log('beforeMUpdate SearchInput') + this.update() + } +} + +export default SearchInput +</script> diff --git a/web/src/components/layout/Header.vue b/web/src/components/layout/Header.vue index 4cdc293..2feb77e 100644 --- a/web/src/components/layout/Header.vue +++ b/web/src/components/layout/Header.vue @@ -5,6 +5,7 @@ </router-link> <div id="header-user-infos"> + <SearchInput></SearchInput> <router-link to="/login">Login</router-link> <!-- <a href="/preferences" cssClass="header-link">User Login</a> @@ -17,10 +18,12 @@ <script> import { Component, Vue } from 'vue-property-decorator' +import SearchInput from '@/components/SearchInput' + @Component({ name: 'Header', - components: {} + components: {SearchInput} }) class Header extends Vue { } diff --git a/web/src/components/layout/Sidebar.vue b/web/src/components/layout/Sidebar.vue index a59c81a..ab859f0 100644 --- a/web/src/components/layout/Sidebar.vue +++ b/web/src/components/layout/Sidebar.vue @@ -4,6 +4,9 @@ <a href="/"><img src="../../assets/img/logos/bow.svg" alt="Bow Logo" /></a> </div> <div class="sidebar-menu"> + <div class="sidebar-menu-link"> + <router-link to="/edit/new">Add</router-link> + </div> <div class="sidebar-menu-link"> <router-link to="/about">About</router-link> </div> diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 548468a..46869ed 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -1,15 +1,6 @@ <template> <div class="home"> <div>{{ errorMsg }}</div> - <form @submit.prevent="search"> - tags: - <input type="text" v-model="mTags" @keyup.enter="search" /> fulltext: - <input type="text" v-model="mFulltext" @keyup.enter="search" /> - </form> - <form @submit.prevent="action"> - web: <input type="text" v-model="mQuery" @keyup.enter="action" /> - </form> - <button @click.prevent="add">Add</button> <Bookmark v-for="bookmark in bookmarks" :key="bookmark.id" @@ -41,43 +32,13 @@ class Home extends Vue { errorMsg = '' bookmarks = [] - sameValue(a, b) { - let result = a === b - if (!result) { - // permet de dire que undefined === "" - result = !a && !b - } - return result - } - - search() { - console.log('search', this.mTags, this.mFulltext) - if ( - !this.sameValue(this.mTags, this.tags) || - !this.sameValue(this.mFulltext, this.fulltext) - ) { - let query = {} - this.mTags && (query.t = this.mTags) - this.mFulltext && (query.f = this.mFulltext) - this.$router.push({ name: 'Home', query }) - } - } - - action() { - console.log('search', this.mQuery) - } - - add() { - this.$router.push({ name: 'Edit', params: { id: 'new' } }) - } - fetchBookmark() { let searchParams = new URLSearchParams() this.id && searchParams.append('id', this.id) this.mTags && searchParams.append('t', this.mTags) this.mFulltext && searchParams.append('f', this.mFulltext) this.mQuery && searchParams.append('q', this.mQuery) - + this.$fetch.get(`/bookmarks?${searchParams.toString()}`).then( data => { this.bookmarks = data diff --git a/web/yarn.lock b/web/yarn.lock index 8543c66..eff5d5d 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1489,6 +1489,11 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4..." integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbda..." + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aad..." @@ -2171,6 +2176,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca..." integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +clone@^2.1.1, clone@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f8367040..." + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d7..." @@ -3036,7 +3046,7 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b07976..." integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== -errno@^0.1.3, errno@~0.1.7: +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f0..." integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== @@ -4175,6 +4185,11 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737eb..." integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e..." + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e72276..." @@ -4776,6 +4791,32 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-5.0.0.tgz#498dde3a6c6..." + integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg== + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less@^3.11.1: + version "3.11.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.11.1.tgz#c6bf08e39e02404fe6b307a3..." + integrity sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g== + dependencies: + clone "^2.1.2" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + mime "^1.4.1" + mkdirp "^0.5.0" + promise "^7.1.1" + request "^2.83.0" + source-map "~0.6.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7..." @@ -5079,7 +5120,7 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: dependencies: mime-db "1.43.0" -mime@1.6.0: +mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568a..." integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -5183,7 +5224,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f416..." integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -6317,6 +6358,13 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#9..." integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f291..." + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + proxy-addr@~2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447..." @@ -6618,7 +6666,7 @@ request-promise-native@^1.0.8: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.88.2: +request@^2.83.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da..." integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -7612,7 +7660,7 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071..." integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.9.0: version "1.11.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549..." integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.