مدیاویکی:Common.js: تفاوت میان نسخه‌ها

بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
خط ۷۲۸: خط ۷۲۸:
===================================================
===================================================


/* سیستم جستجوی شهرها */
/* سیستم جستجوی شهرها - فقط کد JS */
$(document).ready(function() {
mw.hook('wikipage.content').add(function($content) {
     if ($('#city-search-wrapper').length) {
     var $wrapper = $content.find('#city-search-wrapper');
        const data = [
    if ($wrapper.length === 0) return;
            { "province": "آذربایجان شرقی", "cities": ["تبریز", "مراغه", "مرند", "بناب"] },
            { "province": "تهران", "cities": ["تهران", "اسلامشهر", "شهریار", "قدس", "پردیس", "قرچک"] },
            { "province": "اصفهان", "cities": ["اصفهان", "کاشان", "خمینی‌شهر", "نجف آباد"] },
            // اینجا می‌توانید بقیه شهرها را اضافه کنید
        ];


        const input = document.getElementById('search-input');
    const data = [
         const container = document.getElementById('results-container');
        { "province": "آذربایجان شرقی", "cities": ["تبریز", "مراغه", "مرند", "بناب"] },
        { "province": "تهران", "cities": ["تهران", "اسلامشهر", "شهریار", "قدس", "پردیس", "قرچک"] },
        { "province": "اصفهان", "cities": ["اصفهان", "کاشان", "خمینی‌شهر", "نجف آباد"] },
        { "province": "البرز", "cities": ["کرج", "فردیس", "نظر آباد"] },
         { "province": "خراسان رضوی", "cities": ["مشهد", "نیشابور", "سبزوار"] }
    ];


        function render(filter = "") {
    const input = document.getElementById('search-input');
            container.innerHTML = "";
    const container = document.getElementById('results-container');
            const filtered = data.filter(item =>
                item.province.includes(filter) || item.cities.some(c => c.includes(filter))
            );


            filtered.forEach(item => {
    function render(filter = "") {
                const section = document.createElement('div');
        if (!container) return;
                section.className = 'province-section';
        container.innerHTML = "";
                section.innerHTML = `
        const filtered = data.filter(item =>  
                    <div class="province-title">${item.province}</div>
            item.province.includes(filter) || item.cities.some(c => c.includes(filter))
                    <ul class="city-list">
        );
                        ${item.cities.filter(c => c.includes(filter)).map(c => `<li>${c}</li>`).join('')}
                    </ul>
                `;
                container.appendChild(section);
            });
        }


        filtered.forEach(item => {
            const section = document.createElement('div');
            section.className = 'province-section';
            section.innerHTML = `
                <div class="province-title">${item.province}</div>
                <ul class="city-list">
                    ${item.cities.filter(c => c.includes(filter)).map(c => `<li>${c}</li>`).join('')}
                </ul>
            `;
            container.appendChild(section);
        });
    }
    if (input) {
         input.addEventListener('input', (e) => render(e.target.value));
         input.addEventListener('input', (e) => render(e.target.value));
         render();
         render();
     }
     }
});
});
======================================================
==============================================================
==============================================================