Merge pull request #179 from openclassify/basetheme

Basetheme updated
This commit is contained in:
Fatih Alp 2019-12-20 16:59:10 +03:00 committed by GitHub
commit e61a85733e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 6512 additions and 103 deletions

View File

@ -15,10 +15,25 @@ OpenClassify is the extensible and most advanced open source classified app buil
{{ addBlock('ad-list/partials/ads',{'featured_advs':featured_advs})|raw }}
- profile-module/profile/partials/navigation
{{ addBlock('profile/navigation')|raw }}
- advs-module/ad-detail/partials/detail
{{ addBlock('ad-detail/seller/action',{'adv':adv})|raw }}
- advs-module/ad-detail/detail
{{ addBlock('ad-detail/title/action',{'adv':adv})|raw }}
- profile-module/profile/partials/navigation
{{ addBlock('profile/navigation')|raw }}
- advs-module/new-ad/new-create
{{ addBlock('new-ad/fields')|raw }}
## Server Requirements

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -7,8 +7,8 @@
data-thumbheight="48">
{% set advPhoto = '' %}
{% if count(adv.files) == 0 %}
{% set advPhoto = img('visiosoft.module.advs::images/no-image.png').url %}
<a href="{{ image }}"><img src="{{ img('visiosoft.module.advs::images/no-image.png').url }}"></a>
{% set advPhoto = img('visiosoft.theme.base::images/no-image.png').url %}
<a href="{{ image }}"><img src="{{ img('visiosoft.theme.base::images/no-image.png').url }}"></a>
{% else %}
{% for image in adv.getViewPhotoUrl %}
<a href="{{ image }}"><img src="{{ image }}"></a>

View File

@ -6,7 +6,18 @@
<div class="row">
<div id="filter" class="w-100 mb-3">
{{ addBlock('ads-list/partials/list-filter',{'mainCats':mainCats,'subCats':subCats,'ranges':ranges,'checkboxes':checkboxes,'radio':radio})|raw }}
{{ addBlock('ads-list/partials/list-filter',{
'mainCats':mainCats,
'subCats':subCats,
'ranges':ranges,
'checkboxes':checkboxes,
'radio':radio,
'countries':countries,
'cities':cities,
'districts':districts,
'neighborhoods':neighborhoods,
'villages':villages
})|raw }}
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="priceHeading">

View File

@ -1,7 +1,7 @@
{% if app.request.get('user') != null or app.request.get('user') != "" %}
{% if userProfile.adv_listing_banner.url == '' %}
{% set background_user = img('visiosoft.module.advs::images/1.png').url %}
{% set background_user = img('visiosoft.module.advs::images/user_section_back.png').url %}
{% else %}
{% set background_user = userProfile.adv_listing_banner.url %}

View File

@ -46,9 +46,7 @@
<div class="col-md-12">
{{ nameField|raw }}
</div>
{% if entries('advs').isEnabled('store') %}
{% include "visiosoft.module.store::field" %}
{% endif %}
{{ addBlock('new-ad/fields')|raw }}
<div style="display: none">
{{ form.fields.slug|raw }}
</div>

View File

@ -315,7 +315,7 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface
public function AddAdsDefaultCoverImage($ad)
{
if ($ad->cover_photo == null) {
$ad->cover_photo = $this->dispatch(new MakeImageInstance('visiosoft.module.advs::images/no-image.png', 'img'))->url();
$ad->cover_photo = $this->dispatch(new MakeImageInstance('visiosoft.theme.base::images/no-image.png', 'img'))->url();
} else {
$ad->cover_photo = url($ad->cover_photo);
}
@ -326,7 +326,7 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface
{
$adv = $this->find($id);
if ($adv == null or $adv->cover_photo == null) {
$cover_photo = $this->dispatch(new MakeImageInstance('visiosoft.module.advs::images/no-image.png', 'img'))->url();
$cover_photo = $this->dispatch(new MakeImageInstance('visiosoft.theme.base::images/no-image.png', 'img'))->url();
} else {
$cover_photo = url($adv->cover_photo);
}

View File

@ -0,0 +1,473 @@
.select2-container {
box-sizing: border-box;
display: inline-block;
margin: 0;
position: relative;
vertical-align: middle; }
.select2-container .select2-selection--single {
box-sizing: border-box;
cursor: pointer;
display: block;
height: 28px;
user-select: none;
-webkit-user-select: none; }
.select2-container .select2-selection--single .select2-selection__rendered {
display: block;
padding-left: 8px;
padding-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
.select2-container .select2-selection--single .select2-selection__clear {
position: relative; }
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
padding-right: 8px;
padding-left: 20px; }
.select2-container .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 32px;
user-select: none;
-webkit-user-select: none; }
.select2-container .select2-search--inline {
float: left; }
.select2-container .select2-search--inline .select2-search__field {
box-sizing: border-box;
border: none;
font-size: 100%;
margin-top: 5px;
padding: 0; }
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none; }
.select2-dropdown {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
box-sizing: border-box;
display: block;
position: absolute;
left: -100000px;
width: 100%;
z-index: 1051; }
.select2-results {
display: block; }
.select2-results__options {
list-style: none;
margin: 0;
padding: 0; }
.select2-results__option {
padding: 6px;
user-select: none;
-webkit-user-select: none; }
.select2-results__option[aria-selected] {
cursor: pointer; }
.select2-container--open .select2-dropdown {
left: 0; }
.select2-container--open .select2-dropdown--above {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--open .select2-dropdown--below {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-search--dropdown {
display: block;
padding: 4px; }
.select2-search--dropdown .select2-search__field {
padding: 4px;
width: 100%;
box-sizing: border-box; }
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none; }
.select2-search--dropdown.select2-search--hide {
display: none; }
.select2-close-mask {
border: 0;
margin: 0;
padding: 0;
display: block;
position: fixed;
left: 0;
top: 0;
min-height: 100%;
min-width: 100%;
height: auto;
width: auto;
opacity: 0;
z-index: 99;
background-color: #fff;
filter: alpha(opacity=0); }
.select2-hidden-accessible {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important; }
.select2-container--default .select2-selection--single {
background-color: #fff;
border: 1px solid #aaa;
border-radius: 4px; }
.select2-container--default .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px; }
.select2-container--default .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold; }
.select2-container--default .select2-selection--single .select2-selection__placeholder {
color: #999; }
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px; }
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0; }
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
float: left; }
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
left: 1px;
right: auto; }
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #eee;
cursor: default; }
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
display: none; }
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; }
.select2-container--default .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
list-style: none; }
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
color: #999;
margin-top: 5px;
float: left; }
.select2-container--default .select2-selection--multiple .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
margin-top: 5px;
margin-right: 10px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
cursor: default;
float: left;
margin-right: 5px;
margin-top: 5px;
padding: 0 5px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
color: #999;
cursor: pointer;
display: inline-block;
font-weight: bold;
margin-right: 2px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #333; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
float: right; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
margin-left: 2px;
margin-right: auto; }
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: solid black 1px;
outline: 0; }
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #eee;
cursor: default; }
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
display: none; }
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--default .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa; }
.select2-container--default .select2-search--inline .select2-search__field {
background: transparent;
border: none;
outline: 0;
box-shadow: none;
-webkit-appearance: textfield; }
.select2-container--default .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto; }
.select2-container--default .select2-results__option[role=group] {
padding: 0; }
.select2-container--default .select2-results__option[aria-disabled=true] {
color: #999; }
.select2-container--default .select2-results__option[aria-selected=true] {
background-color: #ddd; }
.select2-container--default .select2-results__option .select2-results__option {
padding-left: 1em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
padding-left: 0; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
margin-left: -1em;
padding-left: 2em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -2em;
padding-left: 3em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -3em;
padding-left: 4em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -4em;
padding-left: 5em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -5em;
padding-left: 6em; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: #5897fb;
color: white; }
.select2-container--default .select2-results__group {
cursor: default;
display: block;
padding: 6px; }
.select2-container--classic .select2-selection--single {
background-color: #f7f7f7;
border: 1px solid #aaa;
border-radius: 4px;
outline: 0;
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
.select2-container--classic .select2-selection--single:focus {
border: 1px solid #5897fb; }
.select2-container--classic .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px; }
.select2-container--classic .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
margin-right: 10px; }
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
color: #999; }
.select2-container--classic .select2-selection--single .select2-selection__arrow {
background-color: #ddd;
border: none;
border-left: 1px solid #aaa;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0; }
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
float: left; }
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
border: none;
border-right: 1px solid #aaa;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
left: 1px;
right: auto; }
.select2-container--classic.select2-container--open .select2-selection--single {
border: 1px solid #5897fb; }
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
background: transparent;
border: none; }
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; }
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
.select2-container--classic .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text;
outline: 0; }
.select2-container--classic .select2-selection--multiple:focus {
border: 1px solid #5897fb; }
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
list-style: none;
margin: 0;
padding: 0 5px; }
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
display: none; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
cursor: default;
float: left;
margin-right: 5px;
margin-top: 5px;
padding: 0 5px; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
color: #888;
cursor: pointer;
display: inline-block;
font-weight: bold;
margin-right: 2px; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #555; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
float: right; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
margin-left: 2px;
margin-right: auto; }
.select2-container--classic.select2-container--open .select2-selection--multiple {
border: 1px solid #5897fb; }
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--classic .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa;
outline: 0; }
.select2-container--classic .select2-search--inline .select2-search__field {
outline: 0;
box-shadow: none; }
.select2-container--classic .select2-dropdown {
background-color: white;
border: 1px solid transparent; }
.select2-container--classic .select2-dropdown--above {
border-bottom: none; }
.select2-container--classic .select2-dropdown--below {
border-top: none; }
.select2-container--classic .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto; }
.select2-container--classic .select2-results__option[role=group] {
padding: 0; }
.select2-container--classic .select2-results__option[aria-disabled=true] {
color: grey; }
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
background-color: #3875d7;
color: white; }
.select2-container--classic .select2-results__group {
cursor: default;
display: block;
padding: 6px; }
.select2-container--classic.select2-container--open .select2-dropdown {
border-color: #5897fb; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
$('.modal').on('show.bs.modal', function (e) {
$('.remote').on('show.bs.modal', function (e) {
$(this).find('.modal-content').load(e.relatedTarget.href);
});

View File

@ -0,0 +1,24 @@
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = [], tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params.push({k: decodeURIComponent(tokens[1]), v: decodeURIComponent(tokens[2])});
}
return params;
}
function findParam(fp) {
var request = getQueryParams(document.location.search);
request = request.filter(function (item) {
return item.k === fp;
});
var res = [];
$.each(request, function (index, value) {
res[index] = value.v;
});
return res;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -6,6 +6,8 @@
{{ asset_add("theme.js", "theme::js/popper.min.js") }}
{{ asset_add("theme.js", "theme::js/bootstrap.min.js") }}
{{ asset_add("theme.js", "theme::js/modal_include.js") }}
{{ asset_add("theme.js", "theme::js/select2.js") }}
{{ asset_add("theme.js", "theme::js/params.js") }}
{# Theme Scripts #}
{#{{ asset_add("theme.js", "theme::js/plugins/*") }}#}

View File

@ -34,6 +34,7 @@
{# Base Theme Components #}
{{ asset_add("theme.css", "theme::css/bootstrap.min.css") }}
{{ asset_add("theme.css", "theme::css/theme.css") }}
{{ asset_add("theme.css", "theme::css/select2.css") }}
{{ asset_add("theme.css", "theme::css/font-awesome.min.css") }}
<script src="{{ asset_path('theme::js/vendor/jquery.min.js') }}"></script>

View File

@ -13,10 +13,18 @@
style="max-height: 300px;">
<div class="list-group">
{% for maincat in params.mainCats %}
<a href="{% if(type == "list") %}{{ url_route('visiosoft.module.advs::list') }}{% else %}{{ url_route('advs_map_list') }}{% endif %}?cat={{ maincat['id'] }}"
{% set name = maincat['val'] %}
{% set id = maincat['id'] %}
{% set parent_category = true %}
{% if app.request.get('cat') is null or app.request.get('cat') == "" %}
{% set name = maincat.name %}
{% set id = maincat.id %}
{% set parent_category = false %}
{% endif %}
<a href="{% if(type == "list") %}{{ url_route('visiosoft.module.advs::list') }}{% else %}{{ url_route('advs_map_list') }}{% endif %}?cat={{ id }}"
class="list-group-item list-group-item-action text-truncate">
<i class="fas fa-dot-circle"></i>
{{ maincat['val'] }}
{{ name }}
</a>
{% for subcat in params.subCats %}
<div class="list-group pl-3 bg-light">

View File

@ -0,0 +1,4 @@
#location .select2-selection__rendered {
display: inline-block;
padding-left: 4px;
}

View File

@ -0,0 +1,155 @@
let searchParams = new URLSearchParams(window.location.search);
//Set Select2 Type for Location Fields
$('.cities, .countries, .districts, .neighborhoods, .village').select2({
placeholder: select_trans
});
FindLocations = (id, table, typeDb, divId, paramName = null) => {
$.ajax({
type: 'get',
url: '/getlocations',
data: {
id: id,
table: table,
typeDb: typeDb,
},
success: function (response) {
setLocations(response, id, table, typeDb, divId, paramName);
return response;
},
error: function (err) {
reject(Error("It broke"));
}
});
};
setLocations = (response, id, table, typeDb, divId, paramName) => {
//Add Options
if(divId != ".cities")
{
$(divId).append("<option value></option>")
}
response.forEach(function (options) {
$(divId).append("<option value=" + options.id + ">" + options.name + "</option>")
});
//Set Selected Option
if (paramName != null) {
if (divId == ".cities") {
$('.countries').val(searchParams.get('country'));
$('.countries').select2();
$('.cities').val(findParam("city[]"));
} else {
$(divId).val(searchParams.get(paramName));
}
$(divId).select2();
}
};
//Category Change
$('.countries').on('change', function () {
$('.cities').empty();
var table = "cities";
var typeDb = 'parent_country_id';
var id = $(this).val();
var divId = ".cities";
FindLocations(id, table, typeDb, divId);
});
//City Change
$('.cities, .select2-selection__choice__remove').on('change', function () {
$('.districts').empty();
var table = "districts";
var typeDb = 'parent_city_id';
var id = $(this).val();
var divId = ".districts";
FindLocations(id, table, typeDb, divId);
});
//Districts Change
$('.districts').on('change', function () {
var table = "neighborhoods";
var typeDb = 'parent_district_id';
var id = $(this).val();
var divId = ".neighborhoods";
FindLocations(id, table, typeDb, divId);
});
//Neighborhoods Change
$('.neighborhoods').on('change', function () {
var table = "village";
var typeDb = 'parent_neighborhood_id';
var id = $(this).val();
var divId = ".village";
FindLocations(id, table, typeDb, divId);
});
jQuery(document).ready(function ($) {
}).promise().done(function () {
//Get City && Set Country
if (searchParams.get('country') != '') {
$('.cities').empty();
var table = "cities";
var typeDb = 'parent_country_id';
var id = searchParams.get('country');
var divId = ".cities";
var paramName = 'city';
FindLocations(id, table, typeDb, divId, paramName);
}
}).promise().done(function () {
//get District && set city
if (findParam('city[]').length) {
$('.districts').empty();
var table = "districts";
var typeDb = 'parent_city_id';
var id = findParam('city[]');
var divId = ".districts";
var paramName = 'district';
FindLocations(id, table, typeDb, divId, paramName);
}
}).promise().done(function () {
//get neighborhood && set districts
if (searchParams.get('district') != '') {
$('.neighborhoods').empty();
var table = "neighborhoods";
var typeDb = 'parent_district_id';
var id = searchParams.get('district');
var divId = ".neighborhoods";
var paramName = 'neighborhood';
FindLocations(id, table, typeDb, divId, paramName);
}
}).promise().done(function () {
//get village && set neighborhoods
if (searchParams.get('neighborhood') != '') {
$('.village').empty();
var table = "village";
var typeDb = 'parent_neighborhood_id';
var id = searchParams.get('neighborhood');
var divId = ".village";
var paramName = 'village';
FindLocations(id, table, typeDb, divId, paramName);
}
});

View File

@ -28,4 +28,7 @@ return [
'description' => [
'name' => 'Description'
],
'pick_option' => [
'name' => 'Pick an option',
],
];

View File

@ -0,0 +1,22 @@
{% if setting_value('visiosoft.module.location::list_page_location') %}
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="locationHeading">
<h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#location"
aria-expanded="true" aria-controls="location">
<i class="fas fa-location-arrow"></i>
{{ trans("visiosoft.module.location::addon.title") }}
</button>
</h5>
</div>
<div id="location" class="collapse show overflow-auto" aria-labelledby="locationHeading"
data-parent="#filter">
{% include "visiosoft.module.location::ads-list/partials/location-fields" %}
</div>
</div>
<script>
var select_trans = "{{ trans('visiosoft.module.location::field.pick_option.name') }}";
</script>
{{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }}
{{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }}
{% endif %}

View File

@ -0,0 +1,42 @@
<div class="row w-100 px-2 m-0">
<div class="col-12 px-0 py-1">
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.country.name") }}</label>
<select class="form-control countries" name="country" id="countries">
{% for country in params.countries %}
<option value="{{ country.id }}">{{ country.name }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 px-0 py-1">
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.city.name") }}</label>
<select class="form-control cities" name="city[]" id="cities" multiple>
{% for city in params.cities %}
<option value="{{ city.id }}">{{ city.name }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 px-0 py-1">
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.district.name") }}</label>
<select class="form-control districts" name="district" id="districts">
{% for district in params.districts %}
<option value="{{ district.id }}">{{ district.name }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 px-0 py-1">
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.neighborhood.name") }}</label>
<select class="form-control neighborhoods" name="neighborhood" id="neighborhoods">
{% for neighborhood in params.neighborhoods %}
<option value="{{ neighborhood.id }}">{{ neighborhood.name }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 px-0 py-1">
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.village.name") }}</label>
<select class="form-control village" name="village" id="village">
{% for village in params.villages %}
<option value="{{ village.id }}">{{ village.name }}</option>
{% endfor %}
</select>
</div>
</div>

View File

@ -1,61 +0,0 @@
{% if setting_value('visiosoft.module.location::list_page_location') %}
<div class="panel-default panel-faq">
<div class="panel-heading active-faq">
<a data-toggle="collapse" data-parent="#accordion" href="#accordion-location">
<h4 class="panel-title">{{ trans("visiosoft.module.advs::field.location") }}
<span class="pull-right">
<i class="fa fa-minus"></i>
</span>
</h4>
</a>
</div>
<div id="accordion-location" class="panel-collapse collapse in">
<div class="panel-body">
<ul id="list-items" class="filter-list-items">
<li>
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.country.name") }}</label>
<select class="form-control" name="country" id="countries">
{% for country in countries %}
<option value="{{ country.id }}">{{ country.name }}</option>
{% endfor %}
</select>
</li>
<li>
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.city.name") }}</label>
<select class="form-control" name="city[]" id="cities" multiple>
{% for city in cities %}
<option value="{{ city.id }}">{{ city.name }}</option>
{% endfor %}
</select>
</li>
<li>
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.district.name") }}</label>
<select class="form-control" name="district" id="districts">
{% for district in districts %}
<option value="{{ district.id }}">{{ district.name }}</option>
{% endfor %}
</select>
</li>
<li>
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.neighborhood.name") }}</label>
<select class="form-control" name="neighborhood" id="neighborhoods">
{% for neighborhood in neighborhoods %}
<option value="{{ neighborhood.id }}">{{ neighborhood.name }}</option>
{% endfor %}
</select>
</li>
<li>
<label class="label-filter-location">{{ trans("visiosoft.module.location::field.village.name") }}</label>
<select class="form-control" name="village" id="village">
{% for village in villages %}
<option value="{{ village.id }}">{{ village.name }}</option>
{% endfor %}
</select>
</li>
</ul>
</div>
</div>
</div>
{% endif %}
{{ asset_add("scripts.js", "visiosoft.theme.base::js/filterLocation.js") }}

View File

@ -1,6 +1,6 @@
// Disabling autoDiscover, otherwise Dropzone will try to attach twice.
Dropzone.autoDiscover = false;
$("div#myDrop").dropzone({ url: "/file/post" });
$("div#myDrop").dropzone({url: "/file/post"});
$(function () {
@ -31,7 +31,7 @@ $(function () {
formData.append('folder', element.data('folder'));
},
renameFile: function (file) {
let newName = new Date().getTime() + '_' + adv_id;
let newName = new Date().getTime() + '_' + adv_id + "_" + file.name;
return newName;
},
accept: function (file, done) {
@ -70,7 +70,7 @@ $(function () {
uploaded.push(response.id);
$('.panel-table').load(
REQUEST_ROOT_PATH + '/streams/media-field_type/selected?uploaded=' + uploaded.join(','),
function() {
function () {
$('input[name="files"]').val(uploaded.join(','))
}
);
@ -92,35 +92,34 @@ $(function () {
});
function addAppendByData(data_id) {
return $('a[data-id='+data_id+']').parent().parent().append('<div class="main-image image-eye-'+data_id+'"><i class="fa fa-eye "></i></div>');
return $('a[data-id=' + data_id + ']').parent().parent().append('<div class="main-image image-eye-' + data_id + '"><i class="fa fa-eye "></i></div>');
}
$('.panel-table').on('click', '[data-dismiss="file"]', function(e) {
$('.panel-table').on('click', '[data-dismiss="file"]', function (e) {
var arr = $('input[name="files"]').val().split(',');
arr.splice(arr.indexOf(String($(this).data('file'))), 1);
$('.panel-table').load(
REQUEST_ROOT_PATH + '/streams/media-field_type/selected?uploaded=' + arr.join(','),
function() {
function () {
$('input[name="files"]').val(arr.join(','))
}
);
});
$('a[data-action="rotate-image"]').click(function(){
$('a[data-action="rotate-image"]').click(function () {
var event = $(this).parent('div').parent('div').find('img');
var img = event.attr('src');
$.ajax({
type: 'get',
dataType : "json",
data: {img_url:img},
dataType: "json",
data: {img_url: img},
url: '/image/rotate',
success: function (response) {
if(response.status == "success")
{
if (response.status == "success") {
hideLoader()
var newURL = updateQueryStringParameter(img,'t',Math.floor(Math.random() * 100000000));
event.attr('src',newURL);
var newURL = updateQueryStringParameter(img, 't', Math.floor(Math.random() * 100000000));
event.attr('src', newURL);
}
},
beforeSend: function () {
@ -133,10 +132,10 @@ $('a[data-action="rotate-image"]').click(function(){
//Set Main İmage
function setMain(id) {
var imageList = $('[name="files"]').val().split(',');
$('.image-eye-'+imageList[0]).remove();
$('.image-eye-' + imageList[0]).remove();
if (imageList.length != 1) {
imageList.splice($.inArray(id, imageList),1);
$('[name="files"]').val(id+','+imageList.join(','));
imageList.splice($.inArray(id, imageList), 1);
$('[name="files"]').val(id + ',' + imageList.join(','));
}
addAppendByData(id);
}
@ -146,8 +145,7 @@ function updateQueryStringParameter(uri, key, value) {
var separator = uri.indexOf('?') !== -1 ? "&" : "?";
if (uri.match(re)) {
return uri.replace(re, '$1' + key + "=" + value + '$2');
}
else {
} else {
return uri + separator + key + "=" + value;
}
}

View File

@ -1,5 +1,5 @@
{% for locale in locales %}
<a href="#"
onclick="window.location = '?_locale={{ locale.name }}'"> {{ trans('streams::locale.' ~ locale.name ~ '.name') }}
onclick="window.location = '?_locale={{ locale.name }}'" class="{{ a.class|raw }}"> {{ trans('streams::locale.' ~ locale.name ~ '.name') }}
({{ locale.name }})</a>
{% endfor %}