https://t.me/RX1948
Server : Apache
System : Linux s1230 5.15.0-139-generic #149~20.04.1 SMP Tue Jul 14 11:21:49 UTC 2026 x86_64
User : p141464 ( 418825)
PHP Version : 7.4.33.12
Disable Function : NONE
Directory :  /html/relaunch-kmu/wp-content/plugins/wp-gdpr-compliance/Resources/js/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //html/relaunch-kmu/wp-content/plugins/wp-gdpr-compliance/Resources/js/admin/settings-form.js
import { ajax } from '../utils/helpers'

export default class SettingsForm {
    constructor () {
        this.setProperties()
        this.init()
    }

    setProperties () {
        this.prefix = wpgdprcAdmin.pluginPrefix
        this.ajaxUrl = wpgdprcAdmin.ajaxUrl
        this.ajaxNonce = wpgdprcAdmin.ajaxNonce
        this.ajaxArg = wpgdprcAdmin.ajaxArg
        this.settingTabs = document.querySelector('.wpgdprc-tabs__list')
        this.pageSelects = document.querySelectorAll('.page-selector')
        this.isHiddenClassName = 'is-hidden'
        this.isLoading = false
        this.isLoadingClassName = 'is-loading'
    }

    init () {
        this.updateWindowHistory()
        this.toggleEditLinks()
    }

    /**
     * Updates window history with proper section URL
     */
    updateWindowHistory () {
        if (!this.settingTabs) {
            return
        }

        const links = this.settingTabs.querySelectorAll('a[role="tab"]')
        links.forEach(el => {
            el.addEventListener('click', event => {
                const url = new URL(event.target.getAttribute('href'))
                url.searchParams.delete('settings-updated')
                window.history.replaceState({}, document.title, url.toString())
            })
        })
    }

    /**
     * Toggles "Edit page" link elements for page select fields
     */
    toggleEditLinks () {
        if (!this.pageSelects) {
            return
        }

        this.pageSelects.forEach(el => {
            const wrapper = el.parentNode
            const editEl = wrapper.querySelector('.wpgdprc-link--edit')
            if (!editEl) {
                return
            }

            el.addEventListener('change', event => {
                this.setPostEditLink(editEl, Number(event.target.value))
            })
        })
    }

    setIsLoading (isLoading = true) {
        this.isLoading = isLoading

        if (isLoading) {
            document.body.classList.add(this.isLoadingClassName)
        } else {
            document.body.classList.remove(this.isLoadingClassName)
        }
    }

    /**
     * Sets page/post edit url
     * @param link
     * @param post
     */
    async setPostEditLink (link, post = 0) {
        this.setIsLoading()

        if (post === 0) {
            link.classList.add(this.isHiddenClassName)
            return
        }

        // Do the call
        try {
            await ajax(this.ajaxUrl, {
                action: this.prefix + '_post_edit_link',
                [this.ajaxArg]: this.ajaxNonce,
                post: post
            }, 'POST').then(response => {
                return response.json()
            }).then(response => {
                this.setIsLoading(false)
                const success = typeof response.success !== 'undefined' ? response.success : false
                if (!success) {
                    console.dir(response)
                    return
                }

                const message = typeof response.message !== 'undefined' ? new URL(response.message).toString() : ''
                link.setAttribute('href', message)

                if (!message.length) {
                    link.classList.add(this.isHiddenClassName)
                    return
                }

                link.classList.remove(this.isHiddenClassName)
            })
        } catch (error) {
            console.error(error)
            this.setIsLoading(false)
        }
    }
}

https://t.me/RX1948 - 2025