Skip to content

Commit

Permalink
Merge branch 'feature/DIMOC-240' into feature/DIMOC-126/metadata-tab-…
Browse files Browse the repository at this point in the history
…search
  • Loading branch information
SudoThijn committed Aug 12, 2024
2 parents b70a363 + 62118fd commit cbddb74
Show file tree
Hide file tree
Showing 10 changed files with 231 additions and 165 deletions.
23 changes: 12 additions & 11 deletions src/modals/publication/AddPublicationModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ import { navigationStore, publicationStore } from '../../store/store.js'
ref="modalRef"
label-id="addPublicationModal"
@close="closeModal">
<template #actions>
<NcButton :disabled="(!publication.title || !catalogi?.value?.id || !metaData?.value?.id || !publication.summary) || loading"
class="apm-submit-button"
type="primary"
@click="addPublication()">
<template #icon>
<NcLoadingIcon v-if="loading" :size="20" />
<Plus v-if="!loading" :size="20" />
</template>
Toevoegen
</NcButton>
</template>
<div class="modal__content">
<h2>Publicatie toevoegen</h2>
<div v-if="success !== null || error">
Expand Down Expand Up @@ -89,17 +101,6 @@ import { navigationStore, publicationStore } from '../../store/store.js'
<NcTextField :disabled="loading"
label="Licentie"
:value.sync="publication.license" />

<NcButton :disabled="(!publication.title || !catalogi?.value?.id || !metaData?.value?.id || !publication.summary) || loading"
class="apm-submit-button"
type="primary"
@click="addPublication()">
<template #icon>
<NcLoadingIcon v-if="loading" :size="20" />
<Plus v-if="!loading" :size="20" />
</template>
Toevoegen
</NcButton>
</div>
</div>
</div>
Expand Down
147 changes: 80 additions & 67 deletions src/modals/publication/EditPublicationModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,65 +2,69 @@
import { navigationStore, publicationStore } from '../../store/store.js'
</script>
<template>
<NcModal v-if="navigationStore.modal === 'editPublication'"
ref="modalRef"
label-id="editPublicationModal"
@close="navigationStore.setModal(false)">
<div class="modal__content">
<h2>Edit publication</h2>
<div v-if="success !== null || error">
<NcNoteCard v-if="success" type="success">
<p>Publicatie succesvol bewerkt</p>
</NcNoteCard>
<NcNoteCard v-if="!success" type="error">
<p>Er is iets fout gegaan bij het bewerken van Publicatie</p>
</NcNoteCard>
<NcNoteCard v-if="error" type="error">
<p>{{ error }}</p>
</NcNoteCard>
</div>
<div v-if="success === null" class="form-group">
<NcTextField :disabled="loading"
label="Titel *"
required
:value.sync="publicationItem.title" />
<NcTextField :disabled="loading"
label="Samenvatting *"
required
:value.sync="publicationItem.summary" />
<NcTextArea :disabled="loading"
label="Beschrijving"
:value.sync="publicationItem.description" />
<NcTextField :disabled="loading"
label="Reference"
:value.sync="publicationItem.reference" />
<NcTextField :disabled="loading"
label="Categorie"
:value.sync="publicationItem.category" />
<NcTextField :disabled="loading"
label="Portaal"
:value.sync="publicationItem.portal" />
<span>
<p>Publicatie datum</p>
<NcDateTimePicker v-model="publicationItem.published"
:disabled="loading"
label="Publicatie datum" />
</span>
<span class="EPM-horizontal">
<NcCheckboxRadioSwitch :disabled="loading"
label="Featured"
:checked.sync="publicationItem.featured">
Featured
</NcCheckboxRadioSwitch>
</span>
<NcTextField :disabled="loading"
label="Image"
:value.sync="publicationItem.image" />
<b>Juridisch</b>
<NcTextField :disabled="loading"
label="Licentie"
:value.sync="publicationItem.license" />
</div>
<NcDialog v-if="navigationStore.modal === 'editPublication'"
name="Bewerk Publicatie"
size="normal"
:can-close="false">
<div v-if="success !== null || error">
<NcNoteCard v-if="success" type="success">
<p>Publicatie succesvol bewerkt</p>
</NcNoteCard>
<NcNoteCard v-if="!success" type="error">
<p>Er is iets fout gegaan bij het bewerken van Publicatie</p>
</NcNoteCard>
<NcNoteCard v-if="error" type="error">
<p>{{ error }}</p>
</NcNoteCard>
</div>
<div v-if="success === null" class="wrapper">
<NcTextField :disabled="loading"
label="Titel *"
required
:value.sync="publicationItem.title" />
<NcTextField :disabled="loading"
label="Samenvatting *"
required
:value.sync="publicationItem.summary" />
<NcTextArea :disabled="loading"
label="Beschrijving"
:value.sync="publicationItem.description" />
<NcTextField :disabled="loading"
label="Kenmerk"
:value.sync="publicationItem.reference" />
<NcTextField :disabled="loading"
label="Categorie"
:value.sync="publicationItem.category" />
<NcTextField :disabled="loading"
label="Portaal"
:value.sync="publicationItem.portal" />
<p>Publicatie datum</p>
<NcDateTimePicker v-model="publicationItem.published"
:disabled="loading"
label="Publicatie datum" />
<NcCheckboxRadioSwitch :disabled="loading"
label="Featured"
:checked.sync="publicationItem.featured">
Featured
</NcCheckboxRadioSwitch>
<NcTextField :disabled="loading"
label="Image"
:value.sync="publicationItem.image" />
<b>Juridisch</b>
<NcTextField :disabled="loading"
label="Licentie"
:value.sync="publicationItem.license" />
</div>
<template #actions>
<NcButton
:disabled="loading"
icon=""
@click="navigationStore.setModal(false)">
<template #icon>
<Cancel :size="20" />
</template>
{{ succes ? 'Sluiten' : 'Annuleer' }}
</NcButton>
<NcButton v-if="success === null"
:disabled="!publicationItem.title || !publicationItem.summary"
type="primary"
Expand All @@ -71,8 +75,8 @@ import { navigationStore, publicationStore } from '../../store/store.js'
</template>
Opslaan
</NcButton>
</div>
</NcModal>
</template>
</NcDialog>
</template>

<script>
Expand All @@ -81,17 +85,18 @@ import {
NcCheckboxRadioSwitch,
NcDateTimePicker,
NcLoadingIcon,
NcModal,
NcDialog,
NcNoteCard,
NcTextArea,
NcTextField,
} from '@nextcloud/vue'
import ContentSaveOutline from 'vue-material-design-icons/ContentSaveOutline.vue'
import Cancel from 'vue-material-design-icons/Cancel.vue'
export default {
name: 'EditPublicationModal',
components: {
NcModal,
NcDialog,
NcTextField,
NcTextArea,
NcCheckboxRadioSwitch,
Expand All @@ -101,6 +106,7 @@ export default {
NcNoteCard,
// Icons
ContentSaveOutline,
Cancel,
},
data() {
return {
Expand Down Expand Up @@ -228,9 +234,16 @@ export default {
}
.EPM-horizontal {
display: flex;
gap: 4px;
flex-direction: row;
align-items: center;
display: flex;
gap: 4px;
align-items: flex-end;
flex-wrap: wrap;
}
.wrapper {
display: flex;
gap: 4px;
align-items: flex-end;
flex-wrap: wrap;
}
</style>
4 changes: 2 additions & 2 deletions src/sidebars/SideBars.vue
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<script setup>
import { navigationStore } from '../store/store.js'
import { navigationStore, searchStore } from '../store/store.js'
</script>

<template>
<div>
<!-- Placeholder div for all of the sidebars-->
<SearchSideBar v-if="navigationStore.selected === 'search'" />
<SearchSideBar v-if="navigationStore.selected === 'search'" :search="searchStore.search" />
<DashboardSideBar v-if="navigationStore.selected === 'dashboard'" />
<DirectorySideBar v-if="navigationStore.selected === 'directory'" />
</div>
Expand Down
48 changes: 42 additions & 6 deletions src/sidebars/directory/DirectorySideBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import { navigationStore, directoryStore } from '../../store/store.js'

<template>
<NcAppSidebar
name="Listing"
subname="Listing Summery">
:name="directoryStore.listingItem?.title || 'Geen listing' "
:subname="directoryStore.listingItem?.organisation?.title">
<NcEmptyContent v-if="!directoryStore.listingItem.id || navigationStore.selected != 'directory'"
class="detailContainer"
name="Geen listing"
Expand All @@ -28,24 +28,58 @@ import { navigationStore, directoryStore } from '../../store/store.js'
</NcButton>
</template>
</NcEmptyContent>
<NcAppSidebarTab v-if="directoryStore.listingItem.id && navigationStore.selected === 'directory'"
id="detail-tab"
name="Details"
:order="1">
<template #icon>
<InformationSlabSymbol :size="20" />
</template>
<div class="container">
<div>
<b>Samenvatting:</b>
<span>{{ directoryStore.listingItem?.summery }}</span>
</div>
<div>
<b>Status:</b>
<span>{{ directoryStore.listingItem?.status }}</span>
</div>
<div>
<b>Last synchronysation:</b>
<span>{{ directoryStore.listingItem?.lastSync }}</span>
</div>
<div>
<b>Directory:</b>
<span>{{ directoryStore.listingItem?.directory }}</span>
</div>
<div>
<b>Zoeken:</b>
<span>{{ directoryStore.listingItem?.search }}</span>
</div>
<div>
<b>Beschrijving:</b>
<span>{{ directoryStore.listingItem?.description }}</span>
</div>
</div>
</NcAppSidebarTab>
<NcAppSidebarTab v-if="directoryStore.listingItem.id && navigationStore.selected === 'directory'"
id="settings-tab"
name="Configuratie"
:order="1">
:order="2">
<template #icon>
<CogOutline :size="20" />
</template>
<NcCheckboxRadioSwitch type="switch">
<NcCheckboxRadioSwitch :checked.sync="directoryStore.listingItem.available" type="switch">
Beschickbaar maken voor mijn zoek opdrachten
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch type="switch">
<NcCheckboxRadioSwitch :checked.sync="directoryStore.listingItem.default" type="switch">
Standaard mee nemen in de beantwoording van mijn zoekopdrachten
</NcCheckboxRadioSwitch>
</NcAppSidebarTab>
<NcAppSidebarTab v-if="directoryStore.listingItem.id && navigationStore.selected === 'directory'"
id="metdata-tab"
name="Metadata"
:order="2">
:order="3">
<template #icon>
<FileTreeOutline :size="20" />
</template>
Expand All @@ -64,6 +98,7 @@ import Plus from 'vue-material-design-icons/Plus.vue'
import HelpCircleOutline from 'vue-material-design-icons/HelpCircleOutline.vue'
import CogOutline from 'vue-material-design-icons/CogOutline.vue'
import FileTreeOutline from 'vue-material-design-icons/FileTreeOutline.vue'
import InformationSlabSymbol from 'vue-material-design-icons/InformationSlabSymbol.vue'
export default {
name: 'DirectorySideBar',
Expand All @@ -79,6 +114,7 @@ export default {
HelpCircleOutline,
CogOutline,
FileTreeOutline,
InformationSlabSymbol,
},
data() {
return {
Expand Down
30 changes: 25 additions & 5 deletions src/sidebars/search/SearchSideBar.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script setup>
import { searchStore } from '../../store/store.js'
import { searchStore, directoryStore, metadataStore } from '../../store/store.js'
</script>

<template>
Expand All @@ -23,15 +23,17 @@ import { searchStore } from '../../store/store.js'
<template #icon>
<DatabaseOutline :size="20" />
</template>
<NcCheckboxRadioSwitch type="switch">
Catalogi naam
<NcCheckboxRadioSwitch v-for="(listing, i) in directoryStore.listingList" type="switch">
{{ listing.title || 'Geen titel' }}
</NcCheckboxRadioSwitch>
</NcAppSidebarTab>
<NcAppSidebarTab id="share-tab" name="Metadata" :order="3">
<template #icon>
<FileTreeOutline :size="20" />
</template>
Metadata tab content
<NcCheckboxRadioSwitch v-for="(metaData, i) in metadataStore.metaDataList" type="switch">
{{ metaData.title || 'Geen titel' }}
</NcCheckboxRadioSwitch>
</NcAppSidebarTab>
</NcAppSidebar>
</template>
Expand All @@ -41,6 +43,7 @@ import { NcAppSidebar, NcAppSidebarTab, NcTextField, NcNoteCard, NcCheckboxRadio
import Magnify from 'vue-material-design-icons/Magnify.vue'
import DatabaseOutline from 'vue-material-design-icons/DatabaseOutline.vue'
import FileTreeOutline from 'vue-material-design-icons/FileTreeOutline.vue'
import { debounce } from 'lodash'
export default {
name: 'SearchSideBar',
Expand All @@ -54,11 +57,28 @@ export default {
DatabaseOutline,
FileTreeOutline,
},
props: {
search: {
type: String,
required: true,
},
},
data() {
return {
starred: false,
}
},
watch: {
search: 'debouncedSearch',
},
mounted() {
directoryStore.refreshListingList()
metadataStore.refreshMetaDataList()
},
methods: {
debouncedSearch: debounce(function() {
searchStore.getSearchResults()
}, 500),
},
}
</script>
Loading

0 comments on commit cbddb74

Please sign in to comment.