diff --git a/src/modules/feature/board/board/BoardColumnHeader.vue b/src/modules/feature/board/board/BoardColumnHeader.vue
index aad5e25f87..5061c1607b 100644
--- a/src/modules/feature/board/board/BoardColumnHeader.vue
+++ b/src/modules/feature/board/board/BoardColumnHeader.vue
@@ -15,6 +15,7 @@
:data-testid="`column-title-${index}`"
scope="column"
:is-edit-mode="isEditMode"
+ :has-edit-permission="hasEditPermission"
class="w-100"
:is-focused="isFocusedById"
@update:value="onUpdateTitle"
diff --git a/src/modules/feature/board/board/BoardHeader.vue b/src/modules/feature/board/board/BoardHeader.vue
index f6b1e76607..8b9dd9df7c 100644
--- a/src/modules/feature/board/board/BoardHeader.vue
+++ b/src/modules/feature/board/board/BoardHeader.vue
@@ -18,6 +18,7 @@
:is-edit-mode="isEditMode"
:is-focused="isFocusedById"
:max-length="100"
+ :has-edit-permission="hasEditPermission"
@update:value="updateBoardTitle"
@blur="onBoardTitleBlur"
/>
diff --git a/src/modules/feature/board/card/CardHost.vue b/src/modules/feature/board/card/CardHost.vue
index cfcdaf1d95..ce4b2191da 100644
--- a/src/modules/feature/board/card/CardHost.vue
+++ b/src/modules/feature/board/card/CardHost.vue
@@ -14,9 +14,9 @@
:class="{ 'drag-disabled': isEditMode }"
tabindex="0"
min-height="120px"
- :elevation="isEditMode ? 6 : isHovered ? 4 : 2"
+ :elevation="isEditMode ? 6 : isHovered && hasEditPermission ? 4 : 2"
:ripple="false"
- :hover="isHovered"
+ :hover="isHovered && hasEditPermission"
:data-testid="cardTestId"
:data-scroll-target="getShareLinkId(cardId, BoardMenuScope.CARD)"
>
@@ -30,6 +30,7 @@
scope="card"
:is-focused="isFocusedById"
class="mx-n4 mb-n2"
+ :has-edit-permission="hasEditPermission"
@update:value="onUpdateCardTitle($event, cardId)"
@enter="onEnter"
/>
@@ -143,6 +144,8 @@ const emit = defineEmits<{
const cardHost = ref(null);
const cardId = toRef(props, "cardId");
const { isFocusContained, isFocusedById } = useBoardFocusHandler(cardId.value, cardHost);
+const { isEditMode, startEditMode, stopEditMode } = useCourseBoardEditMode(cardId.value);
+const { hasEditPermission, hasDeletePermission } = useBoardPermissions();
const isHovered = useElementHover(cardHost);
const isDetailView = ref(false);
@@ -158,8 +161,6 @@ const boardMenuTestId = computed(() => `card-menu-btn-${props.columnIndex}-${pro
const cardTestId = computed(() => `board-card-${props.columnIndex}-${props.rowIndex}`);
const { height: cardHostHeight } = useElementSize(cardHost);
-const { isEditMode, startEditMode, stopEditMode } = useCourseBoardEditMode(cardId.value);
-const { hasEditPermission, hasDeletePermission } = useBoardPermissions();
const { askType } = useAddElementDialog(cardStore.createElementRequest, cardId.value);
diff --git a/src/modules/feature/board/card/CardTitle.vue b/src/modules/feature/board/card/CardTitle.vue
index 902c484837..8f9a31eb7b 100644
--- a/src/modules/feature/board/card/CardTitle.vue
+++ b/src/modules/feature/board/card/CardTitle.vue
@@ -1,13 +1,10 @@
-
+
emit("enter");
.text-break-word {
word-break: break-word;
}
-
-.pointer-events-none {
- pointer-events: none;
-}
diff --git a/src/modules/feature/board/shared/BoardAnyTitleInput.vue b/src/modules/feature/board/shared/BoardAnyTitleInput.vue
index f38a778d85..19c98042d1 100644
--- a/src/modules/feature/board/shared/BoardAnyTitleInput.vue
+++ b/src/modules/feature/board/shared/BoardAnyTitleInput.vue
@@ -22,7 +22,11 @@
/>
-
+
{{ externalValue?.trim() ? externalValue : emptyValueFallback }}
@@ -44,12 +48,14 @@ type Props = {
isFocused?: boolean;
maxLength?: number | null;
emptyValueFallback?: string;
+ hasEditPermission?: boolean;
};
const props = withDefaults(defineProps(), {
isFocused: false,
maxLength: null,
emptyValueFallback: "",
+ hasEditPermission: false,
});
const emit = defineEmits<{
@@ -162,7 +168,6 @@ const cursorToEnd = () => {
}
.title {
- cursor: pointer;
white-space: pre-wrap;
letter-spacing: $field-letter-spacing;
font-family: var(--font-accent);