GE-Enforce editor: onboarding field guidance
Per-method detection hint: a plain-language line explains what "already correct" means for the selected detection method (Registry/File/FileVersion/ Hash/MarkerFile/ValueMatches/pnputil/Always), updating live as the author picks one. Lives in entryForm.js (DETECTION_METHOD_HINTS + detectionMethodHint) with 4 new vitest cases; the editor renders it under the dropdown. Also: relative-path hint on Installer/Source (path under the scope payload folder or an inline payload), an InUseCheck behavior hint, and refresh the entryForm.js header now that the editor imports these helpers directly. vitest 49 pass; frontend build green; naming green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -334,7 +334,11 @@
|
||||
<!-- payload fields per type -->
|
||||
<div v-if="['MSI','EXE','CMD','BAT','INF'].includes(entryForm.Type)" class="settings-grid">
|
||||
<div class="setting-row">
|
||||
<label><span>Installer (relative path)</span><input v-model="entryForm.Installer" /></label>
|
||||
<label>
|
||||
<span>Installer (relative path)</span>
|
||||
<input v-model="entryForm.Installer" />
|
||||
<small class="input-hint">Path under the scope payload folder on the share, or an inline payload attached below.</small>
|
||||
</label>
|
||||
</div>
|
||||
<div class="setting-row">
|
||||
<label><span>Install args</span><input v-model="entryForm.InstallArgs" /></label>
|
||||
@@ -350,7 +354,11 @@
|
||||
</div>
|
||||
<div v-if="entryForm.Type === 'File'" class="settings-grid">
|
||||
<div class="setting-row">
|
||||
<label><span>Source (relative)</span><input v-model="entryForm.Source" /></label>
|
||||
<label>
|
||||
<span>Source (relative)</span>
|
||||
<input v-model="entryForm.Source" />
|
||||
<small class="input-hint">Path under the scope payload folder on the share, or an inline payload attached below.</small>
|
||||
</label>
|
||||
</div>
|
||||
<div class="setting-row">
|
||||
<label><span>Destination (absolute)</span><input v-model="entryForm.Destination" /></label>
|
||||
@@ -408,6 +416,7 @@
|
||||
<option value="">(none: always installs)</option>
|
||||
<option v-for="method in availableDetectionMethods" :key="method" :value="method">{{ method }}</option>
|
||||
</select>
|
||||
<small v-if="detectionMethodHint" class="input-hint">{{ detectionMethodHint }}</small>
|
||||
<small v-if="isPreinstallScope" class="input-hint">Preinstall supports Registry/File detection only.</small>
|
||||
</label>
|
||||
</div>
|
||||
@@ -497,6 +506,7 @@
|
||||
<option value="">(none)</option>
|
||||
<option v-for="behavior in INUSE_BEHAVIORS" :key="behavior" :value="behavior">{{ behavior }}</option>
|
||||
</select>
|
||||
<small class="input-hint">What to do when a process below is running: Defer skips this cycle, CloseAndReopen restarts it, ForceClose kills it, ScheduleForReboot defers to next reboot.</small>
|
||||
</label>
|
||||
</div>
|
||||
<div v-if="entryForm.inuseBehavior" class="process-editor">
|
||||
@@ -569,7 +579,7 @@ import {
|
||||
describeEntry, availableEntryTypes as availableEntryTypesFor,
|
||||
availableDetectionMethods as availableDetectionMethodsFor,
|
||||
targetingGates as targetingGatesFor, targetingHint as targetingHintFor,
|
||||
scopeSummary as scopeSummaryFor,
|
||||
scopeSummary as scopeSummaryFor, detectionMethodHint as detectionMethodHintFor,
|
||||
} from './entryForm'
|
||||
|
||||
const scopes = ref([])
|
||||
@@ -588,6 +598,8 @@ const availableEntryTypes = computed(() =>
|
||||
availableEntryTypesFor(isPreinstallScope.value, entryForm.value?.Type))
|
||||
const availableDetectionMethods = computed(() =>
|
||||
availableDetectionMethodsFor(isPreinstallScope.value, entryForm.value?.DetectionMethod))
|
||||
const detectionMethodHint = computed(() =>
|
||||
detectionMethodHintFor(entryForm.value?.DetectionMethod))
|
||||
const scopeSummary = computed(() => scopeSummaryFor(detail.value))
|
||||
const showAllTargeting = ref(false)
|
||||
const targetingGates = computed(() => targetingGatesFor(detail.value))
|
||||
|
||||
Reference in New Issue
Block a user