RapidApp
view release on metacpan or search on metacpan
share/assets/js/500-RapidApp.js view on Meta::CPAN
if (this.afterRender_eval) {
eval(this.afterRender_eval);
/*
var eval_str = this.afterRender_eval;
var task = new Ext.util.DelayedTask(function() { eval(eval_str); });
task.delay(500);
*/
}
}
});
Ext.reg('treepanelext',Ext.ux.TreePanelExt );
// learned about this from: http://www.diloc.de/blog/2008/03/05/how-to-submit-ext-forms-the-right-way/
Ext.ux.JSONSubmitAction = function(form, options){
Ext.ux.JSONSubmitAction.superclass.constructor.call(this, form, options);
};
Ext.extend(Ext.ux.JSONSubmitAction, Ext.form.Action.Submit, {
type : 'jsonsubmit',
run : function(){
var o = this.options,
method = this.getMethod(),
isGet = method == 'GET';
if(o.clientValidation === false || this.form.isValid()){
if (o.submitEmptyText === false) {
var fields = this.form.items,
emptyFields = [];
fields.each(function(f) {
if (f.el.getValue() == f.emptyText) {
emptyFields.push(f);
f.el.dom.value = "";
}
});
}
var orig_p = this.form.orig_params;
var new_p = this.form.getFieldValues();
var ajax_params = o.base_params ? o.base_params : {};
ajax_params['json_params'] = Ext.util.JSON.encode(new_p);
if (this.form.orig_params) {
ajax_params['orig_params'] = Ext.util.JSON.encode(orig_p);
}
//Ext.getCmp('dataview').getStore().reload();
//var cmp = this.form.findField('dataview');
//alert(cmp.getXtype());
//this.cascade(function (cmp) {
// try { if (cmp.getXtype()) { alert(cmp.getXtype()); } } catch(err) {}
//});
Ext.Ajax.request(Ext.apply(this.createCallback(o), {
//form:this.form.el.dom, <--- need to remove this line to prevent the form items from being submitted
url:this.getUrl(isGet),
method: method,
headers: o.headers,
//params:!isGet ? this.getParams() : null,
params: ajax_params,
isUpload: this.form.fileUpload
}));
if (o.submitEmptyText === false) {
Ext.each(emptyFields, function(f) {
if (f.applyEmptyText) {
f.applyEmptyText();
}
});
}
}else if (o.clientValidation !== false){ // client validation failed
this.failureType = Ext.form.Action.CLIENT_INVALID;
this.form.afterAction(this, false);
}
}
});
//add our action to the registry of known actions
Ext.form.Action.ACTION_TYPES['jsonsubmit'] = Ext.ux.JSONSubmitAction;
Ext.ux.SubmitFormPanel = Ext.extend(Ext.form.FormPanel, {
initComponent: function() {
var thisC = this;
var config = {
resultProcessor: function(form, action) {
thisC.el.unmask();
if (action.result.success) {
if (thisC.show_result) { Ext.MessageBox.alert('Success',action.result.msg); }
if (thisC.onSuccess_eval) {
eval(thisC.onSuccess_eval);
//alert(this.getComponent('itemdataview').getXType());
//var store = thisC.getComponent('itemdataview').store;
//store.reload;
//var store = Ext.getCmp('mydataview').store;
//store.reload;
share/assets/js/500-RapidApp.js view on Meta::CPAN
}
}
else {
if (thisC.onFail_eval) { eval(thisC.onFail_eval); }
if (thisC.show_result) { Ext.MessageBox.alert('Failure',action.result.msg); }
}
},
submitProcessor: function() {
var do_action = this.do_action ? this.do_action : 'submit';
var base_params = this.base_params ? this.base_params : {};
//Ext.StoreMgr.each( function(store) {
// for ( var i in base_params ) {
// store.setBaseParam(i, base_params[i]);
// }
// store.reload();
//});
this.el.mask('Please wait','x-mask-loading');
//this.getForm().submit({
//this.getForm().doAction('jsonsubmit',{
this.getForm().doAction(do_action,{
url: this.url,
base_params: base_params,
nocache: true,
success: this.resultProcessor,
failure: this.resultProcessor
});
}
};
Ext.apply(this, Ext.apply(this.initialConfig, config));
Ext.ux.SubmitFormPanel.superclass.initComponent.apply(this, arguments);
},
afterRender: function() {
//if (this.map_enter_submit) {
// var map = new Ext.KeyMap(document, {
// key: 13,
// //scope: this,
// fn: function() { alert('enter!'); }
// });
//}
this.on('actioncomplete', function(form,action) {
if(action.type == 'load') {
// save the orig params so they are available later in the jsonsubmit action
form.orig_params = form.getFieldValues();
//find any stores within this container and reload them:
this.cascade(function(cmp) {
var xtype = cmp.getXType();
if(xtype == "dyngrid" || xtype == "dataview") {
Ext.log(cmp.getXType());
try { cmp.getStore().reload(); } catch(err) { Ext.log(err); }
}
});
}
});
/*
this.on('actioncomplete', function(form,action) {
if(action.type == 'load') {
form.orig_params = form.getFieldValues();
var store = this.getComponent('itemdataview').getStore();
//var store = Ext.getCmp('mydataview').getStore();
//alert(Ext.util.JSON.encode(store.baseParams));
var new_p = this.getForm().getFieldValues();
for ( i in store.baseParams ) {
if (new_p[i]) { store.setBaseParam(i,new_p[i]); }
}
//alert(Ext.util.JSON.encode(store.baseParams));
store.reload();
}
});
*/
/*
this.on('activate', function(form,action) {
if (this.action_load) {
var action_load = this.action_load;
action_load['waitTitle'] = 'Loading';
action_load['waitMsg'] = 'Loading data';
var form = this.getForm();
form.load(action_load);
}
});
*/
// Load the form data: //
if (this.action_load) {
var action_load = this.action_load;
action_load['waitTitle'] = 'Loading';
action_load['waitMsg'] = 'Loading data';
var form = this.getForm();
form.load(action_load);
}
if (this.focus_field_id) {
share/assets/js/500-RapidApp.js view on Meta::CPAN
}
if(c.applyValue === true){
c.applyValue = columns[j].dataIndex;
}
if(Ext.isFunction(c.setValue) && c.applyValue){
c.setValue(this.store.getAt(i).get(c.applyValue));
c.on('blur', function(f){
this.store.getAt(this.index).data[this.dataIndex] = f.getValue();
}, {store: this.store, index: i, dataIndex: c.applyValue});
}
}
}
this.components.splice.apply(this.components, args);
},
destroyItems : function(index){
Ext.destroy(this.components[index]);
this.components.splice(index, 1);
}
});
Ext.reg('complistview', Ext.ux.ComponentListView);
Ext.override(Ext.ux.ComponentListView, {
onDestroy : function(){
Ext.ux.ComponentListView.superclass.onDestroy.call(this);
Ext.destroy(this.components);
this.components = [];
}
});
Ext.override(Ext.ux.ComponentDataView, {
onDestroy : function(){
Ext.ux.ComponentDataView.superclass.onDestroy.call(this);
Ext.destroy(this.components);
this.components = [];
}
});
Ext.ns('Ext.ux');
Ext.ux.TplTabPanel = Ext.extend(Ext.TabPanel, {
initComponent: function () {
//Ext.apply(this,{store:this.store});
Ext.ux.TplTabPanel.superclass.initComponent.apply(this, arguments);
var tb = this;
var itemArr = [];
var cnt = tb.store.getCount();
Ext.each(this.tabsTpl, function (j) {
for (var i = 0; i < tb.store.getCount(); i++) {
var c = j.render ? c = j.cloneConfig() : Ext.ComponentMgr.create(j);
function myfn() {
Ext.apply(this, tb.store.getAt(i).get(this.applyValues));
}
c.cascade(myfn);
Ext.ComponentMgr.register(c);
tb.items.add(c.id, c);
}
});
}
});
Ext.reg('tabtpl', Ext.ux.TplTabPanel);
//http://www.sencha.com/forum/showthread.php?77984-Field-help-text-plugin.
Ext.ux.FieldHelp = Ext.extend(Object, (function(){
function syncInputSize(w, h) {
this.el.setSize(w, h);
}
function afterFieldRender() {
if (!this.wrap) {
this.wrap = this.el.wrap({cls: 'x-form-field-wrap'});
this.positionEl = this.resizeEl = this.wrap;
this.actionMode = 'wrap';
this.onResize = this.onResize.createSequence(syncInputSize);
}
this.wrap[this.helpAlign == 'top' ? 'insertFirst' : 'createChild']({
cls: 'x-form-helptext',
html: this.helpText
});
}
return {
constructor: function(t, align) {
this.helpText = t.text; // <-- changed from t to t.text (HV)
this.align = align;
},
init: function(f) {
// Updated to use existing field properties, if already set
f.helpAlign = f.helpAlign || this.align;
f.helpText = f.helpText || this.helpText;
f.afterRender = f.afterRender.createSequence(afterFieldRender);
}
};
})());
Ext.preg('fieldhelp',Ext.ux.FieldHelp);
/* 2011-01-28 by HV:
Extended Saki's Ext.ux.form.DateTime to updateValue on 'select' and then
fire the new event 'updated'
*/
Ext.ns('Ext.ux.RapidApp.form');
Ext.ux.RapidApp.form.DateTime2 = Ext.extend(Ext.ux.form.DateTime ,{
onTriggerClick: function() {
this.df.onTriggerClick();
},
initComponent: function() {
( run in 2.384 seconds using v1.01-cache-2.11-cpan-99c4e6809bf )