<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>JavsScript в RSS</title>
<link>http://javascript.php.com.ua/</link>
<atom:link href="http://javascript.php.com.ua/rss/" rel="self" type="application/rss+xml" />
<language>ru</language>
<description>javascript.php.com.ua в RSS. Работа с ExtJs, JQuery, Mootools. Не большие javascript трюки.</description>
<managingEditor>admin@php.com.ua (http://php.com.ua)</managingEditor>
<webMaster>admin@php.com.ua (http://php.com.ua)</webMaster>
<copyright>http://php.com.ua</copyright>
<lastBuildDate>Thu, 25 Jun 2009 18:21:09 +0700</lastBuildDate>
<generator>http://php.com.ua</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<item>
<title>Ext.form.Combobox и запоминание состояния.</title>
<link>http://javascript.php.com.ua/topic/108/</link>
<description><![CDATA[<style type="text/css"></style>
<img src="/uploads/users/1/1245994043.png" align="left" alt="ExtJs" border="0" hspace="10px" vspace="10px"> В <b>ExtJs </b>есть интересные объект Ext.state.Manager, который позволяет запоминать состояние объектов типа <b>Ext.Component</b>. Но для того, что бы <b>Ext.form.Combobox</b> сохранял состояние надо задать некоторые функции в конфиг.<br><br><br><br><pre><code class="html"><div class="html" style="color: #000066; border: 1px solid #CCCCCC; background-color: #F6F6F0; padding: 0 5px 0 15px; margin: 5px 0 5px 0; line-height: 0.1em"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">stateful: true,</div></li>
<li class="li1"><div class="de1">stateEvents: ['select'],</div></li>
<li class="li1"><div class="de1">getState: function() {</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; return {checked: this.getValue()}</div></li>
<li class="li1"><div class="de1">},</div></li>
<li class="li1"><div class="de1">applyState: function(state) {</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; this.setValue(state.checked);</div></li>
<li class="li1"><div class="de1">}</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
</ol></div></code></pre><br><br>stateful - включаем сохраннение состояний<br>stateEvents - задаём массив событий, по завершению которых, нужно сохранять состояние объекта<br>getState, applyState - что делать с объектом, при получении состояния и при инициализаии объекта из данных.]]></description>
<pubDate>Mon, 29 Jun 2009 20:07:42 +0700</pubDate>
<guid isPermaLink="true">http://javascript.php.com.ua/topic/108/</guid>
</item>
<item>
<title>Ext.PagingToolbar</title>
<link>http://javascript.php.com.ua/topic/104/</link>
<description><![CDATA[<style type="text/css">/**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript.javascript .de1, .javascript.javascript .de2 {font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;color: #000020;}
.javascript.javascript  {color: #000066; border: 1px solid #CCCCCC; background-color: #F6F6F0; padding: 0 5px 0 15px; margin: 5px 0 5px 0; line-height: 0.1em}
.javascript.javascript a:link {color: #000060;}
.javascript.javascript a:hover {background-color: #f0f000;}
.javascript.javascript .imp {font-weight: bold; color: red;}
.javascript.javascript li, .javascript.javascript .li1 {font-weight: normal;}
.javascript.javascript .ln {width:1px;font-weight: normal;text-align:right;margin:0;padding:0 2px;}
.javascript.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript.javascript .kw3 {color: #000066;}
.javascript.javascript .co1 {color: #006600; font-style: italic;}
.javascript.javascript .co2 {color: #009966; font-style: italic;}
.javascript.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript.javascript .es_h {color: #000099; font-weight: bold;}
.javascript.javascript .br0 {color: #009900;}
.javascript.javascript .sy0 {color: #339933;}
.javascript.javascript .st0 {color: #3366CC;}
.javascript.javascript .nu0 {color: #CC0000;}
.javascript.javascript .me1 {color: #660066;}
.javascript.javascript span.xtra { display:block; }
</style>
<img src="/uploads/users/1/1245994043.png" align="left" alt="ExtJS" border="0" hspace="10px" vspace="10px">Есть такой компонент в библиотеке. Но вот проблема, он "забывает" сортировку в Ext.grid.GridPanel. Сейчас я покажу как его легко и просто от этого отчуить. А если у нас ещё есть и фильтрация на стороне сервера, эти данные он тоже будет помнить как и сам grid.<br><br><br><br><br><pre><code class="javascript"><div class="javascript javascript" style="color: #000066; border: 1px solid #CCCCCC; background-color: #F6F6F0; padding: 0 5px 0 15px; margin: 5px 0 5px 0; line-height: 0.1em"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">Ext.<span class="me1">PagingToolbar</span>.<span class="me1">prototype</span>.<span class="me1">doLoad</span> <span class="sy0">=</span> &nbsp;<span class="kw2">function</span><span class="br0">&#40;</span>start<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw2">var</span> o <span class="sy0">=</span> <span class="br0">&#123;</span><span class="br0">&#125;</span><span class="sy0">,</span> pn <span class="sy0">=</span> <span class="kw1">this</span>.<span class="me1">paramNames</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; o<span class="br0">&#91;</span>pn.<span class="me1">start</span><span class="br0">&#93;</span> <span class="sy0">=</span> start;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; o<span class="br0">&#91;</span>pn.<span class="me1">limit</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw1">this</span>.<span class="me1">pageSize</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">fireEvent</span><span class="br0">&#40;</span><span class="st0">'beforechange'</span><span class="sy0">,</span> <span class="kw1">this</span><span class="sy0">,</span> o<span class="br0">&#41;</span> <span class="sy0">!==</span> <span class="kw2">false</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; o <span class="sy0">=</span> Ext.<span class="me1">apply</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">store</span>.<span class="me1">lastOptions</span>.<span class="me1">params</span><span class="sy0">,</span> o<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">store</span>.<span class="me1">load</span><span class="br0">&#40;</span><span class="br0">&#123;</span>params<span class="sy0">:</span>o<span class="br0">&#125;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
</ol></div></code></pre><br>Всего-то переопределили функцию загрузки данных, добавив "o = Ext.apply(this.store.lastOptions.params, o);" вот эту строчку. Эта функция выполняется при любом действиее на toolbar-е.<br><br>Куда разместить это код?<br>- Сразу же после загрузки библиотеки.]]></description>
<pubDate>Thu, 25 Jun 2009 18:21:09 +0700</pubDate>
<guid isPermaLink="true">http://javascript.php.com.ua/topic/104/</guid>
</item>
</channel>
</rss>
