Exemplo n.º 1
0
 protected function paramToString($name, $value)
 {
     $resolvedValue = PhpExt_Javascript::valueToJavascript($value);
     if (strpos($name, "-") !== false) {
         $name = "\"{$name}\"";
     }
     return "{$name}: {$resolvedValue}";
 }
Exemplo n.º 2
0
 public function output()
 {
     $stack = array();
     foreach ($this->_statements as $line) {
         $stack[] = PhpExt_Javascript::valueToJavascript($line);
     }
     $js = "function(){\n";
     $js .= implode("\n", $stack);
     $js .= "}";
     return $js;
 }
Exemplo n.º 3
0
 /**
  * @return JavascriptStm
  */
 public static function getMethodInvokeStm($instanceVarName, $methodSignature, $inline = false)
 {
     $params = array();
     foreach ($methodSignature['params'] as $key => $value) {
         $params[$key] = PhpExt_Javascript::valueToJavascript($value);
     }
     if ($methodSignature['static']) {
         $js = isset($this) && isset($this->_extClassName) && $this->_extClassName != null ? $this->_extClassName : $instanceVarName;
     } else {
         $js = $instanceVarName;
     }
     $js .= "." . $methodSignature['methodName'] . "(" . implode(",", $params) . ")";
     return $inline ? PhpExt_Javascript::inlineStm($js) : PhpExt_Javascript::stm($js);
 }
Exemplo n.º 4
0
$fs->setFrame(true)->setTitle("XML Form")->setLabelAlign(PhpExt_Form_FormPanel::LABEL_ALIGN_RIGHT)->setLabelWidth(85)->setWidth(340)->setWaitMsgTarget(true);
// configure how to read the XML Data
$reader = new PhpExt_Data_XmlReader();
$reader->setRecord("contact")->setSuccess("@success");
$reader->addField(new PhpExt_Data_FieldConfigObject("first", "name/first"));
// custom mapping
$reader->addField(new PhpExt_Data_FieldConfigObject("last", "name/last"));
$reader->addField(new PhpExt_Data_FieldConfigObject("company", "company"));
$reader->addField(new PhpExt_Data_FieldConfigObject("email", "email"));
$reader->addField(new PhpExt_Data_FieldConfigObject("state", "state"));
$reader->addField(new PhpExt_Data_FieldConfigObject("dob", "dob", "date", "m/d/Y"));
// custom data types
$fs->setReader($reader);
$fs->setErrorReader(new PhpExtUx_Form_XmlErrorReader());
$fset = new PhpExt_Form_FieldSet();
$fset->setTitle("Contact Information")->setAutoHeight(true)->setDefaultType("textfield")->setDefaults(new PhpExt_Config_ConfigObject(array("width" => 190)))->addItem(PhpExt_Form_TextField::createTextField("first", "First Name"))->addItem(PhpExt_Form_TextField::createTextField("last", "Last Name"))->addItem(PhpExt_Form_TextField::createTextField("company", "Company"))->addItem(PhpExt_Form_TextField::createTextField("email", "Email", null, PhpExt_Form_FormPanel::VTYPE_EMAIL));
$combo = PhpExt_Form_ComboBox::createComboBox("state", "State")->setValueField("abbr")->setDisplayField("state")->setTypeAhead(true)->setMode(PhpExt_Form_ComboBox::MODE_LOCAL)->setTriggerAction(PhpExt_Form_ComboBox::TRIGGER_ACTION_ALL)->setEmptyText("Select a state...")->setSelectOnFocus(true);
$store = new PhpExt_Data_SimpleStore();
$store->addField("abbr");
$store->addField("state");
$store->setData(PhpExt_Javascript::variable("Ext.exampledata.states"));
$combo->setStore($store);
$fset->addItem($combo);
$fset->addItem(PhpExt_Form_DateField::createDateField("dob", "Data of Birth")->setAllowBlank(false));
$fs->addItem($fset);
$fs->addButton(PhpExt_Button::createTextButton("Load", new PhpExt_Handler(PhpExt_Javascript::stm("fs.getForm().load({url:'examples/form/xml-form.xml', waitMsg:'Loading',method: 'GET'})"))));
$submitBtn = PhpExt_Button::createTextButton("Submit", new PhpExt_Handler(PhpExt_Javascript::stm("fs.getForm().submit({url:'examples/form/xml-errors.xml', waitMsg:'Saving Data...'})")));
$fs->addButton($submitBtn);
//****************************** onReady
echo PhpExt_Ext::onReady(PhpExt_Javascript::stm(PhpExt_QuickTips::init()), PhpExt_Javascript::assign("Ext.form.Field.prototype.msgTarget", PhpExt_Javascript::valueToJavascript(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)), $fs->getJavascript(false, "fs"), PhpExt_Javascript::assignNew("submit", $submitBtn->getJavascript()), $fs->render("form-ct"));
Exemplo n.º 5
0
include_once 'PhpExt/Grid/GridPanel.php';
include_once 'PhpExt/Grid/GroupingView.php';
// Sample Data
$myData = array(array('3m Co', 71.72, 0.02, 0.03, '4/2 12:00am', 'Manufacturing'), array('Alcoa Inc', 29.01, 0.42, 1.47, '4/1 12:00am', 'Manufacturing'), array('Altria Group Inc', 83.81, 0.28, 0.34, '4/3 12:00am', 'Manufacturing'), array('American Express Company', 52.55, 0.01, 0.02, '4/8 12:00am', 'Finance'), array('American International Group, Inc.', 64.13, 0.31, 0.49, '4/1 12:00am', 'Services'), array('AT&T Inc.', 31.61, -0.48, -1.54, '4/8 12:00am', 'Services'), array('Boeing Co.', 75.43000000000001, 0.53, 0.71, '4/8 12:00am', 'Manufacturing'), array('Caterpillar Inc.', 67.27, 0.92, 1.39, '4/1 12:00am', 'Services'), array('Citigroup, Inc.', 49.37, 0.02, 0.04, '4/4 12:00am', 'Finance'), array('E.I. du Pont de Nemours and Company', 40.48, 0.51, 1.28, '4/1 12:00am', 'Manufacturing'), array('Exxon Mobil Corp', 68.09999999999999, -0.43, -0.64, '4/3 12:00am', 'Manufacturing'), array('General Electric Company', 34.14, -0.08, -0.23, '4/3 12:00am', 'Manufacturing'), array('General Motors Corporation', 30.27, 1.09, 3.74, '4/3 12:00am', 'Automotive'), array('Hewlett-Packard Co.', 36.53, -0.03, -0.08, '4/3 12:00am', 'Computer'), array('Honeywell Intl Inc', 38.77, 0.05, 0.13, '4/3 12:00am', 'Manufacturing'), array('Intel Corporation', 19.88, 0.31, 1.58, '4/2 12:00am', 'Computer'), array('International Business Machines', 81.41, 0.44, 0.54, '4/1 12:00am', 'Computer'), array('Johnson & Johnson', 64.72, 0.06, 0.09, '4/2 12:00am', 'Medical'), array('JP Morgan & Chase & Co', 45.73, 0.07000000000000001, 0.15, '4/2 12:00am', 'Finance'), array('McDonald\'s Corporation', 36.76, 0.86, 2.4, '4/2 12:00am', 'Food'), array('Merck & Co., Inc.', 40.96, 0.41, 1.01, '4/2 12:00am', 'Medical'), array('Microsoft Corporation', 25.84, 0.14, 0.54, '4/2 12:00am', 'Computer'), array('Pfizer Inc', 27.96, 0.4, 1.45, '4/8 12:00am', 'Services', 'Medical'), array('The Coca-Cola Company', 45.07, 0.26, 0.58, '4/1 12:00am', 'Food'), array('The Home Depot, Inc.', 34.64, 0.35, 1.02, '4/8 12:00am', 'Retail'), array('The Procter & Gamble Company', 61.91, 0.01, 0.02, '4/1 12:00am', 'Manufacturing'), array('United Technologies Corporation', 63.26, 0.55, 0.88, '4/1 12:00am', 'Computer'), array('Verizon Communications', 35.57, 0.39, 1.11, '4/3 12:00am', 'Services'), array('Wal-Mart Stores, Inc.', 45.45, 0.73, 1.63, '4/3 12:00am', 'Retail'), array('Walt Disney Company (The) (Holding Company)', 29.89, 0.24, 0.8100000000000001, '4/1 12:00am', 'Services'));
$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"));
$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"));
$reader->addField(new PhpExt_Data_FieldConfigObject("industry"));
// Store
$store = new PhpExt_Data_GroupingStore();
$store->setSortInfo(new PhpExt_Data_SortInfoConfigObject("company"));
$store->setGroupField("industry");
$store->setReader($reader);
$store->setData($myData);
// ColumnModel
$colModel = new PhpExt_Grid_ColumnModel();
$colModel->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Company", "company", "company", 60, null, null, true, false))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Price", "price", null, 20, null, PhpExt_Javascript::variable("Ext.util.Format.usMoney"), true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Change", "change", null, 20, null, PhpExt_Javascript::variable('change'), true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Industry", "industry", null, 20, null, null, true))->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Last Updated", "lastChange", null, 20, null, PhpExt_Javascript::variable("Ext.util.Format.dateRenderer('m/d/Y')"), true));
// View
$view = new PhpExt_Grid_GroupingView();
$view->setForceFit(true);
$view->setGroupTextTemplate('{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})');
// Grid
$grid = new PhpExt_Grid_GridPanel();
$grid->setStore($store)->setColumnModel($colModel)->setView($view)->setFrame(true)->setCollapsible(true)->setAnimCollapse(true)->setTitle("Grouping Example")->setIconCssClass("icon-grid")->setRenderTo("grouping-example")->setWidth(700)->setHeight(450);
// Ext.OnReady -----------------------
echo PhpExt_Ext::onReady(PhpExt_Javascript::assignNew("myData", PhpExt_Javascript::valueToJavascript($myData)), $changeRenderer, $store->getJavascript(false, "store"), $grid->getJavascript(false, "grid"));
Exemplo n.º 6
0
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/SimpleStore.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/Grid/GridPanel.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'));
$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"));
// Store
$store = new PhpExt_Data_SimpleStore();
$store->addField(new PhpExt_Data_FieldConfigObject("company"));
$store->addField(new PhpExt_Data_FieldConfigObject("price", null, "float"));
$store->addField(new PhpExt_Data_FieldConfigObject("change", null, "float"));
$store->addField(new PhpExt_Data_FieldConfigObject("pctChange", null, "float"));
$store->addField(new PhpExt_Data_FieldConfigObject("lastChange", null, "date", "n/j h:ia"));
// 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"), null, 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));
// Grid
$grid = new PhpExt_Grid_GridPanel();
$grid->setStore($store)->setColumnModel($colModel)->setStripeRows(true)->setAutoExpandColumn("company")->setHeight(350)->setWidth(600)->setTitle("Array Grid");
// Ext.OnReady -----------------------
echo PhpExt_Ext::onReady(PhpExt_Javascript::assignNew("myData", PhpExt_Javascript::valueToJavascript($myData)), $changeRenderer, $pctChangeRenderer, $store->getJavascript(false, "store"), $store->loadData(PhpExt_Javascript::variable("myData")), $grid->getJavascript(false, "grid"), $grid->render("grid-example"));
Exemplo n.º 7
0
 public function getJavascript()
 {
     $resolvedObjs = array();
     foreach ($this->Collection as &$obj) {
         $resolvedObjs[] = PhpExt_Javascript::valueToJavascript($obj, true);
     }
     if (count($resolvedObjs) == 1 && !$this->_forceArray) {
         return $resolvedObjs[0];
     } else {
         return "[" . implode(",", $resolvedObjs) . "]";
     }
 }
Exemplo n.º 8
0
*/
$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();
$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"), null, 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, 75, null, PhpExt_Javascript::variable("Ext.util.Format.dateRenderer('m/d/Y')"), null, true));
// Form Panel
$gridForm = new PhpExt_Form_FormPanel("company-form");
$gridForm->setFrame(true)->setLabelAlign(PhpExt_Form_FormPanel::LABEL_ALIGN_LEFT)->setTitle("Company Data")->setBodyStyle("padding: 5px;")->setWidth(750)->setLayout(new PhpExt_Layout_ColumnLayout());
// Setup Grid
$leftPanel = new PhpExt_Panel();
$leftPanel->setLayout(new PhpExt_Layout_FitLayout());
$selModel = new PhpExt_Grid_RowSelectionModel();
$selModel->setSingleSelect(true)->attachListener("rowselect", new PhpExt_Listener(PhpExt_Javascript::functionDef(null, "Ext.getCmp(\"company-form\").getForm().loadRecord(rec);", array("sm", "row", "rec"))));
$grid = new PhpExt_Grid_GridPanel();
$grid->setStore($store)->setColumnModel($colModel)->setSelectionModel($selModel)->setAutoExpandColumn("company")->setHeight(350)->setTitle("Company Data")->setBorder(true)->attachListener("render", new PhpExt_Listener(PhpExt_Javascript::functionDef(null, "g.getSelectionModel().selectRow(0);", array("g")), null, 10));
$leftPanel->addItem($grid);
$gridForm->addItem($leftPanel, new PhpExt_Layout_ColumnLayoutData(0.6));
// Setup Fields
$rightPanel = new PhpExt_Form_FieldSet();
$rightPanel->setLabelWidth(90)->setTitle("Company Details")->setDefaults(new PhpExt_Config_ConfigObject(array("width" => 140)))->setDefaultType("textfield")->setAutoHeight(true)->setBodyStyle(PhpExt_Javascript::inlineStm("Ext.isIE ? 'padding:0 0 5px 15px;' : 'padding:10px 15px;'"))->setBorder(false)->setCssStyle(new PhpExt_Config_ConfigObject(array("margin-left" => "10px", "margin-right" => PhpExt_Javascript::inlineStm('Ext.isIE6 ? (Ext.isStrict ? "-10px" : "-13px") : "0"'))));
$rightPanel->addItem(PhpExt_Form_TextField::createTextField("company", "Name"));
$rightPanel->addItem(PhpExt_Form_TextField::createTextField("price", "Price"));
$rightPanel->addItem(PhpExt_Form_TextField::createTextField("pctChange", "% Change"));
$rightPanel->addItem(PhpExt_Form_TextField::createTextField("lastChange", "Last Updated"));
$gridForm->addItem($rightPanel, new PhpExt_Layout_ColumnLayoutData(0.4));
$gridForm->setRenderTo(PhpExt_Javascript::variable("Ext.get('centercolumn')"));
//****************************** onReady
echo PhpExt_Ext::onReady(PhpExt_Javascript::stm(PhpExt_QuickTips::init()), PhpExt_Javascript::assign("data", PhpExt_Javascript::valueToJavascript($myData)), $store->getJavascript(false, "ds"), $italicRenderer, $changeRenderer, $pctChangeRenderer, $colModel->getJavascript(false, "colModel"), $gridForm->getJavascript(false, "gridForm"));