71 $this->_template =
"%wrapContentBefore%%content%%wrapContentAfter%";
73 if (isset($modelInstance)) {
74 if (\is_object($modelInstance)) {
75 $this->_model = \get_class($modelInstance);
77 $this->
show($modelInstance);
79 $this->_generated =
false;
82 protected function _init($instanceViewer, $contentKey,
$content, $edition) {
83 $this->_instanceViewer = $instanceViewer;
89 $this->_edition = $edition;
99 if (\is_string($fieldName)) {
100 $fields = $this->_instanceViewer->getVisibleProperties();
101 $index = \array_search($fieldName, $fields);
107 return $this->identifier .
"-{$prefix}-" . $this->_instanceViewer->getIdentifier();
111 return $this->_instanceViewer->getFieldName($index);
115 return $this->_instanceViewer->getCaption($index);
120 public function show($modelInstance) {
121 if (\is_array($modelInstance)) {
122 $modelInstance = \json_decode(\json_encode($modelInstance), FALSE);
124 $this->_modelInstance = $modelInstance;
163 if ($index !==
false) {
164 $this->_instanceViewer->afterCompile($index, $callback);
174 $this->_instanceViewer->setCaptions($captions);
179 $this->_instanceViewer->setCaption($this->
_getIndex($index), $caption);
184 $this->_instanceViewer->setVisibleProperties($fields);
189 $this->_instanceViewer->addField($field, $key);
194 $this->_instanceViewer->addFields($fields);
199 return $this->_instanceViewer->visiblePropertiesCount();
202 public function addMessage($attributes = NULL, $fieldName =
"message") {
203 $this->_instanceViewer->addField($fieldName);
204 $count = $this->_instanceViewer->visiblePropertiesCount();
216 $this->_instanceViewer->insertField($index, $field, $key);
222 if ($index !==
false) {
223 $this->_instanceViewer->insertInField($index, $field, $key);
239 if ($index !==
false) {
240 $this->_instanceViewer->setValueFunction($index, $callback);
246 $this->_instanceViewer->setIdentifierFunction($callback);
255 if (isset($this->_toolbar) ===
false) {
256 $this->_toolbar =
new HtmlMenu(
"toolbar-" . $this->identifier);
272 if ($element->getIdentifier() ===
"") {
273 $element->setIdentifier(
"tb-item-" . $this->identifier .
"-" . $tb->count());
276 if (isset($callback)) {
277 if (\is_callable($callback)) {
281 return $tb->addItem($element);
294 if (isset($icon) && method_exists($result,
"addIcon"))
295 $result->addIcon($icon);
308 foreach ($items as $icon => $item) {
312 foreach ($items as $item) {
329 if (\is_string($value)) {
330 $dd =
new HtmlDropdown(
"dropdown-" . $this->identifier .
"-" . $value, $value, $items);
344 $bt =
new HtmlButton(
"bt-" . $caption, $caption, $cssStyle);
371 $bt->addIcon($icon, $before, $labeled);
377 $this->
_buttonAsSubmit($button,
"click", $url, $responseElement, $parameters);
389 $this->_instanceViewer->setCaptionCallback($captionCallback);
412 $this->_instanceViewer->setDefaultValueFunction($defaultValueFunction);
421 return $this->_instanceViewer->getDefaultValueFunction();
430 return "$('#" . $this->identifier .
" .ui.input,#" . $this->identifier .
" .ui.dropdown,#" . $this->identifier .
" .ui.checkbox').toggleClass('disabled'," . $disable .
");";
441 $bt =
new HtmlButton($this->identifier .
"-editBtn", $caption);
443 $bt->setActive($this->_edition);
459 if (! isset($this->_form)) {
460 $this->_form =
new HtmlForm(
"frm-" . $this->identifier);
468 if (isset($this->_form)) {
475 foreach ($fields as $field) {
476 $this->_form->addField($field);
478 return $this->_form->run($js);
482 if (isset($this->_form)) {
484 if (\
sizeof($this->_form->getValidationParams()) > 0)
485 $noValidate =
"novalidate";
486 $this->
wrapContent(
"<form class='" . $this->_form->getProperty(
'class') .
"' id='frm-" . $this->identifier .
"' name='frm-" . $this->identifier .
"' " . $noValidate .
">",
"</form>");
499 $this->
getForm()->setValidationParams($_validationParams);
504 return $this->_instanceViewer->moveFieldTo($from, $to);
510 return $this->_instanceViewer->swapFields($index1, $index2);
515 if ($index !==
false) {
516 $this->_instanceViewer->removeField($index);
522 $modal =
new HtmlModal(
"modal-" . $this->identifier, $header);
523 $modal->setContent($this);
524 if (isset($this->_form)) {
525 $this->_form->onSuccess($modal->jsHide());
getContentInstances($class)
static isAssociative($array)
static prep_value($value)
Puts HTML values in quotes for use in jQuery code unless the supplied value contains the Javascript '...
wrapContent($before, $after="")