Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 2.11.0-privacyPolicy
  • APIv2
  • Docs/Setup
  • Experiment/fix-debugging
  • Experimental/Heinrichs-cypress
  • Feature/xxxx-turnOffDataPub
  • Fix/xxxx-ToS400Error
  • Fix/xxxx-migrateLogin
  • Fix/xxxx-tokenUploadButton
  • Hotfix/0038-correctDownload
  • Hotfix/1917-PublicFilesVisibility
  • Hotfix/1963-fixOrganizationField
  • Hotfix/2015-PublicFilesVisibility
  • Hotfix/2130-uiv2ContactChange
  • Hotfix/2144-invitationCall
  • Hotfix/2150-fixUpload
  • Hotfix/2160-userOrgsInst
  • Hotfix/2190-requiredFieldsForUserProfile
  • Hotfix/2196-RCVTableTranslation
  • Hotfix/2212-fixFiles
  • Hotfix/2226-userProfileSaveButton
  • Hotfix/2232-dependencyFix
  • Hotfix/2233-fixMe
  • Hotfix/2258-saveButtonWorksAsExpected
  • Hotfix/2296-selectedValuesNotReturned
  • Hotfix/2308-defaultLicense
  • Hotfix/2335-fixingSearchRCV
  • Hotfix/2353-dropShape
  • Hotfix/2370-fixDeleteButton
  • Hotfix/2378-linkedFix
  • Hotfix/2379-filesDragAndDrop
  • Hotfix/2382-guestStillBuggy
  • Hotfix/2384-guestsAndLinked
  • Hotfix/2427-adminTrouble
  • Hotfix/2459-EncodingPath
  • Hotfix/2465-orcidLink
  • Hotfix/2465-orcidLink-v1.25.1
  • Hotfix/2504-formGen
  • Hotfix/2541-resCreate
  • Hotfix/2601-correctMetadataIdentity
  • Hotfix/2611-feedback
  • Hotfix/2618-turtle
  • Hotfix/2681-validationErrors
  • Hotfix/2684-correctEncoding
  • Hotfix/2684-fixSubMetadata
  • Hotfix/2713-validateEntryName
  • Hotfix/2734-allowEmptyLicense
  • Hotfix/2765-encodingAgain
  • Hotfix/2852-adaptTextForToSUi
  • Hotfix/2853-optimizationV4
  • Hotfix/2943-reloadingResources
  • Hotfix/2943-searchHighlighting
  • Hotfix/2957-styleAndUpgrade
  • Hotfix/2971-fixTextInDataPub
  • Hotfix/2989-cookieLength
  • Hotfix/662-keepSidebarExpanded
  • Hotfix/xxxx-correctLinking
  • Hotfix/xxxx-folderRecursive
  • Hotfix/xxxx-fullscreenCss
  • Hotfix/xxxx-homepageDisplay
  • Hotfix/xxxx-liveReleaseFixes
  • Hotfix/xxxx-partnerProjects
  • Hotfix/xxxx-workingFileIndex
  • Issue/1782-structualDataIntegration
  • Issue/1792-newMetadataStructure
  • Issue/1822-coscineUIv2App
  • Issue/1824-componentsUIv2
  • Issue/1824-routerAdditions
  • Issue/1825-codeQualityPipelines
  • Issue/1833-newLogin
  • Issue/1843-multipleFilesValidation
  • Issue/1860-searchScoping
  • Issue/1861-searchMetadata
  • Issue/1862-searchFacets
  • Issue/1863-paginationForSearch
  • Issue/1926-userProfile
  • Issue/1927-projectAppMigration
  • Issue/1928-sidebarmenuAddition
  • Issue/1929-vuexToPinia
  • Issue/1938-internalHandling
  • Issue/1951-quotaImplementation
  • Issue/1953-owlImports
  • Issue/1957-resourceAppMigration
  • Issue/1957-resourceAppMigrationNew
  • Issue/1962-SearchAppUI2
  • Issue/1964-tokenExpiryUIv2
  • Issue/1965-userListMigration
  • Issue/1970-breadcrumbs
  • Issue/1971-projectEditCreateMigration
  • Issue/1972-homeDepot
  • Issue/1974-shibbolethLogout
  • Issue/1976-resouceCreationVaildEmail
  • Issue/1979-supportAdminUIv2Migration
  • Issue/1980-userManagement
  • Issue/1985-adaptSidebar
  • Issue/2002-migrateResourceCreate
  • Issue/2003-resourceSettings
  • Issue/2008-quotaManagement
  • Issue/2011-pathConfig
  • Issue/2016-BannerMigration
  • 1.28.0-pilot
  • v1.0.0
  • v1.1.0
  • v1.10.0
  • v1.10.1
  • v1.10.2
  • v1.10.3
  • v1.11.0
  • v1.11.1
  • v1.11.2
  • v1.11.3
  • v1.11.4
  • v1.11.5
  • v1.11.6
  • v1.11.7
  • v1.12.0
  • v1.13.0
  • v1.14.0
  • v1.14.1
  • v1.14.2
  • v1.14.3
  • v1.15.0
  • v1.15.1
  • v1.16.0
  • v1.16.1
  • v1.16.2
  • v1.16.3
  • v1.17.0
  • v1.17.1
  • v1.17.2
  • v1.18.0
  • v1.18.1
  • v1.19.0
  • v1.2.0
  • v1.20.0
  • v1.20.1
  • v1.20.2
  • v1.20.3
  • v1.20.4
  • v1.20.5
  • v1.21.0
  • v1.22.0
  • v1.22.1
  • v1.22.2
  • v1.23.0
  • v1.23.1
  • v1.23.2
  • v1.23.3
  • v1.23.4
  • v1.23.5
  • v1.23.6
  • v1.23.6-patch-2417-2427
  • v1.24.0
  • v1.24.1
  • v1.25.0
  • v1.25.1
  • v1.26.0
  • v1.26.1
  • v1.27.0
  • v1.27.1
  • v1.27.1-pilot
  • v1.28.0
  • v1.29.0
  • v1.29.1
  • v1.29.2
  • v1.3.0
  • v1.30.0
  • v1.30.1
  • v1.30.2
  • v1.31.0
  • v1.32.0
  • v1.4.0
  • v1.4.1
  • v1.5.0
  • v1.6.0
  • v1.6.1
  • v1.6.2
  • v1.7.0
  • v1.8.0
  • v1.8.1
  • v1.8.2
  • v1.9.0
  • v2.0.0
  • v2.1.0
  • v2.10.0
  • v2.10.1
  • v2.11.0
  • v2.12.0
  • v2.12.1
  • v2.12.2
  • v2.12.3
  • v2.12.4
  • v2.12.5
  • v2.13.0
  • v2.13.1
  • v2.13.2
  • v2.13.3
  • v2.13.4
  • v2.14.0
  • v2.15.0
200 results

Target

Select target project
  • coscine/frontend/apps/ui
1 result
Select Git revision
  • 2.11.0-privacyPolicy
  • APIv2
  • Docs/Setup
  • Experiment/fix-debugging
  • Experimental/Heinrichs-cypress
  • Feature/xxxx-turnOffDataPub
  • Fix/xxxx-ToS400Error
  • Fix/xxxx-migrateLogin
  • Fix/xxxx-tokenUploadButton
  • Hotfix/0038-correctDownload
  • Hotfix/1917-PublicFilesVisibility
  • Hotfix/1963-fixOrganizationField
  • Hotfix/2015-PublicFilesVisibility
  • Hotfix/2130-uiv2ContactChange
  • Hotfix/2144-invitationCall
  • Hotfix/2150-fixUpload
  • Hotfix/2160-userOrgsInst
  • Hotfix/2190-requiredFieldsForUserProfile
  • Hotfix/2196-RCVTableTranslation
  • Hotfix/2212-fixFiles
  • Hotfix/2226-userProfileSaveButton
  • Hotfix/2232-dependencyFix
  • Hotfix/2233-fixMe
  • Hotfix/2258-saveButtonWorksAsExpected
  • Hotfix/2296-selectedValuesNotReturned
  • Hotfix/2308-defaultLicense
  • Hotfix/2335-fixingSearchRCV
  • Hotfix/2353-dropShape
  • Hotfix/2370-fixDeleteButton
  • Hotfix/2378-linkedFix
  • Hotfix/2379-filesDragAndDrop
  • Hotfix/2382-guestStillBuggy
  • Hotfix/2384-guestsAndLinked
  • Hotfix/2427-adminTrouble
  • Hotfix/2459-EncodingPath
  • Hotfix/2465-orcidLink
  • Hotfix/2465-orcidLink-v1.25.1
  • Hotfix/2504-formGen
  • Hotfix/2541-resCreate
  • Hotfix/2601-correctMetadataIdentity
  • Hotfix/2611-feedback
  • Hotfix/2618-turtle
  • Hotfix/2681-validationErrors
  • Hotfix/2684-correctEncoding
  • Hotfix/2684-fixSubMetadata
  • Hotfix/2713-validateEntryName
  • Hotfix/2734-allowEmptyLicense
  • Hotfix/2765-encodingAgain
  • Hotfix/2852-adaptTextForToSUi
  • Hotfix/2853-optimizationV4
  • Hotfix/2943-reloadingResources
  • Hotfix/2943-searchHighlighting
  • Hotfix/2957-styleAndUpgrade
  • Hotfix/2971-fixTextInDataPub
  • Hotfix/2989-cookieLength
  • Hotfix/662-keepSidebarExpanded
  • Hotfix/xxxx-correctLinking
  • Hotfix/xxxx-folderRecursive
  • Hotfix/xxxx-fullscreenCss
  • Hotfix/xxxx-homepageDisplay
  • Hotfix/xxxx-liveReleaseFixes
  • Hotfix/xxxx-partnerProjects
  • Hotfix/xxxx-workingFileIndex
  • Issue/1782-structualDataIntegration
  • Issue/1792-newMetadataStructure
  • Issue/1822-coscineUIv2App
  • Issue/1824-componentsUIv2
  • Issue/1824-routerAdditions
  • Issue/1825-codeQualityPipelines
  • Issue/1833-newLogin
  • Issue/1843-multipleFilesValidation
  • Issue/1860-searchScoping
  • Issue/1861-searchMetadata
  • Issue/1862-searchFacets
  • Issue/1863-paginationForSearch
  • Issue/1926-userProfile
  • Issue/1927-projectAppMigration
  • Issue/1928-sidebarmenuAddition
  • Issue/1929-vuexToPinia
  • Issue/1938-internalHandling
  • Issue/1951-quotaImplementation
  • Issue/1953-owlImports
  • Issue/1957-resourceAppMigration
  • Issue/1957-resourceAppMigrationNew
  • Issue/1962-SearchAppUI2
  • Issue/1964-tokenExpiryUIv2
  • Issue/1965-userListMigration
  • Issue/1970-breadcrumbs
  • Issue/1971-projectEditCreateMigration
  • Issue/1972-homeDepot
  • Issue/1974-shibbolethLogout
  • Issue/1976-resouceCreationVaildEmail
  • Issue/1979-supportAdminUIv2Migration
  • Issue/1980-userManagement
  • Issue/1985-adaptSidebar
  • Issue/2002-migrateResourceCreate
  • Issue/2003-resourceSettings
  • Issue/2008-quotaManagement
  • Issue/2011-pathConfig
  • Issue/2016-BannerMigration
  • 1.28.0-pilot
  • v1.0.0
  • v1.1.0
  • v1.10.0
  • v1.10.1
  • v1.10.2
  • v1.10.3
  • v1.11.0
  • v1.11.1
  • v1.11.2
  • v1.11.3
  • v1.11.4
  • v1.11.5
  • v1.11.6
  • v1.11.7
  • v1.12.0
  • v1.13.0
  • v1.14.0
  • v1.14.1
  • v1.14.2
  • v1.14.3
  • v1.15.0
  • v1.15.1
  • v1.16.0
  • v1.16.1
  • v1.16.2
  • v1.16.3
  • v1.17.0
  • v1.17.1
  • v1.17.2
  • v1.18.0
  • v1.18.1
  • v1.19.0
  • v1.2.0
  • v1.20.0
  • v1.20.1
  • v1.20.2
  • v1.20.3
  • v1.20.4
  • v1.20.5
  • v1.21.0
  • v1.22.0
  • v1.22.1
  • v1.22.2
  • v1.23.0
  • v1.23.1
  • v1.23.2
  • v1.23.3
  • v1.23.4
  • v1.23.5
  • v1.23.6
  • v1.23.6-patch-2417-2427
  • v1.24.0
  • v1.24.1
  • v1.25.0
  • v1.25.1
  • v1.26.0
  • v1.26.1
  • v1.27.0
  • v1.27.1
  • v1.27.1-pilot
  • v1.28.0
  • v1.29.0
  • v1.29.1
  • v1.29.2
  • v1.3.0
  • v1.30.0
  • v1.30.1
  • v1.30.2
  • v1.31.0
  • v1.32.0
  • v1.4.0
  • v1.4.1
  • v1.5.0
  • v1.6.0
  • v1.6.1
  • v1.6.2
  • v1.7.0
  • v1.8.0
  • v1.8.1
  • v1.8.2
  • v1.9.0
  • v2.0.0
  • v2.1.0
  • v2.10.0
  • v2.10.1
  • v2.11.0
  • v2.12.0
  • v2.12.1
  • v2.12.2
  • v2.12.3
  • v2.12.4
  • v2.12.5
  • v2.13.0
  • v2.13.1
  • v2.13.2
  • v2.13.3
  • v2.13.4
  • v2.14.0
  • v2.15.0
200 results
Show changes
Commits on Source (5)
{
"name": "ui",
"version": "1.11.5",
"version": "1.11.6",
"private": true,
"scripts": {
"dev": "vite",
......
......@@ -112,10 +112,13 @@
}}</b-dropdown-item
>
<b-dropdown-item
:disabled="resource && resource.archived"
:disabled="
(resource && resource.archived) ||
(resourceTypeInformation && !resourceTypeInformation.canDelete)
"
@click="deleteFile(row.item)"
>{{ $t("buttons.delete") }}</b-dropdown-item
>
>{{ $t("buttons.delete") }}
</b-dropdown-item>
</b-dropdown>
</template>
<template #cell(size)="row">
......
......@@ -16,11 +16,15 @@
}}: {{ resource.displayName }}
</p>
</span>
<!-- Info Circle -->
<b-icon
id="resourceDetails"
icon="info-circle"
:title="$t('page.resource.info')"
/>
<!-- Info Popover -->
<b-popover
v-if="resource"
over
......@@ -92,6 +96,8 @@
><br />
</div>
</b-popover>
<!-- Resource Settings Button -->
<b-button
v-if="canEditResource"
:title="$t('page.resource.edit')"
......@@ -100,6 +106,8 @@
>
<b-icon icon="pencil-fill" :title="$t('page.resource.edit')" />
</b-button>
<!-- Upload Button -->
<b-button
:title="$t('page.resource.upload')"
class="btn btn-sm"
......@@ -108,16 +116,20 @@
>
<b-icon icon="plus" :title="$t('page.resource.upload')" />
</b-button>
<!-- Archived badge -->
<span v-if="resource && resource.archived" class="badgeWrap">
<b-badge pill variant="warning">{{ $t("default.archived") }}</b-badge>
</span>
</div>
<!-- Quota Progress Bar -->
<div class="col-sm-2">
<div
v-if="maxSize !== undefined && used !== undefined"
class="progressContainer"
>
<!-- Progress Bar -->
<b-progress :max="maxSize">
<b-progress-bar :value="used">
<span v-if="used / maxSize >= 0.5">
......@@ -136,6 +148,8 @@
</b-progress>
</div>
</div>
<!-- Search Bar -->
<div class="col-sm-2 searchColumn">
<b-input-group>
<b-form-input
......
......@@ -10,7 +10,10 @@
@cancel="$emit('close', $event.target.value)"
@shown="$emit('shown', $event.target.value)"
>
<div>
<div v-if="resourceTypeInformation && !resourceTypeInformation.canUpdate">
{{ $t("page.resource.modalSaveDuplicatesFilesBodyWorm") }}
</div>
<div v-else>
{{ $t("page.resource.modalSaveDuplicateFilesBody") }}
</div>
<br />
......@@ -35,6 +38,9 @@
>{{ $t("page.resource.modalSaveDuplicateFilesBtnSkip") }}</b-button
>
<b-button
:disabled="
resourceTypeInformation && !resourceTypeInformation.canUpdate
"
class="float-right"
style="justify-content: flex-end"
@click="$emit('ok', $event.target.value)"
......@@ -46,7 +52,13 @@
<script lang="ts">
import { defineComponent } from "vue-demi";
// import the store for current module
import useResourceStore from "../../../store";
import useProjectStore from "@/modules/project/store";
// import the main store
import useMainStore from "@/store/index";
import type { ResourceTypeInformation } from "@coscine/api-client/dist/types/Coscine.Api.Resources";
import type { VisitedResourceObject } from "../../../types";
export default defineComponent({
props: {
uploadFileListReplaceFiles: {
......@@ -58,6 +70,26 @@ export default defineComponent({
type: Boolean,
},
},
setup() {
const mainStore = useMainStore();
const resourceStore = useResourceStore();
const projectStore = useProjectStore();
return { mainStore, resourceStore, projectStore };
},
computed: {
resource(): null | VisitedResourceObject {
return this.resourceStore.currentResource;
},
resourceTypeInformation(): null | undefined | ResourceTypeInformation {
if (this.resourceStore.resourceTypes && this.resource) {
return this.resourceStore.resourceTypes.find(
(resourceType) => resourceType.id === this.resource?.type?.id
);
}
return null;
},
},
});
</script>
......@@ -68,4 +100,7 @@ export default defineComponent({
right: 33%;
white-space: nowrap;
}
.btn-secondary.disabled {
pointer-events: none;
}
</style>
......@@ -7,9 +7,10 @@
:is-loading="isLoading"
class="d-flex align-items-center"
>
<!-- Using "checked" instead of "v-model", because "resourceForm" is a prop -->
<b-form-checkbox
id="Archive"
v-model="resourceForm.archived"
:checked="resourceForm.archived"
:disabled="!(isOwner || isResourceCreator) || !resourceForm"
switch
size="lg"
......@@ -29,11 +30,14 @@
id="DeleteResource"
type="delete"
variant="danger"
:disabled="!resourceForm"
:disabled="
!resourceForm ||
(resourceTypeInformation && !resourceTypeInformation.canDelete)
"
@click.prevent="isDeleteModalVisible = true"
>
{{ $t("buttons.delete") }}</b-button
>
{{ $t("buttons.delete") }}
</b-button>
</coscine-form-group>
<!-- Archive Resource Modal -->
......@@ -58,18 +62,19 @@
import { defineComponent, PropType } from "vue-demi";
import useProjectStore from "@/modules/project/store";
import useUserStore from "@/modules/user/store";
import useResourceStore from "../../store";
import ArchiveResourceModal from "./modals/ArchiveResourceModal.vue";
import DeleteResourceModal from "./modals/DeleteResourceModal.vue";
import type { ResourceObject } from "@coscine/api-client/dist/types/Coscine.Api.Resources";
import type { UserObject } from "@coscine/api-client/dist/types/Coscine.Api.User";
import type { ResourceTypeInformation } from "@coscine/api-client/dist/types/Coscine.Api.Resources";
export default defineComponent({
components: {
ArchiveResourceModal,
DeleteResourceModal,
},
props: {
value: {
resourceForm: {
type: Object as PropType<ResourceObject>,
required: true,
},
......@@ -78,27 +83,39 @@ export default defineComponent({
type: Boolean,
},
},
emits: {
toggleArchive: null,
clickDelete: null,
input: (_: ResourceObject) => null,
},
setup() {
const projectStore = useProjectStore();
const userStore = useUserStore();
const resourceStore = useResourceStore();
return { projectStore, userStore };
return { projectStore, userStore, resourceStore };
},
data() {
return {
resourceForm: this.value,
isArchiveModalVisible: false,
isDeleteModalVisible: false,
};
},
computed: {
resource(): null | ResourceObject {
return this.resourceStore.currentResource;
},
resourceTypeInformation(): null | undefined | ResourceTypeInformation {
if (this.resourceStore.resourceTypes && this.resource) {
return this.resourceStore.resourceTypes.find(
(resourceType) => resourceType.id === this.resource?.type?.id
);
}
return null;
},
isOwner(): boolean | undefined {
return this.projectStore.currentUserRoleIsOwner;
},
......@@ -114,15 +131,6 @@ export default defineComponent({
},
},
watch: {
resource: {
handler() {
this.$emit("input", this.resourceForm);
},
deep: true,
},
},
methods: {
toggleArchive() {
this.$emit("toggleArchive");
......@@ -137,4 +145,8 @@ export default defineComponent({
});
</script>
<style></style>
<style scoped>
.btn-danger.disabled {
pointer-events: none;
}
</style>
......@@ -144,6 +144,8 @@ export default {
modalSaveDuplicateFilesHeader: "Dateien ersetzen oder überspringen",
modalSaveDuplicateFilesBody:
"Es sind bereits Dateien mit dem gleichen Namen vorhanden. Diese Dateien werden überschrieben:",
modalSaveDuplicatesFilesBodyWorm:
"Es sind bereits Dateien mit dem gleichen Namen vorhanden. Diese Dateien können nicht überschrieben werden:",
modalSaveDuplicateFilesBtnCancel: "HOCHLADEN ABBRECHEN",
modalSaveDuplicateFilesBtnSkip: "DIESE DATEIEN ÜBERSPRINGEN",
modalSaveDuplicateFilesBtnOverwrite: "ÜBERSCHREIBEN",
......
......@@ -141,6 +141,8 @@ export default {
modalSaveDuplicateFilesHeader: "Replace or skip duplicate files",
modalSaveDuplicateFilesBody:
"One or more files with the same name already exist. Uploading will result in overwriting the following file(s):",
modalSaveDuplicatesFilesBodyWorm:
"One or more files with the same name already exist. The following files cannot be overwritten:",
modalSaveDuplicateFilesBtnCancel: "CANCEL UPLOAD",
modalSaveDuplicateFilesBtnSkip: "SKIP DUPLICATE FILES",
modalSaveDuplicateFilesBtnOverwrite: "OVERWRITE",
......
......@@ -44,7 +44,7 @@
<Actions
v-if="resource"
v-show="tabs[currentTab].step === 'action'"
v-model="resource"
:resource-form="resource"
@toggleArchive="toggleArchive"
@clickDelete="clickDelete"
/>
......