T157 static content and table generated. Added css to table
This commit is contained in:
@@ -123,6 +123,36 @@ public class KlausMvcController {
|
|||||||
return "mock";
|
return "mock";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping({"/mock/json", "/mock/json/{uuid}"})
|
||||||
|
@ResponseBody
|
||||||
|
public List<MockedMessageDto> getJsonList(final MockedMessageDto mockedMessageDto, final Model model,
|
||||||
|
@PathVariable(required = false) UUID uuid){
|
||||||
|
if(uuid == null) uuid = UUID.randomUUID();
|
||||||
|
List<MockedMessageDto> messages = klausService.getAllMockedResponses(uuid);
|
||||||
|
if(!(messages.size() > 0)) {
|
||||||
|
Map<String, String> headers = new HashMap<>();
|
||||||
|
headers.put("Keep-Alive", "timeout=60");
|
||||||
|
headers.put("Connection", "keep-alive");
|
||||||
|
headers.put("Date", LocalDateTime.now().toString());
|
||||||
|
MockedMessageDto msg = MockedMessageDto.builder()
|
||||||
|
.clientUUID(uuid)
|
||||||
|
.mockedResponseId(1)
|
||||||
|
.mediaType(MediaType.APPLICATION_XML_VALUE)
|
||||||
|
.messageBody("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||||
|
"<note>\n" +
|
||||||
|
" <to>Tove</to>\n" +
|
||||||
|
" <from>Jani</from>\n" +
|
||||||
|
" <heading>Reminder</heading>\n" +
|
||||||
|
" <body>Don't forget me this weekend!</body>\n" +
|
||||||
|
"</note>")
|
||||||
|
.httpHeaders(headers)
|
||||||
|
.httpStatus(200)
|
||||||
|
.build();
|
||||||
|
messages.add(msg);
|
||||||
|
}
|
||||||
|
return messages;
|
||||||
|
}
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
@ModelAttribute("localhost")
|
@ModelAttribute("localhost")
|
||||||
public String localhost() {
|
public String localhost() {
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
function getData(uuid){
|
||||||
|
$.getJSON('http://localhost:8097/mock/json', function(json) {
|
||||||
|
fillStaticFields(json[0].clientUUID
|
||||||
|
, json[0].mockedResponseId
|
||||||
|
, json[0].mediaType
|
||||||
|
, json[0].messageBody
|
||||||
|
, json[0].httpStatus);
|
||||||
|
fillHeaderTable(json[0].httpHeaders);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function fillStaticFields(uuid, id, mediaType, body, httpStatus){
|
||||||
|
$('#messageLink').html(createLink(uuid,id));
|
||||||
|
$('#typeSelector').val(mediaType);
|
||||||
|
$('#bodyEditor').html(body);
|
||||||
|
|
||||||
|
//TODO: HttpStatus
|
||||||
|
}
|
||||||
|
|
||||||
|
function createLink(uuid, id){
|
||||||
|
var link = 'http://localhost:8097/klaus/v1/'+uuid+'/'+id;
|
||||||
|
return link;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fillHeaderTable(headers){
|
||||||
|
var innerHTML = $('#headerTable').html();
|
||||||
|
innerHTML += generateHeaderTable(headers);
|
||||||
|
$('#headerTable').html(innerHTML);
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateHeaderTable(headers){
|
||||||
|
var innerHTML = '';
|
||||||
|
var keys = Object.keys(headers);
|
||||||
|
for(var h in headers){
|
||||||
|
innerHTML +=
|
||||||
|
'<tr>' +
|
||||||
|
'<td class="headerName">' + keys[h] + '</td>' +
|
||||||
|
'<td class="headerField">' + headers[h] + '</td>' +
|
||||||
|
'</tr>'
|
||||||
|
}
|
||||||
|
return innerHTML;
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(getData());
|
||||||
@@ -27,24 +27,3 @@ function createMessageTab() {
|
|||||||
|
|
||||||
$("#optional").click(changeAdvancedVisibility);
|
$("#optional").click(changeAdvancedVisibility);
|
||||||
$(".menuFactory").click(createMessageTab);
|
$(".menuFactory").click(createMessageTab);
|
||||||
|
|
||||||
// var key = $("#headerKey");
|
|
||||||
// var value = $("#headerValue");
|
|
||||||
// function addHeaderTableRow(){
|
|
||||||
// var headerTable = document.getElementById("headerTable");
|
|
||||||
// headerTable.innerHTML +=
|
|
||||||
// '<tr>' +
|
|
||||||
// '<td>' +
|
|
||||||
// '<input type="text" name="value" class="headerName" value="' + key.val() + '"\n disabled="disabled"/>' +
|
|
||||||
// '</td>' +
|
|
||||||
// '<td>' +
|
|
||||||
// '<input type="text" name="httpHeaders[' + key.val() + ']" class="headerField" id="httpHeaders' + key.val() + '" value="' + value.val() +'"/>' +
|
|
||||||
// '</td>' +
|
|
||||||
// '</tr>';
|
|
||||||
// key.html("");
|
|
||||||
// value.html("");
|
|
||||||
// // alert("key: " + key.val() +
|
|
||||||
// // "\n" + "value: " + value.val());
|
|
||||||
// }
|
|
||||||
|
|
||||||
// key.keypress(function(e){ if(e.key == 'Enter') addHeaderTableRow()});
|
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<html xmlns:th="http://thymeleaf.org">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>R11 MockedServices</title>
|
<title>R11 MockedServices</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<link rel="stylesheet" th:href="@{/css/main.css}" type="text/css">
|
<link rel="stylesheet" href="/css/main.css" type="text/css">
|
||||||
<link rel="stylesheet" th:href="@{/Dependency/fontello-plus/css/fontello.css}" type="text/css"/>
|
<link rel="stylesheet" href="/Dependency/fontello-plus/css/fontello.css" type="text/css"/>
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Acme&family=Josefin+Slab:wght@500&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Acme&family=Josefin+Slab:wght@500&display=swap" rel="stylesheet">
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/datatransfer.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="container">
|
<div id="container">
|
||||||
@@ -23,19 +24,17 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="itemData">
|
<div id="itemData">
|
||||||
<form action="#" th:action="@{/mock/__${mockedMessageDto.clientUUID}__}"
|
|
||||||
th:object="${mockedMessageDto}" method="post">
|
|
||||||
<div id="basicItemData" class="articleHead">Your message</div>
|
<div id="basicItemData" class="articleHead">Your message</div>
|
||||||
<div id="advancedItemData" class="articleHead" style="display: none;">Message id: [[*{mockedResponseId}]]</div>
|
<div id="advancedItemData" class="articleHead" style="display: none;">Message id: <span id="mockedMessageId"></span></div>
|
||||||
<div id="link">
|
<div id="link">
|
||||||
<p class="label">Your link</p>
|
<p class="label">Your link</p>
|
||||||
<div id="messageLink" class="borderStyle">http://<span id="pubhost">localhost</span>:8097/klaus/v1/get/[[${mockedMessageDto.clientUUID}]]/[[${mockedMessageDto.mockedResponseId}]]</div>
|
<div id="messageLink" class="borderStyle">http://<span id="pubhost">localhost</span>:8097/klaus/v1/get/<span id="clientUuid">acc39106-f351-46bb-b81b-31b860af3e56</span>/<span id="mockedMessageResponse2">1</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="msgBody">
|
<div id="msgBody">
|
||||||
<div id="typeSelection">
|
<div id="typeSelection">
|
||||||
|
|
||||||
<p class="label">Content Type</p>
|
<p class="label">Content Type</p>
|
||||||
<select id="typeSelector" th:field="*{mediaType}" class="fieldDefault borderStyle">
|
<select id="typeSelector" class="fieldDefault borderStyle">
|
||||||
<option value="application/xml">application/xml</option>
|
<option value="application/xml">application/xml</option>
|
||||||
<option value="application/json">application/json</option>
|
<option value="application/json">application/json</option>
|
||||||
<option value="text/xml">text/xml</option>
|
<option value="text/xml">text/xml</option>
|
||||||
@@ -43,7 +42,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="bodyEdition">
|
<div id="bodyEdition">
|
||||||
<p class="label">Body:</p>
|
<p class="label">Body:</p>
|
||||||
<textarea type="text" id="bodyEditor" th:field="*{messageBody}" class="fieldText borderStyle"></textarea>
|
<textarea type="text" id="bodyEditor" class="fieldText borderStyle"></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -59,16 +58,6 @@
|
|||||||
<td>Name</td>
|
<td>Name</td>
|
||||||
<td>Value</td>
|
<td>Value</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr th:each="entry, stats : *{httpHeaders}">
|
|
||||||
<td><input type="text" name="value" class="headerName" th:value="${entry.key}"
|
|
||||||
disabled="disabled"/></td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="value" class="headerField" th:field="*{httpHeaders[__${entry.key}__]}"/>
|
|
||||||
<button type="submit" name="removeHeader" th:value="${entry.key}">
|
|
||||||
<img src="/img/icons8-cancel-64.png" style="width: 20px;"/>
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
<table id="nextHeaderTable">
|
<table id="nextHeaderTable">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -88,12 +77,11 @@
|
|||||||
<button type="submit" class="functionBarButton">Save</button>
|
<button type="submit" class="functionBarButton">Save</button>
|
||||||
<div style="clear: both;"></div>
|
<div style="clear: both;"></div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="clear:both;"></div>
|
<div style="clear:both;"></div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" th:src="@{/js/uianimation.js}"></script>
|
<script type="text/javascript" src="/js/uianimation.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user