Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- elma.dynamicForms.onChangeWithCallBack = function (sender, propertyName, scriptName, form, callback) {
- elma.dynamicForms.dynamicFormChangeWithCallBack(sender, propertyName, scriptName, form, 'SDK.Action/DynamicForms/ProcessPropertyValueChanged/', false, false, undefined, callback);
- };
- elma.dynamicForms.dynamicFormChangeWithCallBack = function (sender, propertyName, scriptName, form, controllerName, isConnectorScript, outputCancel, userFunc, callback) {
- if ((!sender || !sender.target) && !form) {
- return;
- }
- if (sender && sender.target)
- $(sender.target).data("onChange", true);
- elma.openPleaseWait(true, SR.T('Обработка изменений'));
- var selector = 'div[type=dynamicForm]';
- if (form)
- form = $(form);
- else
- form = elma.dynamicForms.getForm(sender.target, selector);
- var mainForm = $(form).closest('form');
- add_formsvalid(mainForm);
- var postData = elma.serializeFormToArray(form, selector);
- //это поле лежит на главное форме, добавляем его отдельно
- var addJson = mainForm.find("input[name='__DynamicFormSettings.ViewTransformationAdditionalJson']").val();
- if (addJson) {
- postData.push({ name: "__DynamicFormSettings.ViewTransformationAdditionalJson", value: addJson });
- }
- postData.push({ name: "__DynamicFormSettings.ChangedPropertyName", value: propertyName });
- if (!!scriptName) {
- postData.push({ name: "__DynamicFormSettings.ScriptName", value: scriptName });
- }
- var htmlPrefix = form.find("input[name='__DynamicFormSettings.HtmlPrefix']").val();
- elma.dynamicForms.bindParentFormData(postData, form, htmlPrefix + '.');
- var editMode = form.data('EditMode');
- if (!!editMode) {
- postData.push({ name: "__DynamicFormSettings.FormEditMode", value: editMode });
- }
- if (!!$.telerik.grid.lastTemporaryId) {
- postData.push({ name: "__DynamicFormSettings.TablePartLastTemporaryId", value: $.telerik.grid.lastTemporaryId });
- }
- elma.dynamicForms.afterUpdateActions = [];
- var modelPrefix = '';
- if (!!sender && !!sender.target) {
- var parentDynamicForm = $(sender.target).closest(selector);
- modelPrefix = $(parentDynamicForm).find("input[name='__DynamicFormSettings.HtmlPrefix']").val();
- }
- $.ajax({
- global: true,
- cache: false,
- type: 'POST',
- callback:callback,
- url: window.BaseUrl + controllerName,
- data: postData,
- dataType: 'html',
- success: function (data) {
- var needClosePleaseWait = true;
- var hideBlocker = true;
- try {
- if (data) {
- var jsonData;
- try {
- jsonData = eval('(' + data + ')');
- } catch (e) {
- console.log('ScriptExecuteException', data);
- }
- if (!jsonData) {
- return;
- }
- var res = elma.dynamicForms.processResults(form, jsonData, modelPrefix);
- if (res) {
- needClosePleaseWait = false;
- }
- elma.dynamicForms.renderNotifyMessages(mainForm, jsonData.NotifyMessages);
- if (isConnectorScript) {
- hideBlocker = jsonData.Error;
- if (!hideBlocker) {
- if (userFunc) {
- userFunc();
- } else {
- checkAndSubmit(mainForm, outputCancel);
- }
- hideBlocker = !mainForm.valid();
- }
- }
- }
- } finally {
- if (needClosePleaseWait) {
- elma.closePleaseWait(hideBlocker);
- }
- if (sender && sender.target) {
- $(sender.target).data("onChange", null);
- if ($(sender.target).data("onEnter")) {
- $(sender.target).data("onEnter", null);
- $(sender.target).closest('tr.t-grid-edit-row').find('.t-grid-update, .t-grid-insert').click();
- }
- }
- if (this.callback) {
- this.callback();
- }
- }
- },
- error: function (data) {
- elma.closePleaseWait(true);
- if (sender && sender.target)
- $(sender.target).data("onChange", null);
- }
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement