Merge branch 'pipeline' of git@github.com:Frooodle/Stirling-PDF.git into

pipeline
This commit is contained in:
Anthony Stirling 2023-06-24 15:25:39 +01:00
parent f313857f96
commit c81c1006b7
2 changed files with 94 additions and 109 deletions

View File

@ -119,7 +119,7 @@ public class Controller {
outputFileName = outputFileName.replace("{date}", LocalDate.now().format(dateFormatter)); outputFileName = outputFileName.replace("{date}", LocalDate.now().format(dateFormatter));
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HHmmss"); DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HHmmss");
outputFileName = outputFileName.replace("{time}", LocalTime.now().format(timeFormatter)); outputFileName = outputFileName.replace("{time}", LocalTime.now().format(timeFormatter));
// ... Replace other placeholders // {filename} {folder} {date} {tmime} {pipeline}
Files.move(resource.getFile().toPath(), Paths.get(config.getOutputDir(), outputFileName)); Files.move(resource.getFile().toPath(), Paths.get(config.getOutputDir(), outputFileName));
} }

View File

@ -5,123 +5,108 @@
<th:block th:insert="~{fragments/common :: head(title=#{merge.title})}"></th:block> <th:block th:insert="~{fragments/common :: head(title=#{merge.title})}"></th:block>
<body> <body>
<style> <div id="page-container">
.modal { <div id="content-wrap">
display: none; /* Hidden by default */ <div th:insert="~{fragments/navbar.html :: navbar}"></div>
position: fixed; /* Stay in place */ <br> <br>
z-index: 1; /* Sit on top */ <div class="container" id="dropContainer">
padding-top: 100px; /* Location of the box */ <div class="row justify-content-center">
left: 0; <div class="col-md-6">
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0, 0, 0); /* Fallback color */
background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}
/* Modal Content */ <div class="mb-3">
.modal-content { <button id="savePipelineBtn" class="btn btn-success">Save
background-color: #fefefe; Pipeline Configuration</button>
margin: auto;
padding: 20px; <button id="validateButton" class="btn btn-success">Validate</button>
border: 1px solid #888; <div class="btn-group">
width: 50%; <button id="uploadPipelineBtn" class="btn btn-primary">Upload
} Pipeline Configuration</button>
<input type="file" id="uploadPipelineInput" accept=".json"
style="display: none;">
</div>
</div>
.btn-margin { <div id="pipelineContainer" class="card">
margin-right: 2px;
}
.modal-body { <!-- Pipeline Configuration Card Header -->
display: flex; <div class="card-header">
flex-direction: column; <h2 class="card-title">Pipeline Configuration</h2>
} </div>
</style>
<div id="page-container"> <!-- Pipeline Configuration Body -->
<div id="content-wrap"> <div class="card-body">
<div th:insert="~{fragments/navbar.html :: navbar}"></div> <div class="mb-3">
<select id="operationsDropdown" class="form-select">
<div class="container" id="dropContainer"> <!-- Options will be dynamically populated here -->
<div class="row justify-content-center"> </select>
<div class="col-md-6"> </div>
<div class="mb-3">
<button id="addOperationBtn" class="btn btn-primary">Add
operation to pipeline</button>
</div>
<h3>Pipeline:</h3>
<ol id="pipelineList" class="list-group">
<!-- Pipeline operations will be dynamically populated here -->
</ol>
</div>
<input type="file" id="fileInput" multiple>
<button class="btn btn-primary" id="submitConfigBtn">Submit</button>
<!-- Homepage --> </div>
<div class="mb-3">
<div class="form-group">
<label>Pipelines</label>
<select class="form-control" name="Pipelines">
<option value="example">example</option>
<option value="Pipelines2">example2</option>
</select>
</div>
<button id="customizeBtn" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#pipelineModal">Customize</button>
<button id="addNewPipelineBtn" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#pipelineModal">Add New Pipeline</button>
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multiple=false, accept='application/pdf')}"></div>
<button class="btn btn-primary" id="submitBtn">Submit</button>
</div>
<!-- Pipeline Modal --> <!-- pipelineSettings modal -->
<div id="pipelineModal" class="modal fade" tabindex="-1" aria-labelledby="pipelineModalLabel" aria-hidden="true"> <div id="pipelineSettingsModal" class="modal">
<div class="modal-dialog modal-xl"> <div class="modal-content">
<div class="modal-content"> <div class="modal-body">
<div class="modal-header"> <span class="close">&times;</span>
<h2 class="modal-title">Pipeline Configuration</h2> <h2>Operation Settings</h2>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <div id="pipelineSettingsContent">
</div> <!-- pipelineSettings will be dynamically populated here -->
</div>
</div>
</div>
<script src="js/pipeline.js"></script>
</div>
</div>
</div>
</div>
</div>
<style>
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0, 0, 0); /* Fallback color */
background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}
<div class="modal-body"> /* Modal Content */
<!-- Buttons --> .modal-content {
<div class="mb-3"> background-color: #fefefe;
<button id="savePipelineBtn" class="btn btn-success">Save Configuration</button> margin: auto;
<button id="validateButton" class="btn btn-success">Validate</button> padding: 20px;
<div class="btn-group"> border: 1px solid #888;
<button id="uploadPipelineBtn" class="btn btn-primary">Upload Configuration</button> width: 50%;
<input type="file" id="uploadPipelineInput" accept=".json" style="display: none;"> }
</div>
</div>
<!-- Operations dropdown and Add operation button -->
<div class="mb-3">
<select id="operationsDropdown" class="form-select">
<!-- Options will be dynamically populated here -->
</select>
<button id="addOperationBtn" class="btn btn-primary">Add operation to pipeline</button>
</div>
<!-- Pipeline operations list --> .btn-margin {
<h3>Pipeline:</h3> margin-right: 2px;
<ol id="pipelineList" class="list-group"> }
<!-- Pipeline operations will be dynamically populated here -->
</ol>
</div>
<div class="modal-footer">
<button class="btn btn-primary" id="submitConfigBtn">Submit</button>
</div>
</div>
</div>
</div>
<!-- pipelineSettings modal --> .modal-body {
<div id="pipelineSettingsModal" class="modal"> display: flex;
<div class="modal-content"> flex-direction: column;
<div class="modal-body"> }
<span class="close">&times;</span> </style>
<h2>Operation Settings</h2>
<div id="pipelineSettingsContent">
<!-- pipelineSettings will be dynamically populated here -->
</div>
</div>
</div>
</div>
<script src="js/pipeline.js"></script>
</div>
</div>
</div>
</div>
<div th:insert="~{fragments/footer.html :: footer}"></div> <div th:insert="~{fragments/footer.html :: footer}"></div>
</div> </div>