alfredbhttps://write.tchncs.de/@/alfredb/atom.xml2023-02-25T10:29:51.512907+00:00<![CDATA[Ein echter Aufsteller!]]>https://write.tchncs.de/~/Beyond65/Ein%20echter%20Aufsteller!/2023-02-25T10:29:51.512907+00:00alfredbhttps://write.tchncs.de/@/alfredb/2023-02-25T10:29:51.512907+00:00<![CDATA[<p dir="auto">Für Updates meiner Web-Apps bin ich dazu übergegangen, die neue Software nicht mehr einfach darüber zu bügeln, auch wenn die Anleitungen das so empfehlen. Meine Erfahrungen in diesem Punkt sind eher schlecht, wenn etwas nicht klappt, wird es unter Umständen schwierig, das zu reparieren. Besser ist es, die neue Software parallel zu installieren. Ich bezeichne inzwischen auch die Verzeichnisse, wenn möglich, mit der Versionsnummer. Ein Update kann dann so einfach sein, wie im Fall von Wallabag 2.5.1 auf 2.5.4.</p>
<ul dir="auto">
<li>Das aktuelle Verzeichnis ist <em>wallabag-2.5.1/</em></li>
<li>Download gemäss Anleitung erstellt ein <em>wallabag-2.5.4/</em>
<code>wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package</code></li>
<li>Das File <em>wallabag-2.5.1/app/config/parameters.yml</em> in die neue Hierarchie übernehmen.</li>
<li>Die <em>document-root</em> auf das neue Verzeichnis umstellen.</li>
<li>Fertig</li>
</ul>
<p dir="auto">Einfacher ist kaum mehr möglich. Ein echter Aufsteller!</p>
]]><![CDATA[Checkbox: gecheckt!]]>https://write.tchncs.de/~/Beyond65/Checkbox:%20gecheckt!/2023-02-17T07:18:24.309448+00:00alfredbhttps://write.tchncs.de/@/alfredb/2023-02-17T07:18:24.309448+00:00<![CDATA[<p dir="auto">Bei der Programmierung für Kanboard Plugins gibt es Hilfsroutinen, um einfach (?) HTML-Form-Elemente zu erstellen. Um etwas zügiger damit arbeiten zu können, habe ich mal die am häufigsten benutzten Elemente im Trockenen ausprobiert. Einen wirklichen Hänger hatte ich dabei nur bei den Checkbox Elementen.</p>
<h3 dir="auto">Einzelne Checkbox</h3>
<p dir="auto">Das ist noch relativ gradlinig und daher kaum ein Problem. Aus dem Template-Code</p>
<pre><code dir="auto"><span class=""><span class=""><span class=""><span class="punctuation"><?=</span></span><span class=""><span class="source"> <span class="variable language"><span class="punctuation variable">$</span>this</span><span class="punctuation">-></span><span class="variable">form</span><span class=""><span class="punctuation">-></span><span class="variable function">checkbox</span></span><span class=""><span class=""><span class="punctuation">(</span></span></span><span class=""><span class=""><span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">no_adv</span><span class="punctuation string">'</span></span><span class="punctuation">,</span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Wünscht keine Werbung</span><span class="punctuation string">'</span></span><span class="punctuation">,</span> <span class="constant numeric">1</span><span class="punctuation">,</span> <span class=""><span class="support function">isset</span></span><span class=""><span class=""><span class="punctuation">(</span></span></span><span class=""><span class=""><span class="variable"><span class="punctuation variable">$</span>values</span><span class=""><span class="punctuation">[</span></span><span class=""><span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">no_adv</span><span class="punctuation string">'</span></span></span><span class=""><span class="punctuation">]</span></span><span class=""><span class=""><span class="punctuation">)</span></span></span></span></span> <span class="keyword operator">&</span><span class="keyword operator">&</span> <span class="variable"><span class="punctuation variable">$</span>values</span><span class=""><span class="punctuation">[</span></span><span class=""><span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">no_adv</span><span class="punctuation string">'</span></span></span><span class=""><span class="punctuation">]</span></span> <span class="keyword operator">==</span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">1</span><span class="punctuation string">'</span></span> <span class=""><span class=""><span class="punctuation">)</span></span></span></span></span> </span><span class="punctuation">?><span class="">
</span></span></span></span></span></code></pre>
<p dir="auto">wird HTML eingesetzt</p>
<pre><code dir="auto"><span class=""><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>no_adv<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>1<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">checked</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checked<span class="punctuation string">"</span></span></span><span class="punctuation tag">></span></span> Wünscht keine Werbung<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
</span></code></pre>
<p dir="auto">So weit, so gut, andere machen das auch so.</p>
<h3 dir="auto">Mehrere Checkboxen</h3>
<p dir="auto">Dies kann verwendet werden, wenn die Optionen in einem Array abgelegt sind. Wirklich interessant, und wenn man mal weiss, wie genau es funktioniert, ist es gar nicht mal so schlecht.</p>
<p dir="auto">Abweichungen von der Einzel-Checkbox:</p>
<pre><code dir="auto"><span class=""><span class="">$values = array (
'beverage'=> ['beer', 'redwine'], // Nur Option 'beer' und 'redwine' sind gecheckt.
)
</span></span></code></pre>
<ul dir="auto">
<li>Das Feld <em>beverage</em> muss ein Array sein.</li>
<li>Dieses Array <em>beverage</em> muss nur die gecheckten Optionen enthalten, in diesem Fall ‘beer’ und ‘redwine’.</li>
</ul>
<p dir="auto">Ich kann damit mit einem Rutsch mehrere Checkboxen erstellen.</p>
<pre><code dir="auto"><span class=""><span class=""><span class=""><span class="punctuation"><?=</span></span><span class=""><span class="source"> <span class="variable language"><span class="punctuation variable">$</span>this</span><span class="punctuation">-></span><span class="variable">form</span><span class=""><span class="punctuation">-></span><span class="variable function">checkboxes</span></span><span class=""><span class=""><span class="punctuation">(</span></span></span><span class=""><span class=""><span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">beverage</span><span class="punctuation string">'</span></span><span class="punctuation">,</span> <span class=""><span class="support function">array</span><span class="punctuation">(</span>
<span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">water</span><span class="punctuation string">'</span></span> <span class="keyword operator">=></span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Wasser</span><span class="punctuation string">'</span></span>,
<span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">beer</span><span class="punctuation string">'</span></span> <span class="keyword operator">=></span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Bier</span><span class="punctuation string">'</span></span>,
<span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">redwine</span><span class="punctuation string">'</span></span> <span class="keyword operator">=></span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Rotwein</span><span class="punctuation string">'</span></span>,
<span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">whitewine</span><span class="punctuation string">'</span></span> <span class="keyword operator">=></span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Weisswein</span><span class="punctuation string">'</span></span>,
<span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">whisky</span><span class="punctuation string">'</span></span> <span class="keyword operator">=></span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Single Malt Whisky</span><span class="punctuation string">'</span></span>,
<span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">gin</span><span class="punctuation string">'</span></span> <span class="keyword operator">=></span> <span class="string"><span class="punctuation string">'</span></span><span class="string"><span class=""></span></span><span class="string"><span class="">Gin</span><span class="punctuation string">'</span></span>,
<span class="punctuation">)</span></span><span class="punctuation">,</span> <span class="variable"><span class="punctuation variable">$</span>values</span><span class=""><span class=""><span class="punctuation">)</span></span></span></span></span> </span><span class="punctuation">?><span class="">
</span></span></span></span></span></code></pre>
<p dir="auto">Resultierender HTML-Code</p>
<pre><code dir="auto"><span class=""><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beverage[water]<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>water<span class="punctuation string">"</span></span></span> <span class="punctuation tag">></span></span> Wasser<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
<span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beverage[beer]<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beer<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">checked</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checked<span class="punctuation string">"</span></span></span><span class="punctuation tag">></span></span> Bier<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
<span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beverage[redwine]<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>redwine<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">checked</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checked<span class="punctuation string">"</span></span></span><span class="punctuation tag">></span></span> Rotwein<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
<span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beverage[whitewine]<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>whitewine<span class="punctuation string">"</span></span></span> <span class="punctuation tag">></span></span> Weisswein<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
<span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beverage[whisky]<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>whisky<span class="punctuation string">"</span></span></span> <span class="punctuation tag">></span></span> Single Malt Whisky<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
<span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span><span class="tag"><span class="punctuation tag"><</span><span class="entity name tag">input</span> <span class=""><span class="entity attribute-name">type</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>checkbox<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">name</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>beverage[gin]<span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">class</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span><span class=""><span class="string"><span class="punctuation string">"</span></span></span> <span class=""><span class="entity attribute-name">value</span><span class="punctuation">=</span></span><span class=""><span class="string"><span class="punctuation string">"</span>gin<span class="punctuation string">"</span></span></span> <span class="punctuation tag">></span></span> Gin<span class="tag"><span class="punctuation tag"></</span><span class="entity name tag">label</span><span class="punctuation tag">></span></span>
</span></code></pre>
<p dir="auto">Die Daten werden als Form an den Server gepostet.</p>
<pre><code dir="auto">beverage[beer] "beer"
beverage[redwine] "redwine"
test_cbx[gamma] "0"
beverage[water] "0"
beverage[whitewine] "0"
beverage[whisky] "0"
beverage[gin] "0"
</code></pre>
<p dir="auto">PHP macht aus dem empfangenen Feld ein Array, bei gecheckten Optionen ist Inhalt = Index, andernfalls 0. Das ist auch der Grund, wieso 0 nicht als Index verwendet werden kann bzw. sollte.</p>
<p dir="auto">Hier sind also “beer” und “redwine” gecheckt, die Restlichen nicht.</p>
<pre><code dir="auto"> ["beverage"]=> array(6) {
["beer"]=> string(4) "beer"
["redwine"]=> string(7) "redwine"
["water"]=> string(1) "0"
["whitewine"]=> string(1) "0"
["whisky"]=> string(1) "0"
["gin"]=> string(1) "0"
}
</code></pre>
<p dir="auto"><img src="https://write.tchncs.de/static/media/483F88DB-7307-9F99-FA40-5CB6D18D8CAC.png" alt="Screenshot"></p>
<p dir="auto">Wie zuvor erwähnt, wenn man’s mal weiss …</p>
]]><![CDATA[Der Checkbox-Hack]]>https://write.tchncs.de/~/Beyond65/Der%20Checkbox-Hack/2023-02-16T23:02:42.018752+00:00alfredbhttps://write.tchncs.de/@/alfredb/2023-02-16T23:02:42.018752+00:00<![CDATA[<p dir="auto">In Webseiten werden Ja/Nein Optionen üblicherweise mit einer Checkbox realisiert. Nun werden aber leider die damit getroffene Einstellung nur bei der Option Ja, das heisst Haken gesetzt, an den Server übermittelt. Bei Nein wird die Einstellung ignoriert, nicht an den Server übertragen. Irgendwo habe ich gelesen, das sei schon richtig so und müsse so sein. Möglicherweise ist es ja in den meisten Anwendungsfällen wirklich egal. Aber wenn man die vorgenommene Einstellung auf dem Server speichern muss, ist es keinesfalls egal. Man kann demnach nur einmal Ja übermitteln, jeder Versuch, die Einstellung wieder auf Nein zu wechseln, schlägt scheinbar unausweichlich fehl. Sucht man im Netz nach dem Problem und möglichen Lösungen, entsteht der Eindruck, dass daran schon viele Leute zu kauen gehabt haben. Eine elegante und universell brauchbare Lösung habe ich nicht gefunden.</p>
<h2 dir="auto">Workaround</h2>
<p dir="auto">Sämtliche Konfigurationsdialoge im Kanboard sind davon betroffen, man verwendet dort eigentlich fast nirgends Checkboxen. Ausser auf der eigenen Settings-Seite. Meine Neugierde liess mich das untersuchen und ich weiss jetzt auch wieso das so ist.</p>
<p dir="auto">Für alle Checkboxen wird der ausgelassene Eintrag simuliert nachgereicht. Der Server kriegt nun auch bei Option Nein einen Wert 0 geliefert. Damit können beide Zustände abgespeichert werden. Ziel erreicht.</p>
<p dir="auto">Will man in einem eigenen Setting-Dialog eine Checkbox haben, muss man zwangsläufig überall so einen Null-Patch einfügen oder einen eigenen Setting-Controller schreiben und die Umsetzung dort realisieren. Für eine bis ein paar wenige Checkboxen ein erheblicher Aufwand.</p>
<p dir="auto">Und sollte man das Prinzip nicht allgemein verwendbar umsetzen können? Ich finde schon, dass das möglich sein sollte und machte mich auf die Suche.</p>
<h2 dir="auto">Lösung</h2>
<p dir="auto">Ein selbst geschriebenes Plugin kann das auch lösen. Per Javascript hängt es jeder Post-Form auf allen Seiten einen Event-Listener für der submit Event an. Die Funktion fügt für alle Checkboxen, bei denen kein Haken gesetzt ist (unchecked) ein unsichtbares <em><input></em> Tag mit demselben Namen wie die Checkbox und dem Attribut <em>value=0</em> an. Diese werden, im Gegensatz zu den Checkboxen, an den Server übermittelt und ganz normal verarbeitet.</p>
<pre><code dir="auto"><span class="source"><span class="string"><span class="punctuation string">'</span>strict<span class="punctuation string">'</span></span><span class="punctuation">;</span>
<span class=""><span class="variable function"><span class="variable"><span class="punctuation">$</span></span></span><span class=""><span class="punctuation">(</span><span class="function declaration"><span class="storage type function">function</span> <span class="punctuation">(</span><span class="punctuation">)</span><span class="function declaration"> </span></span><span class=""><span class="punctuation">{</span>
<span class=""><span class="variable function"><span class="variable"><span class="punctuation">$</span></span></span><span class=""><span class="punctuation">(</span><span class="string"><span class="punctuation string">'</span>form[method=post]<span class="punctuation string">'</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">.</span><span class=""><span class="variable function">each</span><span class=""><span class="punctuation">(</span><span class="function declaration"><span class="storage type function">function</span> <span class="punctuation">(</span><span class="punctuation">)</span><span class="function declaration"> </span></span><span class=""><span class="punctuation">{</span>
<span class="storage type">let</span> <span class="variable">form</span> <span class="keyword operator">=</span> <span class="variable language">this</span><span class="punctuation">;</span>
<span class="variable">form</span><span class="punctuation">.</span><span class=""><span class="variable function">addEventListener</span><span class=""><span class="punctuation">(</span><span class="string"><span class="punctuation string">'</span>submit<span class="punctuation string">'</span></span><span class="punctuation">,</span> <span class="function declaration"><span class="punctuation">(</span><span class="punctuation">)</span><span class="function declaration"> </span><span class="storage type function">=></span></span> <span class=""><span class="punctuation">{</span>
<span class=""><span class="variable function"><span class="variable"><span class="punctuation">$</span></span></span><span class=""><span class="punctuation">(</span><span class="string"><span class="punctuation string">'</span>input[type=checkbox]<span class="punctuation string">'</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">.</span><span class=""><span class="variable function">each</span><span class=""><span class="punctuation">(</span><span class="function declaration"><span class="storage type function">function</span> <span class="punctuation">(</span><span class="punctuation">)</span><span class="function declaration"> </span></span><span class=""><span class="punctuation">{</span>
<span class=""><span class="keyword control">if</span> <span class=""><span class="punctuation">(</span><span class="keyword operator">!</span><span class="variable language">this</span><span class="punctuation">.</span><span class="">checked</span><span class="punctuation">)</span></span> <span class=""><span class="punctuation">{</span>
<span class="comment"><span class="punctuation comment">//</span> console.log(`Need to patch ${this.name}`);
</span> <span class="storage type">const</span> <span class="variable">dummy</span> <span class="keyword operator">=</span> <span class="support type">document</span><span class="punctuation">.</span><span class=""><span class="support function">createElement</span><span class=""><span class="punctuation">(</span><span class="string"><span class="punctuation string">'</span>input<span class="punctuation string">'</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">;</span>
<span class="variable">dummy</span><span class="punctuation">.</span><span class="">name</span> <span class="keyword operator">=</span> <span class="variable language">this</span><span class="punctuation">.</span><span class="">name</span><span class="punctuation">;</span>
<span class="variable">dummy</span><span class="punctuation">.</span><span class="">value</span> <span class="keyword operator">=</span> <span class="constant numeric">0</span><span class="punctuation">;</span>
<span class="variable">dummy</span><span class="punctuation">.</span><span class="">hidden</span> <span class="keyword operator">=</span> <span class="constant language">true</span><span class="punctuation">;</span>
<span class="variable">form</span><span class="punctuation">.</span><span class=""><span class="variable function">append</span><span class=""><span class="punctuation">(</span><span class="variable">dummy</span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">;</span>
</span><span class=""><span class="punctuation">}</span></span></span>
<span class="punctuation">}</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">;</span>
<span class="keyword control">return</span> <span class="constant language">true</span><span class="punctuation">;</span>
<span class="punctuation">}</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">;</span>
<span class="punctuation">}</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">;</span>
<span class="punctuation">}</span></span></span><span class=""><span class="punctuation">)</span></span></span><span class="punctuation">;</span>
</span></code></pre>
<p dir="auto">Ich habe das hinreichend getestet und konnte keinerlei unerwünschte Nebenwirkungen feststellen. Falls das so bleibt, werde ich das Plugin bei Kanboard registrieren.</p>
]]><![CDATA[Ich fange hier mal an.]]>https://write.tchncs.de/~/Beyond65/Ich%20fange%20hier%20mal%20an./2023-01-10T14:21:00.822020+00:00alfredbhttps://write.tchncs.de/@/alfredb/2023-01-10T14:21:00.822020+00:00<![CDATA[<p dir="auto">Nun habe ich hier also meine persönliche Schreib- und Motz-Ecke.
Ich weiss, ich sollte mal beginnen, etwas zu schreiben, aber leider weiss ich beim besten Willen nicht, was, genauer gesagt, worüber ich schreiben soll.</p>
<p dir="auto">Es ist ja nicht so, dass ich hier mein Leben dokumentieren will. Ich sehe das hier viel mehr als mein persönliches Notizbuch und/oder mein eigener Zettelkasten. Natürlich werde ich bei Bedarf hier auch mal etwas Dampf ablassen, ich bitte im vorn herein um Nachsicht.</p>
]]>