Disable checklist item drag for less than 2 items, fix base element controller [SCI-6997] (#4275)

This commit is contained in:
artoscinote 2022-07-21 09:57:14 +02:00 committed by GitHub
parent d5e4af953c
commit 28ca1aaec6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 3 deletions

View file

@ -322,6 +322,11 @@
&.step-element-grip--draggable {
cursor: grab;
}
&.step-element-grip--disabled {
pointer-events: none;
.fas { opacity: 0; }
}
}
.sci-reorderable-items {

View file

@ -30,7 +30,7 @@ module StepElements
end
def render_step_orderable_element(orderable)
step_orderable_element = orderable.step_orderable_elements.find_by!(step: @step)
step_orderable_element = orderable.step_orderable_element
render json: step_orderable_element, serializer: StepOrderableElementSerializer, user: current_user
end

View file

@ -40,7 +40,7 @@
:dragClass="'step-checklist-item-drag'"
:chosenClass="'step-checklist-item-chosen'"
:handle="'.step-element-grip'"
:disabled="editingItem && !element.attributes.orderable.urls.reorder_url"
:disabled="editingItem || checklistItems.length < 2 || !element.attributes.orderable.urls.reorder_url"
@start="startReorder"
@end="endReorder"
>
@ -51,6 +51,7 @@
:locked="locked"
:reorderChecklistItemUrl="element.attributes.orderable.urls.reorder_url"
:inRepository="inRepository"
:draggable="checklistItems.length > 1"
@editStart="editingItem = true"
@editEnd="editingItem = false"
@update="saveItem"

View file

@ -1,7 +1,7 @@
<template>
<div class="step-checklist-item">
<div class="step-element-header" :class="{ 'locked': locked || editingText, 'editing-name': editingText }">
<div v-if="reorderChecklistItemUrl" class="step-element-grip step-element-grip--draggable">
<div v-if="reorderChecklistItemUrl" class="step-element-grip step-element-grip--draggable" :class="{ 'step-element-grip--disabled': !draggable }">
<i class="fas fa-grip-vertical"></i>
</div>
<div class="step-element-name" :class="{ 'done': checklistItem.attributes.checked }">
@ -67,6 +67,10 @@
type: Boolean,
default: false
},
draggable: {
type: Boolean,
default: false
},
inRepository: {
type: Boolean,
required: true