Node Manager Pm2

PHP

Plesk extension for managing PM2-powered Node.js applications with process control, monitoring, deployment automation, and seamless server integration.

Stars
16
Forks
2
Downloads
N/A
Open Issues
0
Files main

Repository Files

Loading file structure...
plib/views/scripts/index/index.phtml
<?php
$config = isset($this->appConfig) ? $this->appConfig : [];
$json = json_encode($config, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT);
if ($json === false) {
    $json = '{}';
}
$bundle = pm_Context::getBaseUrl() . 'dist/node-manager-pm2-ui.js';
?>
<div id="node-manager-pm2" class="nm-shell" data-nm-ui-props="<?php echo htmlspecialchars($json, ENT_QUOTES, 'UTF-8'); ?>">
    <div class="nm-skeleton-stack" aria-label="Loading PM2 workspace" aria-busy="true">
        <div class="nm-panel nm-domain-card">
            <div class="nm-domain-grid">
                <div class="nm-field">
                    <span class="nm-skeleton nm-skeleton-label"></span>
                    <span class="nm-skeleton nm-skeleton-input"></span>
                </div>
                <div class="nm-field">
                    <span class="nm-skeleton nm-skeleton-label"></span>
                    <span class="nm-skeleton nm-skeleton-text"></span>
                </div>
                <div class="nm-field nm-field-root">
                    <span class="nm-skeleton nm-skeleton-label"></span>
                    <span class="nm-skeleton nm-skeleton-path"></span>
                </div>
                <div class="nm-field">
                    <span class="nm-skeleton nm-skeleton-label"></span>
                    <span class="nm-skeleton nm-skeleton-short"></span>
                </div>
            </div>
        </div>
        <div class="nm-skeleton-tabs">
            <span class="nm-skeleton nm-skeleton-tab"></span>
            <span class="nm-skeleton nm-skeleton-tab"></span>
            <span class="nm-skeleton nm-skeleton-tab"></span>
            <span class="nm-skeleton nm-skeleton-tab"></span>
        </div>
        <div class="nm-stat-grid">
            <div class="nm-stat-card">
                <span class="nm-skeleton nm-skeleton-label"></span>
                <span class="nm-skeleton nm-skeleton-number"></span>
            </div>
            <div class="nm-stat-card">
                <span class="nm-skeleton nm-skeleton-label"></span>
                <span class="nm-skeleton nm-skeleton-number"></span>
            </div>
            <div class="nm-stat-card">
                <span class="nm-skeleton nm-skeleton-label"></span>
                <span class="nm-skeleton nm-skeleton-number"></span>
            </div>
            <div class="nm-stat-card">
                <span class="nm-skeleton nm-skeleton-label"></span>
                <span class="nm-skeleton nm-skeleton-number"></span>
            </div>
            <div class="nm-stat-card">
                <span class="nm-skeleton nm-skeleton-label"></span>
                <span class="nm-skeleton nm-skeleton-number"></span>
            </div>
        </div>
        <div class="nm-panel nm-skeleton-table">
            <div class="nm-skeleton-row">
                <span class="nm-skeleton nm-skeleton-cell-wide"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
            </div>
            <div class="nm-skeleton-row">
                <span class="nm-skeleton nm-skeleton-cell-wide"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
            </div>
            <div class="nm-skeleton-row">
                <span class="nm-skeleton nm-skeleton-cell-wide"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
            </div>
            <div class="nm-skeleton-row">
                <span class="nm-skeleton nm-skeleton-cell-wide"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
            </div>
            <div class="nm-skeleton-row">
                <span class="nm-skeleton nm-skeleton-cell-wide"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
                <span class="nm-skeleton nm-skeleton-cell"></span>
            </div>
        </div>
    </div>
</div>
<script>
require(["<?php echo htmlspecialchars($bundle, ENT_QUOTES, 'UTF-8'); ?>"], function (app) {
    var module = app && (app.default || app);
    if (module && typeof module.mount === "function") {
        module.mount("node-manager-pm2");
    }
});
</script>