updaetd to roles and permissions
This commit is contained in:
@@ -107,8 +107,8 @@
|
||||
wire:key="kanban-dropzone-{{ $board?->id ?? 0 }}-{{ $status->id }}-{{ $refreshNonce }}">
|
||||
@forelse ($tickets as $ticket)
|
||||
<article
|
||||
class="group rounded-2xl border border-zinc-200 bg-white p-4 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md active:cursor-grabbing dark:border-zinc-800 dark:bg-zinc-900"
|
||||
draggable="false" data-helpdesk-kanban-ticket data-ticket-id="{{ $ticket->id }}"
|
||||
class="group cursor-grab rounded-2xl border border-zinc-200 bg-white p-4 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md active:cursor-grabbing dark:border-zinc-800 dark:bg-zinc-900"
|
||||
draggable="true" data-helpdesk-kanban-ticket data-ticket-id="{{ $ticket->id }}"
|
||||
wire:key="kanban-ticket-{{ $ticket->id }}-{{ $ticket->status_id }}-{{ $ticket->board_id }}-{{ optional($ticket->updated_at)->timestamp }}"
|
||||
dusk="kanban-ticket-{{ $ticket->id }}">
|
||||
<div class="mb-2 flex justify-end">
|
||||
@@ -270,12 +270,26 @@
|
||||
});
|
||||
};
|
||||
|
||||
const isInteractive = (element) => Boolean(
|
||||
element?.closest?.(
|
||||
'a, button, input, select, textarea, option, form, label, [contenteditable="true"], [data-no-card-drag]'
|
||||
)
|
||||
);
|
||||
|
||||
componentRoot.addEventListener('dragstart', (event) => {
|
||||
const handle = event.target.closest('[data-kanban-drag-handle]');
|
||||
if (!handle) { event.preventDefault(); return; }
|
||||
const card = cardFor(handle);
|
||||
const card = cardFor(event.target);
|
||||
|
||||
if (!card || isInteractive(event.target)) {
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
const column = columnFor(card);
|
||||
if (!card || !column) { event.preventDefault(); return; }
|
||||
|
||||
if (!column) {
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
drag = {
|
||||
card,
|
||||
@@ -284,8 +298,10 @@
|
||||
originalParent: card.parentElement,
|
||||
originalNext: card.nextElementSibling,
|
||||
};
|
||||
|
||||
event.dataTransfer.effectAllowed = 'move';
|
||||
event.dataTransfer.setData('text/plain', String(drag.ticketId));
|
||||
|
||||
requestAnimationFrame(() => card.classList.add('hd-is-dragging'));
|
||||
});
|
||||
|
||||
|
||||
@@ -124,6 +124,19 @@
|
||||
class="rounded border-zinc-300 bg-zinc-950 text-blue-600 focus:ring-blue-500">
|
||||
Default status for new tickets
|
||||
</label>
|
||||
@error('teamForm.name')
|
||||
<div class="xl:col-span-12 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-300">{{ $message }}</div>
|
||||
@enderror
|
||||
@error('teamForm.slug')
|
||||
<div class="xl:col-span-12 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-300">{{ $message }}</div>
|
||||
@enderror
|
||||
@error('teamForm.color')
|
||||
<div class="xl:col-span-12 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-300">{{ $message }}</div>
|
||||
@enderror
|
||||
@error('teamForm.user_ids.*')
|
||||
<div class="xl:col-span-12 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-300">{{ $message }}</div>
|
||||
@enderror
|
||||
|
||||
<div class="flex flex-wrap items-center gap-2 xl:col-span-12">
|
||||
<flux:button size="sm" type="submit" variant="primary"
|
||||
class="!h-9 !rounded-lg !px-3 !text-xs !font-semibold !bg-green-600 !text-white hover:!bg-green-700 focus:!ring-green-400/60">Save status
|
||||
|
||||
Reference in New Issue
Block a user