Skip to content

Commit

Permalink
fix: use connect params for persisted state
Browse files Browse the repository at this point in the history
  • Loading branch information
zachdaniel committed Aug 2, 2023
1 parent 667fe6b commit 77a43cc
Show file tree
Hide file tree
Showing 10 changed files with 29 additions and 57 deletions.
30 changes: 20 additions & 10 deletions assets/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,15 +128,6 @@ Hooks.Actor = {
this.handleEvent("toggle_actor_paused", (payload) => {
document.cookie = "actor_paused" + "=" + payload.actor_paused + ";path=/";
});

this.pushEvent("set_actor_from_session", {
actor_resource: document.cookie.actor_resource,
actor_primary_key: document.cookie.actor_primary_key,
actor_action: document.cookie.actor_action,
actor_api: document.cookie.actor_api,
actor_authorizing: document.cookie.actor_authorizing,
actor_paused: document.cookie.actor_paused
})
},
};

Expand Down Expand Up @@ -166,8 +157,27 @@ Hooks.MaintainAttrs = {
},
};

function getCookie(name) {
var re = new RegExp(name + "=([^;]+)");
var value = re.exec(document.cookie);
return (value != null) ? unescape(value[1]) : null;
};


let params = () => {
return {
_csrf_token: csrfToken,
actor_resource: getCookie("actor_resource"),
actor_primary_key: getCookie("actor_primary_key"),
actor_action: getCookie("actor_action"),
actor_api: getCookie("actor_api"),
actor_authorizing: getCookie("actor_authorizing"),
actor_paused: getCookie("actor_paused")
}
}

let liveSocket = new LiveSocket(socketPath, Socket, {
params: { _csrf_token: csrfToken },
params: params,
hooks: Hooks,
dom: {
onBeforeElUpdated(from, to) {
Expand Down
3 changes: 3 additions & 0 deletions lib/ash_admin/actor_plug/plug.ex
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ defmodule AshAdmin.ActorPlug.Plug do
otp_app = socket.endpoint.config(:otp_app)
apis = apis(otp_app)

session =
Phoenix.LiveView.get_connect_params(socket) || session

actor_paused =
if is_nil(session["actor_paused"]) do
true
Expand Down
17 changes: 0 additions & 17 deletions lib/ash_admin/pages/page_live.ex
Original file line number Diff line number Diff line change
Expand Up @@ -267,10 +267,6 @@ defmodule AshAdmin.PageLive do
socket
|> assign(:url_path, url.path)
|> assign(:params, params)}

# :error ->
# {:error, "Not Found"}
# end
end

defp to_one_relationships(resource) do
Expand Down Expand Up @@ -306,19 +302,6 @@ defmodule AshAdmin.PageLive do
|> push_event("clear_actor", %{})}
end

def handle_event("set_actor_from_session", payload, socket) do
assigns =
payload
|> Map.take(
~w[actor_resource actor_primary_key actor_action actor_api actor_authorizing actor_paused]
)
|> Enum.map(fn {key, value} ->
{String.to_existing_atom(key), value}
end)

{:noreply, assign(socket, assigns)}
end

def handle_event(
"set_actor",
%{"resource" => resource, "api" => api, "pkey" => primary_key},
Expand Down

This file was deleted.

Binary file not shown.
23 changes: 0 additions & 23 deletions priv/static/assets/app-c9fc8078e7bd6db471c3dfa3fcebe839.js

This file was deleted.

Binary file not shown.
8 changes: 4 additions & 4 deletions priv/static/assets/app.js

Large diffs are not rendered by default.

Binary file modified priv/static/assets/app.js.gz
Binary file not shown.
4 changes: 2 additions & 2 deletions priv/static/cache_manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"!comment!":"This file was auto-generated by `mix phx.digest`. Remove it and all generated artefacts with `mix phx.digest.clean --all`",
"version":1,
"latest":{"assets/app.css":"assets/app-161d914bba3ef8912bae46d62332075a.css","assets/app.js":"assets/app-c9fc8078e7bd6db471c3dfa3fcebe839.js"},
"digests":{"assets/app-161d914bba3ef8912bae46d62332075a.css":{"size":35588,"sha512":"UD0fP1n3WDpLGBt/Z/B2CpSpg8DUFlcIM3LV86qlBW28sgXzM2nOogI6tFmH6IclRlq2VBl+O5Pc+TKkBgHTcg==","digest":"161d914bba3ef8912bae46d62332075a","logical_path":"assets/app.css","mtime":63858229399},"assets/app-c9fc8078e7bd6db471c3dfa3fcebe839.js":{"size":92526,"sha512":"GzSgXYTWePK9QG0akmOU5Xv0o+H0UvSGvNo3jKMKI8m/iPH/+S7Of2p1q/bvc722pqyZB8rHCBv3hFNCZtrMcQ==","digest":"c9fc8078e7bd6db471c3dfa3fcebe839","logical_path":"assets/app.js","mtime":63858229399}}
"latest":{"assets/app.css":"assets/app-161d914bba3ef8912bae46d62332075a.css","assets/app.js":"assets/app-528a493fc149b6d6e0fcb1802e186a86.js"},
"digests":{"assets/app-161d914bba3ef8912bae46d62332075a.css":{"size":35588,"sha512":"UD0fP1n3WDpLGBt/Z/B2CpSpg8DUFlcIM3LV86qlBW28sgXzM2nOogI6tFmH6IclRlq2VBl+O5Pc+TKkBgHTcg==","digest":"161d914bba3ef8912bae46d62332075a","logical_path":"assets/app.css","mtime":63858230600},"assets/app-39c2efdd8fdfdcadf9ee5a33a958b762.js":{"digest":"39c2efdd8fdfdcadf9ee5a33a958b762","logical_path":"assets/app.js","mtime":63858230148,"sha512":"TjqkgKqfqAWcyydxNTC6o/czi7SDafuCpxrlJJ5F/BM5705cbeFP4BDRiR66aLQhhIIybeavZn5oO5qL8OyA4w==","size":92483},"assets/app-528a493fc149b6d6e0fcb1802e186a86.js":{"size":92542,"sha512":"uzU1ccJwvkAiU6kmrRJw25H/Whe1bg1M+sP2PExWPOrbyiO18PsVVpwQG4BP1GMCpLe7XmeWTtKNoKjhGjgvxg==","digest":"528a493fc149b6d6e0fcb1802e186a86","logical_path":"assets/app.js","mtime":63858230600},"assets/app-c4a86ffe4e33b2790173ef396c4aff6f.js":{"digest":"c4a86ffe4e33b2790173ef396c4aff6f","logical_path":"assets/app.js","mtime":63858230447,"sha512":"QsZDbWZ/lMXNZC10XK4PkQh6GEf27UXTFlQkC8zwcP+nvv5BCcbxN2xSEh5r3n+20WLQPF7umx7ptDYK9l4kPQ==","size":92495},"assets/app-c9fc8078e7bd6db471c3dfa3fcebe839.js":{"digest":"c9fc8078e7bd6db471c3dfa3fcebe839","logical_path":"assets/app.js","mtime":63858229399,"sha512":"GzSgXYTWePK9QG0akmOU5Xv0o+H0UvSGvNo3jKMKI8m/iPH/+S7Of2p1q/bvc722pqyZB8rHCBv3hFNCZtrMcQ==","size":92526}}
}

0 comments on commit 77a43cc

Please sign in to comment.