summaryrefslogtreecommitdiff
path: root/day9/task5/static/js/tableCallbacks.js
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2019-07-21 12:14:09 +0400
committerAndrew <saintruler@gmail.com>2019-07-21 12:14:09 +0400
commit2305ced85888a23f86ecfcdfb64a3b69c4997a4c (patch)
tree9d5cc4ad1c322ca2bf46b990498ad0a79d508aff /day9/task5/static/js/tableCallbacks.js
parent8c8712f0e6b165f6967f5d2958f300df6182296c (diff)
Переписан бекенд. Добавлена валидация при обновлении значений в ряду.
Удалена предыдущая версия приложения без vue.
Diffstat (limited to 'day9/task5/static/js/tableCallbacks.js')
-rw-r--r--day9/task5/static/js/tableCallbacks.js116
1 files changed, 0 insertions, 116 deletions
diff --git a/day9/task5/static/js/tableCallbacks.js b/day9/task5/static/js/tableCallbacks.js
deleted file mode 100644
index d024d16..0000000
--- a/day9/task5/static/js/tableCallbacks.js
+++ /dev/null
@@ -1,116 +0,0 @@
-const defaultColumnInputs = {
- 'service_id': `<input type="text">`,
- 'servtype': `<input type="text">`,
- 'subtype': `<input type="text">`,
- 'user_id': `<input type="text">`,
- 'referrer_user_id': `<input type="text">`,
- 'state': `<select>
- <option>N</option>
- <option>A</option>
- <option>S</option>
- <option>D</option>
- <option>O</option>
- </select>`,
-
- 'creation_date': `<input type="date">`,
- 'creation_time': `<input type="time">`,
- 'creation_request_sent_date': `<input type="date"><input type="time">`,
- 'notified_about_expiration': `<input type="text">`
-};
-
-function onFieldClick(fieldId) {
- let fieldElement = document.getElementById(fieldId);
- fieldElement.onclick = () => {};
-
- if (fieldElement.firstChild.nodeName !== 'INPUT' && fieldElement.firstChild.nodeName !== 'SELECT') {
- let [columnName, serviceId] = fieldId.split('-');
- let previousValue = fieldElement.innerText;
-
- fieldElement.innerHTML = defaultColumnInputs[columnName];
- let submitBtn = elementFromHTML('<button type="button">Submit</button>');
- let cancelBtn = elementFromHTML('<button type="button">&#10006</button>');
-
- fieldElement.appendChild(submitBtn);
- fieldElement.appendChild(cancelBtn);
-
- if (columnName === 'creation_request_sent_date') {
- let dateElement = fieldElement.firstChild;
- let timeElement = fieldElement.childNodes[1];
-
- submitBtn.onclick = () => fieldEditSubmitBtn(fieldId, `${dateElement.value} ${timeElement.value}`);
- cancelBtn.onclick = () => fieldEditCancelBtn(fieldId, previousValue);
-
- dateElement.onkeyup = timeElement.onkeyup = (event) => {
- if (event.code === 'Enter') {
- if (dateElement.value !== '' && timeElement.value !== '')
- fieldEditSubmit(fieldId, `${dateElement.value} ${timeElement.value}`);
- }
- else if (event.code === 'Escape')
- fieldEditCancel(fieldId, previousValue);
- };
- }
- else {
- let inputElement = fieldElement.firstChild;
-
- submitBtn.onclick = () => fieldEditSubmitBtn(fieldId, inputElement.value);
- cancelBtn.onclick = () => fieldEditCancelBtn(fieldId, previousValue);
-
- inputElement.onkeyup = (event) => {
- if (event.code === 'Enter')
- fieldEditSubmit(fieldId, inputElement.value);
- else if (event.code === 'Escape')
- fieldEditCancel(fieldId, previousValue);
- };
- }
- }
-}
-
-function _fieldEditSubmit(fieldId, value) {
- let [columnName, serviceId] = fieldId.split('-');
- request.post(`${HOST}/api/update`, () => {}, {
- 'service_id': serviceId, [columnName]: value
- });
-}
-
-function fieldEditSubmit(fieldId, value) {
- _fieldEditSubmit(fieldId, value);
-
- let fieldElement = document.getElementById(fieldId);
- fieldElement.innerHTML = value;
- fieldElement.onclick = () => onFieldClick(fieldId);
-}
-
-function fieldEditSubmitBtn(fieldId, value) {
- _fieldEditSubmit(fieldId, value);
-
- let fieldElement = document.getElementById(fieldId);
- fieldElement.innerHTML = value;
- fieldElement.onclick = () => {
- fieldElement.onclick = () => onFieldClick(fieldId);
- }
-}
-
-function fieldEditCancel(fieldId, value) {
- let fieldElement = document.getElementById(fieldId);
- fieldElement.innerHTML = value;
- fieldElement.onclick = () => onFieldClick(fieldId);
-}
-
-function fieldEditCancelBtn(fieldId, value) {
- let fieldElement = document.getElementById(fieldId);
- fieldElement.innerHTML = value;
- fieldElement.onclick = () => {
- fieldElement.onclick = () => onFieldClick(fieldId);
- }
-}
-
-function removeField(service_id) {
- request.post(`${HOST}/api/delete`, () => {}, {'service_id': service_id});
- let tableBody = document.getElementById('table').childNodes[1];
- for (let node of tableBody.childNodes) {
- if (node.getAttribute('id') === `row_${service_id}`) {
- tableBody.removeChild(node);
- break
- }
- }
-}