import{Bn as e,Ct as t,Dt as n,Ot as r,Sn as i,St as a,Wt as o,Yt as s,_n as c,bt as l,hn as u,ht as d,kt as f,on as p,qt as m,wt as h,xt as g}from"./client-CH0l_cyC.js";import{o as ee}from"./utils-BB9JBSFe.js";import{t as _}from"./Card-DjcBu_v7.js";import{i as v,r as te}from"./ui-B_BA7Vji.js";import{c as y,l as b,o as x,s as S}from"./Suffix-CRTlP-Ws.js";import{t as C}from"./Modal-mUfSTQ7o.js";import{n as w,t as ne}from"./DatePicker-C5uytLkX.js";import{t as T}from"./FormItem-B9wLOImB.js";import{t as E}from"./Button-BMgek43e.js";import{t as D}from"./Select-4Yv-WbCq.js";import{t as O}from"./_plugin-vue_export-helper-CMIJnODt.js";import{t as k}from"./Input-DdwnIcOG.js";import{t as A}from"./Alert-BzXxjK-u.js";import{t as j}from"./Flex-C_BJmXKG.js";import{t as M}from"./Spin-Cu5Fhupb.js";import{D as re,i as ie,pt as N}from"./index-BUAj036d.js";import{t as ae}from"./HeaderMenu-COgMoHOg.js";var oe={name:`ru-RU`,global:{undo:`Отменить`,redo:`Вернуть`,confirm:`Подтвердить`,clear:`Очистить`},Popconfirm:{positiveText:`Подтвердить`,negativeText:`Отмена`},Cascader:{placeholder:`Выбрать`,loading:`Загрузка`,loadingRequiredMessage:e=>`Загрузите все дочерние узлы ${e} прежде чем они станут необязательными`},Time:{dateFormat:`yyyy-MM-dd`,dateTimeFormat:`yyyy-MM-dd HH:mm:ss`},DatePicker:{yearFormat:`yyyy`,monthFormat:`MMM`,dayFormat:`eeeeee`,yearTypeFormat:`yyyy`,monthTypeFormat:`yyyy-MM`,dateFormat:`yyyy-MM-dd`,dateTimeFormat:`yyyy-MM-dd HH:mm:ss`,quarterFormat:`yyyy-qqq`,weekFormat:`YYYY-w`,clear:`Очистить`,now:`Сейчас`,confirm:`Подтвердить`,selectTime:`Выбрать время`,selectDate:`Выбрать дату`,datePlaceholder:`Выбрать дату`,datetimePlaceholder:`Выбрать дату и время`,monthPlaceholder:`Выберите месяц`,yearPlaceholder:`Выберите год`,quarterPlaceholder:`Выберите квартал`,weekPlaceholder:`Select Week`,startDatePlaceholder:`Дата начала`,endDatePlaceholder:`Дата окончания`,startDatetimePlaceholder:`Дата и время начала`,endDatetimePlaceholder:`Дата и время окончания`,startMonthPlaceholder:`Начало месяца`,endMonthPlaceholder:`Конец месяца`,monthBeforeYear:!0,firstDayOfWeek:0,today:`Сегодня`},DataTable:{checkTableAll:`Выбрать все в таблице`,uncheckTableAll:`Отменить все в таблице`,confirm:`Подтвердить`,clear:`Очистить`},LegacyTransfer:{sourceTitle:`Источник`,targetTitle:`Назначение`},Transfer:{selectAll:`Выбрать все`,unselectAll:`Снять все`,clearAll:`Очистить`,total:e=>`Всего ${e} элементов`,selected:e=>`${e} выбрано элементов`},Empty:{description:`Нет данных`},Select:{placeholder:`Выбрать`},TimePicker:{placeholder:`Выбрать время`,positiveText:`OK`,negativeText:`Отменить`,now:`Сейчас`,clear:`Очистить`},Pagination:{goto:`Перейти`,selectionSuffix:`страница`},DynamicTags:{add:`Добавить`},Log:{loading:`Загрузка`},Input:{placeholder:`Ввести`},InputNumber:{placeholder:`Ввести`},DynamicInput:{create:`Создать`},ThemeEditor:{title:`Редактор темы`,clearAllVars:`Очистить все`,clearSearch:`Очистить поиск`,filterCompName:`Фильтровать по имени компонента`,filterVarName:`Фильтровать имена переменных`,import:`Импорт`,export:`Экспорт`,restore:`Сбросить`},Image:{tipPrevious:`Предыдущее изображение (←)`,tipNext:`Следующее изображение (→)`,tipCounterclockwise:`Против часовой стрелки`,tipClockwise:`По часовой стрелке`,tipZoomOut:`Отдалить`,tipZoomIn:`Приблизить`,tipDownload:`Скачать`,tipClose:`Закрыть (Esc)`,tipOriginalSize:`Вернуть исходный размер`},Heatmap:{less:`меньше`,more:`больше`,monthFormat:`MMM`,weekdayFormat:`eeeeee`}};function P(e,t){if(e.one!==void 0&&t===1)return e.one;let n=t%10,r=t%100;return n===1&&r!==11?e.singularNominative.replace(`{{count}}`,String(t)):n>=2&&n<=4&&(r<10||r>20)?e.singularGenitive.replace(`{{count}}`,String(t)):e.pluralGenitive.replace(`{{count}}`,String(t))}function F(e){return(t,n)=>n?.addSuffix?n.comparison&&n.comparison>0?e.future?P(e.future,t):`через `+P(e.regular,t):e.past?P(e.past,t):P(e.regular,t)+` назад`:P(e.regular,t)}var I={lessThanXSeconds:F({regular:{one:`меньше секунды`,singularNominative:`меньше {{count}} секунды`,singularGenitive:`меньше {{count}} секунд`,pluralGenitive:`меньше {{count}} секунд`},future:{one:`меньше, чем через секунду`,singularNominative:`меньше, чем через {{count}} секунду`,singularGenitive:`меньше, чем через {{count}} секунды`,pluralGenitive:`меньше, чем через {{count}} секунд`}}),xSeconds:F({regular:{singularNominative:`{{count}} секунда`,singularGenitive:`{{count}} секунды`,pluralGenitive:`{{count}} секунд`},past:{singularNominative:`{{count}} секунду назад`,singularGenitive:`{{count}} секунды назад`,pluralGenitive:`{{count}} секунд назад`},future:{singularNominative:`через {{count}} секунду`,singularGenitive:`через {{count}} секунды`,pluralGenitive:`через {{count}} секунд`}}),halfAMinute:(e,t)=>t?.addSuffix?t.comparison&&t.comparison>0?`через полминуты`:`полминуты назад`:`полминуты`,lessThanXMinutes:F({regular:{one:`меньше минуты`,singularNominative:`меньше {{count}} минуты`,singularGenitive:`меньше {{count}} минут`,pluralGenitive:`меньше {{count}} минут`},future:{one:`меньше, чем через минуту`,singularNominative:`меньше, чем через {{count}} минуту`,singularGenitive:`меньше, чем через {{count}} минуты`,pluralGenitive:`меньше, чем через {{count}} минут`}}),xMinutes:F({regular:{singularNominative:`{{count}} минута`,singularGenitive:`{{count}} минуты`,pluralGenitive:`{{count}} минут`},past:{singularNominative:`{{count}} минуту назад`,singularGenitive:`{{count}} минуты назад`,pluralGenitive:`{{count}} минут назад`},future:{singularNominative:`через {{count}} минуту`,singularGenitive:`через {{count}} минуты`,pluralGenitive:`через {{count}} минут`}}),aboutXHours:F({regular:{singularNominative:`около {{count}} часа`,singularGenitive:`около {{count}} часов`,pluralGenitive:`около {{count}} часов`},future:{singularNominative:`приблизительно через {{count}} час`,singularGenitive:`приблизительно через {{count}} часа`,pluralGenitive:`приблизительно через {{count}} часов`}}),xHours:F({regular:{singularNominative:`{{count}} час`,singularGenitive:`{{count}} часа`,pluralGenitive:`{{count}} часов`}}),xDays:F({regular:{singularNominative:`{{count}} день`,singularGenitive:`{{count}} дня`,pluralGenitive:`{{count}} дней`}}),aboutXWeeks:F({regular:{singularNominative:`около {{count}} недели`,singularGenitive:`около {{count}} недель`,pluralGenitive:`около {{count}} недель`},future:{singularNominative:`приблизительно через {{count}} неделю`,singularGenitive:`приблизительно через {{count}} недели`,pluralGenitive:`приблизительно через {{count}} недель`}}),xWeeks:F({regular:{singularNominative:`{{count}} неделя`,singularGenitive:`{{count}} недели`,pluralGenitive:`{{count}} недель`}}),aboutXMonths:F({regular:{singularNominative:`около {{count}} месяца`,singularGenitive:`около {{count}} месяцев`,pluralGenitive:`около {{count}} месяцев`},future:{singularNominative:`приблизительно через {{count}} месяц`,singularGenitive:`приблизительно через {{count}} месяца`,pluralGenitive:`приблизительно через {{count}} месяцев`}}),xMonths:F({regular:{singularNominative:`{{count}} месяц`,singularGenitive:`{{count}} месяца`,pluralGenitive:`{{count}} месяцев`}}),aboutXYears:F({regular:{singularNominative:`около {{count}} года`,singularGenitive:`около {{count}} лет`,pluralGenitive:`около {{count}} лет`},future:{singularNominative:`приблизительно через {{count}} год`,singularGenitive:`приблизительно через {{count}} года`,pluralGenitive:`приблизительно через {{count}} лет`}}),xYears:F({regular:{singularNominative:`{{count}} год`,singularGenitive:`{{count}} года`,pluralGenitive:`{{count}} лет`}}),overXYears:F({regular:{singularNominative:`больше {{count}} года`,singularGenitive:`больше {{count}} лет`,pluralGenitive:`больше {{count}} лет`},future:{singularNominative:`больше, чем через {{count}} год`,singularGenitive:`больше, чем через {{count}} года`,pluralGenitive:`больше, чем через {{count}} лет`}}),almostXYears:F({regular:{singularNominative:`почти {{count}} год`,singularGenitive:`почти {{count}} года`,pluralGenitive:`почти {{count}} лет`},future:{singularNominative:`почти через {{count}} год`,singularGenitive:`почти через {{count}} года`,pluralGenitive:`почти через {{count}} лет`}})},L=(e,t,n)=>I[e](t,n),R={date:b({formats:{full:`EEEE, d MMMM y 'г.'`,long:`d MMMM y 'г.'`,medium:`d MMM y 'г.'`,short:`dd.MM.y`},defaultWidth:`full`}),time:b({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:b({formats:{any:`{{date}}, {{time}}`},defaultWidth:`any`})},z=[`воскресенье`,`понедельник`,`вторник`,`среду`,`четверг`,`пятницу`,`субботу`];function B(e){let t=z[e];switch(e){case 0:return`'в прошлое `+t+` в' p`;case 1:case 2:case 4:return`'в прошлый `+t+` в' p`;case 3:case 5:case 6:return`'в прошлую `+t+` в' p`}}function V(e){let t=z[e];return e===2?`'во `+t+` в' p`:`'в `+t+` в' p`}function H(e){let t=z[e];switch(e){case 0:return`'в следующее `+t+` в' p`;case 1:case 2:case 4:return`'в следующий `+t+` в' p`;case 3:case 5:case 6:return`'в следующую `+t+` в' p`}}var U={lastWeek:(e,t,n)=>{let r=e.getDay();return w(e,t,n)?V(r):B(r)},yesterday:`'вчера в' p`,today:`'сегодня в' p`,tomorrow:`'завтра в' p`,nextWeek:(e,t,n)=>{let r=e.getDay();return w(e,t,n)?V(r):H(r)},other:`P`},se={name:`ru-RU`,locale:{code:`ru`,formatDistance:L,formatLong:R,formatRelative:(e,t,n,r)=>{let i=U[e];return typeof i==`function`?i(t,n,r):i},localize:{ordinalNumber:(e,t)=>{let n=Number(e),r=t?.unit,i;return i=r===`date`?`-е`:r===`week`||r===`minute`||r===`second`?`-я`:`-й`,n+i},era:y({values:{narrow:[`до н.э.`,`н.э.`],abbreviated:[`до н. э.`,`н. э.`],wide:[`до нашей эры`,`нашей эры`]},defaultWidth:`wide`}),quarter:y({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`1-й кв.`,`2-й кв.`,`3-й кв.`,`4-й кв.`],wide:[`1-й квартал`,`2-й квартал`,`3-й квартал`,`4-й квартал`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:y({values:{narrow:[`Я`,`Ф`,`М`,`А`,`М`,`И`,`И`,`А`,`С`,`О`,`Н`,`Д`],abbreviated:[`янв.`,`фев.`,`март`,`апр.`,`май`,`июнь`,`июль`,`авг.`,`сент.`,`окт.`,`нояб.`,`дек.`],wide:[`январь`,`февраль`,`март`,`апрель`,`май`,`июнь`,`июль`,`август`,`сентябрь`,`октябрь`,`ноябрь`,`декабрь`]},defaultWidth:`wide`,formattingValues:{narrow:[`Я`,`Ф`,`М`,`А`,`М`,`И`,`И`,`А`,`С`,`О`,`Н`,`Д`],abbreviated:[`янв.`,`фев.`,`мар.`,`апр.`,`мая`,`июн.`,`июл.`,`авг.`,`сент.`,`окт.`,`нояб.`,`дек.`],wide:[`января`,`февраля`,`марта`,`апреля`,`мая`,`июня`,`июля`,`августа`,`сентября`,`октября`,`ноября`,`декабря`]},defaultFormattingWidth:`wide`}),day:y({values:{narrow:[`В`,`П`,`В`,`С`,`Ч`,`П`,`С`],short:[`вс`,`пн`,`вт`,`ср`,`чт`,`пт`,`сб`],abbreviated:[`вск`,`пнд`,`втр`,`срд`,`чтв`,`птн`,`суб`],wide:[`воскресенье`,`понедельник`,`вторник`,`среда`,`четверг`,`пятница`,`суббота`]},defaultWidth:`wide`}),dayPeriod:y({values:{narrow:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утро`,afternoon:`день`,evening:`веч.`,night:`ночь`},abbreviated:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утро`,afternoon:`день`,evening:`веч.`,night:`ночь`},wide:{am:`ДП`,pm:`ПП`,midnight:`полночь`,noon:`полдень`,morning:`утро`,afternoon:`день`,evening:`вечер`,night:`ночь`}},defaultWidth:`any`,formattingValues:{narrow:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утра`,afternoon:`дня`,evening:`веч.`,night:`ночи`},abbreviated:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утра`,afternoon:`дня`,evening:`веч.`,night:`ночи`},wide:{am:`ДП`,pm:`ПП`,midnight:`полночь`,noon:`полдень`,morning:`утра`,afternoon:`дня`,evening:`вечера`,night:`ночи`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:x({matchPattern:/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:S({matchPatterns:{narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^д/i,/^н/i]},defaultParseWidth:`any`}),quarter:S({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:S({matchPatterns:{narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^я/i,/^ф/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^с/i,/^о/i,/^н/i,/^я/i],any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^ав/i,/^с/i,/^о/i,/^н/i,/^д/i]},defaultParseWidth:`any`}),day:S({matchPatterns:{narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},defaultParseWidth:`any`}),dayPeriod:S({matchPatterns:{narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},defaultMatchWidth:`wide`,parsePatterns:{any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}}};function ce(e,t=new Date){let n=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`;return e.status!==`done`&&!!e.dueDate&&e.dueDatew.value.map(e=>({label:e.name||`#${e.ID}`,value:e.ID}))),G=l(()=>[{label:`Все ответственные`,value:`all`},{label:`Без ответственного`,value:0},...W.value,...S.value.filter(e=>e.assigneeID&&!w.value.some(t=>t.ID===e.assigneeID)).filter((e,t,n)=>n.findIndex(t=>t.assigneeID===e.assigneeID)===t).map(e=>({label:e.assigneeName||`#${e.assigneeID}`,value:e.assigneeID}))]),ge=l(()=>{if(!U.assigneeID||W.value.some(e=>e.value===U.assigneeID))return W.value;let e=S.value.find(e=>e.ID===z.value);return[...W.value,{label:`${e?.assigneeName||`#${U.assigneeID}`} (роль отозвана)`,value:U.assigneeID,disabled:!0}]}),_e=l(()=>x.map(e=>({...e,tasks:S.value.filter(t=>t.status===e.value&&(L.value===`all`||(t.assigneeID||0)===L.value))}))),K=l(()=>S.value.find(e=>e.ID===z.value)),q=l(()=>U.title.trim()?[...U.title.trim()].length>255?`Не более 255 символов`:void 0:`Введите название задачи`),J=l(()=>[...U.description].length>1e4?`Не более 10 000 символов`:void 0),Y=l(()=>z.value!==void 0&&K.value!==void 0&&K.value.version!==B.value),X=l(()=>z.value!==void 0&&!K.value);function ve(e){return x.find(t=>t.value===e)?.label||e}function Z(e){return e?e.split(`-`).reverse().join(`.`):`Без срока`}async function Q(){if(!(P.value||F.value)){P.value=!0,I.value=``;try{let e=await y.GetPermissions({});if(O.value=e.permissions?.includes(`tasks_page`)||!1,!O.value)return;let[t,n]=await Promise.all([y.GetTasks({}),y.GetTaskAssignees({})]);S.value=t.tasks||[],w.value=n.assignees||[]}catch(e){I.value=e instanceof Error&&e.message===`unauthorized`?`Войдите под учётной записью разработчика или администратора`:e instanceof Error?e.message:`Не удалось загрузить задачи`,b.error(I.value)}finally{P.value=!1}}}function $(e){F.value||(z.value=e?.ID,B.value=e?.version,Object.assign(U,{title:e?.title||``,description:e?.description||``,status:e?.status||`new`,assigneeID:e?.assigneeID??null,dueDate:e?.dueDate||null}),R.value=!0)}async function ye(){if(F.value||P.value||Y.value||X.value)return;let e=U.title.trim();if(!e||[...e].length>255||[...U.description].length>1e4){b.error(`Введите название до 255 символов и описание до 10 000 символов`);return}F.value=!0;try{let t={title:e,description:U.description,status:U.status,assigneeID:U.assigneeID??void 0,dueDate:U.dueDate||``},n=z.value===void 0?await y.CreateTask(t):await y.UpdateTask({...t,ID:z.value,version:B.value});if(n.task){let e=n.task;S.value=z.value===void 0?[e,...S.value]:S.value.map(t=>t.ID===e.ID?e:t)}R.value=!1,b.success(`Задача сохранена`)}catch(e){b.error(e instanceof Error?e.message:`Не удалось сохранить задачу`)}finally{F.value=!1}await Q()}function be(e,t){if(F.value||P.value||!e.dataTransfer){e.preventDefault();return}H.value=t.ID,e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,String(t.ID))}async function xe(e){let t=S.value.find(e=>e.ID===H.value);if(H.value=void 0,!(!t||t.status===e||F.value||P.value)){F.value=!0;try{let n=await y.SetTaskStatus({ID:t.ID,status:e,version:t.version});if(n.task){let e=n.task;S.value=S.value.map(n=>n.ID===t.ID?e:n)}b.success(`Статус изменён`)}catch(e){b.error(e instanceof Error?e.message:`Не удалось изменить статус`)}finally{F.value=!1}await Q()}}async function Se(){if(!(!V.value||F.value||P.value)){F.value=!0;try{await y.DeleteTask({ID:V.value.ID,version:V.value.version}),S.value=S.value.filter(e=>e.ID!==V.value?.ID),V.value=null,R.value=!1,b.success(`Задача удалена`)}catch(e){b.error(e instanceof Error?e.message:`Не удалось удалить задачу`),V.value=null}finally{F.value=!1}await Q()}}function Ce(){B.value=K.value?.version}return o(()=>{P.value=!1,Q()}),(o,c)=>(m(),a(i(re),{locale:i(oe),"date-locale":i(se)},{default:p(()=>[g(`div`,le,[g(`div`,ue,[r(i(j),{class:`toolbar`,justify:`space-between`,align:`center`},{default:p(()=>[c[16]||=g(`h1`,null,`Задачи`,-1),r(i(j),null,{default:p(()=>[r(i(E),{loading:P.value,disabled:F.value,onClick:Q},{default:p(()=>[...c[14]||=[n(`Обновить`,-1)]]),_:1},8,[`loading`,`disabled`]),O.value?(m(),a(i(E),{key:0,type:`primary`,disabled:F.value||P.value,onClick:c[0]||=e=>$()},{default:p(()=>[...c[15]||=[n(` Создать задачу `,-1)]]),_:1},8,[`disabled`])):t(``,!0)]),_:1})]),_:1}),I.value?(m(),a(i(A),{key:0,type:`error`,class:`notice`},{default:p(()=>[n(e(I.value),1)]),_:1})):t(``,!0),P.value&&!O.value?(m(),a(i(M),{key:1,class:`initial-loading`})):!O.value&&!I.value?(m(),a(i(A),{key:2,type:`warning`},{default:p(()=>[...c[17]||=[n(` Страница доступна разработчикам и администратору. `,-1)]]),_:1})):t(``,!0),O.value?(m(),h(d,{key:3},[r(i(D),{value:L.value,"onUpdate:value":c[1]||=e=>L.value=e,options:G.value,"aria-label":`Фильтр по ответственному`,class:`assignee-filter`},null,8,[`value`,`options`]),r(i(M),{show:P.value||F.value},{default:p(()=>[g(`div`,de,[(m(!0),h(d,null,s(_e.value,o=>(m(),h(`section`,{key:o.value,class:`column`,"aria-label":o.label,onDragover:c[3]||=N(()=>{},[`prevent`]),onDrop:N(e=>xe(o.value),[`prevent`])},[r(i(j),{justify:`space-between`,align:`center`,class:`column-heading`},{default:p(()=>[g(`h2`,null,e(o.label),1),r(i(v),{size:`small`},{default:p(()=>[n(e(o.tasks.length),1)]),_:2},1024)]),_:2},1024),o.tasks.length?t(``,!0):(m(),a(i(ee),{key:0,description:`Нет задач`,class:`empty-column`})),(m(!0),h(d,null,s(o.tasks,o=>(m(),a(i(_),{key:o.ID,class:`task-card`,size:`small`,draggable:!F.value&&!P.value,onDragstart:e=>be(e,o),onDragend:c[2]||=e=>H.value=void 0},{default:p(()=>[g(`div`,pe,`#`+e(o.ID),1),g(`h3`,me,e(o.title),1),g(`p`,null,e(o.assigneeName||`Без ответственного`),1),r(i(j),{align:`center`,class:`task-due`},{default:p(()=>[g(`span`,null,e(Z(o.dueDate)),1),i(ce)(o)?(m(),a(i(v),{key:0,type:`error`,size:`small`},{default:p(()=>[...c[18]||=[n(`Просрочена`,-1)]]),_:1})):t(``,!0)]),_:2},1024),r(i(E),{size:`small`,disabled:F.value||P.value,onClick:e=>$(o)},{default:p(()=>[...c[19]||=[n(` Открыть задачу `,-1)]]),_:1},8,[`disabled`,`onClick`])]),_:2},1032,[`draggable`,`onDragstart`]))),128))],40,fe))),128))])]),_:1},8,[`show`])],64)):t(``,!0)])]),r(ae,{active:`tasks`}),r(i(C),{show:R.value,"onUpdate:show":c[11]||=e=>R.value=e,"mask-closable":!F.value,"close-on-esc":!F.value},{default:p(()=>[r(i(_),{class:`task-modal`,title:z.value?`Задача #${z.value}`:`Новая задача`,role:`dialog`,"aria-modal":`true`},{default:p(()=>[X.value?(m(),a(i(A),{key:0,type:`warning`,class:`notice`},{default:p(()=>[...c[20]||=[n(` Задача удалена другим пользователем. Черновик сохранён в этой форме. `,-1)]]),_:1})):t(``,!0),Y.value&&K.value?(m(),a(i(A),{key:1,type:`warning`,class:`notice`},{default:p(()=>[c[22]||=n(` Задача изменена другим пользователем. Ваш черновик сохранён. Актуальные данные: `,-1),g(`p`,null,e(K.value.title)+` — `+e(ve(K.value.status)),1),g(`p`,null,e(K.value.assigneeName||`Без ответственного`)+` · `+e(Z(K.value.dueDate)),1),g(`p`,he,e(K.value.description||`Без описания`),1),r(i(E),{disabled:P.value||F.value,onClick:Ce},{default:p(()=>[...c[21]||=[n(` Продолжить с моим черновиком `,-1)]]),_:1},8,[`disabled`])]),_:1})):t(``,!0),r(i(T),{label:`Название *`,"label-for":`task-title`,feedback:q.value,"validation-status":q.value?`error`:void 0},{default:p(()=>[r(i(k),{"input-props":{id:`task-title`},value:U.title,"onUpdate:value":c[4]||=e=>U.title=e,disabled:F.value,placeholder:`Название задачи`},null,8,[`value`,`disabled`])]),_:1},8,[`feedback`,`validation-status`]),r(i(T),{label:`Описание`,"label-for":`task-description`,feedback:J.value,"validation-status":J.value?`error`:void 0},{default:p(()=>[r(i(k),{"input-props":{id:`task-description`},value:U.description,"onUpdate:value":c[5]||=e=>U.description=e,type:`textarea`,disabled:F.value,placeholder:`Что нужно сделать`,autosize:{minRows:3,maxRows:10}},null,8,[`value`,`disabled`])]),_:1},8,[`feedback`,`validation-status`]),r(i(T),{label:`Статус`,"label-for":`task-status`},{default:p(()=>[r(i(D),{"input-props":{id:`task-status`,"aria-label":`Статус`},filterable:``,value:U.status,"onUpdate:value":c[6]||=e=>U.status=e,options:x,disabled:F.value},null,8,[`value`,`disabled`])]),_:1}),r(i(T),{label:`Ответственный`,"label-for":`task-assignee`},{default:p(()=>[r(i(D),{"input-props":{id:`task-assignee`,"aria-label":`Ответственный`},value:U.assigneeID,"onUpdate:value":c[7]||=e=>U.assigneeID=e,options:ge.value,disabled:F.value,placeholder:`Без ответственного`,clearable:``,filterable:``},null,8,[`value`,`options`,`disabled`])]),_:1}),r(i(T),{label:`Срок выполнения`,"label-for":`task-due-date`},{default:p(()=>[r(i(ne),{id:`task-due-date`,"formatted-value":U.dueDate,"onUpdate:formattedValue":c[8]||=e=>U.dueDate=e,type:`date`,placeholder:`Дата завершения`,"value-format":`yyyy-MM-dd`,format:`dd.MM.yyyy`,disabled:F.value,clearable:``,class:`date-picker`},null,8,[`formatted-value`,`disabled`])]),_:1}),r(i(j),{justify:`space-between`},{default:p(()=>[z.value&&K.value?(m(),a(i(E),{key:0,type:`error`,disabled:F.value||P.value,onClick:c[9]||=e=>V.value=K.value},{default:p(()=>[...c[23]||=[n(`Удалить`,-1)]]),_:1},8,[`disabled`])):t(``,!0),r(i(j),null,{default:p(()=>[r(i(E),{disabled:F.value,onClick:c[10]||=e=>R.value=!1},{default:p(()=>[...c[24]||=[n(`Закрыть`,-1)]]),_:1},8,[`disabled`]),r(i(E),{type:`primary`,loading:F.value,disabled:P.value||Y.value||X.value||!!q.value||!!J.value,onClick:ye},{default:p(()=>[...c[25]||=[n(`Сохранить`,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`title`])]),_:1},8,[`show`,`mask-closable`,`close-on-esc`]),r(i(C),{show:!!V.value,"mask-closable":!F.value,"close-on-esc":!F.value,"onUpdate:show":c[13]||=e=>!F.value&&(V.value=null)},{default:p(()=>[r(i(_),{class:`task-modal`,title:`Удалить задачу?`,role:`dialog`,"aria-modal":`true`},{default:p(()=>[g(`p`,null,`Удалить «`+e(V.value?.title)+`»? Это действие необратимо.`,1),r(i(j),{justify:`end`,class:`delete-actions`},{default:p(()=>[r(i(E),{disabled:F.value,onClick:c[12]||=e=>V.value=null},{default:p(()=>[...c[26]||=[n(`Отмена`,-1)]]),_:1},8,[`disabled`]),r(i(E),{type:`error`,loading:F.value,onClick:Se},{default:p(()=>[...c[27]||=[n(`Удалить`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`show`,`mask-closable`,`close-on-esc`])]),_:1},8,[`locale`,`date-locale`]))}}),[[`__scopeId`,`data-v-ff75f974`]]),G=f({__name:`TasksView`,setup(e){return(e,t)=>(m(),a(W))}});export{G as default};