| 1: | <?php |
| 2: | namespace Sphp\tools { |
| 3: | use Sphp\core\SphpVersion; |
| 4: | class Component extends \Sphp\core\SphpVersion { |
| 5: | /** @var string Name of Component */ |
| 6: | protected $name = ""; |
| 7: | /** @var string HTML Tag Name of Component */ |
| 8: | public $tagName = ""; |
| 9: | /** @var string value of Component, depend on component code */ |
| 10: | public $value = ""; |
| 11: | /** @var string Default Value of Component */ |
| 12: | public $defvalue = ""; |
| 13: | /** @var string Data Type(STRING) of value of Component */ |
| 14: | public $dataType = "STRING"; |
| 15: | /** @var string Bind with Database Table */ |
| 16: | public $dtable = ""; |
| 17: | /** @var string Bind with Database Table Field */ |
| 18: | public $dfield = ""; |
| 19: | /** @var boolean Database Bind Flag */ |
| 20: | public $dataBound = false; |
| 21: | /** @var boolean Database Fill Flag */ |
| 22: | public $blnDontFill = false; |
| 23: | /** @var boolean Form Submit Flag */ |
| 24: | public $blnDontSubmit = false; |
| 25: | /** @var boolean Database Insert Flag */ |
| 26: | public $blnDontInsert = false; |
| 27: | /** @var boolean Database Update Flag */ |
| 28: | public $blnDontUpdate = false; |
| 29: | /** @var string HTML Tag Name */ |
| 30: | public $HTMLName = ""; |
| 31: | /** @var string HTML Tag id */ |
| 32: | public $HTMLID = ""; |
| 33: | /** @var boolean Default true */ |
| 34: | public $visible = true; |
| 35: | /** @var boolean Default true */ |
| 36: | public $renderMe = true; |
| 37: | /** @var boolean Default true */ |
| 38: | public $renderTag = true; |
| 39: | /** @var boolean Submit flag check component submit by browser or not */ |
| 40: | public $issubmit = false; |
| 41: | /** @var boolean Set HTML Closing Tag */ |
| 42: | public $blnendtag = true; |
| 43: | /** @var string Component File Directory */ |
| 44: | public $mypath = ""; |
| 45: | /** @var string Component File Directory As URL */ |
| 46: | public $myrespath = ""; |
| 47: | public $cfilename = ""; |
| 48: | public $cfilepath = ""; |
| 49: | /** @var \Sphp\tools\NodeTag Component Node Tag */ |
| 50: | public $element = null; |
| 51: | /** @var \Sphp\tools\Component Component Object */ |
| 52: | public $parentobj = null; |
| 53: | /** @var \Sphp\tools\FrontFile Parent FrontFile */ |
| 54: | protected $frontobj = null; |
| 55: | protected $children = array(); |
| 56: | protected $proplist = array(); |
| 57: | /** @var int */ |
| 58: | protected $styler = 0; |
| 59: | /** |
| 60: | * Create Component Object. Don't override this function in component, |
| 61: | * if you don't understand the life cycle of object. |
| 62: | * @param string $name <p> |
| 63: | * Name of Component By default this is also HTML tag name and id |
| 64: | * </p> |
| 65: | * @param string $fieldName Database Field name for binding |
| 66: | * @param string $tableName Database Table name for binding |
| 67: | */ |
| 68: | /** |
| 69: | * List Fusion Methods Start Here. |
| 70: | * Fusion Methods that can bind with FrontFile. These function always public and prefix with |
| 71: | * "fi_" and "fu_" and called by Fusion Attributes fui-*,fun-*,fur-* from FrontFile Component Tag. |
| 72: | * "fu_" prefix used with those Component methods which is only need for Client Side Configuration |
| 73: | * or output and no need on server side processing. It is default behavior and can call on anytime. In |
| 74: | * FrontFile you can call them and pass value with "fui_", "fun_" and "fur_" prefix. |
| 75: | * "fi_" prefix used with those methods that need to call for server side configurations, like validation |
| 76: | * methods, these methods can't call with "fun_" and "fur_" prefix. |
| 77: | * "fun_" prefix used to as safe binding and reduce server load with decide automatic processing time. |
| 78: | * If value passed is static then it call Fusion Method on Parse Phase of FrontFile and if value need to evaluate then it call |
| 79: | * Fusion Method on Execute Phase of FrontFile. |
| 80: | * <input type="text" runat="server" fuisetMaxLen="20" /> |
| 81: | */ |
| 82: | /** |
| 83: | * Set Styler for multi layout html output. |
| 84: | * @param int $styler |
| 85: | */ |
| 86: | public function fu_setStyler($styler) {} |
| 87: | /** |
| 88: | * Set Default Value |
| 89: | * It will over write value of component if |
| 90: | * component is not submit by browser and it is empty. |
| 91: | * @param string|json|mixed $val |
| 92: | */ |
| 93: | public function fi_setDefaultValue($val) {} |
| 94: | /** |
| 95: | * Set Value of Components which is used for html output.<br> |
| 96: | * txtName = new TextField();<br> |
| 97: | * txtName->setValue="Ram";<br> |
| 98: | * html output equals to <input value="Ram" /><br> |
| 99: | * @param String $val |
| 100: | */ |
| 101: | public function fu_setValue($val) {} |
| 102: | /** |
| 103: | * Not Render if match |
| 104: | * @param string $param Comma separated authentication list |
| 105: | * @depends \SphpBase::page()->checkUnAuth |
| 106: | */ |
| 107: | public function fu_setUnAuth($param) {} |
| 108: | /** |
| 109: | * Not Render if not match |
| 110: | * @param string $param Comma separated authentication list |
| 111: | * @depends \SphpBase::page()->checkAuth |
| 112: | */ |
| 113: | public function fu_setAuth($param) {} |
| 114: | /** |
| 115: | * Not Render if not match |
| 116: | * @param string $param Comma separated permission list |
| 117: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 118: | */ |
| 119: | public function fu_setrender($permis = "") {} |
| 120: | /** |
| 121: | * Not Render if match |
| 122: | * @param string $param Comma separated permission list |
| 123: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 124: | */ |
| 125: | public function fu_unsetrender($permis = "") {} |
| 126: | /** |
| 127: | * Not Render Tag if not match |
| 128: | * @param string $permis Comma separated permission list |
| 129: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 130: | */ |
| 131: | public function fu_setrenderTag($permis = "") {} |
| 132: | /** |
| 133: | * Not Render Tag if match |
| 134: | * @param string $permis Comma separated permission list |
| 135: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 136: | */ |
| 137: | public function fu_unsetrenderTag($permis = "") {} |
| 138: | /** |
| 139: | * Not Auto Fill with viewData method if match |
| 140: | * @param string $permis Comma separated permission list |
| 141: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 142: | */ |
| 143: | public function fi_setDontFill($permis = "") {} |
| 144: | /** |
| 145: | * Not Auto Fill with viewData method if not match |
| 146: | * @param string $permis Comma separated permission list |
| 147: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 148: | */ |
| 149: | public function fi_unsetDontFill($permis = "") {} |
| 150: | /** |
| 151: | * Not Submit if match |
| 152: | * @param string $permis Comma separated permission list |
| 153: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 154: | */ |
| 155: | public function fi_setDontSubmit($permis = "") {} |
| 156: | /** |
| 157: | * Not Submit if not match |
| 158: | * @param string $permis Comma separated permission list |
| 159: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 160: | */ |
| 161: | public function fi_unsetDontSubmit($permis = "") {} |
| 162: | /** |
| 163: | * Not Insert with inserData if match |
| 164: | * @param string $permis Comma separated permission list |
| 165: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 166: | */ |
| 167: | public function fi_setDontInsert($permis = "") {} |
| 168: | /** |
| 169: | * Not Insert with inserData if not match |
| 170: | * @param string $permis Comma separated permission list |
| 171: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 172: | */ |
| 173: | public function fi_unsetDontInsert($permis = "") {} |
| 174: | /** |
| 175: | * Not Update with updateData if match |
| 176: | * @param string $permis Comma separated permission list |
| 177: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 178: | */ |
| 179: | public function fi_setDontUpdate($permis = "") {} |
| 180: | /** |
| 181: | * Not Update with updateData if not match |
| 182: | * @param string $permis Comma separated permission list |
| 183: | * @depends \SphpBase::sphp_permissions()->isPermission |
| 184: | */ |
| 185: | public function fi_unsetDontUpdate($permis = "") {} |
| 186: | /** |
| 187: | * Set HTML Tag's Name Attribute, By Default it will be empty. |
| 188: | */ |
| 189: | public function fu_setHTMLName($val) {} |
| 190: | /** |
| 191: | * Set HTML Tag ID Attribute, By Default it will be use object name. |
| 192: | * If ref-object is used then only main object will set id from name of object. |
| 193: | */ |
| 194: | public function fu_setHTMLID($val) {} |
| 195: | /** |
| 196: | * Submit Component value via Ajax Request and it |
| 197: | * generate all required JS code automatically. |
| 198: | * in front file use:- funsubmitAJAX="click,|index-p1.html,|textarea1,textbox1" |
| 199: | * @param type $eventName JS Event Name |
| 200: | * @param type $url Optional Default=page_event_compname_$eventName URL to post data |
| 201: | * @param type $extracomp Comma Separated list html tag id or class with prefix . to send data |
| 202: | */ |
| 203: | public function fu_submitAjax($eventName, $url = "", $extracomp = "") {} |
| 204: | /** |
| 205: | * Submit Component value via WS Request and it |
| 206: | * generate all required JS code automatically. |
| 207: | * in front file use:- funsubmitWS="click,|domain:8084,|textarea1,textbox1,|aigen,|picture" |
| 208: | * @param string $eventName JS Event Name |
| 209: | * @param string $host Optional Default=find socket in page to post data, it will ignore if socket already exist. |
| 210: | * @param string $extracomp Comma Separated list html id to send data |
| 211: | * @param string $gate Gate of native Gate to submit data |
| 212: | * @param string $evt Event of native Gate to trigger |
| 213: | * @param string $evtp Event Parameter to pass any data |
| 214: | * |
| 215: | */ |
| 216: | public function fu_submitWS($eventName, $host = "", $extracomp = "",$gate="main",$evt="",$evtp="") {} |
| 217: | /** |
| 218: | * End List of Fusion Methods |
| 219: | */ |
| 220: | /** |
| 221: | * Get Name of Object which is used for html tag id and name. |
| 222: | * @return String |
| 223: | */ |
| 224: | public function getName() {} |
| 225: | public function getValue() {} |
| 226: | /** |
| 227: | * escape single or double quotation in value. This don't need DB Connection. |
| 228: | * It is not escape sql characters. Use dbEngine->cleanQuery() for properly safe value but |
| 229: | * it need db connection. |
| 230: | * @return string |
| 231: | */ |
| 232: | public function getSqlSafeValue() {} |
| 233: | /** |
| 234: | * Set Value From Database Row, only if dfield set. This function don't know table name, |
| 235: | * So it is not safe like page_view. It will give error if field not exist in row. |
| 236: | * @param array $row Associative array from DB table |
| 237: | */ |
| 238: | public function setFromDatabase($row){} |
| 239: | public function getDefaultValue() {} |
| 240: | /** |
| 241: | * Set HTML Tag Name |
| 242: | * @param string $param |
| 243: | */ |
| 244: | public function setTagName($param) {} |
| 245: | /** |
| 246: | * Set HTML pre Tag. This HTML code will display before component Tag. |
| 247: | * @param string $val |
| 248: | */ |
| 249: | public function setPreTag($val) {} |
| 250: | /** |
| 251: | * Add(Concatenate) HTML pre Tag in previous pre tag. |
| 252: | * This HTML code will display before component Tag. |
| 253: | * @param string $val |
| 254: | */ |
| 255: | public function addPreTag($val) {} |
| 256: | public function getPreTag() {} |
| 257: | /** |
| 258: | * Set HTML post Tag. This HTML code will display after component Tag. |
| 259: | * @param string $val |
| 260: | */ |
| 261: | public function setPostTag($val) {} |
| 262: | /** |
| 263: | * Add(Concatenate) HTML post Tag in previous post tag. |
| 264: | * This HTML code will display after component Tag. |
| 265: | * @param string $val |
| 266: | */ |
| 267: | public function addPostTag($val) {} |
| 268: | public function getPostTag() {} |
| 269: | /** |
| 270: | * Set HTML pre Tag for children. |
| 271: | * This HTML code will display before any component children Tags. |
| 272: | * @param string $val |
| 273: | */ |
| 274: | public function setInnerPreTag($val) {} |
| 275: | /** |
| 276: | * Get All attributes of Tag |
| 277: | * @return array |
| 278: | */ |
| 279: | public function getAttributes() {} |
| 280: | /** |
| 281: | * Read Attribute of Tag |
| 282: | * @param string $name Attribute name |
| 283: | * @return string |
| 284: | */ |
| 285: | public function getAttribute($name) {} |
| 286: | /** |
| 287: | * Set Attribute of Tag |
| 288: | * $div1->setAttribute('style','color: #ff6789'); |
| 289: | * @param string $name Attribute name |
| 290: | * @param string $val |
| 291: | */ |
| 292: | public function setAttribute($name, $val) {} |
| 293: | /** |
| 294: | * Remove Attribute |
| 295: | * @param string $name Attribute name |
| 296: | */ |
| 297: | public function removeAttribute($name) {} |
| 298: | /** |
| 299: | * Set Attribute of Tag if value is empty |
| 300: | * $div1->setAttribute('style','color: #ff6789'); |
| 301: | * @param string $name Attribute name |
| 302: | * @param string $val |
| 303: | */ |
| 304: | public function setAttributeDefault($name, $val) {} |
| 305: | /** |
| 306: | * Set Inner HTML of Tag |
| 307: | * @param string $val |
| 308: | */ |
| 309: | public function setInnerHTML($val) {} |
| 310: | public function getInnerHTML() {} |
| 311: | /** |
| 312: | * Append HTML code |
| 313: | * @param \Sphp\tools\NodeTag $html |
| 314: | */ |
| 315: | public function appendHTML($html) {} |
| 316: | /** |
| 317: | * Wrap Tag with valid HTML Tag |
| 318: | * @param string $tagname |
| 319: | * @return \Sphp\tools\NodeTag |
| 320: | */ |
| 321: | public function wrapTag($tagname) {} |
| 322: | /** |
| 323: | * Wrap Children Tags with valid HTML Tag Name |
| 324: | * @param string $tagname |
| 325: | * @return \Sphp\tools\NodeTag |
| 326: | */ |
| 327: | public function wrapInnerTags($tagname) {} |
| 328: | public function setVisible() {} |
| 329: | public function unsetVisible() {} |
| 330: | public function getVisible() {} |
| 331: | public function getrender() {} |
| 332: | public function getrenderTag() {} |
| 333: | public function setDataType($val) {} |
| 334: | public function getDataType() {} |
| 335: | /** |
| 336: | * Bind Component with Database |
| 337: | * @param string $table Optional DB Table name |
| 338: | * @param string $field Optional DB Table Field name |
| 339: | */ |
| 340: | public function bindToTable($table="",$field="") {} |
| 341: | public function setDataBound() {} |
| 342: | public function unsetDataBound() {} |
| 343: | public function getDataBound() {} |
| 344: | /** |
| 345: | * Check if Component is bind with Database |
| 346: | * @return boolean |
| 347: | */ |
| 348: | public function hasDatabaseBinding() {} |
| 349: | public function getDontFill() {} |
| 350: | public function getDontSubmit() {} |
| 351: | public function getDontInsert() {} |
| 352: | public function getDontUpdate() {} |
| 353: | public function getEndTag() {} |
| 354: | /** |
| 355: | * Enable Closing Tag |
| 356: | */ |
| 357: | public function setEndTag() {} |
| 358: | /** |
| 359: | * Disable Closing Tag |
| 360: | */ |
| 361: | public function unsetEndTag() {} |
| 362: | public function setPathRes($val) {} |
| 363: | /** |
| 364: | * Get Parent FrontFile |
| 365: | * @return \Sphp\tools\FrontFile FrontFile Object |
| 366: | */ |
| 367: | public function getFrontobj() {} |
| 368: | /** |
| 369: | * Advanced Method,Internal use |
| 370: | * @param \Sphp\tools\FrontFile $frontobj |
| 371: | */ |
| 372: | /** |
| 373: | * Get Children Components Only First Level. Only Component Tags are included as child and |
| 374: | * ignored normal HTML tags. |
| 375: | * @return array |
| 376: | */ |
| 377: | public function getChildren() {} |
| 378: | /** |
| 379: | * Get All Children Components All Levels. Only Component Tags are included as child and |
| 380: | * ignored normal HTML tags. |
| 381: | * @return array |
| 382: | */ |
| 383: | public function getAllChildren() {} |
| 384: | /** |
| 385: | * Add Child Component |
| 386: | * @param \Sphp\tools\Component $child |
| 387: | */ |
| 388: | /** |
| 389: | * Get Parent Component if any or null |
| 390: | * @return \Sphp\tools\Component |
| 391: | */ |
| 392: | public function getParentComponent() {} |
| 393: | /** |
| 394: | * Regsiter Event for Object which uses for Event Driven Programming. |
| 395: | * @param string $event_name |
| 396: | */ |
| 397: | protected function registerEvent($event_name) {} |
| 398: | protected function isRegisterHandler($event_name) {} |
| 399: | /** |
| 400: | * Set Event Handler of Component. |
| 401: | * This is Registered Event in component which can handle by Gate. |
| 402: | * @param string $event_name Event Name to handle |
| 403: | * @param string $handler Name of Function or Method that handle event |
| 404: | * @param object $eventhandlerobj Optional Object handle the event |
| 405: | */ |
| 406: | public function setEventHandler($event_name, $handler, $eventhandlerobj = "null") {} |
| 407: | protected function raiseEvent($event_name, $arglst = array()) {} |
| 408: | protected function registerEventJS($event_name) {} |
| 409: | protected function isRegisterHandlerJS($event_name) {} |
| 410: | /** |
| 411: | * Set Event Handler for JS Code |
| 412: | * @param string $event_name Event Name to handle |
| 413: | * @param string $handler Name of JS Function that handle event |
| 414: | * @param object $eventhandlerobj Optional not supported |
| 415: | */ |
| 416: | public function setEventHandlerJS($event_name, $handler, $eventhandlerobj = "null") {} |
| 417: | /** |
| 418: | * Generate JS Code to call event handler which |
| 419: | * is set by setEventHandlerJS method. |
| 420: | * @param string $event_name |
| 421: | * @param array $arglst |
| 422: | * @return string |
| 423: | */ |
| 424: | protected function raiseEventJS($event_name, $arglst = array()) {} |
| 425: | /** |
| 426: | * |
| 427: | * @param string $eventName JS Event Name |
| 428: | * @param string $handlerFunName JS Function to handle Event |
| 429: | * @param boolean $renderonce Optional default=false, true=ignore on ajax request |
| 430: | */ |
| 431: | public function onJsEvent($eventName, $handlerFunName = "", $renderonce = false) {} |
| 432: | /** |
| 433: | * This function only work if JS Function as also created by addHeaderJSFunction. |
| 434: | * @param string $funname JS Function name where code need to insert |
| 435: | * @param string $name JS code block id |
| 436: | * @param string $code JS Code to insert into JS Function |
| 437: | * @param boolean $renderonce Optional default=false, true=ignore on ajax request |
| 438: | */ |
| 439: | public function addHeaderJSFunctionCode($funname, $name, $code, $renderonce = false) {} |
| 440: | /** |
| 441: | * Add Component as JS variable part of FrontFile JS Object. |
| 442: | * HTML Name of component used as variable name in JS code. By default it |
| 443: | * is same as tag id. |
| 444: | * in JS you can get Component object as front1.getComponent('txtname'); |
| 445: | */ |
| 446: | public function addAsJSVar() {} |
| 447: | /** |
| 448: | * Set Component as JS variable part of FrontFile JS Object. Remember not all component |
| 449: | * will automatically create js object. It is created by component code. If component |
| 450: | * developer doesn't offer JS integration then there are no any JS object. |
| 451: | * in JS you can set Component object as front1.setComponent('txtname','$jscode'); |
| 452: | * @param string $jscode JS Code as String |
| 453: | * @return string JS code |
| 454: | */ |
| 455: | public function setAsJSVar($jscode) {} |
| 456: | /** |
| 457: | * Get Component as JS Variable. |
| 458: | * return code like front1.getComponent('txtname'); |
| 459: | * @return string JS code |
| 460: | */ |
| 461: | public function getAsJSVar() {} |
| 462: | /** |
| 463: | * Bind with any JS Event with $handlerFunName. |
| 464: | * It generate all required JS code and add into jQuery ready handler. |
| 465: | * @param string $selector jQuery selector |
| 466: | * @param string $eventName JS Event Name |
| 467: | * @param string $handlerFunName JS function name for handling event. |
| 468: | * @param boolean $renderonce Optional default=false, true=ignore on ajax request |
| 469: | */ |
| 470: | protected function bindJSEvent($selector, $eventName, $handlerFunName = "", $renderonce = false) {} |
| 471: | /** |
| 472: | * Bind with any JS Object Event(NON DOM Events) with $handlerFunName. |
| 473: | * For Example:- Bind with activate event of bootstrap Tab |
| 474: | * $this->bindJSObjEvent("#tabeditor","tabs","activate","comp_tabeditor_activate"); |
| 475: | * It generate all required JS code and add into jQuery ready handler. |
| 476: | * @param string $selector jQuery selector |
| 477: | * @param string $obj JS Object variable name |
| 478: | * @param string $eventName JS Object Event Name |
| 479: | * @param string $handlerFunName JS function name for handling event. |
| 480: | * @param boolean $renderonce Optional default=false, true=ignore on ajax request |
| 481: | */ |
| 482: | protected function bindJSObjEvent($selector, $obj, $eventName, $handlerFunName = "", $renderonce = false) {} |
| 483: | /** |
| 484: | * Create Front File Object and Share All Components with Parent File and also add all components |
| 485: | * as children of parent Components. |
| 486: | * @param string $filepath File Path of Front File or String |
| 487: | * @param bool $blnStringData Optional True mean use string rather then filepath |
| 488: | * @return \Sphp\tools\FrontFile |
| 489: | */ |
| 490: | protected function createFrontObjectShare($filepath,$blnStringData = false){} |
| 491: | /** |
| 492: | * Create Front File Object in Private Space. Nothing Share with Parent Front File. |
| 493: | * @param string $filepath File Path of Front File or String |
| 494: | * @param bool $blnStringData Optional True mean use string rather then filepath |
| 495: | * @return \Sphp\tools\FrontFile |
| 496: | */ |
| 497: | protected function createFrontObjectPrivate($filepath,$blnStringData = false){} |
| 498: | /** |
| 499: | * Prase HTML string and trigger onprase event for each node |
| 500: | * @param string $html |
| 501: | * @return string process html by onprocess callback |
| 502: | */ |
| 503: | public function parseHTML($html) {} |
| 504: | final public function getHelp() {} |
| 505: | /** |
| 506: | * Advance Function |
| 507: | * Execute Limited PHP Code for Template tags ##{} #{}#. |
| 508: | * Global variables are not available, only component object $compobj and its public variables are available |
| 509: | * @param string &$strPHPCode Template code |
| 510: | * @return string |
| 511: | */ |
| 512: | protected function executePHPCode(&$strPHPCode) {} |
| 513: | /** |
| 514: | * Advance Function |
| 515: | * Read file and process PHP and return result. |
| 516: | * Global variables are not available, only component object and its public variables are available |
| 517: | * @param string $filepath File Path |
| 518: | * @return string |
| 519: | */ |
| 520: | protected function getDynamicContent($filepath) {} |
| 521: | /** |
| 522: | * Process PHP in Dynamic CSS,JS File and add as url Link. When |
| 523: | * \SphpBase::sphp_settings()->translatermode = true then |
| 524: | * framework generate file under cache folder. For Example:- CSS Theme component |
| 525: | * generate new theme according to settings as a public variables of component. |
| 526: | * @param type $fileURL2 |
| 527: | * @param type $renderonce |
| 528: | * @param type $filename |
| 529: | * @param type $ext |
| 530: | * @param type $ver |
| 531: | */ |
| 532: | public function addDynamicFileLink($fileURL2, $renderonce = false, $filename = "", $ext = "", $ver = "0") {} |
| 533: | /** override functions list start here, in order of life cycle events trigger. |
| 534: | * You can Design a new Component with override these functions in child class. |
| 535: | */ |
| 536: | /** |
| 537: | * override this Life-Cycle event handler in your Component to handle it. |
| 538: | * trigger when Component initialize and before any children Components initialize. You can set default values of Component |
| 539: | * in this event handler. |
| 540: | */ |
| 541: | protected function oninit() {} |
| 542: | /** |
| 543: | * override this Life-Cycle event handler in your Component to handle it. |
| 544: | * trigger when Component Create and before any children components Create event. |
| 545: | * We can read all static attributes and "fui-_*" |
| 546: | * dynamic attributes set in FrontFile. So you can decide your default values or |
| 547: | * calculate or validate request submit in this handler. |
| 548: | * @param \Sphp\tools\NodeTag $element A HTML element of component |
| 549: | */ |
| 550: | protected function oncreate($element) {} |
| 551: | /** |
| 552: | * override this Life-Cycle event handler in your Component to handle it. |
| 553: | * trigger when All Components of FrontFile is created. If Component |
| 554: | * settings or input dependent on other components of FrontFile or |
| 555: | * it's children Components then we can use this handler to work further. For |
| 556: | * Example our component need to read Page Title when it find Title Component in |
| 557: | * FrontFile. |
| 558: | */ |
| 559: | protected function onaftercreate() {} |
| 560: | /** |
| 561: | * override this Life-Cycle event handler in your Component to handle it. |
| 562: | * trigger when Component Get Gate ready Event as GateEvent. Trigger after |
| 563: | * Gate onrun event. |
| 564: | * In this event handler Component can handle it's own PageEvents and reply AJAX directly |
| 565: | * to Browser and reduce the work Gate and developer. But this will work only if FrontFile |
| 566: | * Object is created on Gate Life-Cycle event handler onstart. |
| 567: | */ |
| 568: | protected function ongateevent() {} |
| 569: | /** |
| 570: | * override this Life-Cycle event handler in your Component to handle it. |
| 571: | * trigger before onprerender,onjsrender,onrender and before any children Components event PreJsRender and PreRender. |
| 572: | * This will not work if Front File not Render or disable Component rendering. |
| 573: | * You can create JS Function with addHeaderJSFunction and then Children can write their code inside |
| 574: | * this JS Function with addHeaderJSFunctionCode. You can divide your logic between various render |
| 575: | * event handlers. |
| 576: | */ |
| 577: | protected function onprejsrender() {} |
| 578: | /** |
| 579: | * override this Life-Cycle event handler in your Component to handle it. |
| 580: | * trigger before onjsrender, onrender and PreRender of children Components. |
| 581: | * write js,html code which help or need by children for further addition onrender |
| 582: | * This will not work if Front File not Render or disable Component rendering. |
| 583: | */ |
| 584: | protected function onprerender() {} |
| 585: | /** |
| 586: | * override this Life-Cycle event handler in your Component to handle it. |
| 587: | * trigger when Component before onrender and after children render. Mostly |
| 588: | * use to write own JS code and links external js,css files. |
| 589: | * This will not work if Front File not Render or disable Component rendering. |
| 590: | */ |
| 591: | protected function onjsrender() {} |
| 592: | /** |
| 593: | * override this Life-Cycle event handler in your Component to handle it. |
| 594: | * trigger when Component Render and Before RenderLast. Mostly use to |
| 595: | * write HTML layout,design or over-write children output |
| 596: | * This will not work if Front File not Render or disable Component rendering. |
| 597: | */ |
| 598: | protected function onrender() {} |
| 599: | /** |
| 600: | * override this Life-Cycle event handler in your Component to handle it. |
| 601: | * trigger when Component Rendering Complete After all output is generated. |
| 602: | * Use by Complex components. Use for Cleanup temporary resources and |
| 603: | * Finalize output or control children components. |
| 604: | * This will not work if Front File not Render or disable Component rendering. |
| 605: | */ |
| 606: | protected function onpostrender() {} |
| 607: | /** |
| 608: | * override this event handler in your Component to handle it. |
| 609: | * trigger on Children Component Events. Use for interaction between parent |
| 610: | * child. So it is not Life-Cycle event. It will trigger by only first level of children. |
| 611: | * @param string $event Name of Event value may be oncreate,onprerender or onrender |
| 612: | * @param \Sphp\tools\Component $obj Child Component |
| 613: | */ |
| 614: | protected function onchildevent($event, $obj) {} |
| 615: | /** |
| 616: | * override this event handler in your Component to handle it. |
| 617: | * trigger when Runtime Attribute runas used with value of "holder" and that pass \Sphp\tools\NodeTag |
| 618: | * Tag Object to component and then Component can display any type of content on holder object. |
| 619: | * With helper attribute only data-comp and leave data-prop. |
| 620: | * <div runas="holder" data-comp="pagrid1"></div> |
| 621: | * So it is not Life-Cycle event. |
| 622: | * @param \Sphp\tools\NodeTag $obj |
| 623: | */ |
| 624: | protected function onholder($obj) {} |
| 625: | /** |
| 626: | * Advance Function |
| 627: | * override this event handler in your Component to handle it. |
| 628: | * trigger when HTML text parse with parseHTML function. |
| 629: | * @param string $event value may be start or end. |
| 630: | * @param \Sphp\tools\HTMLDOMNode $domelement |
| 631: | */ |
| 632: | protected function onparse($event, $domelement) {} |
| 633: | public function &__get($name) {} |
| 634: | /** |
| 635: | * Advance Function, Internal use |
| 636: | */ |
| 637: | /** |
| 638: | * Advance Function, Internal use |
| 639: | */ |
| 640: | final public function init($name, $fieldName = "", $tableName = "") {} |
| 641: | /** |
| 642: | * Add Help for Component |
| 643: | * @param string $name prop name |
| 644: | * @param string $help Help text |
| 645: | * @param string $val value list |
| 646: | * @param string $param |
| 647: | * @param string $type Data Type |
| 648: | * @param string $options |
| 649: | */ |
| 650: | protected function addHelpPropList($name, $help = '', $val = '', $param = '', $type = '', $options = '') {} |
| 651: | /** |
| 652: | * Add Help for Component |
| 653: | * @param string $name function name |
| 654: | * @param string $help Help text |
| 655: | * @param string $val value list |
| 656: | * @param string $param |
| 657: | * @param string $type Data Type |
| 658: | * @param string $options |
| 659: | */ |
| 660: | protected function addHelpPropFunList($name, $help = '', $val = '', $param = '', $type = '', $options = '') {} |
| 661: | /** |
| 662: | * Advance Function, Internal use |
| 663: | */ |
| 664: | public function helpPropList() {} |
| 665: | /** |
| 666: | * Advance Function, Internal use |
| 667: | */ |
| 668: | protected function genhelpPropList() {} |
| 669: | } |
| 670: | /** |
| 671: | * Component use it own Gate to process events and Front File to design own |
| 672: | * Complex design for example:- Tiny Editor Component, Web Page Editor |
| 673: | */ |
| 674: | class ComponentGroup extends Component { |
| 675: | final public function onaftercreate() {} |
| 676: | final public function onrender() {} |
| 677: | public function getCompApp() {} |
| 678: | } |
| 679: | class MenuGen { |
| 680: | public $htmlout = ""; |
| 681: | public $sphp_api = null; |
| 682: | public $name = "def"; |
| 683: | protected function onstart() {} |
| 684: | protected function onrun() {} |
| 685: | public function getOutput() {} |
| 686: | public function render() {} |
| 687: | } |
| 688: | class RenderComp { |
| 689: | public function render($obj) {} |
| 690: | public function createComp($id, $path = '', $class = '', $dfield = '', $dtable = '') {} |
| 691: | public function createComp2($id, $path = '', $class = '', $dfield = '', $dtable = '') {} |
| 692: | public function compcreate($comp) {} |
| 693: | } |
| 694: | } |
| 695: |