phpMv -UI toolkit 2.4.12
jQuery, jQuery UI, Twitter Bootstrap and Semantic-UI library for php & php MVC Frameworks
Loading...
Searching...
No Matches
HtmlShape.php
Go to the documentation of this file.
1<?php
3
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}
JQuery PHP library.
Definition JsUtils.php:23
semantic(Semantic $semantic=NULL)
getter or setter of the Semantic-UI variable
Definition JsUtils.php:158
BaseHtml for HTML components.
Definition BaseHtml.php:17
getItem($index)
Return the item at index.
Base class for Semantic Html collections.
Base class for Semantic double elements.
addToPropertyCtrl($name, $value, $typeCtrl)
run(JsUtils $js)
SimpleExtComponent\Ajax\common\html\BaseHtmlrun()\Ajax\common\html\BaseHtmlrun()\Ajax\common\html\Bas...
createItem($value)
The item factory.
Definition HtmlShape.php:26
__construct( $identifier, $sides)
Definition HtmlShape.php:16
compile(JsUtils $js=NULL, &$view=NULL)
doActionOn($element, $event, $what)
Definition HtmlShape.php:88