update: เพิ่มเจ้าของผลงานในค้นหาขั้นสูง
This commit is contained in:
parent
65aa1a6d15
commit
0c35ab48ad
3 changed files with 25 additions and 15 deletions
|
|
@ -3,14 +3,8 @@ import { storeToRefs } from 'pinia'
|
|||
|
||||
import { useSearchDataStore } from '@/stores/searched-data'
|
||||
|
||||
const { isAdvSearchCall, advSearchDataRow, advSearchDataField } =
|
||||
const { isAdvSearchCall, advSearchDataRow, advSearchDataField, optionsField } =
|
||||
storeToRefs(useSearchDataStore())
|
||||
const optionsField = [
|
||||
{ label: 'ชื่อเรื่อง (title)', value: 'title' },
|
||||
{ label: 'คำสำคัญ (keyword)', value: 'keyword' },
|
||||
{ label: 'หมวดหมู่ (category)', value: 'category' },
|
||||
{ label: 'เนื้อหาในไฟล์ (content)', value: 'attachment.content' },
|
||||
]
|
||||
const optionsOp = [
|
||||
{ label: 'และ', value: 'AND' },
|
||||
{ label: 'หรือ', value: 'OR' },
|
||||
|
|
|
|||
|
|
@ -22,16 +22,10 @@ const {
|
|||
isAdvSearchCall,
|
||||
searchData,
|
||||
advSearchDataField,
|
||||
optionsField,
|
||||
advSearchDataRow,
|
||||
} = storeToRefs(useSearchDataStore())
|
||||
const { getFoundFile } = useSearchDataStore()
|
||||
const optionsField = [
|
||||
{ label: 'ชื่อเรื่อง (title)', value: 'title' },
|
||||
{ label: 'คำสำคัญ (keyword)', value: 'keyword' },
|
||||
{ label: 'หมวดหมู่ (category)', value: 'category' },
|
||||
{ label: 'เนื้อหาในไฟล์ (content)', value: 'attachment.content' },
|
||||
{ label: 'เจ้าของผลงาน (author)', value: 'author' },
|
||||
]
|
||||
const submitSearchData = ref<{
|
||||
AND: {
|
||||
field: string
|
||||
|
|
@ -56,7 +50,7 @@ async function submitSearch() {
|
|||
if (searchData.value.value.trim() !== '') {
|
||||
submitSearchData.value = { AND: [], OR: [] }
|
||||
if (props.mode === 'admin') {
|
||||
optionsField.forEach((option) => {
|
||||
optionsField.value.forEach((option) => {
|
||||
submitSearchData.value.OR.push({
|
||||
field: option.value,
|
||||
value: searchData.value.value,
|
||||
|
|
@ -117,6 +111,20 @@ async function submitSearch() {
|
|||
(d: { field: string; value: string; op: string; exact: boolean }) => {
|
||||
if (d.field && d.value.trim() !== '') {
|
||||
const op = d.op === 'AND' ? 'AND' : 'OR'
|
||||
if (d.field == 'title') {
|
||||
submitSearchData.value[op].push({
|
||||
field: 'metadata.subject',
|
||||
value: d.value,
|
||||
exact: d.exact,
|
||||
})
|
||||
}
|
||||
if (d.field == 'author') {
|
||||
submitSearchData.value[op].push({
|
||||
field: 'metadata.author',
|
||||
value: d.value,
|
||||
exact: d.exact,
|
||||
})
|
||||
}
|
||||
submitSearchData.value[op].push({
|
||||
field: d.field,
|
||||
value: d.value,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,13 @@ export const useSearchDataStore = defineStore('searched', () => {
|
|||
exact: false,
|
||||
},
|
||||
])
|
||||
const optionsField = ref([
|
||||
{ label: 'ชื่อเรื่อง (title)', value: 'title' },
|
||||
{ label: 'คำสำคัญ (keyword)', value: 'keyword' },
|
||||
{ label: 'หมวดหมู่ (category)', value: 'category' },
|
||||
{ label: 'เนื้อหาในไฟล์ (content)', value: 'attachment.content' },
|
||||
{ label: 'เจ้าของผลงาน (author)', value: 'author' },
|
||||
])
|
||||
const advSearchDataField = ref<AdvancedSearchFields>({
|
||||
keyword: [],
|
||||
description: '',
|
||||
|
|
@ -52,6 +59,7 @@ export const useSearchDataStore = defineStore('searched', () => {
|
|||
isAdvSearchCall,
|
||||
searchData,
|
||||
advSearchDataRow,
|
||||
optionsField,
|
||||
advSearchDataField,
|
||||
getFoundFile,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue