public function __construct() { parent::__construct(); $this->setExtClassInfo("Ext.data.GroupingStore", null); $validProps = array("groupField", "groupOnSort", "remoteGroup"); $this->addValidConfigProperties($validProps); }
public static function Render($dataModel, $object, $PageSize = 5, $Titulo = '') { include_once 'PhpExt/Ext.php'; include_once 'PhpExt/Data/SimpleStore.php'; include_once 'PhpExt/Data/ArrayReader.php'; include_once 'PhpExt/Data/JsonReader.php'; include_once 'PhpExt/Data/ScriptTagProxy.php'; include_once 'PhpExt/Data/FieldConfigObject.php'; include_once 'PhpExt/Data/StoreLoadOptions.php'; include_once 'PhpExt/Data/HttpProxy.php'; include_once 'PhpExt/Data/JsonStore.php'; include_once 'PhpExt/Button.php'; include_once 'PhpExt/Toolbar/PagingToolbar.php'; include_once 'PhpExt/Grid/ColumnModel.php'; include_once 'PhpExt/Grid/ColumnConfigObject.php'; include_once 'PhpExt/Grid/GridPanel.php'; include_once 'PhpExt/Window.php'; include_once 'PhpExt/Form/FormPanel.php'; include_once 'PhpExt/Ext.php'; include_once 'PhpExt/Data/Store.php'; include_once 'PhpExt/Data/ArrayReader.php'; include_once 'PhpExt/Data/FieldConfigObject.php'; include_once 'PhpExt/Grid/ColumnModel.php'; include_once 'PhpExt/Grid/ColumnConfigObject.php'; include_once 'PhpExt/Panel.php'; include_once 'PhpExt/Grid/GridPanel.php'; include_once 'PhpExt/Grid/RowSelectionModel.php'; include_once 'PhpExt/Listener.php'; include_once 'PhpExt/Config/ConfigObject.php'; include_once 'PhpExt/Form/FormPanel.php'; include_once 'PhpExt/Form/FieldSet.php'; include_once 'PhpExt/Form/TextField.php'; include_once 'PhpExt/QuickTips.php'; include_once 'PhpExt/Layout/ColumnLayout.php'; include_once 'PhpExt/Layout/ColumnLayoutData.php'; include_once 'PhpExt/Layout/FitLayout.php'; $reader = new PhpExt_Data_JsonReader(); $reader->setRoot("topics")->setTotalProperty("totalCount")->setId("ID"); foreach ($object->properties as $k => $v) { $reader->addField(new PhpExt_Data_FieldConfigObject($k)); } $store = new PhpExt_Data_Store(); $store->setUrl('action_main.php')->setReader($reader)->setBaseParams(array("limit" => $PageSize)); $colModel = new PhpExt_Grid_ColumnModel(); foreach ($object->properties as $k => $v) { if (strpos($k, "S_") !== 0) { $colModel->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn($object->properties_desc[$k], $k, $k, null, null, null, true, true)); } } readfile(dirname(__FILE__) . "/local/Tmpl/PhpExt.tmpl"); $selModel = new PhpExt_Grid_RowSelectionModel(); $selModel->setSingleSelect(true)->attachListener("rowselect", new PhpExt_Listener(PhpExt_Javascript::functionDef(null, "Ext.getCmp(\"idGrid\").getForm().loadRecord(rec);", array("sm", "row", "rec")))); // Grid $grid = new PhpExt_Grid_GridPanel("idGrid"); $grid->setStore($store)->setColumnModel($colModel)->setStripeRows(true)->setWidth(500)->setHeight(350)->setTitle("Elementos"); $grid->setSelectionModel($selModel); $paging = new PhpExt_Toolbar_PagingToolbar(); $paging->setStore($store)->setPageSize($PageSize)->setDisplayInfo("Topics {0} - {1} of {2}")->setEmptyMessage("No topics to display"); $grid->setBottomToolbar($paging); $window = new PhpExt_Window(); $window->setTitle($Titulo)->setWidth(600)->setHeight(450)->setMinWidth(300)->setMinHeight(200)->setPlain(true)->setBodyStyle("padding:5px")->setButtonAlign(PhpExt_Ext::HALIGN_CENTER); $window->addButton(PhpExt_Button::createTextButton("Editar")); $window->addButton(PhpExt_Button::createTextButton("Borrar")); $window->addItem($grid); // Ext.OnReady ----------------------- echo PhpExt_Ext::onReady(null, null, $store->getJavascript(false, "store"), $store->load(new PhpExt_Data_StoreLoadOptions(array("start" => 0, "limit" => $PageSize))), $grid->getJavascript(false, "grid"), $window->getJavascript(false, "window"), $window->show()); echo "</script>"; }
include_once 'PhpExt/Panel.php'; include_once 'PhpExt/DataView.php'; include_once 'PhpExt/Toolbar/Toolbar.php'; include_once 'PhpExt/Toolbar/PagingToolbar.php'; // User Extension include_once "PhpExtUx/App/SearchField.php"; // Configure Reader and Store $reader = new PhpExt_Data_JsonReader(); $reader->setRoot("topics")->setTotalProperty("totalCount")->setId("post_id"); $reader->addField(new PhpExt_Data_FieldConfigObject("postId", "post_id")); $reader->addField(new PhpExt_Data_FieldConfigObject("title", "topic_title")); $reader->addField(new PhpExt_Data_FieldConfigObject("topicId", "topic_id")); $reader->addField(new PhpExt_Data_FieldConfigObject("author", "author")); $reader->addField(new PhpExt_Data_FieldConfigObject("lastPost", "post_time", "date", "timestamp")); $reader->addField(new PhpExt_Data_FieldConfigObject("excerpt", "post_text")); $ds = new PhpExt_Data_Store(); $ds->setProxy(new PhpExt_Data_ScriptTagProxy('http://extjs.com/forum/topics-remote.php'))->setReader($reader)->setBaseParams(array("limit" => 20, "forumId" => 21)); // ->setBaseParams(new PhpExt_Config_ConfigObject(array("limit"=>20,"forumId"=>21)); // Configure Custom SearchField $resultTpl = new PhpExt_XTemplate('<tpl for=".">', '<div class="search-item">', '<h3><span>{lastPost:date("M j, Y")}<br />by {author}</span>', '<a href="http://extjs.com/forum/showthread.php?t={topicId}&p={postId}" target="_blank">{title}</a></h3>', '<p>{excerpt}</p>', '</div></tpl>'); $panel = new PhpExt_Panel(); $panel->setApplyTo("search-panel")->setTitle("Forum Search")->setHeight(300)->setAutoScroll(true); $dv = new PhpExt_DataView("div.search-item"); $dv->setStore($ds)->setTemplate($resultTpl); $panel->addItem($dv); $searchField = new PhpExtUx_App_SearchField(); $searchField->setStore($ds)->setWidth(320); $tb = $panel->getTopToolbar(); $tb->addTextItem(1, "Search: "); $tb->addSpacer(2); $tb->addItem(3, $searchField);
public function __construct() { parent::__construct(); $this->setExtClassInfo("Ext.data.JsonStore", null); $validProps = array("data", "fields", "url", "id", "root", "successProperty", "totalProperty"); $this->addValidConfigProperties($validProps); $this->_fields = new PhpExt_Data_FieldConfigObjectCollection(); $this->setExtConfigProperty("fields", $this->_fields); }
<?php set_include_path(get_include_path() . PATH_SEPARATOR . realpath('../../library')); include_once 'PhpExt/Javascript.php'; PhpExt_Javascript::sendContentType(); include_once 'PhpExt/Ext.php'; include_once 'PhpExt/Data/Store.php'; include_once 'PhpExt/Data/XmlReader.php'; include_once 'PhpExt/Data/FieldConfigObject.php'; include_once 'PhpExt/Grid/ColumnModel.php'; include_once 'PhpExt/Grid/ColumnConfigObject.php'; include_once 'PhpExt/Grid/GridPanel.php'; // Xml Reader $reader = new PhpExt_Data_XmlReader(); $reader->setRecord("Item")->setTotalRecords("@total")->setId("ASIN"); $reader->addField(new PhpExt_Data_FieldConfigObject("Author", "ItemAttributes > Author")); $reader->addField(new PhpExt_Data_FieldConfigObject("Title")); $reader->addField(new PhpExt_Data_FieldConfigObject("Manufacturer")); $reader->addField(new PhpExt_Data_FieldConfigObject("ProductGroup")); // Store $store = new PhpExt_Data_Store(); $store->setUrl("examples/grid/sheldon.xml")->setReader($reader); // ColumnModel $colModel = new PhpExt_Grid_ColumnModel(); $colModel->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Author", "Author", null, 120, null, null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Title", "Title", null, 180, null, null, null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Manufacturer", "Manufacturer", null, 115, null, null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Product Group", "ProductGroup", null, 100, null, null, true)); // Grid $grid = new PhpExt_Grid_GridPanel(); $grid->setStore($store)->setColumnModel($colModel)->setHeight(200)->setWidth(540)->setTitle("Xml Grid"); // Ext.OnReady ----------------------- echo PhpExt_Ext::onReady($store->getJavascript(false, "store"), $grid->getJavascript(false, "grid"), $grid->render("example-grid"), $store->load());
public function __construct() { parent::__construct(); $this->setExtClassInfo("Ext.data.SimpleStore", null); $validProps = array("data", "fields", "id"); $this->addValidConfigProperties($validProps); $this->_fields = new PhpExt_Data_FieldConfigObjectCollection(); $this->setExtConfigProperty("fields", $this->_fields); }
include_once 'PhpExt/Data/HttpProxy.php'; include_once 'PhpExt/Data/JsonStore.php'; include_once 'PhpExt/Toolbar/PagingToolbar.php'; include_once 'PhpExt/Grid/ColumnModel.php'; include_once 'PhpExt/Grid/ColumnConfigObject.php'; include_once 'PhpExt/Grid/GridPanel.php'; $PageSize = 10; $changeRenderer = PhpExt_Javascript::functionDef("change", "if(val > 0){\r\n return '<span style=\"color:green;\">' + val + '</span>';\r\n }else if(val < 0){\r\n return '<span style=\"color:red;\">' + val + '</span>';\r\n }\r\n return val;", array("val")); $pctChangeRenderer = PhpExt_Javascript::functionDef("pctChange", "if(val > 0){\r\n return '<span style=\"color:green;\">' + val + '%</span>';\r\n }else if(val < 0){\r\n return '<span style=\"color:red;\">' + val + '%</span>';\r\n }\r\n return val;", array("val")); $reader = new PhpExt_Data_JsonReader(); $reader->setRoot("topics")->setTotalProperty("totalCount")->setId("id"); $reader->addField(new PhpExt_Data_FieldConfigObject("company")); $reader->addField(new PhpExt_Data_FieldConfigObject("price", null, "float")); $reader->addField(new PhpExt_Data_FieldConfigObject("change", null, "float")); $reader->addField(new PhpExt_Data_FieldConfigObject("pctChange", null, "float")); $reader->addField(new PhpExt_Data_FieldConfigObject("lastChange", null, "date", "n/j h:ia")); $reader->addField(new PhpExt_Data_FieldConfigObject("industry")); // Store $store = new PhpExt_Data_Store(); $store->setUrl($baseUrl . '/grid/json_exampledata.php')->setReader($reader)->setBaseParams(array("limit" => $PageSize)); // ColumnModel $colModel = new PhpExt_Grid_ColumnModel(); $colModel->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Company", "company", "company", 160, null, null, true, false))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Price", "price", null, 75, null, PhpExt_Javascript::variable("Ext.util.Format.usMoney"), true, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Change", "change", null, 75, null, PhpExt_Javascript::variable('change'), null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("% Change", "pctChange", null, 75, null, PhpExt_Javascript::variable('pctChange'), null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Last Updated", "lastChange", null, 85, null, PhpExt_Javascript::variable("Ext.util.Format.dateRenderer('m/d/Y')"), null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Industry", "industry", null, 85, null, null, true, true)); // Grid $grid = new PhpExt_Grid_GridPanel(); $grid->setStore($store)->setColumnModel($colModel)->setStripeRows(true)->setAutoExpandColumn("company")->setHeight(350)->setWidth(600)->setTitle("Json Grid"); $paging = new PhpExt_Toolbar_PagingToolbar(); $paging->setStore($store)->setPageSize($PageSize)->setDisplayInfo("Topics {0} - {1} of {2}")->setEmptyMessage("No topics to display"); $grid->setBottomToolbar($paging); // Ext.OnReady ----------------------- echo PhpExt_Ext::onReady($changeRenderer, $pctChangeRenderer, $store->getJavascript(false, "store"), $store->load(new PhpExt_Data_StoreLoadOptions(array("start" => 0, "limit" => $PageSize))), $grid->getJavascript(false, "grid"), $grid->render("grid-example"));
include_once 'PhpExt/Panel.php'; include_once 'PhpExt/Grid/GridPanel.php'; include_once 'PhpExt/Grid/RowSelectionModel.php'; include_once 'PhpExt/Listener.php'; include_once 'PhpExt/Config/ConfigObject.php'; include_once 'PhpExt/Form/FormPanel.php'; include_once 'PhpExt/Form/FieldSet.php'; include_once 'PhpExt/Form/TextField.php'; include_once 'PhpExt/QuickTips.php'; include_once 'PhpExt/Layout/ColumnLayout.php'; include_once 'PhpExt/Layout/ColumnLayoutData.php'; include_once 'PhpExt/Layout/FitLayout.php'; // Sample Data $myData = array(array('3m Co', 71.72, 0.02, 0.03, '9/1 12:00am'), array('Alcoa Inc', 29.01, 0.42, 1.47, '9/1 12:00am'), array('Altria Group Inc', 83.81, 0.28, 0.34, '9/1 12:00am'), array('American Express Company', 52.55, 0.01, 0.02, '9/1 12:00am'), array('American International Group, Inc.', 64.13, 0.31, 0.49, '9/1 12:00am'), array('AT&T Inc.', 31.61, -0.48, -1.54, '9/1 12:00am'), array('Boeing Co.', 75.43000000000001, 0.53, 0.71, '9/1 12:00am'), array('Caterpillar Inc.', 67.27, 0.92, 1.39, '9/1 12:00am'), array('Citigroup, Inc.', 49.37, 0.02, 0.04, '9/1 12:00am'), array('E.I. du Pont de Nemours and Company', 40.48, 0.51, 1.28, '9/1 12:00am'), array('Exxon Mobil Corp', 68.09999999999999, -0.43, -0.64, '9/1 12:00am'), array('General Electric Company', 34.14, -0.08, -0.23, '9/1 12:00am'), array('General Motors Corporation', 30.27, 1.09, 3.74, '9/1 12:00am'), array('Hewlett-Packard Co.', 36.53, -0.03, -0.08, '9/1 12:00am'), array('Honeywell Intl Inc', 38.77, 0.05, 0.13, '9/1 12:00am'), array('Intel Corporation', 19.88, 0.31, 1.58, '9/1 12:00am'), array('International Business Machines', 81.41, 0.44, 0.54, '9/1 12:00am'), array('Johnson & Johnson', 64.72, 0.06, 0.09, '9/1 12:00am'), array('JP Morgan & Chase & Co', 45.73, 0.07000000000000001, 0.15, '9/1 12:00am'), array('McDonald\'s Corporation', 36.76, 0.86, 2.4, '9/1 12:00am'), array('Merck & Co., Inc.', 40.96, 0.41, 1.01, '9/1 12:00am'), array('Microsoft Corporation', 25.84, 0.14, 0.54, '9/1 12:00am'), array('Pfizer Inc', 27.96, 0.4, 1.45, '9/1 12:00am'), array('The Coca-Cola Company', 45.07, 0.26, 0.58, '9/1 12:00am'), array('The Home Depot, Inc.', 34.64, 0.35, 1.02, '9/1 12:00am'), array('The Procter & Gamble Company', 61.91, 0.01, 0.02, '9/1 12:00am'), array('United Technologies Corporation', 63.26, 0.55, 0.88, '9/1 12:00am'), array('Verizon Communications', 35.57, 0.39, 1.11, '9/1 12:00am'), array('Wal-Mart Stores, Inc.', 45.45, 0.73, 1.63, '9/1 12:00am')); // Store $store = new PhpExt_Data_Store(); $reader = new PhpExt_Data_ArrayReader(); $reader->addField(new PhpExt_Data_FieldConfigObject("company")); $reader->addField(new PhpExt_Data_FieldConfigObject("price", null, "float")); $reader->addField(new PhpExt_Data_FieldConfigObject("change", null, "float")); $reader->addField(new PhpExt_Data_FieldConfigObject("pctChange", null, "float")); $reader->addField(new PhpExt_Data_FieldConfigObject("lastChange", null, "date", "n/j h:ia", null, null, null)); $store->setReader($reader)->setData(PhpExt_Javascript::variable("data")); /* Data array could be used directly also as $store->setData($myData) */ $italicRenderer = PhpExt_Javascript::functionDef("italic", "return '<i>' + value + '</i>'", array("value")); $changeRenderer = PhpExt_Javascript::functionDef("change", "if(val > 0){\r\n return '<span style=\"color:green;\">' + val + '</span>';\r\n }else if(val < 0){\r\n return '<span style=\"color:red;\">' + val + '</span>';\r\n }\r\n return val;", array("val")); $pctChangeRenderer = PhpExt_Javascript::functionDef("pctChange", "if(val > 0){\r\n return '<span style=\"color:green;\">' + val + '%</span>';\r\n }else if(val < 0){\r\n return '<span style=\"color:red;\">' + val + '%</span>';\r\n }\r\n return val;", array("val")); // ColumnModel $colModel = new PhpExt_Grid_ColumnModel();
// ColumnModel $txtCommon = PhpExt_Form_TextField::createTextField('txtCommon')->setAllowBlank(false); $cmbLight = PhpExt_Form_ComboBox::createComboBox("cmbLight")->setTypeAhead(true)->setTriggerAction(PhpExt_Form_ComboBox::TRIGGER_ACTION_ALL)->setTransform("light")->setLazyRender(true)->setListCssClass('x-combo-list-small'); $txtPrice = PhpExt_Form_NumberField::createNumberField("txtPrice")->setAllowBlank(false)->setAllowNegative(false)->setMaxValue(100000); $dtAvailable = PhpExt_Form_DateField::createDateField("dtAvaliable")->setFormat("m/d/y")->setMinValue("01/01/06")->setDisabledDays(array(0, 6))->setDisabledDaysText("Plants are not available on the weekends"); $colModel = new PhpExt_Grid_ColumnModel(); $colModel->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Common Name", "common", "common", 220)->setEditor($txtCommon))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Light", "light", null, 130)->setEditor($cmbLight))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Price", "price", "price", 70, PhpExt_Ext::HALIGN_RIGHT, "usMoney")->setEditor($txtPrice))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Avaliable", "availDate", "availDate", 95, null, PhpExt_Javascript::variable('formatDate'))->setEditor($dtAvailable))->addColumn($checkColumn); // this could be inline, but we want to define the Plant record // type so we can add records dynamically $fields = new PhpExt_Data_FieldConfigObjectCollection(); $fields->add(new PhpExt_Data_FieldConfigObject("common", null, PhpExt_Data_FieldConfigObject::TYPE_STRING)); $fields->add(new PhpExt_Data_FieldConfigObject("botanical", null, PhpExt_Data_FieldConfigObject::TYPE_STRING)); $fields->add(new PhpExt_Data_FieldConfigObject("light")); $fields->add(new PhpExt_Data_FieldConfigObject("price", null, PhpExt_Data_FieldConfigObject::TYPE_FLOAT)); $fields->add(new PhpExt_Data_FieldConfigObject("availDate", "availability", PhpExt_Data_FieldConfigObject::TYPE_DATE, "m/d/Y")); $fields->add(new PhpExt_Data_FieldConfigObject("indoor", null, PhpExt_Data_FieldConfigObject::TYPE_BOOLEAN)); $plant = PhpExt_Data_Record::create($fields); // Reader $reader = new PhpExt_Data_XmlReader(); $reader->setRecord("plant"); $reader->setRecordType("Plant"); // Store $store = new PhpExt_Data_Store(); $store->setUrl("examples/grid/plants.xml")->setReader($reader)->setSortInfo(new PhpExt_Data_SortInfoConfigObject("common")); // Grid $grid = new PhpExt_Grid_EditorGridPanel(); $grid->setClicksToEdit(1)->setStore($store)->setColumnModel($colModel)->setAutoExpandColumn("common")->setFrame(true)->setHeight(300)->setWidth(600)->setTitle("Edit Plants?")->setRenderTo("editor-grid"); $grid->getPlugins()->add($checkColumn); $grid->getTopToolbar()->addButton("add", "Add Plant", null, new PhpExt_Handler(PhpExt_Javascript::inlineStm("var p = new Plant({\r\n common: 'New Plant 1',\r\n light: 'Mostly Shade',\r\n price: 0,\r\n availDate: (new Date()).clearTime(),\r\n indoor: false\r\n });\r\n grid.stopEditing();\r\n store.insert(0, p);\r\n grid.startEditing(0, 0);"))); // Ext.OnReady ----------------------- echo PhpExt_Ext::onReady(PhpExt_QuickTips::init(), $formatDate, $checkColumn->getJavascript(false, "checkColumn"), $colModel->getJavascript(false, "cm"), PhpExt_Javascript::assignNew("Plant", $plant), $store->getJavascript(false, "store"), $grid->getJavascript(false, "grid"), $store->load());
<?php set_include_path(get_include_path() . PATH_SEPARATOR . realpath('../../library')); include_once 'PhpExt/Javascript.php'; PhpExt_Javascript::sendContentType(); include_once 'PhpExt/Ext.php'; include_once 'PhpExt/Data/Store.php'; include_once 'PhpExt/Data/ScriptTagProxy.php'; include_once 'PhpExt/Data/JsonReader.php'; include_once 'PhpExt/Data/FieldConfigObject.php'; include_once 'PhpExt/Config/ConfigObject.php'; include_once 'PhpExt/XTemplate.php'; include_once 'PhpExt/Form/ComboBox.php'; include_once 'PhpExt/Listener.php'; $ds = new PhpExt_Data_Store(); $ds->setProxy(new PhpExt_Data_ScriptTagProxy('http://extjs.com/forum/topics-remote.php')); $reader = new PhpExt_Data_JsonReader(); $reader->setRoot("topics")->setTotalProperty("totalCount")->setId("post_id"); $reader->addField(new PhpExt_Data_FieldConfigObject("postId", "post_id")); $reader->addField(new PhpExt_Data_FieldConfigObject("title", "topic_title")); $reader->addField(new PhpExt_Data_FieldConfigObject("topicId", "topic_id")); $reader->addField(new PhpExt_Data_FieldConfigObject("author", "author")); $reader->addField(new PhpExt_Data_FieldConfigObject("lastPost", "post_time", "date", "timestamp")); $reader->addField(new PhpExt_Data_FieldConfigObject("excerpt", "post_text")); $ds->setReader($reader); $ds->setBaseParams(array("limit" => 20, "forumId" => 21)); $resultTpl = new PhpExt_XTemplate('<tpl for="."><div class="search-item">', '<h3><span>{lastPost:date("M j, Y")}<br />by {author}</span>{title}</h3>', '{excerpt}', '</div></tpl>'); $search = new PhpExt_Form_ComboBox(null, "searchbox"); $search->setStore($ds)->setDisplayField("title")->setTypeAhead(false)->setLoadingText("Searching...")->setWidth(570)->setPageSize(10)->setHideTrigger(true)->setTemplate($resultTpl)->setApplyTo("fsearch")->setItemCssSelector("div.search-item")->attachListener("onSelect", new PhpExt_Listener(PhpExt_Javascript::functionDef(null, "window.location =\r\n String.format('http://extjs.com/forum/showthread.php?t={0}&p={1}', record.data.topicId, record.id)", array("record")))); //------------ Ext.OnReady echo PhpExt_Ext::onReady($ds->getJavascript(false, "ds"), $resultTpl->getJavascript(false, "resultTpl"), $search->getJavascript(false, "search"));