deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.

This commit is contained in:
2026-08-27 14:51:37 +08:00
parent 1fc510af5e
commit 2a98ae7556
1468 changed files with 182837 additions and 18888 deletions
@@ -87,9 +87,9 @@
<article data-uid="">
<h1 id="step-present-preference-page">Step Present Preference Page</h1>
<p>The model <a class="xref" href="../../api/Hi.HiNcKits.UserService.html">UserService</a> is from its parent component. The <a class="xref" href="../../api/Hi.HiNcKits.UserService.html#Hi_HiNcKits_UserService_UserConfig">UserConfig</a> is rapidly used.</p>
<p>The model of Candidate Keys Panel is <a class="xref" href="../../api/Hi.HiNcKits.UserService.html#Hi_HiNcKits_UserService_CandidateStepPresentKeyList">CandidateStepPresentKeyList</a>.
The model of Displayed Keys Panel is <a class="xref" href="../../api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_DisplayedStepPresentKeyList">DisplayedStepPresentKeyList</a>.</p>
<p>The model <a class="xref" href="../../sample/Sample.Common.UserService.html">UserService</a> is from its parent component. The <a class="xref" href="../../sample/Sample.Common.UserService.html#Sample_Common_UserService_UserConfig">UserConfig</a> is rapidly used.</p>
<p>The model of Candidate Keys Panel is <a class="xref" href="../../sample/Sample.Common.UserService.html#Sample_Common_UserService_CandidateStepPresentKeyList">CandidateStepPresentKeyList</a>.
The model of Displayed Keys Panel is <a class="xref" href="../../sample/Sample.Common.UserConfig.html#Sample_Common_UserConfig_DisplayedStepPresentKeyList">DisplayedStepPresentKeyList</a>.</p>
<h2 id="layout">Layout</h2>
<ul>
<li>Step Present Preference Page (or window)
@@ -124,15 +124,15 @@ The model of Displayed Keys Panel is <a class="xref" href="../../api/Hi.HiNcKits
</ul>
<p>The categories are not defined for programming logic but only for user experience. So decide and define the categories in the GUI here only.</p>
<p>Since the Keys are not all come from the properties of <a class="xref" href="../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a>, a category panel (Category Other Panel) for the uncategoried keys is required.</p>
<p>The keys in the Displayed Keys Panel is in sequence of <a class="xref" href="../../api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_DisplayedStepPresentKeyList">DisplayedStepPresentKeyList</a>. User tune the sequence and remove key by the Displayed Keys Panel. User add and remove the key from the ToggleButtons in Candidate Keys Panel. Those UI control items are required.</p>
<p>The keys in the Displayed Keys Panel is in sequence of <a class="xref" href="../../sample/Sample.Common.UserConfig.html#Sample_Common_UserConfig_DisplayedStepPresentKeyList">DisplayedStepPresentKeyList</a>. User tune the sequence and remove key by the Displayed Keys Panel. User add and remove the key from the ToggleButtons in Candidate Keys Panel. Those UI control items are required.</p>
<p>To both Candidate Keys Panel and Displayed Keys Panel:
Apply <a class="xref" href="../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.<a class="xref" href="../../api/Hi.MachiningSteps.PresentAttribute.html#Hi_MachiningSteps_PresentAttribute_Name">Name</a> as Key label by <a class="xref" href="../../api/Hi.HiNcKits.UserService.html#Hi_HiNcKits_UserService_StepPresentAccessDictionary">StepPresentAccessDictionary</a>. Apply the key to the button tooltip.</p>
Apply <a class="xref" href="../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.<a class="xref" href="../../api/Hi.MachiningSteps.PresentAttribute.html#Hi_MachiningSteps_PresentAttribute_Name">Name</a> as Key label by <a class="xref" href="../../sample/Sample.Common.UserService.html#Sample_Common_UserService_StepPresentAccessDictionary">StepPresentAccessDictionary</a>. Apply the key to the button tooltip.</p>
<p>The resx of <a class="xref" href="../../api/Hi.MachiningSteps.MachiningStep.html">MachiningStep</a> contains the translation of <a class="xref" href="../../api/Hi.MachiningSteps.PresentAttribute.html">PresentAttribute</a>.<a class="xref" href="../../api/Hi.MachiningSteps.PresentAttribute.html#Hi_MachiningSteps_PresentAttribute_Name">Name</a>, apply the translation to the GUI. If the translation not existed, use the original value.</p>
<h3 id="categories">Categories</h3>
<p>Categories are a GUI-level grouping of keys. The seven canonical categories are hard-coded on both the WPF window and the webservice backend, and share the same <code>nameof(MachiningStep.*)</code> switch so that adding a new property requires one change in one place (<code>ResolveStepPresentCategory(key)</code>). The current category order is:</p>
<ol>
<li>File (<code>NcName</code>, <code>NcLineNumber</code>, …).</li>
<li>Time (<code>AccumulatedTime</code>, <code>StepTime</code>, …).</li>
<li>Time (<code>EndTimecode</code>, <code>StepTime</code>, …).</li>
<li>Tool (<code>ToolId</code>, <code>CutterName</code>, …).</li>
<li>Coordinate (<code>Position</code>, <code>Coordinate</code>, <code>Orientation</code>, …).</li>
<li>Motion (<code>Feedrate</code>, <code>SpindleSpeed</code>, <code>Move</code>, …).</li>