WIP: Adds database field to delegate airflow to another room, adds select to room form.
Some checks failed
CI / Linux Tests (push) Failing after 6m39s
Some checks failed
CI / Linux Tests (push) Failing after 6m39s
This commit is contained in:
@@ -108,6 +108,7 @@ public struct MainPage<Inner: HTML>: SendableHTMLDocument where Inner: Sendable
|
||||
}
|
||||
}
|
||||
.attributes(.data("theme", value: theme?.rawValue ?? "default"), when: theme != nil)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import Foundation
|
||||
import ManualDCore
|
||||
import Styleguide
|
||||
|
||||
// TODO: Need to hold the project ID in hidden input field.
|
||||
struct RoomForm: HTML, Sendable {
|
||||
|
||||
static func id(_ room: Room? = nil) -> String {
|
||||
@@ -17,14 +16,17 @@ struct RoomForm: HTML, Sendable {
|
||||
let dismiss: Bool
|
||||
let projectID: Project.ID
|
||||
let room: Room?
|
||||
let rooms: [Room]
|
||||
|
||||
init(
|
||||
dismiss: Bool,
|
||||
projectID: Project.ID,
|
||||
rooms: [Room],
|
||||
room: Room? = nil
|
||||
) {
|
||||
self.dismiss = dismiss
|
||||
self.projectID = projectID
|
||||
self.rooms = rooms
|
||||
self.room = room
|
||||
}
|
||||
|
||||
@@ -38,6 +40,7 @@ struct RoomForm: HTML, Sendable {
|
||||
var body: some HTML {
|
||||
ModalForm(id: Self.id(room), dismiss: dismiss) {
|
||||
h1(.class("text-3xl font-bold pb-6")) { "Room" }
|
||||
|
||||
form(
|
||||
.class("grid grid-cols-1 gap-4"),
|
||||
room == nil
|
||||
@@ -97,12 +100,32 @@ struct RoomForm: HTML, Sendable {
|
||||
.type(.number),
|
||||
.min("1"),
|
||||
.required,
|
||||
.value(room?.registerCount ?? 1)
|
||||
.value(room?.registerCount ?? 1),
|
||||
.id("registerCount")
|
||||
)
|
||||
|
||||
label(.class("select w-full"), .id("delegateToSelect")) {
|
||||
span(.class("label")) { "Room" }
|
||||
Select(rooms, placeholder: "Delegate Airflow") {
|
||||
$0.name
|
||||
}
|
||||
.attributes(.name("delegatedTo"))
|
||||
}
|
||||
SubmitButton()
|
||||
.attributes(.class("btn-block"))
|
||||
}
|
||||
}
|
||||
|
||||
script {
|
||||
"""
|
||||
function myClick() {
|
||||
console.log('clicked');
|
||||
const simple = document.getElementById('simple');
|
||||
console.log(simple.style.display);
|
||||
simple.style.display = 'block';
|
||||
console.log(simple.style.display);
|
||||
}
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,11 @@ struct RoomsView: HTML, Sendable {
|
||||
|
||||
var body: some HTML {
|
||||
div(.class("flex w-full flex-col")) {
|
||||
input(.type(.checkbox), .name("delegateToCheckbox"), .on(.click, "showElement('simple');"))
|
||||
div(.style("display: none;"), .id("simple"), .class("hidden")) {
|
||||
"This is hidden"
|
||||
}
|
||||
|
||||
PageTitleRow {
|
||||
div(.class("flex grid grid-cols-3 w-full gap-y-4")) {
|
||||
|
||||
@@ -129,17 +134,18 @@ struct RoomsView: HTML, Sendable {
|
||||
}
|
||||
tbody {
|
||||
for room in rooms {
|
||||
RoomRow(room: room, shr: sensibleHeatRatio)
|
||||
RoomRow(room: room, shr: sensibleHeatRatio, rooms: rooms)
|
||||
}
|
||||
}
|
||||
}
|
||||
RoomForm(dismiss: true, projectID: projectID, room: nil)
|
||||
RoomForm(dismiss: true, projectID: projectID, rooms: rooms, room: nil)
|
||||
UploadCSVForm(dismiss: true)
|
||||
}
|
||||
}
|
||||
|
||||
public struct RoomRow: HTML, Sendable {
|
||||
|
||||
let rooms: [Room]
|
||||
let room: Room
|
||||
let shr: Double
|
||||
|
||||
@@ -151,9 +157,10 @@ struct RoomsView: HTML, Sendable {
|
||||
// return value
|
||||
}
|
||||
|
||||
init(room: Room, shr: Double?) {
|
||||
init(room: Room, shr: Double?, rooms: [Room]) {
|
||||
self.room = room
|
||||
self.shr = shr ?? 1.0
|
||||
self.rooms = rooms
|
||||
}
|
||||
|
||||
public var body: some HTML {
|
||||
@@ -208,6 +215,7 @@ struct RoomsView: HTML, Sendable {
|
||||
RoomForm(
|
||||
dismiss: true,
|
||||
projectID: room.projectID,
|
||||
rooms: rooms,
|
||||
room: room
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user