123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- window.currentList = 0
- async function openTask(event) {
- let taskId = event.target.parentNode.getAttribute('data_id')
- let response = await fetch(`/tasks/${taskId}`, {
- method: "GET",
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- }
- }
- )
- if (response.status === 200) {
- let result = await response.json()
- let task = result.data
- document.querySelector('#taskFormContainer h2').innerHTML = "Редактирование"
- if (task) {
- document.querySelector('#taskFormContainer #task_id').value = task.id
- document.querySelector('#taskFormContainer #name').value = task.name
- document.querySelector('#taskFormContainer #type_name').value = task.type.name
- document.querySelector('#taskFormContainer #place').value = task.place
- document.querySelector('#taskFormContainer #date').value = task.date
- document.querySelector('#taskFormContainer #time').value = task.time
- document.querySelector('#taskFormContainer #duration').value = task.duration
- document.querySelector('#taskFormContainer #comment').value = task.comment
- }
- }
- else {
- alert("task Not found")
- }
- }
- async function onClickDone(event) {
- event.stopPropagation()
- let taskId = event.target.parentNode.parentNode.getAttribute("data_id")
- let body = {
- done: event.target.checked,
- "_token": document.getElementsByName('_token')[0].value
- }
- event.target.disabled= true;
- let response = await fetch(`/tasks/${taskId}`, {
- method: "PUT",
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify(body)
- }
- )
- if (response.status === 201) {
- await loadNewTaskList()
- }
- else {
- let result = await response.json()
- console.log(result)
- event.target.checked = !event.target.checked
- }
- event.target.disabled= false
- }
- async function listTypeEvent(event) {
- let allButtons = document.querySelectorAll('.btn-group-lg button')
- allButtons.forEach((buttonElem) => {
- buttonElem.disabled = true
- buttonElem.classList.remove('active')
- })
- event.target.classList.add('active')
- event.target.disabled = false
- await loadNewTaskList(event.target.getAttribute('dataListType'))
- allButtons.forEach((buttonElem) => {
- buttonElem.disabled = false
- })
- }
- async function loadNewTaskList(listType = window.currentList) {
- let response = await fetch(`/tasks?TypeList=${listType}`, {
- method: "GET",
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- }
- }
- )
- if (response.status === 200) {
- let result = await response.json()
- window.currentList = listType
- let tableBody = document.querySelector('tbody')
- tableBody.innerHTML = ""
- result.data.forEach((task) => {
- let row = document.createElement('tr')
- row.onclick = openTask
- for (let i = 0; i < 7; i++)
- row.append(document.createElement('td'))
- fillRow(row, task)
- let doneElem = document.createElement('td')
- let inputDone = document.createElement('input')
- inputDone.type = 'checkbox'
- inputDone.onclick = onClickDone
- inputDone.checked = task.done
- doneElem.append(inputDone)
- row.append(doneElem)
- tableBody.append(row)
- })
- }
- }
|