HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/hz.xxlht.com/ht/js/addel.jquery.js
;(function ($) {

    'use strict';

    var pluginName = 'addel';

    var formElements = 'input, select, textarea';

    function Plugin(element, options) {

        // vars
        var container = $(element);

        var settings = $.extend(true, {}, $.fn[pluginName].defaults, options);

        var targetClass = '.' + settings.classes.target;
        var addButtonClass = '.' + settings.classes.add;
        var deleteButtonClass = '.' + settings.classes.delete;

        var animation = {};
        animation.duration = settings.animation.duration;
        animation.easing = settings.animation.easing;

        // hide feature
        if (settings.hide) {
            container.find(targetClass).hide().find(formElements).prop('disabled', true);
        }

        // add
        container.on('click', addButtonClass, function () {

            var target = container.find(targetClass).last();

            // addel:add event
            var addEvent = $.Event('addel:add', {target: target});
            container.trigger(addEvent);
            if (addEvent.isDefaultPrevented()) {
                return
            }

            // no visible targets
            if (target.filter(':visible').length === 0) {
                target.fadeIn(animation).find(formElements).prop('disabled', false);

            // visible target/s
            } else {
                target.clone().insertAfter(target).hide().fadeIn(animation).find(formElements).val(null);
            }

            container.find(targetClass).last().find(':input:enabled:visible:first').focus();

            // addel:added event
            container.trigger($.Event('addel:added', {target: target}));

        });

        // del
        container.on('click', deleteButtonClass, function () {

            var target = $(this).closest(targetClass);
            var prevTarget = target.prev(targetClass);
            var nextTarget = target.next(targetClass);

            // addel:delete event
            var deleteEvent = $.Event('addel:delete', {target: target});
            container.trigger(deleteEvent);
            if (deleteEvent.isDefaultPrevented()) {
                return
            }

            // 1 target exists
            if (container.find(targetClass).length === 1) {

                target.fadeOut(animation).find(formElements).prop('disabled', true);
                container.find(addButtonClass).focus();

                // >1 targets exist
            } else {

                target.fadeOut(animation.duration, animation.easing, function () {
                    $(this).remove();
                });

                if (prevTarget.length === 1) {
                    prevTarget.find(deleteButtonClass).focus();
                } else {
                    nextTarget.find(deleteButtonClass).focus();
                }

            }

            // addel:deleted event
            container.trigger($.Event('addel:deleted', {target: target}));

        });


    }

    $.fn[pluginName] = function (options) {
        return this.each(function () {
            if (!$.data(this, "plugin_" + pluginName)) {
                $.data(this, "plugin_" + pluginName,
                    new Plugin(this, options));
            }
        });
    };

    $.fn[pluginName].defaults = {
        hide: false,
        classes: {
            target: 'addel-target',
            add: 'addel-add',
            delete: 'addel-delete'
        },
        animation: {
            duration: 0,
            easing: 'swing'
        }
    };

})(jQuery);