4
4
5
5
use Victoire \Bundle \WidgetBundle \Model \Widget ;
6
6
use Victoire \Bundle \WidgetBundle \Resolver \BaseWidgetContentResolver ;
7
+ use Victoire \Widget \ButtonBundle \Entity \WidgetButton ;
7
8
8
9
class WidgetButtonContentResolver extends BaseWidgetContentResolver
9
10
{
11
+ /**
12
+ * Get the static content of the widget
13
+ *
14
+ * @param Widget $widget
15
+ *
16
+ * @return string
17
+ */
18
+ public function getWidgetStaticContent (Widget $ widget )
19
+ {
20
+ $ parameters = parent ::getWidgetStaticContent ($ widget );
21
+ $ parameters = $ this ->setButtonParameters ($ widget , $ parameters );
22
+
23
+ return $ parameters ;
24
+ }
25
+
10
26
/**
11
27
* Get the business entity content
12
28
* @param Widget $widget
@@ -22,6 +38,7 @@ public function getWidgetBusinessEntityContent(Widget $widget)
22
38
23
39
$ parameters = $ this ->getWidgetStaticContent ($ widget );
24
40
$ this ->populateParametersWithWidgetFields ($ widget , $ entity , $ parameters );
41
+ $ parameters = $ this ->setButtonParameters ($ widget , $ parameters );
25
42
26
43
return $ parameters ;
27
44
}
@@ -43,6 +60,22 @@ public function getWidgetEntityContent(Widget $widget)
43
60
44
61
$ parameters = $ this ->getWidgetStaticContent ($ widget );
45
62
$ this ->populateParametersWithWidgetFields ($ widget , $ entity , $ parameters );
63
+ $ parameters = $ this ->setButtonParameters ($ widget , $ parameters );
64
+
65
+ return $ parameters ;
66
+ }
67
+
68
+ /**
69
+ * Get the content of the widget for the query mode
70
+ *
71
+ * @param Widget $widget
72
+ *
73
+ * @return string
74
+ *
75
+ */
76
+ public function getWidgetQueryContent (Widget $ widget ) {
77
+ $ parameters = parent ::getWidgetQueryContent ($ widget );
78
+ $ parameters = $ this ->setButtonParameters ($ widget , $ parameters );
46
79
47
80
return $ parameters ;
48
81
}
@@ -65,4 +98,18 @@ public function readIntoWidgetRouteParameters(Widget $widget)
65
98
}
66
99
$ widget ->getLink ()->setRouteParameters ($ params );
67
100
}
101
+
102
+ protected function setButtonParameters (Widget $ widget , $ parameters ) {
103
+ /** @var WidgetButton $widget */
104
+ $ icon = ($ parameters ['icon ' ]) ? "<i class='fa " . $ parameters ['icon ' ] . "'></i> " : "" ;
105
+ $ label = $ icon . " " . $ parameters ['title ' ];
106
+
107
+ $ block = ($ parameters ['isBlock ' ]) ? "btn-block " : "" ;
108
+ $ class = "btn btn- " . $ parameters ['size ' ] . " btn- " . $ parameters ['style ' ] . " " . $ block ;
109
+ $ title = $ parameters ['hoverTitle ' ];
110
+
111
+ $ parameters = array_merge ($ parameters , ['attributes ' => ['class ' => $ class , 'title ' => $ title ], 'label ' => $ label ]);
112
+ return $ parameters ;
113
+ }
114
+
68
115
}
0 commit comments