// @requires var SAVE_ORDER_NOTES_URL // @requires var DBG function submitZamowienie(fld) { var frm = fld.form; frm['_task'].value='addZamowienie'; } function submitZlecenie(fld) { var frm = fld.form; frm['_task'].value='addZlecenie'; } (function() { var _saveOrderNotesLink = SAVE_ORDER_NOTES_URL; var _dbg = DBG; jQuery(document).on('p5:ZamZlec:editNote:click', function(e, n, payload) { if (!payload || !payload.props || !payload.props.idOrder) return false; // TODO: load current value for field 'ORDER_NOTES' from ajax // superagent // .post(_saveOrderNotesLink) // .type('json') // header ĺapplication/x-www-form-urlencoded' requires type('form'); // .send({ // notes: orderNotes // }) // .set('Accept', 'application/json') // .end(function(err, res) { // if(_dbg)console.log('#widget-zamzlec/editOrderNotes: res:', res, 'res.body:', res.body) // if (err || !res.ok) { // // jQuery(document).trigger('DBG:notify', {type: 'warning', msg: 'Req error', err: err}); // reject("Request error") // } else { // if ('application/json' !== res.type) { // reject("Wrong response type - required json") // return // } // if (!res.body.id || res.body.id <= 0) reject(res.body.msg || "Wystąpiły błędy podczas dodawaniu kosztu") // resolve(res.body) // } // }) var orderNotes = jQuery(n).parent().find('.order-notes').text() zamZlec__editOrderNote(n, payload.props.idOrder, payload.props.label || '', orderNotes) }); function zamZlec__editOrderNote(n, idOrder, orderLabel, orderNotes) { var noteNode = n; console.log('TODO: edit note for idOrder('+idOrder+') orderNotes', orderNotes) swal({ title: 'Uwagi do zamówienia', html: 'nr: "' + orderLabel + '" (id:'+idOrder+')', animation: false, input: 'textarea', inputPlaceholder: 'uwagi...', inputValue: orderNotes, // inputAttributes: {'step': '0.01'}, showCancelButton: true, confirmButtonText: 'Zapisz', showLoaderOnConfirm: true, showCloseButton: true, preConfirm: function(orderNotes) { return new Promise(function(resolve, reject) { if (orderNotes.length > 255) reject('Przekroczono limit długości znaków') superagent .post(_saveOrderNotesLink) .type('json') // header ĺapplication/x-www-form-urlencoded' requires type('form'); .send({ id: idOrder, notes: orderNotes }) .set('Accept', 'application/json') .end(function(err, res) { if(_dbg)console.log('#widget-zamzlec/editOrderNotes: res:', res, 'res.body:', res.body) if (err || !res.ok) { reject((res.body && res.body.msg) ? res.body.msg || "Request error" : "Request error") } else { if ('application/json' !== res.type) { reject("Wrong response type - required json") return } if (!res.body.order || res.body.order.ID <= 0) reject(res.body.msg || "Wystąpiły błędy") resolve(res.body.order) } }) }) }, allowOutsideClick: false }).then(function(order) { if(_dbg)console.log('#widget-zamzlec/editOrderNotes: order:', order) zamZlec__renderNote(order.ID, order.ORDER_NOTES, n) }).catch(function(e) { // eg. hit Cancel }) } function zamZlec__renderNote(idOrder, notes, noteNode) { console.log('TODO: edit note for idOrder('+idOrder+'), noteNode:', noteNode, 'notes:', notes); jQuery(noteNode).parent().find('.order-notes').text(notes) } })(); global.submitZamowienie = submitZamowienie global.submitZlecenie = submitZlecenie