Skip to content

Commit

Permalink
SelectModelDialogTreeWidget
Browse files Browse the repository at this point in the history
  • Loading branch information
skeeks-semenov committed Aug 25, 2017
1 parent a0df593 commit 3ab6091
Show file tree
Hide file tree
Showing 5 changed files with 118 additions and 5 deletions.
35 changes: 33 additions & 2 deletions src/models/Tree.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,11 @@
* @property integer $redirect_tree_id
* @property integer $redirect_code
* @property string $name_hidden
* @property string $view_file
*
* ***
*
* @property string $view_file
* @property string $fullName
*
* @property string $absoluteUrl
* @property string $url
Expand Down Expand Up @@ -787,6 +789,7 @@ public function processCreateNode(Tree $target)
*
* @param Tree $target | Новая нода, будет вставлена в текущую
* @return $this
* @deprecated
*/
public function processAddNode(Tree $target)
{
Expand All @@ -797,12 +800,40 @@ public function processAddNode(Tree $target)

/**
* @return bool
* @deprecated > 4.0
* @deprecated
*/
public function gethas_children()
{
return (bool) $this->children;
}

/**
* @param string $glue
*
* @return string
*/
public function getfullName($glue = " / ")
{
$paths = [];

if ($this->parents)
{
foreach ($this->parents as $parent)
{
if ($parent->isRoot())
{
$paths[] = "[" . $parent->site->name . "] " . $parent->name;
} else
{
$paths[] = $parent->name;
}
}
}

$paths[] = $this->name;

return implode($glue, $paths);
}
}


Expand Down
6 changes: 5 additions & 1 deletion src/views/admin-cms-content-element/_search.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,15 @@
]); ?>

<?= $form->field($searchModel, 'section')->widget(
\skeeks\cms\backend\widgets\SelectModelDialogTreeWidget::class
); ?>

<?/*= $form->field($searchModel, 'section')->widget(
\skeeks\cms\widgets\formInputs\selectTree\SelectTreeInputWidget::class,
[
'multiple' => false,
]
); ?>
); */?>


<?= $form->field($searchModel, 'has_image')->checkbox(\Yii::$app->formatter->booleanFormat, false); ?>
Expand Down
6 changes: 5 additions & 1 deletion src/views/admin-cms-content-element/change-tree-form.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@
?>
<? $form = \skeeks\cms\modules\admin\widgets\ActiveForm::begin(); ?>

<?= $form->field($model, 'tree_id')->widget(
<?/*= $form->field($model, 'tree_id')->widget(
\skeeks\cms\widgets\formInputs\selectTree\SelectTreeInputWidget::class
); */?>

<?= $form->field($model, 'tree_id')->widget(
\skeeks\cms\backend\widgets\SelectModelDialogTreeWidget::class
); ?>

<?/*= $form->fieldSelect($model, 'tree_id', \skeeks\cms\helpers\TreeOptions::getAllMultiOptions());*/?>
Expand Down
10 changes: 9 additions & 1 deletion src/views/admin-cms-content-element/change-trees-form.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,21 @@
?>
<? $form = \skeeks\cms\modules\admin\widgets\ActiveForm::begin(); ?>

<?= $form->field($model, 'treeIds')->widget(
<?/*= $form->field($model, 'treeIds')->widget(
\skeeks\cms\widgets\formInputs\selectTree\SelectTreeInputWidget::class,
[
'multiple' => true
]
); */?>

<?= $form->field($model, 'treeIds')->widget(
\skeeks\cms\backend\widgets\SelectModelDialogTreeWidget::class,
[
'multiple' => true
]
); ?>


<?= \yii\helpers\Html::checkbox('removeCurrent', false); ?> <label><?=\Yii::t('skeeks/cms','Get rid of the already linked (in this case, the selected records bind only to the selected section)')?></label>
<?= $form->buttonsStandart($model, ['save']);?>

Expand Down
66 changes: 66 additions & 0 deletions src/views/admin-tree/_tree-node.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@
}

?>

<div class="sx-label-node level-<?= $model->level; ?> status-<?= $model->active; ?>">



<a href="<?= $widget->getOpenCloseLink($model); ?>">
<?= $result; ?>
</a>
Expand Down Expand Up @@ -103,6 +107,68 @@
</a>
</div>
<? endif; ?>

<? if ($callbackEventName = \skeeks\cms\backend\helpers\BackendUrlHelper::createByParams()->setBackendParamsByCurrentRequest()->callbackEventName) : ?>


<?

$this->registerJs(<<<JS
(function(sx, $, _)
{
sx.classes.SelectCmsElement = sx.classes.Component.extend({
_onDomReady: function()
{
$('table tr').on('dblclick', function()
{
$(".sx-row-action", $(this)).click();
});
},
submit: function(data)
{
if (window.opener)
{
if (window.opener.sx)
{
window.opener.sx.EventManager.trigger('{$callbackEventName}', data);
return this;
}
} else if (window.parent)
{
if (window.parent.sx)
{
window.parent.sx.EventManager.trigger('{$callbackEventName}', data);
return this;
}
}
return this;
}
});
sx.SelectCmsElement = new sx.classes.SelectCmsElement();
})(sx, sx.$, sx._);
JS
);

$data = \yii\helpers\ArrayHelper::merge($model->toArray(), [
'url' => $model->url,
'image' => $model->image ? $model->image->src : '',
'fullName' => $model->fullName
]);

echo \yii\helpers\Html::a('<i class="glyphicon glyphicon-circle-arrow-left"></i> '.\Yii::t('skeeks/cms', 'Choose'), '#', [
'class' => 'btn btn-primary btn-xs sx-controll-act',
'style' => 'float: left;',
'onclick' => 'sx.SelectCmsElement.submit(' . \yii\helpers\Json::encode($data) . '); return false;',
'data-pjax' => 0
]);
?>
<? endif; ?>

</div>

<? if ($model->treeType) : ?>
Expand Down

0 comments on commit 3ab6091

Please sign in to comment.