// Special treatment for events (ex: onclick)
if (k.startsWith("on"))
el[k.toLowerCase()] = attrs[k];
+ // 2. Direct DOM properties (textContent, innerHTML, value, checked)
+ else if (k in el)
+ el[k] = attrs[k];
+ // Standard HTML attributs (class, id, data-*, etc.)
else
el.setAttribute(k, attrs[k]);
});
.then(txt => {
const container = $.getElementById("gameInfos");
container.innerHTML = ""; //initial cleaning
-
+console.log(gameInfos);
// 1. Players infos
const playerDiv = h('div', { class: 'players-info' }, [
h('p', null, [
const optionsInfos = h('div', { class: 'options-info' });
const activeOptions =
Object.entries(gameInfos.options).filter(opt => !!opt[1]);
-
+
let i = 0;
while (i < activeOptions.length) {
const row = h('div', { class: 'row' });
// Final assembling
container.append(
playerDiv,
- activeOptions.length > 0 ? optionsInfos : null,
+ //activeOptions.length > 0 ? optionsInfos : null,
rulesDiv,
btnWrap
);
infoIcon.innerHTML = `<svg viewBox="0.5 0.5 100 100"><path d="M50.5,0.5c-27.614,0-50,22.386-50,50c0,27.614,22.386,50,50,50s50-22.386,50-50C100.5,22.886,78.114,0.5,50.5,0.5z M60.5,85.5h-20v-40h20V85.5z M50.5,35.5c-5.523,0-10-4.477-10-10s4.477-10,10-10c5.522,0,10,4.477,10,10S56.022,35.5,50.5,35.5z"/></svg>`;
const stopIcon = h('div', { id: 'upRightStop', onclick: confirmStopGame });
- stopIcon.innerHTML = `<svg viewBox="0 0 533.333 533.333"><path d="M528.468,428.468c-0.002-0.002-0.004-0.004-0.006-0.005L366.667,266.666l161.795-161.797c0.002-0.002,0.004-0.003,0.006-0.005c1.741-1.742,3.001-3.778,3.809-5.946c2.211-5.925,0.95-12.855-3.814-17.62l-76.431-76.43 c-4.765-4.763-11.694-6.024-17.619-3.812c-2.167,0.807-4.203,2.066-5.946,3.807L266.667,166.666 L104.87,4.869c-5.945-3.807-92.993-1.156-81.3,4.869 L4.869,81.3c-4.764,4.765-6.024,11.694-3.813,17.619l161.797,161.796L4.869,428.464c3.813,17.619,81.3,528.464,98.92,532.277c161.796-161.797l161.795,161.797c5.927,2.212,17.619-3.813l76.43-76.432c3.815-17.62 C531.469,432.246,528.468,428.468z"/></svg>`;
+ stopIcon.innerHTML = `<svg viewBox="0 0 533.333 533.333" xmlns="http://www.w3.org/2000/svg">
+ <path d="M528.468,428.468 L366.667,266.666 L528.462,104.869 C533.227,100.104 533.227,92.373 528.462,87.608 L445.725,4.871 C440.96,-0.106 433.229,-0.106 428.464,4.871 L266.667,166.668 L104.87,4.871 C100.105,-0.106 92.374,-0.106 87.609,4.871 L4.872,87.608 C-0.105,92.373 -0.105,100.104 4.872,104.869 L166.669,266.666 L4.872,428.463 C-0.105,433.228 -0.105,440.959 4.872,445.724 L87.609,528.461 C92.374,533.226 100.105,533.226 104.87,528.461 L266.667,366.664 L428.464,528.461 C433.229,533.226 440.96,533.226 445.725,528.461 L528.462,445.724 C533.227,440.959 533.227,433.228 528.468,428.468 Z" fill="currentColor"/>
+</svg>`;
const board = h('div', { class: 'chessboard' });
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class AbsorptionRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js";
import {Random} from "/utils/alea.js";
import {FenUtil} from "/utils/setupPieces.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js";
export default class AliceRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class Align4Rules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js";
export default class AmbiguousRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import AbstractAntikingRules from "/variants/_Antiking/class.js";
import BerolinaPawnSpec from "/variants/_Berolina/pawnSpec.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import AbstractAntikingRules from "/variants/_Antiking/class.js";
import {Random} from "/utils/alea.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class AntimatterRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js";
export default class ApocalypseRules extends ChessRules {
<html>
<head>
<title>Apocalypse Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Apocalypse/style.css" rel="stylesheet"/>
</head>
<body>
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class ArenaRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {Random} from "/utils/alea.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js";
export default class BalaklavaRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class BalancedRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
<html>
<head>
<title>Bario Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Checkered/style.css" rel="stylesheet"/>
</head>
<body>
<html>
<head>
<title>Baroque Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Baroque/style.css" rel="stylesheet"/>
</head>
<body>
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import BerolinaPawnSpec from "/variants/_Berolina/pawnSpec.js";
export default class BerolinaRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {Random} from "/utils/alea.js";
import {ArrayFun} from "/utils/array.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class BrotherhoodRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class CannibalRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js";
export default class CapablancaRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class CaptureRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js";
import {Random} from "/utils/alea.js";
import {FenUtil} from "/utils/setupPieces.js";
<html>
<head>
<title>Chakart Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Chakart/style.css" rel="stylesheet"/>
</head>
<body>
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
<html>
<head>
<title>Checkered Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Checkered/style.css" rel="stylesheet"/>
</head>
<body>
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class ChecklessRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class Chess960Rules extends ChessRules {};
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js";
export default class CircularRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class ClorangeRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
// TODO: there was an issue: I forgot which.. TOFIND and TOFIX :)
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js"
export default class CoregalRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class CoronationRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class CrazyhouseRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class CrossingRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js"
export default class CwdaRules extends ChessRules {
<html>
<head>
<title>Different Armies Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Cwda/style.css" rel="stylesheet"/>
</head>
<body>
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class CylinderRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class DarkRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js";
import {Random} from "/utils/alea.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {Random} from "/utils/alea.js";
export default class DiceRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js"
export default class DiscoduelRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class DobutsuRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class DoublearmyRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class DoublemoveRules extends ChessRules {
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class DynamoRules extends ChessRules {
<html>
<head>
<title>Dynamo Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Dynamo/style.css" rel="stylesheet"/>
</head>
<body>
import {FenUtil} from "/utils/setupPieces.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
<html>
<head>
<title>Eightpieces Rules</title>
- <link href="/common.css" rel="stylesheet"/>
+ <link href="/css/common.css" rel="stylesheet"/>
<link href="/variants/Eightpieces/style.css" rel="stylesheet"/>
</head>
<body>
-import { ChessRules, Move, PiPo } from "@/base_rules";
+import { ChessRules, Move, PiPo } from "@/js/base_rules";
import { randInt } from "@/utils/alea";
import { ArrayFun } from "@/utils/array";
-import { ChessRules } from "@/base_rules";
+import { ChessRules } from "@/js/base_rules";
export class EmpireRules extends ChessRules {
});
}
- // TODO: some merging to do with Orda method (and into base_rules.js)
+ // TODO: some merging to do with Orda method (and into js/base_rules.js)
getSlideNJumpMoves_([x, y], steps, oneStep) {
let moves = [];
outerLoop: for (let step of steps) {
-import { ChessRules, PiPo, Move } from "@/base_rules";
+import { ChessRules, PiPo, Move } from "@/js/base_rules";
export class EnpassantRules extends ChessRules {
-import { ChessRules } from "@/base_rules";
+import { ChessRules } from "@/js/base_rules";
export class EvolutionRules extends ChessRules {
-import { ChessRules } from "@/base_rules";
+import { ChessRules } from "@/js/base_rules";
export class ExtinctionRules extends ChessRules {
-import { ChessRules, Move, PiPo } from "@/base_rules";
+import { ChessRules, Move, PiPo } from "@/js/base_rules";
import { randInt } from "@/utils/alea";
export class FanoronaRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {ArrayFun} from "/utils/array.js";
import {Random} from "/utils/alea.js";
import {FenUtil} from "/utils/setupPieces.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class MadrasiRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class ProgressiveRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class RecycleRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class RefusalRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class RifleRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class SleepyRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import {FenUtil} from "/utils/setupPieces.js";
import PiPo from "/utils/PiPo.js";
import Move from "/utils/Move.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class TeleportRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import Move from "/utils/Move.js";
import PiPo from "/utils/PiPo.js";
import {ArrayFun} from "/utils/array.js";
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class ZenRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class AbstractAntikingRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class AbstractClickFillRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
export default class AbstractFlipRules extends ChessRules {
-import ChessRules from "/base_rules.js";
+import ChessRules from "/js/base_rules.js";
import Move from "/utils/Move.js";
import PiPo from "/utils/PiPo.js";