First commit

This commit is contained in:
2025-12-25 11:16:59 +01:00
commit 0c5ca09a63
720 changed files with 329234 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import button from "/elements/button.js";
import groups from '/user/group/user.group.permission.js';
export default class deleteButton extends button {
text = "Delete";
propegateEvent = false;
async click() {
var sure = confirm("Are you sure you want to delete this item");
if( sure ) {
await this.parent.parent.delete();
this.parent.parent.remove();
}
}
permission() {
this.allow( groups.admin, "DELETE" );
}
}

View File

@@ -0,0 +1,23 @@
import gridViewColumn from '/elements/gridView/gridView.body.row.column.js';
import deleteButton from "./user.userList.item.actions.deleteButton.js"
export default class userListItemActions extends gridViewColumn, gridViewColumn{
useCustomElement = false;
padding = 20;
display = "table-cell";
layers = 1;
paddingLeft = 30;
borderRadius;
deleteButton = new deleteButton();
}

View File

@@ -0,0 +1,96 @@
import user from '/user/user.js';
import username from './user.userList.item.username.js';
import actions from './user.userList.item.actions.js';
import groups from '/user/group/user.group.permission.js';
import gridViewRow from '/elements/gridView/gridView.body.row.js';
export default class userListItem extends user, gridViewRow {
username = new username();
actions = new actions();
cursor = "pointer";
background;
#ifdef MACOS
fontSize = 14;
#endif
#ifdef DARK
mouseHoverColor = "#363333";
#endif
#ifdef LIGHT
mouseHoverColor = "rgb(255 255 255 / 95%)";
#endif
async click() {
this.stateMachine.composeState( "User", this.id );
await this.loadPage( this.id );
}
state async loadPage( id ) {
var rightSide = this.parents("rightSide");
rightSide.hideChildren();
var editUser = rightSide.editUser;
editUser.id = this.id;
editUser.show();
await editUser.sync();
}
mouseover() {
this.background = this.mouseHoverColor;
}
mouseleave() {
this.background = "none";
}
enableDELETE() {
this.actions.show();
}
disableDELETE() {
this.actions.hide();
}
permission() {
this.allow( groups.admin, "DELETE" );
}
}

View File

@@ -0,0 +1,12 @@
import userName from '/user/user.username.js';
import gridViewColumn from '/elements/gridView/gridView.body.row.column.js';
export default class userListItemTitle extends userName, gridViewColumn{
}