Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
345 changes: 343 additions & 2 deletions l10n/en.js

Large diffs are not rendered by default.

396 changes: 363 additions & 33 deletions l10n/en.json

Large diffs are not rendered by default.

352 changes: 344 additions & 8 deletions l10n/nl.js

Large diffs are not rendered by default.

386 changes: 358 additions & 28 deletions l10n/nl.json

Large diffs are not rendered by default.

36 changes: 33 additions & 3 deletions src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@

<!-- App loaded normally -->
<template v-else-if="storesReady && hasOpenRegisters">
<MainMenu />
<MainMenu @open-settings="settingsOpen = true" />
<UserSettings :open="settingsOpen" @update:open="settingsOpen = $event" />
<Views />
<CnIndexSidebar
v-if="sidebarState.active"
v-if="sidebarState.active && !objectSidebarState.active"
:schema="sidebarState.schema"
:visible-columns="sidebarState.visibleColumns"
:search-value="sidebarState.searchValue"
Expand All @@ -38,6 +39,19 @@
@search="onSidebarSearch"
@columns-change="onSidebarColumnsChange"
@filter-change="onSidebarFilterChange" />

<!-- Object sidebar (files/notes/tags/tasks/audit trail — controlled by CnDetailPage) -->
<CnObjectSidebar
v-if="objectSidebarState.active"
:object-type="objectSidebarState.objectType"
:object-id="objectSidebarState.objectId"
:title="objectSidebarState.title"
:subtitle="objectSidebarState.subtitle"
:register="objectSidebarState.register"
:schema="objectSidebarState.schema"
:hidden-tabs="objectSidebarState.hiddenTabs"
:open.sync="objectSidebarState.open" />

<Modals />
<Dialogs />
</template>
Expand All @@ -55,9 +69,10 @@

import Vue from 'vue'
import { NcContent, NcAppContent, NcButton, NcEmptyContent, NcLoadingIcon } from '@nextcloud/vue'
import { CnIndexSidebar } from '@conduction/nextcloud-vue'
import { CnObjectSidebar, CnIndexSidebar } from '@conduction/nextcloud-vue'

Check failure on line 72 in src/App.vue

View workflow job for this annotation

GitHub Actions / quality / Vue Quality (eslint)

CnObjectSidebar not found in '@conduction/nextcloud-vue'
import { generateUrl, imagePath } from '@nextcloud/router'
import MainMenu from './navigation/MainMenu.vue'
import UserSettings from './views/settings/UserSettings.vue'
import Modals from './modals/Modals.vue'
import Dialogs from './dialogs/Dialogs.vue'
import Views from './views/Views.vue'
Expand All @@ -71,22 +86,37 @@
NcButton,
NcEmptyContent,
NcLoadingIcon,
CnObjectSidebar,
CnIndexSidebar,
MainMenu,
UserSettings,
Modals,
Dialogs,
Views,
},

provide() {
return {
objectSidebarState: this.objectSidebarState,
sidebarState: this.sidebarState,
}
},

data() {
return {
storesReady: false,
settingsOpen: false,
objectSidebarState: {
active: false,
open: true,
objectType: '',
objectId: '',
title: '',
subtitle: '',
register: '',
schema: '',
hiddenTabs: [],
},
sidebarState: Vue.observable({
active: false,
open: true,
Expand Down
10 changes: 5 additions & 5 deletions src/components/AddContactpersoonModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Modal component for adding new contactpersoon to an organisation

<template>
<NcDialog v-if="show"
:name="t('softwarecatalog', 'Add Contactpersoon')"
:name="t('softwarecatalog', 'Add contactpersoon')"
size="small"
@closing="closeModal">
<div class="add-contactpersoon-modal">
Expand All @@ -25,7 +25,7 @@ Modal component for adding new contactpersoon to an organisation
<div class="form-row">
<NcTextField
:value="formData.voornaam"
:label="t('softwarecatalog', 'First Name')"
:label="t('softwarecatalog', 'First name')"
:placeholder="t('softwarecatalog', 'Enter first name')"
class="compact-field"
required
Expand All @@ -35,7 +35,7 @@ Modal component for adding new contactpersoon to an organisation
<div class="form-row">
<NcTextField
:value="formData.achternaam"
:label="t('softwarecatalog', 'Last Name')"
:label="t('softwarecatalog', 'Last name')"
:placeholder="t('softwarecatalog', 'Enter last name')"
class="compact-field"
required
Expand All @@ -46,7 +46,7 @@ Modal component for adding new contactpersoon to an organisation
<NcTextField
:value="formData['e-mailadres']"
type="email"
:label="t('softwarecatalog', 'Email Address')"
:label="t('softwarecatalog', 'Email address')"
:placeholder="t('softwarecatalog', 'Enter email address')"
class="compact-field"
required
Expand All @@ -63,7 +63,7 @@ Modal component for adding new contactpersoon to an organisation
<template #icon>
<NcLoadingIcon v-if="loading" :size="20" />
</template>
{{ t('softwarecatalog', 'Add Contactpersoon') }}
{{ t('softwarecatalog', 'Add contactpersoon') }}
</NcButton>
</div>
</form>
Expand Down
4 changes: 2 additions & 2 deletions src/components/ContactpersonenList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@
<!-- Password Change Dialog -->
<NcDialog
v-if="showPasswordDialog"
:name="t('softwarecatalog', 'Change Password')"
:name="t('softwarecatalog', 'Change password')"
size="small"
@closing="closePasswordDialog">
<div class="password-dialog">
Expand Down Expand Up @@ -274,7 +274,7 @@
<!-- Groups Management Dialog -->
<NcDialog
v-if="showGroupsDialog"
:name="t('softwarecatalog', 'Manage User Groups')"
:name="t('softwarecatalog', 'Manage user groups')"
size="normal"
@closing="closeGroupsDialog">
<div class="groups-dialog">
Expand Down
1 change: 1 addition & 0 deletions src/conceptOrganisatiesWidget.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import Vue from 'vue'
import { PiniaVuePlugin } from 'pinia'
import pinia from './pinia.js'
import ConceptOrganisatiesWidget from './views/widgets/ConceptOrganisatiesWidget.vue'
import { translate as t, translatePlural as n } from '@nextcloud/l10n'

Vue.use(PiniaVuePlugin)

Expand Down
12 changes: 6 additions & 6 deletions src/modals/OrganisationModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
<div class="form-row">
<NcTextField
:value="formData.beschrijvingKort"
:label="t('softwarecatalog', 'Short Description')"
:label="t('softwarecatalog', 'Short description')"
:placeholder="t('softwarecatalog', 'Brief description of the organisation')"
@update:value="formData.beschrijvingKort = $event" />
</div>
Expand All @@ -68,7 +68,7 @@
<NcTextField
:value="formData.oin"
:label="t('softwarecatalog', 'OIN')"
:placeholder="t('softwarecatalog', 'Organisation Identification Number')"
:placeholder="t('softwarecatalog', 'Organisation identification number')"
@update:value="formData.oin = $event" />
</div>

Expand Down Expand Up @@ -101,7 +101,7 @@
<template #icon>
<NcLoadingIcon v-if="loading" :size="20" />
</template>
{{ isEditMode ? t('softwarecatalog', 'Update Organisation') : t('softwarecatalog', 'Create Organisation') }}
{{ isEditMode ? t('softwarecatalog', 'Update organisation') : t('softwarecatalog', 'Create organisation') }}
</NcButton>
</div>
</form>
Expand Down Expand Up @@ -183,11 +183,11 @@ export default {
},
modalTitle() {
if (this.isEditMode) {
return this.t('softwarecatalog', 'Edit Organisation')
return this.t('softwarecatalog', 'Edit organisation')
} else if (this.isCopyMode) {
return this.t('softwarecatalog', 'Copy Organisation')
return this.t('softwarecatalog', 'Copy organisation')
}
return this.t('softwarecatalog', 'Create Organisation')
return this.t('softwarecatalog', 'Create organisation')
},
isFormValid() {
return this.formData.naam.trim().length > 0
Expand Down
18 changes: 17 additions & 1 deletion src/navigation/MainMenu.vue
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<template>
<NcAppNavigation>
<NcAppNavigationList>

Check warning on line 3 in src/navigation/MainMenu.vue

View workflow job for this annotation

GitHub Actions / quality / Vue Quality (eslint)

Expected 1 line break after opening tag (`<NcAppNavigationList>`), but 2 line breaks found

<!-- Dashboard -->
<NcAppNavigationItem
:active="navigationStore.selected === 'dashboard'"
name="Dashboard"
:name="t('softwarecatalog', 'Dashboard')"
@click="navigationStore.setSelected('dashboard')">
<template #icon>
<ViewDashboard :size="20" />
Expand All @@ -23,18 +24,30 @@
</template>
</NcAppNavigationItem>
</NcAppNavigationList>

<NcAppNavigationSettings>
<NcAppNavigationItem
:name="t('softwarecatalog', 'Settings')"
@click="$emit('open-settings')">
<template #icon>
<Cog :size="20" />
</template>
</NcAppNavigationItem>
</NcAppNavigationSettings>
</NcAppNavigation>
</template>
<script>
import {
NcAppNavigation,
NcAppNavigationList,
NcAppNavigationItem,
NcAppNavigationSettings,
} from '@nextcloud/vue'
import { navigationStore, objectStore } from '../store/store.js'

// Icons
import ViewDashboard from 'vue-material-design-icons/ViewDashboard.vue'
import Cog from 'vue-material-design-icons/Cog.vue'
import OfficeBuildingOutline from 'vue-material-design-icons/OfficeBuildingOutline.vue'
import AccountMultiple from 'vue-material-design-icons/AccountMultiple.vue'
import ApplicationCog from 'vue-material-design-icons/ApplicationCog.vue'
Expand All @@ -58,12 +71,15 @@
*/
export default {
name: 'MainMenu',
emits: ['open-settings'],
components: {

Check warning on line 75 in src/navigation/MainMenu.vue

View workflow job for this annotation

GitHub Actions / quality / Vue Quality (eslint)

The "components" property should be above the "emits" property on line 74
NcAppNavigation,
NcAppNavigationList,
NcAppNavigationItem,
NcAppNavigationSettings,
// Icons
ViewDashboard,
Cog,
OfficeBuildingOutline,
AccountMultiple,
ApplicationCog,
Expand Down
12 changes: 4 additions & 8 deletions src/sidebars/dashboard/DashboardSideBar.vue
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
<script setup>
// No imports needed for this simple component
</script>

<template>
<NcAppSidebar
name="Software Catalog"
subname="Quick navigation">
<NcAppSidebarTab id="info-tab" name="Information" :order="1">
:name="t('softwarecatalog', 'Software catalog')"
:subname="t('softwarecatalog', 'Quick navigation')">
<NcAppSidebarTab id="info-tab" :name="t('softwarecatalog', 'Information')" :order="1">
<template #icon>
<InformationOutline :size="20" />
</template>
<NcNoteCard type="info">
<p>Welcome to the Software Catalog dashboard. Use the main navigation to access different features.</p>
<p>{{ t('softwarecatalog', 'Welcome to the Software Catalog dashboard. Use the main navigation to access different features.') }}</p>
</NcNoteCard>
</NcAppSidebarTab>
</NcAppSidebar>
Expand Down
Loading
Loading