Files
ogs-site/en/news/welcome-component.html

87 lines
3.8 KiB
HTML

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet" href="../../style.css">
</head>
<body>
<script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
<div id="header">
<div class="header2">
<div class="menu">
<a href="../../en/news/index.html">News</a>
<a href="../../en/game/index.html">Games</a>
<a href="../../en/tool/index.html">Tools</a>
<a href="../../en/page/about.html">About</a>
</div>
<div id="lang">
<a href="../../en/news/welcome-component.html">EN</a>
<a href="../../ru/news/welcome-component.html">RU</a>
</div>
<div class="clear"></div>
</div>
</div>
<h3 class="left_item_title">In the news...</h3>
<center>
<div class="news_item">
<h2 class="news_item_title">
<a href="welcome-component.html">PSKOV 2 editor and components</a>
</h2>
<p class="news_item_date">
2025-06-03
</p>
<div class="news_item_contents">
<video controls width="700">
<source src="../../images/2025-06_welcome-component.mp4" type="video/mp4"/>
</video>
<h1 id="pskov2editordraft">PSKOV 2 editor draft</h1>
<p>In May I created PSKOV 2 editor draft which is only capable of:</p>
<ol>
<li>display two left menu items</li>
<li>display contents in the right for the selected menu item</li>
</ol>
<p>You probably can't see anything substantial in this, however, the listed
functionality is run by a component. In this case it's called <a href="https://github.com/kornerr/pskov2/blob/main/welcome.js">WelcomeComponent</a>.
Future functionality like Git and Markdown is expected to follow the same pattern of
components.</p>
<p>The structure of components is not yet stable, but here's a short excerpt of
the constructor of <code>WelcomeComponent</code> just so you can feel the mood:</p>
<pre><code class="javascript language-javascript">function WelcomeComponent() {
this._construct = function() {
this.ctrl = new CLDController(new WelcomeContext());
// Dbg.
this.ctrl.registerCallback((c) =&gt; {
console.log(`ИГР WelcomeC._construct ctrl key/value: '${c.recentField}'/'${c.field(c.recentField)}'`);
});
this.setupHTML();
this.setupEffects();
this.setupEvents();
this.setupShoulds();
};
- - - -
</code></pre>
<h1 id="june">June</h1>
<p>In June I plan to create a draft version of Git component.</p>
</div>
</div>
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://opengamestudio.org/en/news/welcome-component.html";
this.page.identifier = "welcome-component.html";
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://opengamestudio.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<div id="footer">
The site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>
from <a href="http://github.com/ogstudio/site-opengamestudio">this source code</a>.
</div>
</center>
</body>
</html>