Current File : /home/n742ef5/.trash/asgaros-forum___/admin/js/admin.js
// Prevent replacing Font Awesome icons with SVG icons.
window.FontAwesomeConfig = {
    autoReplaceSvg: false
};

(function($) {
    $(document).ready(function() {
        var editor = null;

        if (wp && wp.codeEditor) {
            if ($('textarea[data-code-editor-mode]').length) {
                wp.codeEditor.defaultSettings.codemirror.mode = $('textarea[data-code-editor-mode]').attr('data-code-editor-mode');
                var editor                                    = wp.codeEditor.initialize($('textarea[data-code-editor-mode]'));
            }
        }

        // Settings-tabs toggle.
        $('#af-options #settings-tabs li').click(function() {
            // Get slug.
            var tab = $(this).attr('data-slug');

            // Set slug.
            $('#af-options input[name=selected_tab]').val(tab);

            // Change highlighted tab.
            $('#af-options #settings-wrapper #settings-tabs li').removeClass('active-tab');
            $('#af-options #settings-wrapper #settings-tabs li[data-slug='+tab+']').addClass('active-tab');

            // Hide all tabs.
            $('#af-options #settings-wrapper .tab').css('display', 'none');

            // Show selected tab.
            $('#af-options #settings-wrapper #tab-'+tab).css('display', 'block');
        });

        // Adding color picker
        $('.color-picker').wpColorPicker();

        // Show/hide options.
        $('.show_hide_initiator').change(function() {
            var hideClass = $(this).attr('data-hide-class');

            if (this.checked) {
                $('#af-options .'+hideClass).show();
            } else {
                $('#af-options .'+hideClass).hide();
            }
        });

        // Create/edit category dialog.
        $('.category-editor-link').click(function() {
            resetEditor();

            var category_id         = $(this).attr('data-value-id');
            var category_name       = '';
            var category_access     = 'everyone';
            var category_order      = '1';
            var category_usergroups = '';

            if (category_id !== 'new') {
                category_name       = $('#category_'+category_id+'_name').val();
                category_access     = $('#category_'+category_id+'_access').val();
                category_order      = $('#category_'+category_id+'_order').val();
                category_usergroups = $('#category_'+category_id+'_usergroups').val().split(',');
            }

            $('#category-editor input[name=category_id]').val(category_id);
            $('#category-editor input[name=category_name]').val(category_name);

            $('#category-editor select[name=category_access] option').each(function() {
                if ($(this).val() == category_access) {
                    $(this).prop('selected', true);
                }
            });

            $('#category-editor input[name=category_order]').val(category_order);

            $('#usergroups-editor input[type=checkbox]').each(function() {
                if (jQuery.inArray($(this).val(), category_usergroups) != -1) {
                    $(this).prop('checked', true);
                } else {
                    $(this).prop('checked', false);
                }
            });

            setEditorTitle(this);
            showEditorInstance('#category-editor');
            $('#category-editor input[name=category_name]').focus();
        });

        // Create/edit forum dialog.
        $('.forum-editor-link').click(function() {
            resetEditor();

            var forum_id              = $(this).attr('data-value-id');
            var forum_category        = $(this).attr('data-value-category');
            var forum_parent_forum    = $(this).attr('data-value-parent-forum');
            var forum_name            = '';
            var forum_description     = '';
            var forum_icon            = 'fas fa-comments';
            var forum_status          = 'normal';
            var forum_order           = '1';
            var forum_count_subforums = '0';

            if (forum_id !== 'new') {
                forum_name            = $('#forum_'+forum_id+'_name').val();
                forum_description     = $('#forum_'+forum_id+'_description').val();
                forum_icon            = $('#forum_'+forum_id+'_icon').val();
                forum_status          = $('#forum_'+forum_id+'_status').val();
                forum_order           = $('#forum_'+forum_id+'_order').val();
                forum_count_subforums = $('#forum_'+forum_id+'_count_subforums').val();
            }

            // Create parent-dropdown.
            $('#forum_parent').empty();

            if (forum_count_subforums == 0) {
                var cloned_select = $('#hidden-data #data-forum-parent-two-level').html();
                $('#forum-editor select[name=forum_parent]').html(cloned_select);

                // Remove itself from list because its not possible to assign a forum to itself.
                $('#forum-editor option[value='+forum_category+'_'+forum_id+']').remove();
            } else {
                var cloned_select = $('#hidden-data #data-forum-parent-one-level').html();
                $('#forum-editor select[name=forum_parent]').html(cloned_select);
            }

            // Select parent element.
            $('#forum-editor select[name=forum_parent] option').each(function() {
                if ($(this).val() == forum_category+'_'+forum_parent_forum) {
                    $(this).prop('selected', true);
                }
            });

            // Apply values.
            $('#forum-editor input[name=forum_id]').val(forum_id);
            $('#forum-editor input[name=forum_category]').val(forum_category);
            $('#forum-editor input[name=forum_parent_forum]').val(forum_parent_forum);
            $('#forum-editor input[name=forum_name]').val(forum_name);
            $('#forum-editor input[name=forum_description]').val(forum_description);
            $('#forum-editor input[name=forum_icon]').val(forum_icon);

            $('#forum-editor select[name=forum_status] option').each(function() {
                if ($(this).val() == forum_status) {
                    $(this).prop('selected', true);
                }
            });

            $('#forum-editor input[name=forum_order]').val(forum_order);

            setEditorTitle(this);
            showEditorInstance('#forum-editor');
            $('#forum-editor input[name=forum_name]').focus();
        });

        // Create/edit usergroup category dialog.
        $('.usergroup-category-editor-link').click(function() {
            resetEditor();

            var usergroup_category_id   = $(this).attr('data-value-id');
            var usergroup_category_name = '';

            if (usergroup_category_id !== 'new') {
                usergroup_category_name = $('#usergroup_category_'+usergroup_category_id+'_name').val();
            }

            $('#usergroup-category-editor input[name=usergroup_category_id]').val(usergroup_category_id);
            $('#usergroup-category-editor input[name=usergroup_category_name]').val(usergroup_category_name);

            setEditorTitle(this);
            showEditorInstance('#usergroup-category-editor');
            $('#usergroup-category-editor input[name=usergroup_category_name]').focus();
        });

        // Create/edit usergroup dialog.
        $('.usergroup-editor-link').click(function() {
            resetEditor();

            var usergroup_id         = $(this).attr('data-value-id');
            var usergroup_category   = $(this).attr('data-value-category');
            var usergroup_name       = '';
            var usergroup_color      = '#444444';
            var usergroup_visibility = '';
            var usergroup_auto_add   = '';
            var usergroup_icon       = '';

            if (usergroup_id !== 'new') {
                usergroup_name       = $('#usergroup_'+usergroup_id+'_name').val();
                usergroup_color      = $('#usergroup_'+usergroup_id+'_color').val();
                usergroup_visibility = $('#usergroup_'+usergroup_id+'_visibility').val();
                usergroup_auto_add   = $('#usergroup_'+usergroup_id+'_auto_add').val();
                usergroup_icon       = $('#usergroup_'+usergroup_id+'_icon').val();
            }

            $('#usergroup-editor input[name=usergroup_id]').val(usergroup_id);
            $('#usergroup-editor input[name=usergroup_category]').val(usergroup_category);
            $('#usergroup-editor input[name=usergroup_name]').val(usergroup_name);
            $('#usergroup-editor input[name=usergroup_color]').val(usergroup_color);
            $('#usergroup-editor input[name=usergroup_color]').wpColorPicker('color', usergroup_color);

            if (usergroup_visibility === 'hidden') {
                $('#usergroup-editor input[name=usergroup_visibility]').prop('checked', true);
            } else {
                $('#usergroup-editor input[name=usergroup_visibility]').prop('checked', false);
            }

            if (usergroup_auto_add === 'yes') {
                $('#usergroup-editor input[name=usergroup_auto_add]').prop('checked', true);
            } else {
                $('#usergroup-editor input[name=usergroup_auto_add]').prop('checked', false);
            }

            $('#usergroup-editor input[name=usergroup_icon]').val(usergroup_icon);

            setEditorTitle(this);
            showEditorInstance('#usergroup-editor');
            $('#usergroup-editor input[name=usergroup_name]').focus();
        });

        // Create/edit ad dialog.
        $('.ad-editor-link').click(function() {
            resetEditor();

            var ad_id        = $(this).attr('data-value-id');
            var ad_name      = '';
            var ad_code      = '';
            var ad_active    = '1';
            var ad_locations = '';

            if (ad_id !== 'new') {
                ad_name      = $('#ad_'+ad_id+'_name').val();
                ad_code      = $('#ad_'+ad_id+'_code').val();
                ad_active    = $('#ad_'+ad_id+'_active').val();
                ad_locations = $('#ad_'+ad_id+'_locations').val().split(',');
            }

            $('#ad-editor input[name=ad_id]').val(ad_id);
            $('#ad-editor input[name=ad_name]').val(ad_name);
            $('#ad-editor textarea[name=ad_code]').text(ad_code);

            if (ad_active == '1') {
                $('#ad-editor input[name=ad_active]').prop('checked', true);
            } else {
                $('#ad-editor input[name=ad_active]').prop('checked', false);
            }

            $('#ad-editor #locations-editor input[type=checkbox]').each(function() {
                if (jQuery.inArray($(this).val(), ad_locations) != -1) {
                    $(this).prop('checked', true);
                } else {
                    $(this).prop('checked', false);
                }
            });

            setEditorTitle(this);
            showEditorInstance('#ad-editor');

            // Try to update CodeMirror content. The content must get updated
            // after the editor-instance is visible again. Otherwise the refresh
            // is not working.
            if (editor) {
                editor.codemirror.doc.setValue(ad_code);
                editor.codemirror.refresh();
            }

            $('#ad-editor input[name=ad_name]').focus();
        });

        // Delete category dialog.
        $('.category-delete-link').click(function() {
            resetEditor();

            var elementID = $(this).attr('data-value-id');
            $('#category-delete input[name=category-id]').val(elementID);

            setEditorTitle(this);
            showEditorInstance('#category-delete');
        });

        // Delete forum dialog.
        $('.forum-delete-link').click(function() {
            resetEditor();

            var forum_id       = $(this).attr('data-value-id');
            var forum_category = $(this).attr('data-value-category');

            $('#forum-delete input[name=forum-id]').val(forum_id);
            $('#forum-delete input[name=forum-category]').val(forum_category);

            setEditorTitle(this);
            showEditorInstance('#forum-delete');
        });

        // Delete usergroup dialog.
        $('.usergroup-delete-link').click(function() {
            resetEditor();

            var elementID = $(this).attr('data-value-id');
            $('#usergroup-delete input[name=usergroup-id]').val(elementID);

            setEditorTitle(this);
            showEditorInstance('#usergroup-delete');
        });

        // Delete usergroup category dialog.
        $('.usergroup-category-delete-link').click(function() {
            resetEditor();

            var elementID = $(this).attr('data-value-id');
            $('#usergroup-category-delete input[name=usergroup-category-id]').val(elementID);

            setEditorTitle(this);
            showEditorInstance('#usergroup-category-delete');
        });

        // Delete ad dialog.
        $('.ad-delete-link').click(function() {
            resetEditor();

            var elementID = $(this).attr('data-value-id');
            $('#ad-delete input[name=ad_id]').val(elementID);

            setEditorTitle(this);
            showEditorInstance('#ad-delete');
        });

        $('#editor-container .button-cancel').click(function() {
            resetEditor();
        })

        function setEditorTitle(objectElement) {
            var editor_title = $(objectElement).attr('data-value-editor-title');

            $('#editor-container .settings-header').html(editor_title);
        }

        function resetEditor() {
            $('#editor-container').hide();
            $('.editor-instance').hide();
        }

        function showEditorInstance(instanceName) {
            $(instanceName).show();
            $('#editor-container').show();
        }
    });
})(jQuery);