Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit fea355f

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 4d37b91 + c2332fa commit fea355f

File tree

4 files changed

+842
-96
lines changed

4 files changed

+842
-96
lines changed

‎frontend-java/src/main/java/dev/itsu/bjvmdemo/Main.java

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,26 @@ public class Main {
1515
put("Content-Type", "application/x-www-form-urlencoded");
1616
}};
1717

18+
private static final HashMap<String, Post> postMap = new HashMap<>();
19+
private static int sId = 0;
20+
21+
private static HTMLDivElement posts = null;
22+
private static HTMLTextareaElement newPost = null;
23+
private static HTMLInputElement name = null;
24+
private static HTMLPElement textCount = null;
25+
private static HTMLButtonElement postButton = null;
26+
27+
static {
28+
posts = $.document.<HTMLDivElement>getElementByIdG("posts");
29+
newPost = $.document.<HTMLTextareaElement>getElementByIdG("newPost");
30+
name = $.document.<HTMLInputElement>getElementByIdG("name");
31+
textCount = $.document.<HTMLPElement>getElementByIdG("textCount");
32+
postButton = $.document.<HTMLButtonElement>getElementByIdG("postButton");
33+
}
34+
1835
public static void main(String[] args) {
1936
System.out.println("Hello from Main.java!");
2037

21-
var posts = $.document.<HTMLDivElement>getElementByIdG("posts");
22-
var newPost = $.document.<HTMLTextareaElement>getElementByIdG("newPost");
23-
var name = $.document.<HTMLInputElement>getElementByIdG("name");
24-
var textCount = $.document.<HTMLPElement>getElementByIdG("textCount");
25-
var postButton = $.document.<HTMLButtonElement>getElementByIdG("postButton");
26-
2738
newPost.addEventListener("input", new EventListener() {
2839
@Override
2940
public void handleEvent(Event evt) {
@@ -51,17 +62,27 @@ public void handleEvent(Event evt) {
5162

5263
System.out.println("投稿中...");
5364

54-
var post = $.fetch("http://localhost:8080/api/v1/post", RequestInit.builder()
55-
.method("PUT")
56-
.body("name=" + nameValue + "&text=" + textValue)
57-
.headers(HEADERS)
58-
.build()
59-
).json(Post.class);
60-
65+
// var post = $.fetch("http://localhost:8080/api/v1/post", RequestInit.builder()
66+
// .method("PUT")
67+
// .body("name=" + nameValue + "&text=" + textValue)
68+
// .headers(HEADERS)
69+
// .build()
70+
// ).json(Post.class);
71+
72+
var post = Post.builder()
73+
.text(textValue)
74+
.name(nameValue)
75+
.date(String.valueOf(System.currentTimeMillis()))
76+
.sId(String.valueOf(sId))
77+
.build();
78+
79+
postMap.put(String.valueOf(sId), post);
6180
var postElement = createPostElement(post);
6281
posts.appendChild(postElement);
6382

6483
System.out.println("投稿完了:" + post.getSId());
84+
85+
sId++;
6586
}
6687
});
6788

@@ -71,11 +92,9 @@ public void handleEvent(Event evt) {
7192
private static void updatePosts() {
7293
System.out.println("投稿を取得中...");
7394

74-
var posts = $.document.<HTMLDivElement>getElementByIdG("posts");
75-
var postsList = $.fetch("http://localhost:8080/api/v1/posts").json(Post[].class);
76-
var i = 0;
77-
78-
for (var post : postsList) {
95+
int i = 0;
96+
for (var entry : postMap.entrySet()) {
97+
var post = entry.getValue();
7998
if (post.getText().equals("testdate")) {
8099
i++;
81100
continue;
@@ -84,7 +103,7 @@ private static void updatePosts() {
84103
posts.appendChild(postElement);
85104
}
86105

87-
System.out.println((postsList.length - i) + "件を取得しました!");
106+
System.out.println((postMap.size() - i) + "件を取得しました!");
88107
}
89108

90109
private static HTMLElement createPostElement(Post post) {
@@ -96,7 +115,7 @@ private static HTMLElement createPostElement(Post post) {
96115
nameElement.setClassName("name");
97116
nameElement.setTextContent(post.getName());
98117

99-
var divElement = $.document.<HTMLDivElement>createElementG("div");
118+
var divElement = $.document.<HTMLDivElement>createElementG("div");
100119
divElement.appendChild(imgElement);
101120
divElement.appendChild(nameElement);
102121

‎frontend-js/index.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ <h2>新規投稿</h2>
2323
</div>
2424
<button id="postButton">投稿</button>
2525
</section>
26+
<section class="links-container">
27+
<h2>注意</h2>
28+
<article>
29+
<p>サーバがあることを想定して,本デモは投稿時に通信をせずにメモリ上にデータを保存しています.そのため,投稿はリロードすると削除されます.</p>
30+
</article>
31+
</section>
2632
<section class="links-container">
2733
<h2>リンク</h2>
2834
<article>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /