From 379d620d37b6f7bff5bb1c79aa4bd92e450f1a81 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Wed, 6 Nov 2019 14:31:04 +0300 Subject: [PATCH] selected categories for ad edit categories page --- .../base-theme/resources/js/edit_cats.js | 102 +++++++++++------- .../visiosoft/base-theme/resources/js/nav.js | 19 +--- .../resources/views/new-ad/edit-cat.twig | 18 ++-- 3 files changed, 72 insertions(+), 67 deletions(-) diff --git a/addons/default/visiosoft/base-theme/resources/js/edit_cats.js b/addons/default/visiosoft/base-theme/resources/js/edit_cats.js index f93b3f139..5863add8c 100644 --- a/addons/default/visiosoft/base-theme/resources/js/edit_cats.js +++ b/addons/default/visiosoft/base-theme/resources/js/edit_cats.js @@ -1,52 +1,74 @@ -$(document).ready(function () { - $('select[name="cat1"], select[name="cat2"], select[name="cat3"], ' + - 'select[name="cat4"], select[name="cat5"], select[name="cat6"], select[name="cat7"]').on('change', function () { - var all = $(this).val(); - $(this).val(all[all.length-1]) - }) - - const filter = {}; - filter.getCats = (catId, divId) => { +function getCats(catId, divId, current = null) { + if (divId != "") { $.ajax({ type: 'get', - url: '/ajax/getcats/'+ divId, + url: '/ajax/getcats/' + divId, success: function (response) { - if(response.length <= 0){ + if (response.length <= 0) { $('.cat-item-3').show(); stop(); - } - else { - response.forEach(function(options){ - $(catId).append("").closest('.cat-item-2').show(); + } else { + response.forEach(function (options) { + $(catId).append("").closest('.cat-item-2').show(); }); } } + }).promise().done(function () { + if (current != null) + $(current).val([divId]); }) - }; - - filter.hideCats = (num) => { - var startNo = num; - var endNo = 6; - - while (startNo <= endNo) { - $('#cat'+ startNo).html("").closest('.cat-item-2').hide(); - $('.cat-item-3').hide(); - startNo++; - } - }; - - for (var i = 1; i <= 6; i++) { - (function(){ - var ii = i; - $('#cat'+i).on('change', function (i,e) { - divId = $(this).find('option:selected').val(); - if (divId == 0) { - filter.hideCats(ii+1); - } - filter.hideCats(ii+1); - filter.getCats("#cat"+(ii+1), divId); - }); - })(); } +}; + +function hideCats(num) { + var startNo = num; + var endNo = 6; + + while (startNo <= endNo) { + $('#cat' + startNo).html("").closest('.cat-item-2').hide(); + $('.cat-item-3').hide(); + startNo++; + } +}; + + +jQuery(document).ready(function ($) { + $('select[name="cat1"], select[name="cat2"], select[name="cat3"], ' + + 'select[name="cat4"], select[name="cat5"], select[name="cat6"], select[name="cat7"]').on('change', function () { + var all = $(this).val(); + var data_level = $(this).attr('data-level'); + $(this).val(all[all.length - 1]) + divId = $(this).find('option:selected').val(); + if (divId == 0) { + hideCats(parseInt(data_level) + 1); + } + hideCats(parseInt(data_level) + 1); + getCats("#cat" + (parseInt(data_level) + 1), divId); + + + }); +}); +jQuery(document).promise().done(function () { + level = 1; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); +}).promise().done(function () { + level = 2; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); +}).promise().done(function () { + level = 3; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); +}).promise().done(function () { + level = 4; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); +}).promise().done(function () { + level = 5; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); +}).promise().done(function () { + level = 6; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); +}).promise().done(function () { + level = 7; + getCats("#cat" + (level + 1), $("#cat" + level).attr('data-value'), "#cat" + level); }); \ No newline at end of file diff --git a/addons/default/visiosoft/base-theme/resources/js/nav.js b/addons/default/visiosoft/base-theme/resources/js/nav.js index f29ac0aaa..02b8ccba0 100644 --- a/addons/default/visiosoft/base-theme/resources/js/nav.js +++ b/addons/default/visiosoft/base-theme/resources/js/nav.js @@ -1,20 +1,6 @@ $(document).ready(function () { const is = {}; - is.Active = (slug) => { - $.ajax({ - type: 'get', - url: '/isactive/' + slug, - success: function (response) { - if (response.isActive === 1) { - $(".profile-dropdown-list #" + slug + "").show(); - } - }, - error: function (err) { - reject(Error("It broke")); - } - }); - }; $.ajax({ type: 'get', @@ -35,7 +21,7 @@ $(document).ready(function () { } } // add extra parameters here by using is.Active method. div name must be same as slug - is.Active('messages'); + // is.Active('messages'); } else { $('.login-user-dropdown-menu').hide(); $('.profile-navigation-mobile-field , .profile-navigation-field').on('click', function () { @@ -44,9 +30,6 @@ $(document).ready(function () { $('.login-username-field').hide(); $('.login-button-field').attr("style", "display: block !important"); } - }, - error: function (err) { - reject(Error("It broke")); } }); diff --git a/addons/default/visiosoft/base-theme/resources/views/new-ad/edit-cat.twig b/addons/default/visiosoft/base-theme/resources/views/new-ad/edit-cat.twig index 5f3cb6cac..8dab0e5de 100644 --- a/addons/default/visiosoft/base-theme/resources/views/new-ad/edit-cat.twig +++ b/addons/default/visiosoft/base-theme/resources/views/new-ad/edit-cat.twig @@ -1,12 +1,13 @@ {% extends layout('edit-cat') %} {% block content %} + {% set ad_Detail = adDetail(id) %}
- {{ asset_add("scripts.js", "visiosoft.theme.base::js/edit_cats.js") }} {{ asset_style("visiosoft.theme.base::css/edit_category.css") }} {% endblock %}