unclean SPARC

This commit is contained in:
STEINNI
2025-08-27 07:03:09 +00:00
commit f308460931
430 changed files with 54426 additions and 0 deletions
@@ -0,0 +1,3 @@
<div>
<span eicalert danger>All your preference settings will be discarded. This operation cannot be undone.</span>
</div>
@@ -0,0 +1,29 @@
class ProfilePreferencesResetDialog extends EICDialogContent {
actions = [
{
label: 'Cancel',
onclick: this.cancel.bind(this),
severity: 'secondary',
role: 'cancel'
},
{
label: 'Reset',
onclick: this.reset.bind(this),
severity: 'danger',
role: 'reset'
}
]
cancel() {
this.commit(false);
}
reset() {
app.User.preferences = {};
app.User.savePreferences();
this.commit(true);
}
}
app.registerClass('ProfilePreferencesResetDialog',ProfilePreferencesResetDialog);
@@ -0,0 +1,51 @@
<style>
.my-profile > header {
background: url('/app/assets/images/cards/userprefs.jpg');
}
.my-profile .preferences [eicdatagrid] .row {
grid-template-columns: 2fr 1fr;
}
</style>
<article eiccard media class="my-profile">
<header>
<h1>My Profile</h1>
</header>
<section>
<div class="tabs-extended">
<section>
<menu eictab>
<li>User Informations</li>
<li>Preferences</li>
</menu>
</section>
</div>
<article eiccard class="tab-content">
<section>
<div class="cols-2">
<article class="identity" eiccard collapsable>
<header><h1>User informations</h1></header>
<section >
<div eicdatagrid footer="hidden" header="hidden"></div>
</section>
</article>
<article class="roles" eiccard collapsable>
<header><h1>User Roles</h1></header>
<section >
<div eicdatagrid footer="hidden" header="hidden"></div>
</section>
</article>
</div>
</section>
</article>
<article eiccard class="tab-content preferences">
<section>
<div eicdatagrid></div>
</section>
<footer>
<div class="actions cols-1 right">
<button eicbutton small danger class="reset">Reset preferences...</button>
</div>
</footer>
</article>
</section>
</article>
+57
View File
@@ -0,0 +1,57 @@
class myProfileView extends EICDomContent {
DOMContentLoaded() {
ui.eicfy(this.el)
this.tabs = new Tab();
this.tabs.addTabs(this.findAll('menu li'), this.findAll('.tab-content'))
this.gridIdentity = new DataGrid(this.find('.identity [eicdatagrid]'), {
headers: [ { label: ''}, { label: ''} ]
});
this.gridIdentity.addRow('', [ 'First name',app.User.identity.firstname ]);
this.gridIdentity.addRow('', [ 'Last name',app.User.identity.lastname ]);
this.gridIdentity.addRow('', [ 'Email',app.User.identity.email ]);
this.gridIdentity.addRow('', [ 'EU Login',app.User.identity.uuid ]);
this.gridRoles = new DataGrid(this.find('.roles [eicdatagrid]'), {
headers: [ { label: 'Role name', filter: null, sortable: true} ]
});
for(let role of app.User.roles) { this.gridRoles.addRow(role, [ role ]); }
this.gridPreferences = new DataGrid(this.find('.preferences [eicdatagrid]'), {
headers: [
{ label: 'Key', filter: 'text', sortable: true},
{ label: 'Value', filter: 'text', sortable: false},
]
});
this.scanPreferences(app.User.preferences, '')
let resetButton = new Button(this.find('.preferences button.reset'));
resetButton.click = this.onPreferencesReset.bind(this);
}
scanPreferences(tree, path) {
for(const key in tree) {
let item = tree[key];
let newPath = `${path}${ path ? '.': ''}${key}`;
if(typeof item == 'object')
this.scanPreferences(item, newPath)
else
this.gridPreferences.addRow(key, [ newPath, item ] );
}
}
async onPreferencesReset() {
let resetted = await this.openDialog(
await this.loadContent(
'common/profile/dialogs/ProfilePreferencesResetDialog',
{ title: 'Reset your preferences' }, {}
)
);
if(resetted) { this.gridPreferences.clear(); }
}
}
app.registerClass('myProfileView',myProfileView);