diff --git a/backend/src/tokenizer.ts b/backend/src/tokenizer.ts
index e29817e..5a4fe83 100644
--- a/backend/src/tokenizer.ts
+++ b/backend/src/tokenizer.ts
@@ -52,7 +52,7 @@ export class OrderByParser {
const openGroupRegex = /\(/
const closeGroupRegex = /\)/
const conjunctinoRegex = /AND|OR/
-const equalityRegex = /([a-zA-Z]+)\s?(=|!=|<|>|<=|>=|:)\s?([a-zA-Z'"\d]+)/
+const equalityRegex = /([a-zA-Z]+)\s?(=|!=|<|>|<=|>=|:)\s?([\d]+)/
const stringEqualityRegex = /([a-zA-Z]+)\s?(=|!=|<|>|<=|>=|:)\s?\"([a-zA-Z'"\d\s]*)\"/
const spacerRegex = /\s/
@@ -86,17 +86,18 @@ export class FilterParser {
ctx.accept('conjunction', m[0])
})
+ this.lexer.rule(stringEqualityRegex, (ctx, m) => {
+ ctx.accept('column', m[1])
+ ctx.accept('opperator', m[2])
+ ctx.accept('value', m[3])
+ })
+
this.lexer.rule(equalityRegex, (ctx, m) => {
ctx.accept('column', m[1])
ctx.accept('opperator', m[2])
ctx.accept('value', m[3])
})
- this.lexer.rule(stringEqualityRegex, (ctx, m) => {
- ctx.accept('column', m[1])
- ctx.accept('opperator', m[2])
- ctx.accept('value', m[3])
- })
this.lexer.rule(spacerRegex, (ctx, m) => {
ctx.ignore()
diff --git a/frontend/src/vues/CharacterList.vue b/frontend/src/vues/CharacterList.vue
index 33a08b7..a5aac61 100644
--- a/frontend/src/vues/CharacterList.vue
+++ b/frontend/src/vues/CharacterList.vue
@@ -18,7 +18,7 @@
{{ item.id }}
- {{ item.characterName }}
+ {{ item.characterName }}
{{ new Date(item.creationDate * 1000).toISOString().split('T')[0] }}
@@ -73,7 +73,7 @@ async function loadData({ page, itemsPerPage, sortBy }) {
page: `${page - 1}`,
count: `${itemsPerPage}`,
orderBy: sortString,
- filter: filtervalue.value ? `characterName:${filtervalue.value}` : ''
+ filter: filtervalue.value ? `characterName:"${filtervalue.value}"` : ''
})
characters.value = response.data.characterData
@@ -102,6 +102,7 @@ watch(filtervalue, (newFilter: string, oldFilter: string) => {
debounce = setTimeout(() => {
router.replace({ query: { page: route.query.page, filter: newFilter } })
}, 500)
+ loadData({page: page.value, itemsPerPage: resultePerPage.value, sortBy:[]})
})
onMounted(async () => {
diff --git a/frontend/src/vues/GameList.vue b/frontend/src/vues/GameList.vue
index dbd2cf0..1a2a975 100644
--- a/frontend/src/vues/GameList.vue
+++ b/frontend/src/vues/GameList.vue
@@ -84,13 +84,6 @@ async function loadData({ page, itemsPerPage, sortBy }) {
console.log(itemsPerPage)
console.log(sortBy)
- console.log({
- page: `${page.value - 1}`,
- count: `${itemsPerPage}`,
- orderBy: sortString,
- filter: filtervalue.value ? `title:"${filtervalue.value}"` : '',
- })
-
const response = await axios.post('/api/game', {
page: `${page - 1}`,
count: `${itemsPerPage}`,
@@ -127,6 +120,7 @@ watch(filtervalue, (newFilter: string, oldFilter: string) => {
debounce = setTimeout(() => {
router.replace({ query: { page: route.query.page, filter: newFilter } })
}, 500)
+ loadData({page: page.value, itemsPerPage: resultePerPage.value, sortBy:[]})
})
onMounted(async () => {