Merge pull request #641 from openclassify/vedatakd

remove page params for change category
This commit is contained in:
Ozcan Durak 2020-08-18 19:15:55 +03:00 committed by GitHub
commit d9568b6cf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 359 additions and 251 deletions

View File

@ -43,6 +43,12 @@ return [
'register_email_field', 'register_email_field',
], ],
], ],
'filter' => [
'title' => 'visiosoft.module.advs::section.filter',
'fields' => [
'hide_price_filter','hide_date_filter','hide_photo_filter','hide_map_filter'
],
],
], ],
], ],
]; ];

View File

@ -201,4 +201,31 @@ return [
'default_value' => true, 'default_value' => true,
], ],
], ],
'hide_price_filter' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
]
],
'hide_date_filter' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
]
],
'hide_photo_filter' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
]
],
'hide_map_filter' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
]
],
]; ];

View File

@ -40,6 +40,7 @@ return [
'general' => 'General', 'general' => 'General',
'ads' => 'Ads', 'ads' => 'Ads',
'user' => 'User', 'user' => 'User',
'filter' => 'Filter',
'options' => [ 'options' => [
'title' => 'Options', 'title' => 'Options',
], ],

View File

@ -133,4 +133,17 @@ return [
'market_place' => [ 'market_place' => [
'name' => 'Market Place', 'name' => 'Market Place',
], ],
'hide_price_filter' => [
'name' => 'Hide Price Filter',
],
'hide_date_filter' => [
'name' => 'Hide Date Filter',
],
'hide_photo_filter' => [
'name' => 'Hide Photo Filter',
],
'hide_map_filter' => [
'name' => 'Hide Map Filter',
],
]; ];

View File

@ -48,19 +48,23 @@
{% include 'visiosoft.module.advs::list/partials/price-filter' %} {% include 'visiosoft.module.advs::list/partials/price-filter' %}
<!-- Price Filter End --> <!-- Price Filter End -->
{% if setting_value('visiosoft.module.advs::hide_date_filter') == false %}
<!-- Date Filter Start --> <!-- Date Filter Start -->
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="dateHeading"> <div class="card-header breadcrumb mb-0" id="dateHeading">
<h5 class="mb-0"> <h5 class="mb-0">
<button class="btn btn-link text-dark d-flex align-items-center" data-toggle="collapse" data-target="#date" <button class="btn btn-link text-dark d-flex align-items-center"
aria-expanded="true" aria-controls="date"> data-toggle="collapse" data-target="#dateContainer"
<img src="{{ img('visiosoft.module.advs::images/date-icon.svg').url }}" class="mr-2" aria-expanded="true" aria-controls="dateContainer">
<img src="{{ img('visiosoft.module.advs::images/date-icon.svg').url }}"
class="mr-2"
alt="date icon"> alt="date icon">
<span>{{ trans("visiosoft.module.advs::field.date.name") }}</span> <span>{{ trans("visiosoft.module.advs::field.date.name") }}</span>
</button> </button>
</h5> </h5>
</div> </div>
<div id="dateContainer" class="collapse show overflow-auto" aria-labelledby="dateHeading" <div id="dateContainer" class="collapse show overflow-auto"
aria-labelledby="dateHeading"
style="max-height: 300px;"> style="max-height: 300px;">
<div class="d-flex flex-column p-3 m-0"> <div class="d-flex flex-column p-3 m-0">
<div class="form-check py-1"> <div class="form-check py-1">
@ -100,20 +104,24 @@
</div> </div>
</div> </div>
<!-- Date Filter End --> <!-- Date Filter End -->
{% endif %}
{% if setting_value('visiosoft.module.advs::hide_photo_filter') == false %}
<!-- Media Filter Start --> <!-- Media Filter Start -->
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="mediaHeading"> <div class="card-header breadcrumb mb-0" id="mediaHeading">
<h5 class="mb-0"> <h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#media" <button class="btn btn-link text-dark" data-toggle="collapse"
aria-expanded="true" aria-controls="media"> data-target="#mediaContainer"
aria-expanded="true" aria-controls="mediaContainer">
<i class="fa fa-camera"></i> <i class="fa fa-camera"></i>
{{ trans("visiosoft.module.advs::field.photo.name") }} {{ trans("visiosoft.module.advs::field.photo.name") }}
, {{ trans("visiosoft.module.advs::field.video.name") }} , {{ trans("visiosoft.module.advs::field.video.name") }}
</button> </button>
</h5> </h5>
</div> </div>
<div id="mediaContainer" class="collapse show overflow-auto" aria-labelledby="mediaHeading" <div id="mediaContainer" class="collapse show overflow-auto"
aria-labelledby="mediaHeading"
style="max-height: 300px;"> style="max-height: 300px;">
<div class="d-flex p-3 m-0 flex-column"> <div class="d-flex p-3 m-0 flex-column">
<div class="form-check py-1"> <div class="form-check py-1">
@ -142,14 +150,16 @@
</div> </div>
</div> </div>
<!-- Media Filter End --> <!-- Media Filter End -->
{% endif %}
{% if setting_value('visiosoft.module.advs::hide_map_filter') == false %}
<!-- Map Filter Start --> <!-- Map Filter Start -->
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="mapHeading"> <div class="card-header breadcrumb mb-0" id="mapHeading">
<h5 class="mb-0"> <h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" <button class="btn btn-link text-dark" data-toggle="collapse"
data-target="#mapFilter" data-target="#mapContainer"
aria-expanded="true" aria-controls="mapFilter"> aria-expanded="true" aria-controls="mapContainer">
<i class="fa fa-map"></i> <i class="fa fa-map"></i>
{{ trans("visiosoft.module.advs::field.map.name") }} {{ trans("visiosoft.module.advs::field.map.name") }}
</button> </button>
@ -173,6 +183,7 @@
</div> </div>
</div> </div>
<!-- Map Filter End --> <!-- Map Filter End -->
{% endif %}
<div class="card"> <div class="card">
<div class="card-header bg-primary text-center" id="submitHeading"> <div class="card-header bg-primary text-center" id="submitHeading">

View File

@ -1,15 +1,17 @@
{% if setting_value('visiosoft.module.advs::hide_price_filter') == false %}
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="priceHeading"> <div class="card-header breadcrumb mb-0" id="priceHeading">
<h5 class="mb-0"> <h5 class="mb-0">
<button class="btn btn-link text-dark d-flex align-items-center" data-toggle="collapse" data-target="#price" <button class="btn btn-link text-dark d-flex align-items-center" data-toggle="collapse"
data-target="#price"
aria-expanded="true" aria-controls="price"> aria-expanded="true" aria-controls="price">
<img src="{{ img('visiosoft.module.advs::images/price-icon.svg').url }}" alt="price icon" class="mr-2"> <img src="{{ img('visiosoft.module.advs::images/price-icon.svg').url }}" alt="price icon"
class="mr-2">
<span>{{ trans("visiosoft.module.advs::field.price.name") }}</span> <span>{{ trans("visiosoft.module.advs::field.price.name") }}</span>
</button> </button>
</h5> </h5>
</div> </div>
<div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading" <div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading"
data-parent="#filter"
style="max-height: 300px;"> style="max-height: 300px;">
<div class="row p-0 m-0"> <div class="row p-0 m-0">
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %} {% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
@ -39,3 +41,4 @@
</div> </div>
</div> </div>
</div> </div>
{% endif %}

View File

@ -11,16 +11,18 @@ class appendRequestURL
protected $request; protected $request;
protected $url; protected $url;
protected $new_parameters; protected $new_parameters;
protected $remove_parameters;
/** /**
* appendRequestURL constructor. * appendRequestURL constructor.
* @param $request * @param $request
*/ */
public function __construct($request, $url, $new_parameters = []) public function __construct($request, $url, $new_parameters = [], $remove_parameters = [])
{ {
$this->url = $url; $this->url = $url;
$this->request = $request; $this->request = $request;
$this->new_parameters = $new_parameters; $this->new_parameters = $new_parameters;
$this->remove_parameters = $remove_parameters;
} }
/** /**
@ -28,23 +30,23 @@ class appendRequestURL
*/ */
public function handle() public function handle()
{ {
if (count($this->new_parameters) === 0 && count($this->request) === 0) {
return $this->url; $request = $this->removeParameters($this->request);
} elseif (count($this->new_parameters) > 0 && count($this->request) > 0) { $count_newParameters = count($this->new_parameters);
return $this->url $count_request = count($this->request);
. (Str::contains($this->url, '?') ? '&' : '?')
. Arr::query($this->appends(array_merge($this->request, $this->new_parameters))); if ($count_newParameters > 0) {
} elseif (count($this->new_parameters) > 0 && count($this->request) === 0) { return ($count_request > 0) ? $this->createURL(array_merge($request, $this->new_parameters)) : $this->createURL($this->new_parameters);
return $this->url } else {
. (Str::contains($this->url, '?') ? '&' : '?') return ($count_request > 0) ? $this->createURL($request) : $this->url;
. Arr::query($this->appends($this->new_parameters));
} elseif (count($this->new_parameters) === 0 && count($this->request) > 0) {
return $this->url
. (Str::contains($this->url, '?') ? '&' : '?')
. Arr::query($this->appends($this->request));
} }
} }
public function createURL($append)
{
return $this->url . (Str::contains($this->url, '?') ? '&' : '?') . Arr::query($this->appends($append));
}
/** /**
* @param $key * @param $key
* @param null $value * @param null $value
@ -87,4 +89,13 @@ class appendRequestURL
return $this; return $this;
} }
public function removeParameters(array $array)
{
foreach ($this->remove_parameters as $parameter) {
unset($array[$parameter]);
}
return $array;
}
} }

View File

@ -57,9 +57,9 @@ class AdvsModulePlugin extends Plugin
), ),
new \Twig_SimpleFunction( new \Twig_SimpleFunction(
'appendRequestURL', 'appendRequestURL',
function ($request, $url, $new_parameters) { function ($request, $url, $new_parameters, $removeParams = []) {
return $this->dispatch(new appendRequestURL($request, $url, $new_parameters)); return $this->dispatch(new appendRequestURL($request, $url, $new_parameters, $removeParams));
} }
), ),
new \Twig_SimpleFunction( new \Twig_SimpleFunction(

View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="{{ config('app.locale') }}">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block styles %}{% endblock %}
</head>
<body>
<div class="container" style="max-width: 800px;">
{% include "theme::partials/messages" %}
{% block content %}
{% endblock %}
</div>
</body>
</html>

View File

@ -8,8 +8,7 @@
</button> </button>
</h5> </h5>
</div> </div>
<div id="category" class="collapse show overflow-auto" aria-labelledby="categoryHeading" <div id="category" class="collapse show overflow-auto" aria-labelledby="categoryHeading" style="max-height: 300px;">
data-parent="#filter" style="max-height: 300px;">
<div class="list-group"> <div class="list-group">
{% for maincat in params.mainCats %} {% for maincat in params.mainCats %}
{% set name = maincat['val'] %} {% set name = maincat['val'] %}
@ -29,9 +28,9 @@
{% set citySlug = pathInfo[3] %} {% set citySlug = pathInfo[3] %}
{% endif %} {% endif %}
<a href="{% if(viewType != "map") %} <a href="{% if(viewType != "map") %}
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [catId.slug, citySlug]),{}) }} {{ appendRequestURL(request_query(),url_route('adv_list_seo', [catId.slug, citySlug]),{},['page']) }}
{% else %} {% else %}
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':id}) }} {{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':id},['page']) }}
{% endif %}" class="list-group-item list-group-item-action text-truncate"> {% endif %}" class="list-group-item list-group-item-action text-truncate">
<i class="fas fa-dot-circle"></i> <i class="fas fa-dot-circle"></i>
{{ name }} {{ name }}
@ -41,9 +40,9 @@
{% if subcat.parent_category_id == maincat['id'] %} {% if subcat.parent_category_id == maincat['id'] %}
{% set subCatId = entries('cats', 'category').find(subcat.id) %} {% set subCatId = entries('cats', 'category').find(subcat.id) %}
<a href="{% if(viewType != "map") %} <a href="{% if(viewType != "map") %}
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [subCatId.slug, citySlug]),{}) }} {{ appendRequestURL(request_query(),url_route('adv_list_seo', [subCatId.slug, citySlug]),{},['page']) }}
{% else %} {% else %}
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':subcat.id}) }} {{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':subcat.id},['page']) }}
{% endif %}" class="list-group-item list-group-item-action text-truncate"> {% endif %}" class="list-group-item list-group-item-action text-truncate">
{{ subcat.name }} {{ subcat.name }}
</a> </a>

View File

@ -22,6 +22,12 @@ return [
'google_map_key', 'map_coordinates_long', 'map_coordinates_lat' 'google_map_key', 'map_coordinates_long', 'map_coordinates_lat'
], ],
], ],
'filter' => [
'title' => 'visiosoft.module.location::section.filter',
'fields' => [
'hide_location_filter'
],
],
'html' => [ 'html' => [
'html' => '{% include "visiosoft.module.location::settings/field" %}', 'html' => '{% include "visiosoft.module.location::settings/field" %}',
], ],

View File

@ -68,4 +68,11 @@ return [
'default_value' => '40.97817786299617', 'default_value' => '40.97817786299617',
], ],
], ],
'hide_location_filter' => [
'type' => 'anomaly.field_type.boolean',
'config' => [
'default_value' => false,
],
],
]; ];

View File

@ -19,4 +19,5 @@ return [
'general' => 'General', 'general' => 'General',
'map' => 'Map', 'map' => 'Map',
'setting' => 'Setting', 'setting' => 'Setting',
'filter' => 'Filter',
]; ];

View File

@ -40,4 +40,8 @@ return [
'map_coordinates_lat' => [ 'map_coordinates_lat' => [
'name' => 'Default Lat', 'name' => 'Default Lat',
], ],
'hide_location_filter' => [
'name' => 'Hide Location Filter',
],
]; ];

View File

@ -1,3 +1,4 @@
{% if setting_value('visiosoft.module.location::hide_location_filter') == false %}
{% if setting_value('visiosoft.module.location::list_page_location') %} {% if setting_value('visiosoft.module.location::list_page_location') %}
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="locationHeading"> <div class="card-header breadcrumb mb-0" id="locationHeading">
@ -10,8 +11,7 @@
</button> </button>
</h5> </h5>
</div> </div>
<div id="location" class="collapse show overflow-auto" aria-labelledby="locationHeading" <div id="location" class="collapse show overflow-auto" aria-labelledby="locationHeading">
data-parent="#filter">
{% include "visiosoft.module.location::ads-list/partials/location-fields" %} {% include "visiosoft.module.location::ads-list/partials/location-fields" %}
</div> </div>
</div> </div>
@ -21,3 +21,4 @@
{{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }} {{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }}
{{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }} {{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }}
{% endif %} {% endif %}
{% endif %}