/** * @inheritdoc */ protected function renderDataCellContent($model, $key, $index) { //print_r($this->grid->pjax);die; //Строемся в гриде который использует pjax if ($this->grid->pjax) { $this->clientOptions['pjax-id'] = $this->grid->pjax->options['id']; } $controller = clone $this->controller; $controller->model = $model; return DropdownControllerActions::widget(["controller" => $controller, "isOpenNewWindow" => $this->isOpenNewWindow, "clientOptions" => $this->clientOptions]); }
public function renderNodes($models) { $options["item"] = function ($model) { $isOpen = false; $isActive = false; $controller = \Yii::$app->cms->moduleCms()->createControllerByID("admin-tree"); $controller->setModel($model); $child = ""; foreach ($this->_openedTmp as $activeNode) { if (Validate::validate(new IsSame($activeNode), $model)->isValid()) { $isOpen = true; break; } } if ($isOpen && $model->children) { $child = $this->renderNodes($model->children); } $openCloseLink = ""; $currentLink = ""; if ($model->children) { $openedIds = $this->_getOpenIds(); if ($isOpen) { $newOptionsOpen = []; foreach ($openedIds as $id) { if ($id != $model->id) { $newOptionsOpen[] = $id; } } $urlOptionsOpen = array_unique($newOptionsOpen); $params = \Yii::$app->request->getQueryParams(); $params[$this->openedRequestName] = $urlOptionsOpen; $currentLink = UrlHelper::construct("cms/admin-tree/index")->setData($params); $openCloseLink = Html::a(Html::tag("span", "", ["class" => "glyphicon glyphicon-minus", "title" => \Yii::t('app', "Minimize")]), $currentLink, ['class' => 'btn btn-xs btn-default']); } else { $urlOptionsOpen = array_unique(array_merge($openedIds, [$model->id])); $params = \Yii::$app->request->getQueryParams(); $params[$this->openedRequestName] = $urlOptionsOpen; $currentLink = UrlHelper::construct("cms/admin-tree/index")->setData($params); $openCloseLink = Html::a(Html::tag("span", "", ["class" => "glyphicon glyphicon-plus", "title" => \Yii::t('app', "Restore")]), $currentLink, ['class' => 'btn btn-xs btn-default']); } $openCloseLink = Html::tag("div", $openCloseLink, ["class" => "sx-node-open-close"]); } if ($this->_getMode() == 'multi') { $params = \Yii::$app->request->getQueryParams(); $isSelected = in_array($model->id, $this->_getSelectedIds()) ? true : false; if ($isSelected) { $result = []; foreach ($this->_getSelectedIds() as $id) { if ($id != $model->id) { $result[] = $id; } } $params[$this->selectedRequestName] = $result; } else { $params[$this->selectedRequestName] = array_unique(array_merge($this->_getSelectedIds(), [$model->id])); } $link = UrlHelper::construct("cms/admin-tree/index")->setData($params); $controllElement = Html::checkbox('tree_id', $isSelected, ['value' => $model->id, 'style' => 'float: left; margin-left: 5px; margin-right: 5px;', 'onclick' => new JsExpression(<<<JS sx.Tree.select("{$model->id}", "{$link}"); return false; JS )]); } else { if ($this->_getMode() == 'single') { $params = \Yii::$app->request->getQueryParams(); $isSelected = in_array($model->id, $this->_getSelectedIds()) ? true : false; if ($isSelected) { $params[$this->selectedRequestName] = []; } else { $params[$this->selectedRequestName] = [$model->id]; } $link = UrlHelper::construct("cms/admin-tree/index")->setData($params); $controllElement = Html::radio('tree_id', $isSelected, ['value' => $model->id, 'class' => 'sx-readio', 'style' => 'float: left; margin-left: 5px; margin-right: 5px;', 'onclick' => new JsExpression(<<<JS sx.Tree.selectSingle("{$model->id}"); JS )]); } else { if ($this->_getMode() == 'combo') { $params = \Yii::$app->request->getQueryParams(); $isSelected = in_array($model->id, $this->_getSelectedIds()) ? true : false; if ($isSelected) { $result = []; foreach ($this->_getSelectedIds() as $id) { if ($id != $model->id) { $result[] = $id; } } $params[$this->selectedRequestName] = $result; } else { $params[$this->selectedRequestName] = array_unique(array_merge($this->_getSelectedIds(), [$model->id])); } $link = UrlHelper::construct("cms/admin-tree/index")->setData($params); $controllElement = Html::radio('tree_id', false, ['value' => $model->id, 'class' => 'sx-readio', 'style' => 'float: left; margin-left: 5px; margin-right: 5px;', 'onclick' => new JsExpression(<<<JS sx.Tree.selectSingle("{$model->id}"); JS )]); $controllElement .= Html::checkbox('tree_id', $isSelected, ['value' => $model->id, 'style' => 'float: left; margin-left: 5px; margin-right: 5px;', 'onclick' => new JsExpression(<<<JS sx.Tree.select("{$model->id}", "{$link}"); return false; JS )]); } else { $controllElement = ''; } } } /** * @var $model \skeeks\cms\models\Tree */ $additionalName = ''; if ($model->level == 0) { if ($model->site) { $additionalName = $model->site->name; } } else { if ($model->name_hidden) { $additionalName = $model->name_hidden; } } $link = Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $model->getAbsoluteUrl(), ["target" => "_blank", "class" => "btn-tree-node-controll btn btn-default btn-xs show-at-site", "title" => \Yii::t('app', "Show at site")]); $subsection = \Yii::t('app', 'Create subsection'); return Html::tag("li", Html::tag("div", $openCloseLink . $controllElement . Html::tag("div", Html::a($model->name . ($additionalName ? ' [' . $additionalName . ']' : ''), $currentLink), ["class" => "sx-label-node level-" . $model->level . " status-" . $model->active]) . ($model->treeType ? Html::tag("div", $model->treeType->name, ["class" => "pull-left sx-tree-type"]) : '') . Html::tag("div", DropdownControllerActions::widget(["controller" => $controller, "renderFirstAction" => false, "containerClass" => "dropdown pull-left", 'clientOptions' => ['pjax-id' => 'sx-pjax-tree']]) . Html::tag("div", <<<HTML <a href="#" class="btn-tree-node-controll btn btn-default btn-xs add-tree-child" title="{$subsection}" data-id={$model->id}><span class="glyphicon glyphicon-plus"></span></a> HTML , ["class" => "pull-left sx-controll-act"]) . Html::tag("div", $link, ["class" => "pull-left sx-controll-act"]), ["class" => "sx-controll-node row"]), ["class" => "row"]) . $child, ["class" => "sx-tree-node " . ($isActive ? " active" : "") . ($isOpen ? " open" : ""), "data-id" => $model->id]); }; $ul = Html::ul($models, $options); return $ul; }
</a> <?php } else { ?> <?php echo $imageFile->name ? $imageFile->name : $imageFile->original_name; ?> <?php } ?> <div class="sx-controlls"> <?php $controllerTmp = clone $controller; $controllerTmp->setModel($imageFile); echo \skeeks\cms\modules\admin\widgets\DropdownControllerActions::widget(["controller" => $controllerTmp, "isOpenNewWindow" => true, "clientOptions" => ['pjax-id' => 'pjax-storage-images-widget-' . $widget->id]]); ?> </div> <?php } else { ?> <?php echo $widget->renderItem($imageFile); ?> <?php } ?> </div> <?php } ?>
?> "> <?php echo $result; ?> </a> </div> <!-- Possible actions --> <div class="sx-controll-node row"> <? $controller = \Yii::$app->cms->moduleCms->createControllerByID("admin-tree"); $controller->setModel($model); ?> <?php echo \skeeks\cms\modules\admin\widgets\DropdownControllerActions::widget(["controller" => $controller, "renderFirstAction" => true, "containerClass" => "dropdown pull-left", 'clientOptions' => ['pjax-id' => 'sx-pjax-tree']]); ?> <div class="pull-left sx-controll-act"> <a href="#" class="btn-tree-node-controll btn btn-default btn-sm add-tree-child" title="<?php echo \Yii::t('skeeks/cms', 'Create subsection'); ?> " data-id="<?php echo $model->id; ?> "><span class="glyphicon glyphicon-plus"></span></a> </div> <div class="pull-left sx-controll-act"> <a href="<?php echo $model->absoluteUrl; ?> " target="_blank" class="btn-tree-node-controll btn btn-default btn-sm show-at-site" title="<?php