Class luya\admin\aws\ApiRequestInsightActiveWindow
Public Properties
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
$suffix | string | The suffix to use for all classes | luya\admin\ngrest\base\ActiveWindow |
Public Methods
Constants
Constant | Value | Description | Defined By |
---|---|---|---|
EVENT_RELOAD_LIST | 'loadList' | luya\admin\ngrest\base\BaseActiveResponse |
Property Details
The name of the module where the ActiveWindow is located in order to find the view path.
Method Details
Defined in: yii\base\BaseObject::__call()
Calls the named method which is not a class method.
Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.
public mixed __call ( $name, $params ) | ||
$name | string |
The method name |
$params | array |
Method parameters |
return | mixed |
The method return value |
---|---|---|
throws | yii\base\UnknownMethodException |
when calling unknown method |
public function __call($name, $params)
{
throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}
Defined in: yii\base\BaseObject::__construct()
Constructor.
The default implementation does two things:
- Initializes the object with the given configuration
$config
. - Call init().
If this method is overridden in a child class, it is recommended that
- the last parameter of the constructor is a configuration array, like
$config
here. - call the parent implementation at the end of the constructor.
public void __construct ( $config = [] ) | ||
$config | array |
Name-value pairs that will be used to initialize the object properties |
public function __construct($config = [])
{
if (!empty($config)) {
Yii::configure($this, $config);
}
$this->init();
}
Defined in: yii\base\BaseObject::__get()
Returns the value of an object property.
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $value = $object->property;
.
See also __set().
public mixed __get ( $name ) | ||
$name | string |
The property name |
return | mixed |
The property value |
---|---|---|
throws | yii\base\UnknownPropertyException |
if the property is not defined |
throws | yii\base\InvalidCallException |
if the property is write-only |
public function __get($name)
{
$getter = 'get' . $name;
if (method_exists($this, $getter)) {
return $this->$getter();
} elseif (method_exists($this, 'set' . $name)) {
throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
}
throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}
Defined in: yii\base\BaseObject::__isset()
Checks if a property is set, i.e. defined and not null.
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing isset($object->property)
.
Note that if the property is not defined, false will be returned.
public boolean __isset ( $name ) | ||
$name | string |
The property name or the event name |
return | boolean |
Whether the named property is set (not null). |
---|
public function __isset($name)
{
$getter = 'get' . $name;
if (method_exists($this, $getter)) {
return $this->$getter() !== null;
}
return false;
}
Defined in: yii\base\BaseObject::__set()
Sets value of an object property.
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $object->property = $value;
.
See also __get().
public void __set ( $name, $value ) | ||
$name | string |
The property name or the event name |
$value | mixed |
The property value |
throws | yii\base\UnknownPropertyException |
if the property is not defined |
---|---|---|
throws | yii\base\InvalidCallException |
if the property is read-only |
public function __set($name, $value)
{
$setter = 'set' . $name;
if (method_exists($this, $setter)) {
$this->$setter($value);
} elseif (method_exists($this, 'get' . $name)) {
throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
} else {
throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
}
}
Defined in: yii\base\BaseObject::__unset()
Sets an object property to null.
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing unset($object->property)
.
Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.
public void __unset ( $name ) | ||
$name | string |
The property name |
throws | yii\base\InvalidCallException |
if the property is read only. |
---|
public function __unset($name)
{
$setter = 'set' . $name;
if (method_exists($this, $setter)) {
$this->$setter(null);
} elseif (method_exists($this, 'get' . $name)) {
throw new InvalidCallException('Unsetting read-only property: ' . get_class($this) . '::' . $name);
}
}
public void callbackData ( $page = 1, $query = null ) | ||
$page | ||
$query |
public function callbackData($page = 1, $query = null)
{
$find = UserRequest::find()->where(['user_id' => $this->model->id]);
if ($query) {
$find->andFilterWhere(['like', 'request_url', $query]);
}
return new ActiveDataProvider([
'query' => $find,
'sort' => ['defaultOrder' => ['id' => SORT_DESC]],
'pagination' => [
'page' => ($page - 1), // The default value is 0, meaning the first page. Angular Pagination takes 1 as first page
'pageSize' => 23,
]
]);
}
public void callbackDelete ( ) |
public function callbackDelete()
{
UserRequest::deleteAll(['user_id' => $this->model->id]);
return $this->sendSuccess(Module::t('aw_requestinsight_cleared'));
}
public void callbackInsight ( ) |
public function callbackInsight()
{
return [
'avarage' => UserRequest::find()->select(['response_time'])->where(['user_id' => $this->model->id])->average('response_time'),
'max' => UserRequest::find()->select(['response_time'])->where(['user_id' => $this->model->id])->max('response_time'),
'min' => UserRequest::find()->select(['response_time'])->where(['user_id' => $this->model->id])->min('response_time'),
'counted' => UserRequest::find()->select(['request_url', 'count' => 'count(*)'])->where(['user_id' => $this->model->id])->orderBy(['count' => SORT_DESC])->groupBy(['request_url'])->asArray()->limit(10)->all(),
'slowest' => UserRequest::find()->select(['request_url', 'response_time'])->where(['user_id' => $this->model->id])->orderBy(['response_time' => SORT_DESC])->distinct()->asArray()->limit(10)->all(),
];
}
public void callbackToggle ( ) |
public function callbackToggle()
{
$status = !$this->model->is_request_logger_enabled;
if ($this->model->updateAttributes([
'is_request_logger_enabled' => $status,
])) {
if ($status) {
return $this->sendSuccess(Module::t('aw_requestinsight_toggle_logger_enabled'));
}
return $this->sendSuccess(Module::t('aw_requestinsight_toggle_logger_disabled'));
}
return $this->sendError(Module::t('aw_requestinsight_toggle_error'));
}
Defined in: yii\base\BaseObject::canGetProperty()
Returns a value indicating whether a property can be read.
A property is readable if:
- the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
See also canSetProperty().
public boolean canGetProperty ( $name, $checkVars = true ) | ||
$name | string |
The property name |
$checkVars | boolean |
Whether to treat member variables as properties |
return | boolean |
Whether the property can be read |
---|
public function canGetProperty($name, $checkVars = true)
{
return method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name);
}
Defined in: yii\base\BaseObject::canSetProperty()
Returns a value indicating whether a property can be set.
A property is writable if:
- the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
See also canGetProperty().
public boolean canSetProperty ( $name, $checkVars = true ) | ||
$name | string |
The property name |
$checkVars | boolean |
Whether to treat member variables as properties |
return | boolean |
Whether the property can be written |
---|
public function canSetProperty($name, $checkVars = true)
{
return method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name);
}
::class
instead.
Defined in: yii\base\BaseObject::className()
Returns the fully qualified name of this class.
public static string className ( ) | ||
return | string |
The fully qualified name of this class. |
---|
public static function className()
{
return get_called_class();
}
Defined in: luya\admin\ngrest\base\ActiveWindow::createCallbackUrl()
Create an absolute link to a callback.
This method is commonly used when returing data directly to the browser, there for the abolute url to a callback is required. Only logged in users can view the callback url, but there is no other security about callbacks.
public string createCallbackUrl ( $callback ) | ||
$callback | string |
The name of the callback without the callback prefix exmaple |
return | string |
The absolute url to the callback. |
---|
public function createCallbackUrl($callback)
{
return Url::to([
'/admin/'.$this->model->ngRestApiEndpoint().'/active-window-callback',
'activeWindowCallback' => Inflector::camel2id($callback),
'ngrestConfigHash' => $this->getConfigHash(),
'activeWindowHash' => $this->getActiveWindowHash(),
], true);
}
public string createDownloadableFileUrl ( $fileName, $mimeType, $content ) | ||
$fileName | string | |
$mimeType | string | |
$content | string |
public function createDownloadableFileUrl($fileName, $mimeType, $content)
{
$key = uniqid(microtime().Inflector::slug($fileName), true);
$store = FileHelper::writeFile('@runtime/'.$key.'.tmp', $content);
$menu = Yii::$app->adminmenu->getApiDetail($this->model->ngRestApiEndpoint());
$route = $menu['route'];
$route = str_replace("/index", "/export-download", $route);
if ($store) {
Yii::$app->session->set('tempNgRestFileName', $fileName);
Yii::$app->session->set('tempNgRestFileKey', $key);
Yii::$app->session->set('tempNgRestFileMime', $mimeType);
$url = Url::toRoute(['/'.$route], true);
$param = http_build_query(['key' => base64_encode($key), 'time' => time()]);
if (StringHelper::contains('?', $url)) {
return $url . "&" . $param;
} else {
return $url . "?" . $param;
}
}
return false;
}
Default icon if not set in the ngrest model.
public void defaultIcon ( ) |
public function defaultIcon()
{
return 'assessment';
}
Default label if not set in the ngrest model.
public string defaultLabel ( ) | ||
return | string |
The name of of the ActiveWindow. This is displayed in the CRUD list. |
---|
public function defaultLabel()
{
return Module::t('aw_requestinsight_default_label');
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getActiveWindowHash()
Get the active window hash from the setter method.
public string getActiveWindowHash ( ) |
public function getActiveWindowHash()
{
return $this->_activeWindowHash;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getCondition()
Get the button condition or empty of not set
public void getCondition ( ) |
public function getCondition()
{
return empty($this->_condition) ? '' : $this->_condition;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getConfigHash()
Return the config hash name from the setter method.
public string getConfigHash ( ) |
public function getConfigHash()
{
return $this->_configHash;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getHashName()
Get a unique identifier hash based on the name and config values like icon and label.
public string getHashName ( ) |
public function getHashName()
{
if ($this->_hashName === null) {
$this->_hashName = sha1(static::class);
}
return $this->_hashName;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getIcon()
Return the current icon defined for this Active Window.
public string getIcon ( ) | ||
return | string |
Returns the material icon name as string. |
---|
public function getIcon()
{
return empty($this->_icon) ? $this->defaultIcon() : $this->_icon;
}
public \luya\admin\ngrest\base\Whether getIsCompositeItem ( ) | ||
return | \luya\admin\ngrest\base\Whether |
The current item is a composite key or not. |
---|
public function getIsCompositeItem()
{
return count($this->getItemIds()) > 1 ? true : false;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getItemId()
Get the item id of the current ActiveWindow context item id.
public integer|array getItemId ( ) | ||
return | integer|array |
If its a composite key an array is returned, otherwise the integer number for the PK. |
---|
public function getItemId()
{
return $this->getIsCompositeItem() ? $this->getItemIds() : $this->getItemIds()[0];
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getItemIds()
Returns an array with all items if its a composite key.
public array getItemIds ( ) |
public function getItemIds()
{
if (empty($this->_itemId)) {
throw new InvalidCallException("Unable to determine the active window item id.");
}
return explode(",", $this->_itemId);
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getLabel()
Return the current label defined for this Active Window.
public string getLabel ( ) | ||
return | string |
Returns the label of the active window, keep in mind this value has not model context. |
---|
public function getLabel()
{
return empty($this->_label) ? $this->defaultLabel() : $this->_label;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getModel()
Get the model object from where the Active Window is attached to.
public luya\admin\ngrest\base\NgRestModel getModel ( ) | ||
return | luya\admin\ngrest\base\NgRestModel |
Get the model of the called ngrest model ActiveRecord by it's itemId. |
---|
public function getModel()
{
if ($this->_model === null && $this->ngRestModelClass !== null) {
$this->_model = call_user_func_array([$this->ngRestModelClass, 'ngRestByPrimaryKeyOne'], $this->itemIds);
}
return $this->_model;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getName()
Get the ActiveWindow name based on its class short name.
public string getName ( ) |
public function getName()
{
if ($this->_name === null) {
$this->_name = ((new \ReflectionClass($this))->getShortName());
}
return $this->_name;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getPermissionLevel()
Get the button displaying permission level or empty of not set
public void getPermissionLevel ( ) |
public function getPermissionLevel()
{
return $this->_permissionLevel;
}
public void getTitle ( ) |
public function getTitle()
{
return $this->model->firstname . ' ' . $this->model->lastname;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getView()
Get the view object to render templates.
public luya\admin\ngrest\base\ActiveWindowView getView ( ) |
public function getView()
{
if ($this->_view === null) {
$this->_view = new ActiveWindowView();
}
return $this->_view;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getViewFolderName()
Get the folder name where the views for this ActiveWindow should be stored.
public string getViewFolderName ( ) |
public function getViewFolderName()
{
if ($this->_viewFolderName === null) {
$name = $this->getName();
if (StringHelper::endsWith($name, $this->suffix, false)) {
$name = substr($name, 0, -(strlen($this->suffix)));
}
$this->_viewFolderName = strtolower($name);
}
return $this->_viewFolderName;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::getViewPath()
Return the view path for view context.
{@inheritDoc}
public void getViewPath ( ) |
public function getViewPath()
{
$module = $this->module;
if (substr($module, 0, 1) !== '@') {
$module = '@'.$module;
}
return implode(DIRECTORY_SEPARATOR, [Yii::getAlias($module), 'views', 'aws', $this->getViewFolderName()]);
}
Defined in: yii\base\BaseObject::hasMethod()
Returns a value indicating whether a method is defined.
The default implementation is a call to php function method_exists()
.
You may override this method when you implemented the php magic method __call()
.
public boolean hasMethod ( $name ) | ||
$name | string |
The method name |
return | boolean |
Whether the method is defined |
---|
public function hasMethod($name)
{
return method_exists($this, $name);
}
Defined in: yii\base\BaseObject::hasProperty()
Returns a value indicating whether a property is defined.
A property is defined if:
- the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
See also:
public boolean hasProperty ( $name, $checkVars = true ) | ||
$name | string |
The property name |
$checkVars | boolean |
Whether to treat member variables as properties |
return | boolean |
Whether the property is defined |
---|
public function hasProperty($name, $checkVars = true)
{
return $this->canGetProperty($name, $checkVars) || $this->canSetProperty($name, false);
}
The default action which is going to be requested when clicking the ActiveWindow.
public string index ( ) | ||
return | string |
The response string, render and displayed trough the angular ajax request. |
---|
public function index()
{
return $this->render('index', [
'model' => $this->model,
'isEnabled' => $this->model->is_request_logger_enabled,
]);
}
Defined in: luya\admin\ngrest\base\ActiveWindow::init()
Initializes the object.
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
public void init ( ) |
public function init()
{
parent::init();
if ($this->module === null) {
throw new Exception('The ActiveWindow property \'module\' of '.static::class.' can not be null. You have to defined the module in where the ActiveWindow is defined. For example `public $module = \'@admin\';`');
}
}
Defined in: luya\admin\ngrest\base\ActiveWindow::render()
Render a template with its name and params based on the view folder path.
public string render ( $name, array $params = [] ) | ||
$name | string |
The view file to render |
$params | array |
Optional params to assign into the view |
public function render($name, array $params = [])
{
return $this->getView()->render($name, $params, $this);
}
Defined in: luya\admin\ngrest\base\BaseActiveResponse::sendError()
Send an error message as response.
Events are only triggered on success messages {{sendSuccess()}}.
public array sendError ( $message, array $additionalResponseData = [] ) | ||
$message | string |
The error message. |
$additionalResponseData | array |
Data which should be added to the xhr response. |
return | array |
An array with |
---|
public function sendError($message, array $additionalResponseData = [])
{
Yii::$app->response->setStatusCode(422, 'Data Validation Failed.');
return [
'success' => false,
'error' => true,
'message' => $message,
'responseData' => $additionalResponseData,
'events' => $this->_events,
];
}
Defined in: luya\admin\ngrest\base\BaseActiveResponse::sendReloadEvent()
Send a CRUD reload event.
public void sendReloadEvent ( ) |
public function sendReloadEvent()
{
$this->_events[] = self::EVENT_RELOAD_LIST;
}
Defined in: luya\admin\ngrest\base\BaseActiveResponse::sendSuccess()
Send a success message.
public array sendSuccess ( $message, array $additionalResponseData = [] ) | ||
$message | string |
The sucess message. |
$additionalResponseData | array |
Data which should be added to the xhr response. |
return | array |
An array with |
---|
public function sendSuccess($message, array $additionalResponseData = [])
{
return [
'success' => true,
'error' => false,
'message' => $message,
'responseData' => $additionalResponseData,
'events' => $this->_events,
];
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setActiveWindowHash()
Set the hash of the current active window which is calculated by the ActiveWindow.
Setting the hash happens in the {{luya\admin\ngrest\render\RenderActiveWindow::render}} method.
public void setActiveWindowHash ( $hash ) | ||
$hash | string |
public function setActiveWindowHash($hash)
{
$this->_activeWindowHash = $hash;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setCondition()
Setter method for the button ng-show condition
public void setCondition ( $condition ) | ||
$condition | string |
public function setCondition($condition)
{
$this->_condition = $condition;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setConfigHash()
Set the current configratuion hash name to the ActiveWindow.
Setting the hash happens in the {{luya\admin\ngrest\render\RenderActiveWindow::render}} method.
public void setConfigHash ( $hash ) | ||
$hash | string |
The hash name of the current active config. |
public function setConfigHash($hash)
{
$this->_configHash = $hash;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setIcon()
Setter method for the icon
public void setIcon ( $icon ) | ||
$icon | string |
public function setIcon($icon)
{
$this->_icon = $icon;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setItemId()
Set the value of the item Id in where the active window context is initialized.
public void setItemId ( $id ) | ||
$id | integer |
The item id context |
public function setItemId($id)
{
$this->_itemId = $id;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setLabel()
Setter method for the Label.
public void setLabel ( $label ) | ||
$label | string |
The active window label. |
public function setLabel($label)
{
$this->_label = $label;
}
Defined in: luya\admin\ngrest\base\ActiveWindow::setPermissionLevel()
Setter method for the ActiveWindow button displaying permission level
public void setPermissionLevel ( $permissionLevel ) | ||
$permissionLevel | integer |
public function setPermissionLevel($permissionLevel)
{
$this->_permissionLevel = (int) $permissionLevel;
}