graphicalInit() {
// NOTE: not window.onresize = this.re_drawBoardElts because scope (this)
window.onresize = () => this.re_drawBoardElements();
- this.re_drawBoardElements();
- this.initMouseEvents();
- const chessboard =
- document.getElementById(this.containerId).querySelector(".chessboard");
+ const g_init = () => {
+ this.re_drawBoardElements();
+ this.initMouseEvents();
+ };
+ let container = document.getElementById(this.containerId);
+ if (container.getBoundingClientRect().width == 0) {
+ // Element not ready yet
+ let ro = new ResizeObserver(() => {
+ ro.unobserve(container);
+ g_init();
+ });
+ ro.observe(container);
+ }
+ else
+ g_init();
}
re_drawBoardElements() {
margin-top: 25vh;
min-height: 500px;
min-width: 320px;
- max-width: 800px; /*useful for rules display only*/
+}
+
+#gameInfos {
+ max-width: 800px;
}
@media(max-height: 800px) {
}
#boardContainer {
- margin: 0;
- padding: 0;
- border: none;
- /* attempt https://stackoverflow.com/questions/1719452/how-to-make-a-div-always-full-screen */
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
- background: rgba(51,51,51,0.7);
- z-index: 10;
+ margin: 0;
+ padding: 0;
+ border: none;
}
h1 {