0
1
Fork 0
hedera-web-mindshore/forms/ecomerce/orders/orders.js

75 lines
1.4 KiB
JavaScript

Hedera.Orders = new Class
({
Extends: Hedera.Form
,activate: function ()
{
this.tpv = new Hedera.Tpv ({
conn: this.conn,
hash: this.hash
});
this.tpv.check (this._onTpvCheck.bind (this));
if (!this.hash.get ('from'))
{
var from = new Date ();
from.setDate (from.getDate () - 30);
from.setHours (0, 0, 0, 0);
this.hash.assign ({from: from});
}
}
,_onTpvCheck: function (tpv, tpvOrder, tpvStatus)
{
if (tpvStatus === 'ko')
this.$('error-dialog').show ();
}
,onBasketClick: function ()
{
this.hash.setAll ({'form': 'ecomerce/basket'});
}
,repeaterFunc: function (res, form)
{
res.$('link').href = this.hash.make ({
form: 'ecomerce/ticket',
ticket: form.get ('ticket_id')
});
}
// TPV
,balanceConditionalFunc: function (field, value)
{
if (value >= 0)
Vn.Node.removeClass (this.$('balance'), 'negative');
else
Vn.Node.addClass (this.$('balance'), 'negative');
}
,onPayButtonClick: function ()
{
var amount = -this.$('debt').get('debt');
amount = amount <= 0 ? null : amount;
var defaultAmountStr = '';
if (amount !== null)
defaultAmountStr = Vn.Value.format (amount, '%.2d');
amount = parseFloat (prompt (_('AmountToPay:'), defaultAmountStr));
this.tpv.pay (amount, null);
}
,onDialogResponse: function (dialog, response)
{
if (response == Htk.Dialog.Button.RETRY)
this.tpv.retryPay ();
}
});