Skip to content

Commit d92cf66

Browse files
committed
feat(elixir:gsmlg): Move node management to standalone page.
1 parent 7385fe3 commit d92cf66

File tree

7 files changed

+90
-32
lines changed

7 files changed

+90
-32
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
defmodule GSMLGWeb.NodeManagementController do
2+
use GSMLGWeb, :controller
3+
4+
def index(conn, _params) do
5+
nodes = Node.list()
6+
render(conn, "index.html", nodes: nodes)
7+
end
8+
9+
end

elixir/gsmlg_umbrella/apps/gsmlg_web/lib/gsmlg_web/router.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ defmodule GSMLGWeb.Router do
1919

2020
get "/", PageController, :index
2121

22+
get "/node_management", NodeManagementController, :index
23+
2224
live "/blogs", BlogLive.Index, :index
2325
live "/blogs/new", BlogLive.Index, :new
2426
live "/blogs/:id/edit", BlogLive.Index, :edit

elixir/gsmlg_umbrella/apps/gsmlg_web/lib/gsmlg_web/templates/layout/root.html.heex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<%= if function_exported?(Routes, :live_dashboard_path, 2) do %>
1919
<li><%= link "LiveDashboard", to: Routes.live_dashboard_path(@conn, :home) %></li>
2020
<% end %>
21+
<li><%= link "Node Management", to: Routes.node_management_path(@conn, :index) %></li>
2122
<li><%= link "Blog", to: Routes.blog_index_path(@conn, :index) %></li>
2223
</ul>
2324
</nav>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<h1>Current Node</h1>
2+
3+
<section>
4+
<h3>
5+
Name:
6+
<span>
7+
<%= Node.self() %>
8+
</span>
9+
</h3>
10+
11+
<h3>
12+
State:
13+
<span>
14+
<%= if Node.alive?, do: "Started", else: "Stopped" %>
15+
</span>
16+
</h3>
17+
18+
<h3>
19+
Cookie:
20+
<span>
21+
<%= Node.get_cookie() %>
22+
</span>
23+
</h3>
24+
25+
<div>
26+
<button>
27+
Set Cookie
28+
</button>
29+
</div>
30+
</section>
31+
32+
<hr />
33+
34+
<h1>Listing Nodes</h1>
35+
36+
<div>
37+
<button>
38+
Connect Node
39+
</button>
40+
</div>
41+
42+
<section>
43+
<%= if Enum.count(@nodes) > 0 do %>
44+
<ul>
45+
<%= for no <- @nodes do %>
46+
<li>
47+
<h3>
48+
<%= no %>
49+
</h3>
50+
</li>
51+
<% end %>
52+
</ul>
53+
<% else %>
54+
<h3>
55+
No node connected yet!
56+
</h3>
57+
<% end %>
58+
</section>

elixir/gsmlg_umbrella/apps/gsmlg_web/lib/gsmlg_web/templates/page/index.html.heex

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,3 @@
33
<p>Peace of mind from prototype to production</p>
44
</section>
55

6-
<section>
7-
<h3>
8-
当前节点:
9-
</h3>
10-
<div>
11-
<%= Node.self() %>
12-
(<%= if Node.alive?, do: "started", else: "stopped" %>)
13-
</div>
14-
</section>
15-
16-
<section>
17-
<h3>
18-
已连接节点:
19-
</h3>
20-
<%= if Enum.count(GSMLG.Node.Others.list()) > 0 do %>
21-
<%= for node <- GSMLG.Node.Others.list() do %>
22-
<div>
23-
<%= node.name %>
24-
</div>
25-
<% end %>
26-
<% else %>
27-
<div>
28-
无连接的节点
29-
</div>
30-
<% end %>
31-
32-
<div>
33-
<div>添加节点</div>
34-
<input type="text" name="new_name" />
35-
<button >添加</button>
36-
</div>
37-
</section>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
defmodule GSMLGWeb.NodeManagementView do
2+
use GSMLGWeb, :view
3+
end
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
defmodule GSMLGWeb.NodeControllerTest do
2+
use GSMLGWeb.ConnCase
3+
4+
import GSMLG.ManagementFixtures
5+
6+
@create_attrs %{}
7+
@update_attrs %{}
8+
@invalid_attrs %{}
9+
10+
describe "index" do
11+
test "lists all nodes", %{conn: conn} do
12+
conn = get(conn, Routes.node_path(conn, :index))
13+
assert html_response(conn, 200) =~ "Listing Nodes"
14+
end
15+
end
16+
17+
end

0 commit comments

Comments
 (0)