listeners: { keyup: { fn: function () { //... }, delay: 500 //buffer: 500 } }
Показ дописів із міткою extjs. Показати всі дописи
Показ дописів із міткою extjs. Показати всі дописи
понеділок, 17 жовтня 2011 р.
ExtJS: delay/buffer event
четвер, 4 серпня 2011 р.
ExtJS 4: Wrap Renderer
wrapRenderer: function (value, metadata) {
metadata.style = 'white-space: normal';
return value;
}
пʼятниця, 1 липня 2011 р.
Ext: confirm dialog localization
if (Ext.window.MessageBox) {
Ext.window.MessageBox.prototype.buttonText = {
ok: "OK",
cancel: "Отмена",
yes: "Да",
no: "Нет"
};
Ext.MessageBox = Ext.Msg = new Ext.window.MessageBox();
}
четвер, 30 червня 2011 р.
ExtJS 4.0 GridPanel double-click event
In ExtJS 4.0 you need to listen for events on the GridPanel’s view, via the “viewConfig”:
viewConfig: {
listeners: {
itemdblclick: function(dataview, index, item, e) {
console.log('itemdblclick');
}
}
}
вівторок, 21 червня 2011 р.
ExtJS State
Set provider:
Field Example:
Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 30))//30 days
}));
Field Example:
{
xtype: 'textfield',
fieldLabel: 'Логин',
name: 'UserName',
allowBlank: false,
validateOnBlur: false,
blankText: 'Введите логин',
stateful: true,
stateId: 'UserName',
stateEvents: ['blur'],
getState: function () {
return { value: this.getValue() };
},
applyState: function (state) {
this.setValue(state.value);
}
}
ExtJS получить параметры URL
Add ext-methods:
Use:
Ext.apply(Ext, {
urlParams: function () {
return Ext.Object.fromQueryString(location.search);
},
urlParam: function (name) {
return this.urlParams()[name];
}
});
Use:
var query = Ext.urlParams();
var p1 = query.p1;
//or
var p2 = Ext.urlParam('p2');
середа, 15 червня 2011 р.
ExtJS: 3 Value Checkbox
js:
css:
{
xtype: 'checkbox',
fieldLabel: 'Active',
name: 'Active',
inputValue: 'true',
cls: 'value-undefined',
handler: function () {
if (!this.uncheckedValue) {
this.removeCls('value-undefined');
this.uncheckedValue = 'false';
}
},
reset: function () {
this.setValue(undefined);
this.addCls('value-undefined');
if (this.uncheckedValue) this.uncheckedValue = undefined;
}
}
css:
.x-field.value-undefined input
{
opacity:0.4;
}
четвер, 9 червня 2011 р.
Ext JS 4: localize grid loading message
Ext.view.AbstractView.prototype.loadingText = "Загрузка...";
четвер, 2 червня 2011 р.
ExtJs 4 dateFormat M$
ExtJS 3:
{ name: 'SaleDate', type: 'date', dateFormat: "M$" }
ExtJS 4:
{ name: 'SaleDate', type: 'date', dateFormat: "MS" }
{ name: 'SaleDate', type: 'date', dateFormat: "M$" }
ExtJS 4:
{ name: 'SaleDate', type: 'date', dateFormat: "MS" }
субота, 26 лютого 2011 р.
Using ExtJs XTemplate
Ext.Ajax.ws({
url: "WebService.asmx/GetAllClients",
success: function(data) {
var tpl = new Ext.XTemplate(
'<table class="styled"><tr><th>№</th><th>ID</th><th>Name</th></tr>',
'<tpl for=".">',
'<tr><td>{#}</td><td>{ID}</td><td>{Name}</td></tr>',
'</tpl>',
'</table>'
);
tpl.overwrite(Ext.get('container'), data);
}
});
My result:

вівторок, 27 липня 2010 р.
ExtJS grid wrap column
Добавляєм в наше апп метод:
потім використовуємо:
App.Globals.wrapRenderer = function(val) {
return '<div style="white-space:normal !important;">' + val + '</div>';
}
потім використовуємо:
...
{
header: "Описание",
dataIndex: "DESCRIPTION",
renderer: App.Globals.wrapRenderer,
width: 200
},
...
середа, 21 липня 2010 р.
ExtJS app errors handling
Для того щоб будь-які помилки від сервера виводились в спеціальному вікні
можна зробити override метода request:
можна зробити override метода request:
Ext.override(Ext.data.Connection, {
request: Ext.data.Connection.prototype.request.createSequence(function(o) {
if (!o.failure) {
o.failure = function(response) {
var msg = "Unknown server error";
var resp = Ext.decode(response.responseText);
if (resp && resp.Message) {
msg = resp.Message;
}
Ext.Msg.show({
title: "Server Error",
msg: msg,
minWidth: 300,
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR
});
}
}
})
});
субота, 10 липня 2010 р.
четвер, 8 липня 2010 р.
ExtJs store для json web-сервиса
Используя proxy из предыдущего поста, напишем и сохраним в файл
Ext.data.WsJsonStore.js следуючий код:
Потом, подключив оба файла, используем:
Ext.data.WsJsonStore.js следуючий код:
Ext.data.WsJsonStore = Ext.extend(Ext.data.JsonStore, {
constructor: function(c) {
var d = {
root: 'd',
proxy: new Ext.data.WsProxy({
url: c.url
})
}
Ext.data.WsJsonStore.superclass.constructor
.call(this, Ext.apply(d, c));
}
});
Потом, подключив оба файла, используем:
var store = new Ext.data.WsJsonStore({
url:'url',
fields: [fields],
...
});
ExtJs proxy для web-сервиса
В файл Ext.data.WsProxy.js сохраним такой код:
Потом, подключив его, используем:
Ext.data.WsProxy = Ext.extend(Ext.data.HttpProxy, {
constructor: function(c) {
var d = {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8'
}
}
Ext.data.WsProxy.superclass.constructor
.call(this, Ext.apply(d, c));
}
});
Потом, подключив его, используем:
var proxy = new Ext.data.WsProxy({
url:'url'
});
субота, 26 червня 2010 р.
JSON запрос к web-сервису на ExtJs
Для удобства создадим метод:
Потом используем:
Ext.Ajax.ws = function(o){
Ext.Ajax.request({
method : "POST",
url : o.url,
jsonData : o.data || "{}",
headers : {
"Content-Type": "application/json;charset=utf-8"
},
success : function(resp){
o.success(Ext.decode(resp.responseText));
}
});
}
Потом используем:
Ext.Ajax.ws({
url:"url",
data:"json data",
success:function(data){
}
});
Підписатися на:
Дописи (Atom)