Loading noctua/web/pages/macros/control_panel.html +71 −131 Original line number Diff line number Diff line Loading @@ -2,70 +2,8 @@ {% macro mount_pointing() %} <div> <nav> <ul class="nav nav-tabs" role="tablist" id="pointing-tabs"> <li class="nav-item" role="presentation"> <button class="nav-link active" data-bs-toggle="tab" data-bs-target="#tab-radec" type="button" role="tab">Radec / ID</button> </li> <li class="nav-item" role="presentation"> <button class="nav-link py-1-active" data-bs-toggle="tab" data-bs-target="#tab-altaz" type="button" role="tab">Alt Az</button> </li> </ul> </nav> <div class="tab-content mt-2"> <!-- AltAz Tab --> <div class="tab-pane fade" id="tab-altaz"> <fieldset class="row"> <label class="col-md-3 col-form-label"> Alt / Az </label> <div class="col-md"> <div class="input-group input-group-sm"> <input type="number" class="form-control bg-black" id="in-alt" placeholder="45.0" data-parameter="telescope-coordinates-altitude"> <input type="number" class="form-control bg-black" id="in-az" placeholder="180.0" data-parameter="telescope-coordinates-azimuth"> <span class="input-group-text"> ° </span> </div> </div> </fieldset> </div> <!-- RaDec Tab --> <div class="tab-pane fade show active" id="tab-radec"> <fieldset class="row"> <label class="col-md-3 col-form-label"> α,δ / ID </label> <div class="col-md"> <div class="input-group input-group-sm"> <input type="text" class="form-control bg-black" id="in-radec" placeholder="'Object name' or 'HH MM SS ±DD MM SS'" autocomplete="off"> <span class="input-group-text"> hms ±dms / id </span> </div> </div> </fieldset> </div> <!-- Buttons --> <fieldset class="row mt-2"> Loading Loading @@ -187,7 +125,7 @@ </div> {% endmacro %} {% macro stage_control() %} {% macro stage_relative() %} <fieldset class="row mt-1 widget-universal align-items-center" id="input-rel"> <label class="col-md-3 col-form-label"> Rel Loading @@ -213,6 +151,27 @@ {% from "macros/viewer_panel.html" import camera_panel %} {% macro observing_mode_selector() %} <fielsdet class="mb-2"> <div class="btn-group w-100" role="group" id="mode-selector"> <label class="btn btn-outline-info btn-sm" for="mode-imaging">IMAGING</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-imaging" value="station1" checked> <label class="btn btn-outline-info btn-sm" for="mode-spectroscopy">SPECTRO</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-spectroscopy" value="station2"> <label class="btn btn-outline-info btn-sm" for="mode-echelle">ÉCHELLE</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-echelle" value="station3"> </div> </fieldset> {% endmacro %} {% macro fits_viewer_section(api_base='/api') %} <!-- Pre-renders combo1/2/3. JS shows the active one, hides the others. --> Loading Loading @@ -241,75 +200,56 @@ {% endmacro %} {% macro observing_mode_selector() %} <div class="card bg-dark border-info border-opacity-25 shadow-sm mb-3"> <div class="card-body p-2"> <div class="btn-group w-100" role="group" id="mode-selector"> <input type="radio" class="btn-check" name="obs-mode" id="mode-imaging" value="station1" checked> <label class="btn btn-outline-info btn-sm" for="mode-imaging">IMAGING</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-spectroscopy" value="station2"> <label class="btn btn-outline-info btn-sm" for="mode-spectroscopy">SPECTRO</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-echelle" value="station3"> <label class="btn btn-outline-info btn-sm" for="mode-echelle">ÉCHELLE</label> </div> </div> </div> {% endmacro %} {% macro camera_windowing(label, fields) %} {% set safe_id = label | replace(' ', '-') | lower %} <div class="card mb-3"> <div class="card-body"> <!-- Header: Widget title and global telemetry readout --> <h6 class="card-title text-info d-flex justify-content-between align-items-center mb-3"> Camera Framing <span class="badge bg-secondary font-monospace" data-status="camera-snapshot-state" data-status-suffix="-snapshot-state">N/A</span> </h6> <!-- Rebuilt by applyMode() in control.js when mode changes --> <div class="btn-group btn-group-sm w-100 mb-3" id="framing-presets" role="group"></div> <!-- Telemetry Panel: standard layout automatically updated by status-stream.js --> <div class="row g-2 pt-2 font-monospace small"> <div class="col-6 text-success d-flex justify-content-between pe-2"> <span class="text-muted">Start X:</span> <var class="fw-bold" data-status="camera-settings-xystart-0" data-status-suffix="-settings-xystart-0">0</var> </div> <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> <span class="text-muted">Start Y:</span> <var class="fw-bold" data-status="camera-settings-xystart-1" data-status-suffix="-settings-xystart-1">0</var> </div> <div class="col-6 text-success d-flex justify-content-between pe-2"> <span class="text-muted">End X:</span> <var class="fw-bold" data-status="camera-settings-xyend-0" data-status-suffix="-settings-xyend-0">4145</var> </div> <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> <span class="text-muted">End Y:</span> <var class="fw-bold" data-status="camera-settings-xyend-1" data-status-suffix="-settings-xyend-1">4126</var> </div> <div class="col-6 text-success d-flex justify-content-between pe-2"> <span class="text-muted">Width:</span> <var class="fw-bold" data-status="camera-settings-size-0" data-status-suffix="-settings-size-0">N/A</var> </div> <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> <span class="text-muted">Height:</span> <var class="fw-bold" data-status="camera-settings-size-1" data-status-suffix="-settings-size-1">N/A</var> </div> </div> </div> </div> <!-- <div class="card mb-3"> --> <!-- <div class="card-body"> --> <!-- <\!-- Header: Widget title and global telemetry readout -\-> --> <!-- <h6 class="card-title text-info d-flex justify-content-between align-items-center mb-3"> --> <!-- Camera Framing --> <!-- <span class="badge bg-secondary font-monospace" data-status="camera-snapshot-state" data-status-suffix="-snapshot-state">N/A</span> --> <!-- </h6> --> <!-- <\!-- Rebuilt by applyMode() in control.js when mode changes -\-> --> <!-- <div class="btn-group btn-group-sm w-100 mb-3" id="framing-presets" role="group"></div> --> <!-- <\!-- Telemetry Panel: standard layout automatically updated by status-stream.js -\-> --> <!-- <div class="row g-2 pt-2 font-monospace small"> --> <!-- <div class="col-6 text-success d-flex justify-content-between pe-2"> --> <!-- <span class="text-muted">Start X:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xystart-0" data-status-suffix="-settings-xystart-0">0</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> --> <!-- <span class="text-muted">Start Y:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xystart-1" data-status-suffix="-settings-xystart-1">0</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between pe-2"> --> <!-- <span class="text-muted">End X:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xyend-0" data-status-suffix="-settings-xyend-0">4145</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> --> <!-- <span class="text-muted">End Y:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xyend-1" data-status-suffix="-settings-xyend-1">4126</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between pe-2"> --> <!-- <span class="text-muted">Width:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-size-0" data-status-suffix="-settings-size-0">N/A</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> --> <!-- <span class="text-muted">Height:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-size-1" data-status-suffix="-settings-size-1">N/A</var> --> <!-- </div> --> <!-- </div> --> <!-- </div> --> <!-- </div> --> {% endmacro %} Loading
noctua/web/pages/macros/control_panel.html +71 −131 Original line number Diff line number Diff line Loading @@ -2,70 +2,8 @@ {% macro mount_pointing() %} <div> <nav> <ul class="nav nav-tabs" role="tablist" id="pointing-tabs"> <li class="nav-item" role="presentation"> <button class="nav-link active" data-bs-toggle="tab" data-bs-target="#tab-radec" type="button" role="tab">Radec / ID</button> </li> <li class="nav-item" role="presentation"> <button class="nav-link py-1-active" data-bs-toggle="tab" data-bs-target="#tab-altaz" type="button" role="tab">Alt Az</button> </li> </ul> </nav> <div class="tab-content mt-2"> <!-- AltAz Tab --> <div class="tab-pane fade" id="tab-altaz"> <fieldset class="row"> <label class="col-md-3 col-form-label"> Alt / Az </label> <div class="col-md"> <div class="input-group input-group-sm"> <input type="number" class="form-control bg-black" id="in-alt" placeholder="45.0" data-parameter="telescope-coordinates-altitude"> <input type="number" class="form-control bg-black" id="in-az" placeholder="180.0" data-parameter="telescope-coordinates-azimuth"> <span class="input-group-text"> ° </span> </div> </div> </fieldset> </div> <!-- RaDec Tab --> <div class="tab-pane fade show active" id="tab-radec"> <fieldset class="row"> <label class="col-md-3 col-form-label"> α,δ / ID </label> <div class="col-md"> <div class="input-group input-group-sm"> <input type="text" class="form-control bg-black" id="in-radec" placeholder="'Object name' or 'HH MM SS ±DD MM SS'" autocomplete="off"> <span class="input-group-text"> hms ±dms / id </span> </div> </div> </fieldset> </div> <!-- Buttons --> <fieldset class="row mt-2"> Loading Loading @@ -187,7 +125,7 @@ </div> {% endmacro %} {% macro stage_control() %} {% macro stage_relative() %} <fieldset class="row mt-1 widget-universal align-items-center" id="input-rel"> <label class="col-md-3 col-form-label"> Rel Loading @@ -213,6 +151,27 @@ {% from "macros/viewer_panel.html" import camera_panel %} {% macro observing_mode_selector() %} <fielsdet class="mb-2"> <div class="btn-group w-100" role="group" id="mode-selector"> <label class="btn btn-outline-info btn-sm" for="mode-imaging">IMAGING</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-imaging" value="station1" checked> <label class="btn btn-outline-info btn-sm" for="mode-spectroscopy">SPECTRO</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-spectroscopy" value="station2"> <label class="btn btn-outline-info btn-sm" for="mode-echelle">ÉCHELLE</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-echelle" value="station3"> </div> </fieldset> {% endmacro %} {% macro fits_viewer_section(api_base='/api') %} <!-- Pre-renders combo1/2/3. JS shows the active one, hides the others. --> Loading Loading @@ -241,75 +200,56 @@ {% endmacro %} {% macro observing_mode_selector() %} <div class="card bg-dark border-info border-opacity-25 shadow-sm mb-3"> <div class="card-body p-2"> <div class="btn-group w-100" role="group" id="mode-selector"> <input type="radio" class="btn-check" name="obs-mode" id="mode-imaging" value="station1" checked> <label class="btn btn-outline-info btn-sm" for="mode-imaging">IMAGING</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-spectroscopy" value="station2"> <label class="btn btn-outline-info btn-sm" for="mode-spectroscopy">SPECTRO</label> <input type="radio" class="btn-check" name="obs-mode" id="mode-echelle" value="station3"> <label class="btn btn-outline-info btn-sm" for="mode-echelle">ÉCHELLE</label> </div> </div> </div> {% endmacro %} {% macro camera_windowing(label, fields) %} {% set safe_id = label | replace(' ', '-') | lower %} <div class="card mb-3"> <div class="card-body"> <!-- Header: Widget title and global telemetry readout --> <h6 class="card-title text-info d-flex justify-content-between align-items-center mb-3"> Camera Framing <span class="badge bg-secondary font-monospace" data-status="camera-snapshot-state" data-status-suffix="-snapshot-state">N/A</span> </h6> <!-- Rebuilt by applyMode() in control.js when mode changes --> <div class="btn-group btn-group-sm w-100 mb-3" id="framing-presets" role="group"></div> <!-- Telemetry Panel: standard layout automatically updated by status-stream.js --> <div class="row g-2 pt-2 font-monospace small"> <div class="col-6 text-success d-flex justify-content-between pe-2"> <span class="text-muted">Start X:</span> <var class="fw-bold" data-status="camera-settings-xystart-0" data-status-suffix="-settings-xystart-0">0</var> </div> <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> <span class="text-muted">Start Y:</span> <var class="fw-bold" data-status="camera-settings-xystart-1" data-status-suffix="-settings-xystart-1">0</var> </div> <div class="col-6 text-success d-flex justify-content-between pe-2"> <span class="text-muted">End X:</span> <var class="fw-bold" data-status="camera-settings-xyend-0" data-status-suffix="-settings-xyend-0">4145</var> </div> <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> <span class="text-muted">End Y:</span> <var class="fw-bold" data-status="camera-settings-xyend-1" data-status-suffix="-settings-xyend-1">4126</var> </div> <div class="col-6 text-success d-flex justify-content-between pe-2"> <span class="text-muted">Width:</span> <var class="fw-bold" data-status="camera-settings-size-0" data-status-suffix="-settings-size-0">N/A</var> </div> <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> <span class="text-muted">Height:</span> <var class="fw-bold" data-status="camera-settings-size-1" data-status-suffix="-settings-size-1">N/A</var> </div> </div> </div> </div> <!-- <div class="card mb-3"> --> <!-- <div class="card-body"> --> <!-- <\!-- Header: Widget title and global telemetry readout -\-> --> <!-- <h6 class="card-title text-info d-flex justify-content-between align-items-center mb-3"> --> <!-- Camera Framing --> <!-- <span class="badge bg-secondary font-monospace" data-status="camera-snapshot-state" data-status-suffix="-snapshot-state">N/A</span> --> <!-- </h6> --> <!-- <\!-- Rebuilt by applyMode() in control.js when mode changes -\-> --> <!-- <div class="btn-group btn-group-sm w-100 mb-3" id="framing-presets" role="group"></div> --> <!-- <\!-- Telemetry Panel: standard layout automatically updated by status-stream.js -\-> --> <!-- <div class="row g-2 pt-2 font-monospace small"> --> <!-- <div class="col-6 text-success d-flex justify-content-between pe-2"> --> <!-- <span class="text-muted">Start X:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xystart-0" data-status-suffix="-settings-xystart-0">0</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> --> <!-- <span class="text-muted">Start Y:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xystart-1" data-status-suffix="-settings-xystart-1">0</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between pe-2"> --> <!-- <span class="text-muted">End X:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xyend-0" data-status-suffix="-settings-xyend-0">4145</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> --> <!-- <span class="text-muted">End Y:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-xyend-1" data-status-suffix="-settings-xyend-1">4126</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between pe-2"> --> <!-- <span class="text-muted">Width:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-size-0" data-status-suffix="-settings-size-0">N/A</var> --> <!-- </div> --> <!-- <div class="col-6 text-success d-flex justify-content-between ps-2 border-start border-secondary border-opacity-25"> --> <!-- <span class="text-muted">Height:</span> --> <!-- <var class="fw-bold" data-status="camera-settings-size-1" data-status-suffix="-settings-size-1">N/A</var> --> <!-- </div> --> <!-- </div> --> <!-- </div> --> <!-- </div> --> {% endmacro %}