Commit 987e0374 authored by Tobias Munk's avatar Tobias Munk

updated widget container UI

parent 71f6f54d
......@@ -9,8 +9,8 @@
*/
namespace hrzg\widget\widgets;
use hrzg\widget\models\crud\WidgetContent;
use hrzg\widget\assets\WidgetAsset;
use hrzg\widget\models\crud\WidgetContent;
use rmrevin\yii\fontawesome\AssetBundle;
use rmrevin\yii\fontawesome\component\Icon;
use rmrevin\yii\fontawesome\FA;
......@@ -18,6 +18,7 @@ use yii\base\Event;
use yii\base\Widget;
use yii\helpers\Html;
use yii\helpers\Json;
use yii\helpers\Url;
class WidgetContainer extends Widget
{
......@@ -31,19 +32,56 @@ class WidgetContainer extends Widget
public function run()
{
Url::remember('',$this->getRoute());
return $this->renderWidgets();
}
public function getMenuItems()
{
// todo, register FA-asset from asset bundle
AssetBundle::register($this->view);
return [
[
'label' => FA::icon(FA::_PLUS_SQUARE).' <b>'.$this->id.'</b> <span class="label label-info">widget</span>',
'url' => [
'/widgets/crud/widget/create',
'WidgetContent' => [
'route' => $this->getRoute(),
'container_id' => $this->id,
'request_param' => \Yii::$app->request->get('id'),
'access_domain' => \Yii::$app->language,
],
],
],
[
'label' => FA::icon(FA::_EDIT).' <b>'.$this->id.'</b> <span class="label label-info">widget</span>',
'url' => [
'/widgets/crud/widget/index',
'WidgetContent' => [
'route' => $this->getRoute(),
'container_id' => $this->id,
'request_param' => \Yii::$app->request->get('id'),
'access_domain' => \Yii::$app->language,
],
],
],
];
}
private function queryWidgets()
{
\Yii::trace(\Yii::$app->requestedRoute, __METHOD__);
$models = WidgetContent::find()
->orderBy('rank')
->where(
->orderBy('rank ASC')
->andFilterWhere(
[
'container_id' => $this->id,
'route' => \Yii::$app->requestedRoute,
'request_param' => \Yii::$app->request->get('id'),
]
)
->andWhere(
[
'container_id' => $this->id,
'route' => $this->getRoute(),
'access_domain' => \Yii::$app->language,
])
->all();
......@@ -51,9 +89,13 @@ class WidgetContainer extends Widget
return $models;
}
private function getRoute(){
return \Yii::$app->controller->module->id.'/'.\Yii::$app->controller->id.'/'.\Yii::$app->controller->action->id;
}
private function renderWidgets()
{
$html = Html::beginTag('div',['class'=>'hrzg-widget-widget-container']);
$html = Html::beginTag('div', ['class' => 'hrzg-widget-widget-container']);
if (\Yii::$app->user->can('widgets')) {
$html .= $this->generateContainerControls();
......@@ -67,7 +109,7 @@ class WidgetContainer extends Widget
if ($properties) {
$class->setProperties($properties);
}
$html .= Html::beginTag('div',['class'=>'hrzg-widget-widget']);
$html .= Html::beginTag('div', ['class' => 'hrzg-widget-widget']);
if (\Yii::$app->user->can('widgets')) {
$html .= $this->generateWidgetControls($widget);
}
......@@ -82,55 +124,39 @@ class WidgetContainer extends Widget
{
}
private function generateContainerControls(){
$html = Html::beginTag('div',['class'=>'hrzg-widget-container-controls pull-right']);
$html .= Html::a('Add', ['/widgets/crud/widget/create',
'WidgetContent' => [
'route' => \Yii::$app->requestedRoute,
'container_id' => $this->id,
'request_param' => \Yii::$app->request->get('id'),
'access_domain' => \Yii::$app->language,
]], ['class'=>'btn btn-default']);
private function generateContainerControls()
{
$html = Html::beginTag('div', ['class' => 'hrzg-widget-container-controls pull-right']);
$html .= Html::a(
FA::icon(FA::_PLUS_SQUARE).' '.$this->id,
[
'/widgets/crud/widget/create',
'WidgetContent' => [
'route' => $this->getRoute(),
'container_id' => $this->id,
'request_param' => \Yii::$app->request->get('id'),
'access_domain' => \Yii::$app->language,
]
],
['class' => 'btn btn-success']);
$html .= Html::endTag('div');
return $html;
}
private function generateWidgetControls($widget){
$html = Html::beginTag('div',['class'=>'hrzg-widget-widget-controls']);
$html .= Html::a('Edit', ['/widgets/crud/widget/update', 'id'=>$widget->id], ['class'=>'btn btn-default']);
private function generateWidgetControls($widget)
{
$html = Html::beginTag('div', ['class' => 'hrzg-widget-widget-controls btn-group', 'role'=>'group']);
$html .= Html::a(
FA::icon(FA::_PENCIL).' #'.$widget->id.' '.$widget->template->name.' <span class="label label-default">'.$widget->rank.'</span>',
['/widgets/crud/widget/update', 'id' => $widget->id],
['class' => 'btn btn-xs btn-primary']
);
$html .= Html::a(
FA::icon(FA::_EYE),
['/widgets/crud/widget/view', 'id' => $widget->id],
['class' => 'btn btn-xs btn-default']
);
$html .= Html::endTag('div');
return $html;
}
public function getMenuItems()
{
// todo, register FA-asset from asset bundle
AssetBundle::register($this->view);
return [
[
'label' => FA::icon(FA::_PLUS_SQUARE).' <b>'.$this->id.'</b> <span class="label label-info">widget</span>',
'url' => [
'/widgets/crud/widget/create',
'WidgetContent' => [
'route' => \Yii::$app->requestedRoute,
'container_id' => $this->id,
'request_param' => \Yii::$app->request->get('id'),
'access_domain' => \Yii::$app->language,
],
],
],
[
'label' => FA::icon(FA::_EDIT).' <b>'.$this->id.'</b> <span class="label label-info">widget</span>',
'url' => [
'/widgets/crud/widget/index',
'WidgetContent' => [
'route' => \Yii::$app->requestedRoute,
'container_id' => $this->id,
'request_param' => \Yii::$app->request->get('id'),
'access_domain' => \Yii::$app->language,
],
],
],
];
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment