phpMv  -UI toolkit 2.4.12
jQuery, jQuery UI, Twitter Bootstrap and Semantic-UI library for php & php MVC Frameworks
HtmlShape.php
Go to the documentation of this file.
1 <?php
3 
6 use Ajax\JsUtils;
9 
10 
12 
13  protected $_params=array();
14  protected $_autoActive=true;
15 
16  public function __construct( $identifier, $sides){
17  parent::__construct( $identifier, "div", "ui shape");
18  $this->_template='<%tagName% id="%identifier%" %properties%><div class="sides">%wrapContentBefore%%content%%wrapContentAfter%</div></%tagName%>';
19  $this->addItems($sides);
20  }
21 
26  protected function createItem($value){
27  if(\is_object($value)===false){
28  $value=new HtmlSemDoubleElement("","div","content",$value);
29  }
30  return new HtmlShapeItem("side-".$this->identifier."-".$this->count(), $value);
31  }
32 
37  protected function createCondition($value){
38  return ($value instanceof HtmlShapeItem)===false;
39  }
40 
45  public function getSide($index){
46  return $this->getItem($index);
47  }
48 
53  public function getSideContent($index){
54  $item= $this->getItem($index);
55  if(isset($item))
56  return $item->getContent();
57  return null;
58  }
59 
60  public function jsDo($action){
61  return "$('#".$this->identifier."').shape('".$action."');";
62  }
63 
64  public function jsFlipLeft(){
65  return $this->jsDo("flip left");
66  }
67 
68  public function jsFlipRight(){
69  return $this->jsDo("flip right");
70  }
71 
72  public function jsFlipUp(){
73  return $this->jsDo("flip up");
74  }
75 
76  public function jsFlipDown(){
77  return $this->jsDo("flip down");
78  }
79 
80  public function jsFlipOver(){
81  return $this->jsDo("flip over");
82  }
83 
84  public function jsFlipBack(){
85  return $this->jsDo("flip back");
86  }
87 
88  private function doActionOn($element,$event,$what){
89  if($element instanceof BaseHtml){
90  return $element->on($event, $what,true,true);
91  }
92  }
93 
94  public function flipLeftOn($element,$event){
95  return $this->doActionOn($element, $event, $this->jsFlipLeft());
96  }
97 
98  public function flipRightOn($element,$event){
99  return $this->doActionOn($element, $event, $this->jsFlipRight());
100  }
101 
102  public function flipUpOn($element,$event){
103  return $this->doActionOn($element, $event, $this->jsFlipUp());
104  }
105 
106  public function flipDownOn($element,$event){
107  return $this->doActionOn($element, $event, $this->jsFlipDown());
108  }
109 
110  public function flipBackOn($element,$event){
111  return $this->doActionOn($element, $event, $this->jsFlipBack());
112  }
113 
114  public function flipOverOn($element,$event){
115  return $this->doActionOn($element, $event, $this->jsFlipOver());
116  }
117 
118  public function setActiveSide($index){
119  $side=$this->getSide($index);
120  if(isset($side)){
121  $side->setActive(true);
122  }
123  return $this;
124  }
125 
126  public function asCube(){
127  return $this->addToPropertyCtrl("class", "cube", ["cube"]);
128  }
129 
130  public function asText(){
131  return $this->addToPropertyCtrl("class", "text", ["text"]);
132  }
133 
134  public function setWidth($width="initial"){
135  $this->_params["width"]=$width;
136  }
137  public function onChange($jsCode){
138  return $this->_params["onChange"]="%function(){" . $jsCode . "}%";
139  }
140 
141  public function beforeChange($jsCode){
142  return $this->_params["beforeChange"]="%function(){" . $jsCode . "}%";
143  }
144 
145  /*
146  * (non-PHPdoc)
147  * @see BaseHtml::run()
148  */
149  public function run(JsUtils $js) {
150  if (isset($this->_bsComponent) === false)
151  $this->_bsComponent=$js->semantic()->shape("#" . $this->identifier, $this->_params);
152  $this->addEventsOnRun($js);
153  return $this->_bsComponent;
154  }
155 
156  public function compile(JsUtils $js=NULL, &$view=NULL) {
157  if($this->_autoActive)
158  $this->setActiveSide(0);
159  return parent::compile($js,$view);
160  }
161 }
doActionOn($element, $event, $what)
Definition: HtmlShape.php:88
compile(JsUtils $js=NULL, &$view=NULL)
Definition: HtmlShape.php:156
BaseHtml for HTML components.
Definition: BaseHtml.php:17
__construct( $identifier, $sides)
Definition: HtmlShape.php:16
addEventsOnRun(JsUtils $js=NULL)
getItem($index)
Return the item at index.
semantic(Semantic $semantic=NULL)
getter or setter of the Semantic-UI variable
Definition: JsUtils.php:159
Base class for Semantic double elements.
Base class for Semantic Html collections.
JQuery PHP library.
Definition: JsUtils.php:23
addToPropertyCtrl($name, $value, $typeCtrl)