X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FVariants.vue;h=2a3f6cf02384f8b948ea1df983918f6bc90a1095;hb=09d375717c256a2cbd71a5d3b3a4e21aee17c0ec;hp=d166b684f3579ad7441cb298f72223ff642af15a;hpb=9a3049f3a48fa4b3627ef26ccdf213a8e550d478;p=vchess.git diff --git a/client/src/views/Variants.vue b/client/src/views/Variants.vue index d166b684..2a3f6cf0 100644 --- a/client/src/views/Variants.vue +++ b/client/src/views/Variants.vue @@ -2,10 +2,14 @@ main .row .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2 - input#prefixFilter(v-model="curPrefix" :placeholder="st.tr['Type first letters...']") + input#prefixFilter( + v-model="curPrefix" + @input="setCurPrefix($event)" + :placeholder="st.tr['Prefix?']" + ) .variant.col-sm-12.col-md-5.col-lg-4( v-for="(v,idx) in filteredVariants" - :class="{'col-md-offset-1': idx%2==0, 'col-lg-offset-2': idx%2==0}" + :class="getVclasses(filteredVariants, idx)" ) router-link(:to="getLink(v.name)") h4.boxtitle.text-center {{ v.name }} @@ -19,38 +23,55 @@ export default { data: function() { return { curPrefix: "", - st: store.state, + st: store.state }; }, computed: { - filteredVariants: function () { - const capitalizedPrefix = this.curPrefix.replace(/^\w/, c => c.toUpperCase()); + filteredVariants: function() { + const capitalizedPrefix = this.curPrefix.replace(/^\w/, c => + c.toUpperCase() + ); const variants = this.st.variants - .filter( v => { - return v.name.startsWith(capitalizedPrefix); - }) - .map( v => { - return { - name: v.name, - desc: v.description, - }; - }) - .sort((a,b) => { - return a.name.localeCompare(b.name); - }); + .filter(v => { + return v.name.startsWith(capitalizedPrefix); + }) + .map(v => { + return { + name: v.name, + desc: v.description + }; + }) + .sort((a, b) => { + return a.name.localeCompare(b.name); + }); return variants; - }, + } }, methods: { + // oninput listener, required for smartphones: + setCurPrefix: function(e) { + this.curPrefix = e.target.value; + }, getLink: function(vname) { return "/variants/" + vname; }, - }, + getVclasses: function(varray, idx) { + const idxMod2 = idx % 2; + return { + 'col-md-offset-1': idxMod2 == 0, + 'col-lg-offset-2': idxMod2 == 0, + 'last-noneighb': idxMod2 == 0 && idx == varray.length - 1 + }; + }, + } };