/**
  * Compose the view.
  *
  * @param  \Illuminate\Contracts\View\View  $view
  */
 public function composeFilters(View $view)
 {
     $filters = collect();
     // Permission groups
     //----------------------------------
     $groups = $this->cacheResults('permissions-groups.filters', function () {
         return PermissionsGroup::has('permissions')->get();
     });
     foreach ($groups as $group) {
         /** @var  \Arcanesoft\Auth\Models\PermissionsGroup  $group */
         $filters->put($group->slug, link_to_route('auth::foundation.permissions.group', $group->name, [$group->hashed_id]));
     }
     // Custom Permission group
     //----------------------------------
     if (Permission::where('group_id', 0)->count()) {
         $filters->put('custom', link_to_route('auth::foundation.permissions.group', 'Custom', [hasher()->encode(0)]));
     }
     $view->with('groupFilters', $filters->toArray());
     // TODO: return a collection instead of simple array
 }