updated permissions modal

This commit is contained in:
lllllllillllllillll 2024-02-08 03:27:15 -08:00
parent 71bbb574d1
commit 24941d5f32
3 changed files with 167 additions and 61 deletions

View file

@ -1,4 +1,4 @@
## v0.21 (dev) - Another rewrite ## v0.30 (dev) - Another rewrite
* Rewrote the dashboard to use HTMX. * Rewrote the dashboard to use HTMX.
* Removed Socket.io. * Removed Socket.io.
* Views are now HTML instead of EJS. * Views are now HTML instead of EJS.

View file

@ -8,12 +8,12 @@ export const permissionsModal = (data) => {
<h5 class="modal-title">Permissions</h5> <h5 class="modal-title">Permissions</h5>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="" id="details_modal" method="POST"> <form action="" id="permissions_modal" method="POST">
<div class="accordion" id="modal-accordion"> <div class="accordion" id="modal-accordion">
<div class="accordion-item" style="border: 1px solid grey;"> <div class="accordion-item mb-3" style="border: 1px solid grey;">
<h2 class="accordion-header" id="heading-1"> <h2 class="accordion-header" id="heading-1">
<button class="accordion-button collapsed row" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-1" aria-expanded="false"> <button class="accordion-button collapsed row" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-1" aria-expanded="false">
<span class="avatar avatar-sm bg-green-lt col-3 text-start">JD</span> <span class="avatar avatar-sm bg-green-lt col-3 text-start">JD</span>
@ -24,7 +24,166 @@ export const permissionsModal = (data) => {
<div class="accordion-body pt-0"> <div class="accordion-body pt-0">
<div class="mb-2"> <div class="">
<div class="">
<div class="row mb-3">
<div class="col-9">
<label class="row text-start">
<span class="col">
All
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="all">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Uninstall
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="uninstall">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Edit
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="edit">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Upgrade
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="upgrade">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Start
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="start">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Stop
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="stop">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Pause
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="pause">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Restart
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="restart">
</label>
</div>
</div>
<div class="row mb-2">
<div class="col-9">
<label class="row text-start">
<span class="col">
Logs
</span>
</label>
</div>
<div class="col-3">
<label class="form-check form-check-single form-switch text-end">
<input class="form-check-input" type="checkbox" name="logs">
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="accordion-item mb-3" style="border: 1px solid grey;">
<h2 class="accordion-header" id="heading-2">
<button class="accordion-button collapsed row" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-2" aria-expanded="false">
<span class="avatar avatar-sm bg-cyan-lt col-3 text-start">JD</span>
<div class="col text-end" style="margin-right: 10px;">John Doe</div>
</button>
</h2>
<div id="collapse-2" class="accordion-collapse collapse" data-bs-parent="#modal-accordion">
<div class="accordion-body pt-0">
<div class="">
<div class=""> <div class="">
<div class="row mb-3"> <div class="row mb-3">
@ -187,62 +346,6 @@ export const permissionsModal = (data) => {
</div> </div>
<div class="accordion-item mt-2" style="border: 1px solid grey;">
<h2 class="accordion-header" id="heading-2">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-2" aria-expanded="false">
Volumes
</button>
</h2>
<div id="collapse-2" class="accordion-collapse collapse" data-bs-parent="#modal-accordion">
<div class="accordion-body pt-0">
</div>
</div>
</div>
<div class="accordion-item mt-2" style="border: 1px solid grey;">
<h2 class="accordion-header" id="heading-3">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-3" aria-expanded="false">
Environment Variables
</button>
</h2>
<div id="collapse-3" class="accordion-collapse collapse" data-bs-parent="#modal-accordion">
<div class="accordion-body pt-0">
</div>
</div>
</div>
<div class="accordion-item mt-2" style="border: 1px solid grey;">
<h2 class="accordion-header" id="heading-4">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-4" aria-expanded="false">
Labels
</button>
</h2>
<div id="collapse-4" class="accordion-collapse collapse" data-bs-parent="#modal-accordion">
<div class="accordion-body pt-0">
</div>
</div>
</div>
<div class="accordion-item mt-2" style="border: 1px solid grey;">
<h2 class="accordion-header" id="heading-5">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-5" aria-expanded="false">
Extras
</button>
</h2>
<div id="collapse-5" class="accordion-collapse collapse" data-bs-parent="#modal-accordion">
<div class="accordion-body pt-0">
</div>
</div>
</div>
</div> </div>
</form> </form>
</div> </div>

View file

@ -5,7 +5,7 @@ import ejs from 'ejs';
import Docker from 'dockerode'; import Docker from 'dockerode';
import { Readable } from 'stream'; import { Readable } from 'stream';
import { router } from './router/index.js'; import { router } from './router/index.js';
import { sequelize, Container } from './database/models.js'; import { sequelize, Container, Permission } from './database/models.js';
import { currentLoad, mem, networkStats, fsSize, dockerContainerStats, dockerImages, networkInterfaces } from 'systeminformation'; import { currentLoad, mem, networkStats, fsSize, dockerContainerStats, dockerImages, networkInterfaces } from 'systeminformation';
import { containerCard } from './components/containerCard.js'; import { containerCard } from './components/containerCard.js';
import { modal } from './components/modal.js'; import { modal } from './components/modal.js';
@ -313,6 +313,9 @@ router.get('/modal', async (req, res) => {
let id = req.header('hx-trigger'); let id = req.header('hx-trigger');
if (id == 'permissions') { if (id == 'permissions') {
let containerPermissions = await Permission.findAll({ where: {containerName: name}});
console.log(containerPermissions);
let form = permissionsModal(); let form = permissionsModal();
res.send(form); res.send(form);
return; return;