HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/zaklada/html/node_modules/browser-sync-ui/lib/plugins/plugins/plugins.client.js
/**
 *
 */
(function (angular) {

    var SECTION_NAME          = "plugins";

    angular
        .module("BrowserSync")
        .controller("PluginsController", [
            "options",
            "Socket",
            "pagesConfig",
            PluginsPageController
        ]);

    /**
     * @param options
     * @param Socket
     * @param pagesConfig
     * @constructor
     */
    function PluginsPageController(options, Socket, pagesConfig) {


        var ctrl = this;
        ctrl.section = pagesConfig[SECTION_NAME];

        ctrl.options     = options.bs;
        ctrl.uiOptions   = options.ui;

        /**
         * Don't show this UI as user plugin
         */
        var filtered = ctrl.options.userPlugins.filter(function (item) {
            return item.name !== "UI";
        }).map(function (item) {
            item.title = item.name;
            return item;
        });

        var named = filtered.reduce(function (all, item) {
            all[item.name] = item;
            return all;
        }, {});

        /**
         * @type {{loading: boolean}}
         */
        ctrl.ui = {
            loading: false,
            plugins: filtered,
            named: named
        };

        /**
         * Toggle a pluginrs
         */
        ctrl.togglePlugin = function (plugin) {
            Socket.uiEvent({
                namespace: SECTION_NAME,
                event: "set",
                data: plugin
            });
        };

        /**
         * Set the state of many options
         * @param value
         */
        ctrl.setMany = function (value) {
            Socket.uiEvent({
                namespace: SECTION_NAME,
                event: "setMany",
                data: value
            });
            ctrl.ui.plugins = ctrl.ui.plugins.map(function (item) {
                item.active = value;
                return item;
            });
        };
    }

})(angular);