First commit of group-ironmen-master directory.

This commit is contained in:
2025-10-27 08:25:16 +08:00
commit a8467389ef
26390 changed files with 35396 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
class ConfirmDialogManager {
get globalConfirmDialog() {
if (this._globalConfirmDialog) return this._globalConfirmDialog;
this._globalConfirmDialog = document.querySelector("confirm-dialog");
return this._globalConfirmDialog;
}
confirm(options) {
const confirmDialog = this.globalConfirmDialog;
confirmDialog.show(options);
}
}
const confirmDialogManager = new ConfirmDialogManager();
export { confirmDialogManager };

View File

@@ -0,0 +1,11 @@
.confirm-dialog__container {
width: 350px;
}
.confirm-dialog__buttons {
display: flex;
}
.confirm-dialog__buttons > button + button {
margin-left: 8px;
}

View File

@@ -0,0 +1,12 @@
<div class="dialog__container confirm-dialog__container rsborder rsbackground">
<h2>${this.headline}</h2>
<p>${this.body}</p>
<div class="confirm-dialog__buttons">
<button class="confirm-dialog__yes men-button">
Yes
</button>
<button class="confirm-dialog__no men-button">
No
</button>
</div>
</div>

View File

@@ -0,0 +1,47 @@
import { BaseElement } from "../base-element/base-element";
export class ConfirmDialog extends BaseElement {
constructor() {
super();
}
html() {
return `{{confirm-dialog.html}}`;
}
connectedCallback() {
super.connectedCallback();
}
disconnectedCallback() {
super.disconnectedCallback();
}
show(options) {
this.headline = options.headline;
this.body = options.body;
this.render();
const confirmYes = this.querySelector(".confirm-dialog__yes");
const confirmNo = this.querySelector(".confirm-dialog__no");
this.eventListener(confirmYes, "click", () => {
this.unbindEvents();
this.hide();
options.yesCallback();
});
this.eventListener(confirmNo, "click", () => {
this.unbindEvents();
this.hide();
options.noCallback();
});
this.classList.add("dialog__visible");
}
hide() {
this.classList.remove("dialog__visible");
}
}
customElements.define("confirm-dialog", ConfirmDialog);