CallBackery
view release on metacpan or search on metacpan
lib/CallBackery/qooxdoo/callbackery/source/class/callbackery/ui/plugin/Form.js view on Meta::CPAN
// this.setEnabled(false);
if (!this._form) return;
var that = this;
var rpc = callbackery.data.Server.getInstance();
if (this._loading > 0){
return;
}
this._loading++;
var parentFormData = {};
if (this._getParentFormData){
parentFormData = this._getParentFormData();
}
rpc.callAsync(function(data,exc){
if (!exc){
if (that._form) {
var statusData = {};
that._cfg.form.forEach(function(item){
if (item.key in data && data[item.key] !== null) {
if (item.reloadOnFormReset === true) {
statusData[item.key] = data[item.key];
}
else if (item.reloadOnFormReset !== false){
if (item.set && item.set.readOnly){
statusData[item.key] = data[item.key];
}
}
}
});
that._form.setData(statusData,true);
}
}
that._loading--;
},'getPluginData',this._cfg.name,'allFields',parentFormData,{ currentFormData: this._form.getData()});
},
_getUrlData: function () {
let data = {};
let gotData = false;
let config = callbackery.data.Config.getInstance();
this._urlFormElements.forEach(urlFormElement => {
let urlValue = config.getUrlConfigValue(urlFormElement.urlKey);
if (urlValue) {
data[urlFormElement.formKey] = urlValue;
// only do it once for the time being
config.removeUrlConfigEntry(urlFormElement.urlKey);
gotData = true;
}
});
return data;
},
_loadData: function(mergeUrlData){
if (!this._form) return;
var that = this;
var rpc = callbackery.data.Server.getInstance();
this._loading++;
var parentFormData = {};
if (this._getParentFormData){
parentFormData = this._getParentFormData();
}
var busy = callbackery.ui.Busy.getInstance();
busy.manifest(this.tr('Loading Form Data'));
rpc.callAsync(function(data,exc){
if (!exc){
if (mergeUrlData) {
let urlData = that._getUrlData();
if (!data) {
data = urlData;
}
else {
Object.assign(data, urlData);
}
}
if (that._form) {
that._form.setData(data,true);
if (that._hasTrigger) {
that._reconfForm();
}
}
}
else {
if (exc.code != 2){ /* 2 is for aborted calls, this happens when the popup is closed */
callbackery.ui.MsgBox.getInstance().exc(exc);
}
}
busy.vanish();
that._loading--;
},'getPluginData',this._cfg.name,'allFields',parentFormData,{ currentFormData: this._form.getData()});
}
},
destruct : function() {
// cleanup; setting _form=null will abort _reconfFormHandler()
this._form.destroy();
this._form = null;
if (this._actionResponseHandler) {
this.removeListenerById(this._actionResponseHandler);
}
}
});
( run in 1.371 second using v1.01-cache-2.11-cpan-39bf76dae61 )