|
@@ -23,82 +23,6 @@ class BaseRedirectButton extends BaseContainer
|
|
|
protected $rawUrl = null;
|
|
protected $rawUrl = null;
|
|
|
protected $redirectParams = [];
|
|
protected $redirectParams = [];
|
|
|
|
|
|
|
|
- public function initContent()
|
|
|
|
|
- {
|
|
|
|
|
- $this->htmlAttributes['@click.middle'] = 'redirect($event, ' . $this->parseCustomParams() . ', true)';
|
|
|
|
|
- $this->htmlAttributes['@click'] = 'redirect($event, ' . $this->parseCustomParams() . ')';
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- protected function parseCustomParams()
|
|
|
|
|
- {
|
|
|
|
|
- if (count($this->redirectParams) === 0 && $this->rawUrl === null)
|
|
|
|
|
- {
|
|
|
|
|
- return '{}';
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return $this->parseListTOJsString($this->redirectParams);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- protected function parseListTOJsString($params)
|
|
|
|
|
- {
|
|
|
|
|
- $jsString = '{';
|
|
|
|
|
-
|
|
|
|
|
- if ($this->rawUrl !== null)
|
|
|
|
|
- {
|
|
|
|
|
- $params['rawUrl'] = $this->rawUrl;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- foreach ($params as $key => $value)
|
|
|
|
|
- {
|
|
|
|
|
- $jsString .= ' ' . str_replace('-', '__', $key) . ': ' . (is_array($value) ? ($this->parseListTOJsString($value) . ',') : ("'" . (string) $value) . "',");
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- $jsString = trim($jsString, ',') . ' } ';
|
|
|
|
|
-
|
|
|
|
|
- return $jsString;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function setRawUrl($url)
|
|
|
|
|
- {
|
|
|
|
|
- $this->rawUrl = $url;
|
|
|
|
|
-
|
|
|
|
|
- return $this;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function addRedirectParam($key, $value)
|
|
|
|
|
- {
|
|
|
|
|
- $this->redirectParams[$key] = $value;
|
|
|
|
|
-
|
|
|
|
|
- $this->updateHtmlAttributesByRedirectParams();
|
|
|
|
|
-
|
|
|
|
|
- return $this;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function setRedirectParams($paramsList)
|
|
|
|
|
- {
|
|
|
|
|
- $this->redirectParams = $paramsList;
|
|
|
|
|
-
|
|
|
|
|
- $this->updateHtmlAttributesByRedirectParams();
|
|
|
|
|
-
|
|
|
|
|
- return $this;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- protected function updateHtmlAttributesByRedirectParams()
|
|
|
|
|
- {
|
|
|
|
|
- foreach ($this->redirectParams as $key => $value)
|
|
|
|
|
- {
|
|
|
|
|
- $this->updateHtmlAttribute($key, $value);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- protected function updateHtmlAttribute($key, $value)
|
|
|
|
|
- {
|
|
|
|
|
- if (strpos($value, ':') === 0)
|
|
|
|
|
- {
|
|
|
|
|
- $this->addHtmlAttribute(':data-' . $key , 'dataRow.' . trim($value, ':'));
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|