Initial support for builds
All checks were successful
Build / build (push) Successful in 2m16s

This commit is contained in:
2025-06-15 07:47:30 +02:00
parent 13617eed6d
commit 8cbededc79
10 changed files with 161 additions and 52 deletions

View File

@@ -8,6 +8,7 @@
<tr th:each="p : ${d.getProperties()}">
<td bgcolor="#d3d3d3"><b><label th:text="${p.displayName}" th:for="${d.asString(p)}" th:title="${p.description}"></label></b></td>
<td th:switch="${p.type.nameOrEnum()}">
<!-- Property Type: String List -->
<span th:case="STRING">
<select th:if="${p.inputList}" th:id="${d.asString(p)+'-list'}" th:name="${d.asString(p)+'-list'}">
<option value="__new__">New...</option>
@@ -17,8 +18,9 @@
<input type="text" th:id="${d.asString(p)}" th:name="${d.asString(p)}" th:value="${p.getValue(asset)}" th:placeholder="${p.displayName}" th:required="${p.required}"/>
</span>
<input th:case="STRING" type="text" th:id="${d.asString(p)}" th:name="${d.asString(p)}" th:value="${p.getValue(asset)}" th:placeholder="${p.displayName}" th:required="${p.required}"/>
<!-- Property Type: Integer -->
<input th:case="INTEGER" type="number" th:id="${d.asString(p)}" th:name="${d.asString(p)}" th:value="${(p.name == 'qr' && action == 'duplicate') ? null : p.getValue(asset)}" th:required="${p.required}"/>
<!-- <input th:case="BOOLEAN" type="checkbox" th:id="${d.asString(p)}" th:name="${d.asString(p)}" th:value="true" th:checked="${asset != null ? p.getValue(asset) : p.defaultValue}"/>-->
<!-- Property Type: Boolean -->
<span th:case="BOOLEAN">
<input th:name="${d.asString(p)}" th:id="${d.asString(p)}+'-null'" type="radio" value="null" th:checked="${asset == null || (p.getValue(asset) == null)}">
<label th:for="${d.asString(p)}+'-null'">Not known</label>
@@ -27,9 +29,11 @@
<input th:name="${d.asString(p)}" th:id="${d.asString(p)}+'-false'" type="radio" value="false" th:checked="${asset != null && (p.getValue(asset) == false)}">
<label th:for="${d.asString(p)}+'-false'">No</label>
</span>
<!-- Property Type: Enum -->
<select th:case="enum" th:id="${d.asString(p)}" th:name="${d.asString(p)}">
<option th:each="o : ${p.options}" th:value="${o.value}" th:text="${o.displayName}" th:selected="${asset != null ? (p.getValue(asset) == o.enumConstant) : o.defaultValue}">Good</option>
</select>
<!-- Property Type: Capacity -->
<span th:case="CAPACITY">
<input type="number" th:id="${d.asString(p)+'-value'}" th:name="${d.asString(p)+'-value'}" th:required="${p.required}" th:value="${p.asCapacity(asset)?.getCapacityInUnit() ?: ''}"/>
<select th:id="${d.asString(p)}+'-unit'" th:name="${d.asString(p)}+'-unit'">
@@ -44,6 +48,13 @@
<option value="1099511627776" th:if="${p.capacityAsIEC}" th:selected="${p.asCapacity(asset)?.getIdealUnit()?.name() == 'TEBIBYTES'}">TiB</option>
</select>
</span>
<!-- Property Type: Build-->
<span th:case="BUILD">
<select th:id="${d.asString(p)}" th:name="${d.asString(p)}">
<option value="" th:selected="${p.getValue(asset) == null}">(Unknown)</option>
<option th:each="b : ${builds}" th:value="${b.getId()}" th:selected="${p.getValue(asset) == b}" th:text="${b.getName()}">My PC Build</option>
</select>
</span>
<b th:case="*">Bad input type for <span th:text="${d.type}+'-'+${p.type}"></span></b>
</td>
</tr>

View File

@@ -10,6 +10,7 @@
<a href="/">Home</a>
<a href="/browse">Browse</a>
<a href="/create">Create</a>
<a href="/builds">Builds</a>
<hr>
<div th:replace="${content}">
</div>