97 lines
3.6 KiB
JavaScript
97 lines
3.6 KiB
JavaScript
define(function(require, exports, module)
|
|
{
|
|
var modalOperations = require('pgui.modal_operations'),
|
|
localizer = require('pgui.localizer').localizer,
|
|
forms = require('pgui.forms'),
|
|
_ = require('underscore');
|
|
|
|
exports.ModalInsertLink = modalOperations.ModalOperationLink.extend({
|
|
|
|
/*_doValidateForm: function(form)
|
|
{
|
|
//return Grid_ValidateForm(form, true);
|
|
},*/
|
|
|
|
_bindButtonEvents: function($formContainer, errorContainer) {
|
|
var self = this;
|
|
|
|
$formContainer.find('.dropdown-toggle').dropdown();
|
|
|
|
$formContainer.find('.cancel-button').click(function(e) {
|
|
e.preventDefault();
|
|
$formContainer.modal('hide');
|
|
});
|
|
|
|
$formContainer.find('.submit-button,#save').click(function(e) {
|
|
e.preventDefault();
|
|
self._processCommit($formContainer, errorContainer, function() { });
|
|
});
|
|
|
|
$formContainer.find('#saveedit').click(function(e) {
|
|
e.preventDefault();
|
|
self._processCommit($formContainer, errorContainer, function(newRow){
|
|
_.delay(_.bind((function() {
|
|
var modalEditLink = newRow.find('a[modal-edit=true]');
|
|
modalEditLink.click();
|
|
}), self), 100);
|
|
});
|
|
});
|
|
|
|
$formContainer.find('#saveinsert').click(function(e) {
|
|
e.preventDefault();
|
|
self._processCommit($formContainer, errorContainer, function(newRow){
|
|
_.delay(_.bind((function() {
|
|
self.container.click();
|
|
}), self), 100);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
this.form = new forms.InsertForm($formContainer);
|
|
},
|
|
|
|
_insertNewRow: function(response) {
|
|
var newRow = $($(response).find('row').text());
|
|
this.parentGrid.insertRowAtBegin(newRow);
|
|
return newRow;
|
|
},
|
|
|
|
_doUpdateGridAfterCommit: function(response, successCallback) {
|
|
var newRow = this._insertNewRow(response);
|
|
successCallback(newRow);
|
|
},
|
|
|
|
_doOkCreateButton: function(container, formContainer, errorContainer) {
|
|
var self = this;
|
|
return PhpGen.createDropDownButton(container,
|
|
{
|
|
defaultButtonCaption: localizer.getString('Save'),
|
|
buttons:
|
|
[
|
|
{
|
|
caption: localizer.getString('SaveAndBackToList'),
|
|
value: 'save',
|
|
click: function()
|
|
{
|
|
self._processCommit(formContainer, errorContainer, function() { });
|
|
},
|
|
isDefault: true
|
|
},
|
|
{
|
|
caption: localizer.getString('SaveAndInsert'),
|
|
click: function()
|
|
{
|
|
self._processCommit(formContainer, errorContainer, function() {
|
|
(_.bind(function() { this.container.click() }, self)).delay(10)
|
|
});
|
|
},
|
|
value: 'saveinsert',
|
|
isDefault: false
|
|
}
|
|
]
|
|
});
|
|
}
|
|
|
|
});
|
|
}); |