diff --git a/addons/default/visiosoft/advs-module/migrations/2020_06_05_120415_visiosoft.module.advs__create_options_stream.php b/addons/default/visiosoft/advs-module/migrations/2020_06_05_120415_visiosoft.module.advs__create_options_stream.php new file mode 100644 index 000000000..f6ca0b1fd --- /dev/null +++ b/addons/default/visiosoft/advs-module/migrations/2020_06_05_120415_visiosoft.module.advs__create_options_stream.php @@ -0,0 +1,57 @@ + 'options', + 'title_column' => 'name', + 'translatable' => false, + 'versionable' => false, + 'trashable' => false, + 'searchable' => false, + 'sortable' => false, + ]; + + /** + * This field will be added. + */ + protected $fields = [ + "adv" => [ + "type" => "anomaly.field_type.relationship", + "config" => [ + "related" => \Visiosoft\AdvsModule\Adv\AdvModel::class, + ] + ] + ]; + + /** + * The stream assignments. + * + * @var array + */ + protected $assignments = [ + 'name' => [ + 'required' => true, + ], + 'adv' => [ + 'required' => true, + ], + ]; + +} diff --git a/addons/default/visiosoft/advs-module/resources/config/permissions.php b/addons/default/visiosoft/advs-module/resources/config/permissions.php index 33de065db..eae0b67cd 100644 --- a/addons/default/visiosoft/advs-module/resources/config/permissions.php +++ b/addons/default/visiosoft/advs-module/resources/config/permissions.php @@ -16,4 +16,9 @@ return [ 'write', 'delete', ], + 'options' => [ + 'read', + 'write', + 'delete', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/css/detail.css b/addons/default/visiosoft/advs-module/resources/css/detail.css index d5f851b84..ff8130448 100644 --- a/addons/default/visiosoft/advs-module/resources/css/detail.css +++ b/addons/default/visiosoft/advs-module/resources/css/detail.css @@ -1,5 +1,5 @@ .ad-detail-tabs .nav-link.active { - background-color: #FFC106 !important; + background-color: #FFC106; border-color: #ffc107 #ffc107 #ffc107; } diff --git a/addons/default/visiosoft/advs-module/resources/css/dropleft-edit.css b/addons/default/visiosoft/advs-module/resources/css/dropleft-edit.css index db1b38e2a..db42e2d08 100644 --- a/addons/default/visiosoft/advs-module/resources/css/dropleft-edit.css +++ b/addons/default/visiosoft/advs-module/resources/css/dropleft-edit.css @@ -1,6 +1,7 @@ .dropleft-edit { right: 0; top: 40%; + z-index: 5; } .dropleft-edit button { transform: rotate(-90deg) translate(0, -100%); diff --git a/addons/default/visiosoft/advs-module/resources/css/list.css b/addons/default/visiosoft/advs-module/resources/css/list.css index a62c171b2..eaec9296b 100644 --- a/addons/default/visiosoft/advs-module/resources/css/list.css +++ b/addons/default/visiosoft/advs-module/resources/css/list.css @@ -15,8 +15,10 @@ max-height: 100px; } -.list-classified .bg-light { - height: 100px; +@media only screen and (min-width: 768px) { + .list-classified .bg-light { + height: 100px; + } } .upper-list-banner { @@ -47,8 +49,6 @@ /* Mobile filter */ .mobile-list-action { - margin-left: -30px; - margin-right: -30px; border: 1px solid #dee2e68a; } @@ -76,6 +76,10 @@ background: #c9c9c9; } +.mobile-list-action div:last-child a:after { + content: none; +} + .mobile-list-action i { font-size: 19px; color: #a1a1a1; @@ -105,4 +109,18 @@ #filterModal { overflow-y: auto; +} + +.result-text { + font-size: 13px; + margin: 0 -15px; +} + +.result-text span:first-child { + font-weight: 500; +} + +.result-text span:last-child { + color: #8f0100; + font-weight: 500; } \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/js/filter_modal.js b/addons/default/visiosoft/advs-module/resources/js/filter_modal.js index dfecaadf1..19d78bae4 100644 --- a/addons/default/visiosoft/advs-module/resources/js/filter_modal.js +++ b/addons/default/visiosoft/advs-module/resources/js/filter_modal.js @@ -141,4 +141,13 @@ $('.set_category').on('click', function () { $('#filterModal').find('form').attr("action", '/advs/list'); $('#filterModal').modal('toggle'); -}) +}); + +// Move filter on small screen +$(window).on("load resize", function () { + const width = (window.innerWidth > 0) ? window.innerWidth : screen.width; + if (width <= 575) { + const detach = $('#listFilterForm').detach(); + $('#modalListFilterForm').append(detach); + } +}); diff --git a/addons/default/visiosoft/advs-module/resources/js/list.js b/addons/default/visiosoft/advs-module/resources/js/list.js index 19a4b670d..ede10715c 100644 --- a/addons/default/visiosoft/advs-module/resources/js/list.js +++ b/addons/default/visiosoft/advs-module/resources/js/list.js @@ -173,5 +173,17 @@ $('.ad-info-right-bar-video').tooltip({ html: true }); - - +$("#listFilterForm").submit(function(e) { + const inputs = $('#listFilterForm :input'); + [...inputs].forEach((input) => { + if (input.type === 'checkbox' || input.type === 'radio') { + if ($(input).prop("checked") == false) { + $(input).prop('disabled', true); + } + } else { + if ($(input).val() == "" || $(input).find(':selected').val() == "") { + $(input).prop('disabled', true); + } + } + }); +}); \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/js/new-create.js b/addons/default/visiosoft/advs-module/resources/js/new-create.js index c75f3693a..d19fcca5a 100644 --- a/addons/default/visiosoft/advs-module/resources/js/new-create.js +++ b/addons/default/visiosoft/advs-module/resources/js/new-create.js @@ -215,5 +215,44 @@ $(document).ready(function () { price = parseInt(price.replace(/\./g, '')); let decimal = parseInt($(".priceDecimalField").val()); $('.priceHidden').find('input').val(parseFloat(price + "." + decimal)); + }); + + // Add dynamic option creation + $(".options-tags").select2({ + tags: true, + tokenSeparators: [','] + }); + + let deletedOptions = []; + $('#selectOptions').on('select2:unselect', function (e) { + if (e.params.data.element.id) { + const id = e.params.data.element.id.substr(9); + deletedOptions.push(id); + } else { + let index = newOptions.indexOf(e.params.data.text); + if (index > -1) { + newOptions.splice(index, 1); + } + } + }); + + let newOptions = []; + $('#selectOptions').on('select2:select', function (e) { + if (e.params.data.element) { + let index = deletedOptions.indexOf(e.params.data.element.id.substr(9)); + if (index > -1) { + deletedOptions.splice(index, 1); + } + } else { + newOptions.push(e.params.data.text) + } + }); + + $('#createEditAdvForm').submit(function () { + $(this).append(``); + + $(this).append(``); + + return true; }) }); diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/button.php b/addons/default/visiosoft/advs-module/resources/lang/en/button.php index 75eac762f..c84a77408 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/button.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/button.php @@ -31,4 +31,5 @@ return [ 'update_category' => [ 'name' => 'Update Category' ], + 'new_option' => 'New Option', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/field.php b/addons/default/visiosoft/advs-module/resources/lang/en/field.php index 112ea9eac..cdb991641 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/field.php @@ -263,6 +263,8 @@ return [ "no_location" => "No location is selected.", "continue" => 'Continue', "gallery" => 'Gallery', + "ads" => 'Ads', + "were_found" => 'were found.', // Pending screen 'pending_message_1' => 'The Ad is in the Approval Process', diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/permission.php b/addons/default/visiosoft/advs-module/resources/lang/en/permission.php index 762eea4c9..a75575d96 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/permission.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/permission.php @@ -49,4 +49,12 @@ return [ 'delete' => 'Can delete cf values?', ], ], + 'options' => [ + 'name' => 'Options', + 'option' => [ + 'read' => 'Can read options?', + 'write' => 'Can create/edit options?', + 'delete' => 'Can delete options?', + ], + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/section.php b/addons/default/visiosoft/advs-module/resources/lang/en/section.php index 1a3eeb889..d59a01842 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/section.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/section.php @@ -40,4 +40,7 @@ return [ 'general' => 'General', 'ads' => 'Ads', 'user' => 'User', + 'options' => [ + 'title' => 'Options', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/stream.php b/addons/default/visiosoft/advs-module/resources/lang/en/stream.php index cd23e3479..29e720836 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/stream.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/stream.php @@ -19,4 +19,7 @@ return [ 'cf_values' => [ 'name' => 'Cf values', ], + 'options' => [ + 'name' => 'Options', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/sq/field.php b/addons/default/visiosoft/advs-module/resources/lang/sq/field.php index fd7d6ff0b..86da72d9b 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/sq/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/sq/field.php @@ -127,7 +127,7 @@ return [ 'sort' => 'Tipi', 'sort_by' => 'Rendit Sipas', 'pick_option' => 'Zgjidh një mundësi', - 'pick_ordering' => 'Merr Porosin', + 'pick_ordering' => 'Renditje', 'price_high' => 'Cmimi i larte deri tek i uleti', 'price_low' => 'Cmimi i ulet deri tek i larte', 'newest' => 'Më të Rejat', diff --git a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig index e5c1cbac5..5a5c3e1b7 100644 --- a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig +++ b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig @@ -34,7 +34,7 @@ - {{ addBlock('ad-detail/details',{'adv':adv})|raw }} + {{ addBlock('ad-detail/details',{'adv':adv, 'options':options})|raw }} {{ addBlock('ad-detail/widget-details',{'adv':adv})|raw }} diff --git a/addons/default/visiosoft/advs-module/resources/views/list/list.twig b/addons/default/visiosoft/advs-module/resources/views/list/list.twig index 434637fdf..21792d979 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/list.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/list.twig @@ -1,5 +1,9 @@ {% extends layout('list') %} +{% block styles %} + {{ asset_style("visiosoft.module.advs::css/list.css") }} +{% endblock %} + {% block content %}
@@ -15,7 +19,15 @@