예제 #1
0
 /**
  * @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]);
 }
예제 #2
0
파일: Tree.php 프로젝트: Liv1020/cms
    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;
    }
예제 #3
0
                                    </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 
        }
        ?>
예제 #4
0
?>
">
        <?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