1: <?php
2: /**
3: * Description of OnsenPage
4: *
5: * @author SARTAJ
6: */
7:
8: class OnsenPage extends Control{
9: public static $navigator = false;
10:
11: public function oncreate($element){
12: $this->setHTMLName("");
13: $this->registerEventJS('init');
14: $this->registerEventJS('destroy');
15: $this->registerEventJS('show');
16: $this->registerEventJS('hide');
17: }
18:
19:
20: public function onjsrender(){
21: addFileLink(SphpBase::sphp_settings()->res_path . '/jslib/onsen/onsen.css');
22: addFileLink(SphpBase::sphp_settings()->res_path . '/jslib/onsen/onsen.js');
23:
24: addHeaderJSCode('onsen0', ' window["onsen"] = {};');
25: addHeaderJSFunction('comp_'. $this->name .'_init', 'function comp_'. $this->name .'_init(event) {', '}');
26: addHeaderJSFunction('comp_'. $this->name .'_destroy', 'function comp_'. $this->name .'_destroy(event) {', '}');
27: addHeaderJSFunction('comp_'. $this->name .'_show', 'function comp_'. $this->name .'_show(event) {', '}');
28: addHeaderJSFunction('comp_'. $this->name .'_hide', 'function comp_'. $this->name .'_hide(event) {', '}');
29:
30: addHeaderJSFunction('init', 'document.addEventListener("init", function(event) {bindJsVarRefresh();', '});');
31: addHeaderJSFunction('destroy', 'document.addEventListener("destroy", function(event) {', '});');
32: addHeaderJSFunction('show', 'document.addEventListener("show", function(event) {', '});');
33: addHeaderJSFunction('hide', 'document.addEventListener("hide", function(event) {', '});');
34:
35: addHeaderJSFunctionCode('init',$this->name . '1', 'if(event.target.id == "'. $this->name.'"){ '. $this->raiseEventJS('init') .'; } ');
36: addHeaderJSFunctionCode('destroy',$this->name . '2', 'if(event.target.id == "'. $this->name.'"){ '. $this->raiseEventJS('destroy') .'; } ');
37: addHeaderJSFunctionCode('show',$this->name . '3', 'if(event.target.id == "'. $this->name.'"){ '. $this->raiseEventJS('show') .'; } ');
38: addHeaderJSFunctionCode('hide',$this->name . '4', 'if(event.target.id == "'. $this->name.'"){ '. $this->raiseEventJS('hide') .'; } ');
39: }
40:
41: public function onrender() {
42: $str1 = "";
43: if(! OnsenPage::$navigator){
44: addHeaderJSFunctionCode('ready','onsen1', ' const onsennavi = document.querySelector(\'#onsennavi\');');
45: addHeaderJSCode('onsen3', ' window.onsen.loadPage = function(page,data){onsennavi.bringPageTop(page,data);}');
46: $str1 = '<ons-navigator animation="slide" swipeable id="onsennavi" page="'. $this->name .'.html"></ons-navigator>';
47: OnsenPage::$navigator = true;
48: }
49: $str1 .= '<template id="'. $this->name .'.html">';
50: $this->setPreTag($str1);
51: $this->setPostTag('</template>');
52: }
53:
54: }
55: