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,103 +5,56 @@
<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>
.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 */
}
/* Modal Content */
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 50%;
}
.btn-margin {
margin-right: 2px;
}
.modal-body {
display: flex;
flex-direction: column;
}
</style>
<div id="page-container"> <div id="page-container">
<div id="content-wrap"> <div id="content-wrap">
<div th:insert="~{fragments/navbar.html :: navbar}"></div> <div th:insert="~{fragments/navbar.html :: navbar}"></div>
<br> <br>
<div class="container" id="dropContainer"> <div class="container" id="dropContainer">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-6"> <div class="col-md-6">
<!-- Homepage -->
<div class="mb-3"> <div class="mb-3">
<div class="form-group"> <button id="savePipelineBtn" class="btn btn-success">Save
<label>Pipelines</label> Pipeline Configuration</button>
<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 -->
<div id="pipelineModal" class="modal fade" tabindex="-1" aria-labelledby="pipelineModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h2 class="modal-title">Pipeline Configuration</h2>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<!-- Buttons -->
<div class="mb-3">
<button id="savePipelineBtn" class="btn btn-success">Save Configuration</button>
<button id="validateButton" class="btn btn-success">Validate</button> <button id="validateButton" class="btn btn-success">Validate</button>
<div class="btn-group"> <div class="btn-group">
<button id="uploadPipelineBtn" class="btn btn-primary">Upload Configuration</button> <button id="uploadPipelineBtn" class="btn btn-primary">Upload
<input type="file" id="uploadPipelineInput" accept=".json" style="display: none;"> Pipeline Configuration</button>
<input type="file" id="uploadPipelineInput" accept=".json"
style="display: none;">
</div> </div>
</div> </div>
<!-- Operations dropdown and Add operation button --> <div id="pipelineContainer" class="card">
<!-- Pipeline Configuration Card Header -->
<div class="card-header">
<h2 class="card-title">Pipeline Configuration</h2>
</div>
<!-- Pipeline Configuration Body -->
<div class="card-body">
<div class="mb-3"> <div class="mb-3">
<select id="operationsDropdown" class="form-select"> <select id="operationsDropdown" class="form-select">
<!-- Options will be dynamically populated here --> <!-- Options will be dynamically populated here -->
</select> </select>
<button id="addOperationBtn" class="btn btn-primary">Add operation to pipeline</button>
</div> </div>
<div class="mb-3">
<!-- Pipeline operations list --> <button id="addOperationBtn" class="btn btn-primary">Add
operation to pipeline</button>
</div>
<h3>Pipeline:</h3> <h3>Pipeline:</h3>
<ol id="pipelineList" class="list-group"> <ol id="pipelineList" class="list-group">
<!-- Pipeline operations will be dynamically populated here --> <!-- Pipeline operations will be dynamically populated here -->
</ol> </ol>
</div> </div>
<div class="modal-footer"> <input type="file" id="fileInput" multiple>
<button class="btn btn-primary" id="submitConfigBtn">Submit</button> <button class="btn btn-primary" id="submitConfigBtn">Submit</button>
</div>
</div>
</div>
</div> </div>
<!-- pipelineSettings modal --> <!-- pipelineSettings modal -->
@ -115,13 +68,45 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<script src="js/pipeline.js"></script> <script src="js/pipeline.js"></script>
</div> </div>
</div> </div>
</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 */
}
/* Modal Content */
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 50%;
}
.btn-margin {
margin-right: 2px;
}
.modal-body {
display: flex;
flex-direction: column;
}
</style>
<div th:insert="~{fragments/footer.html :: footer}"></div> <div th:insert="~{fragments/footer.html :: footer}"></div>
</div> </div>