fix: use connect params for persisted state

This commit is contained in:
Zach Daniel 2023-08-02 17:24:31 -04:00
parent 667fe6ba8c
commit 77a43cc4fa
10 changed files with 29 additions and 57 deletions

View file

@ -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
})
},
};
@ -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) {

View file

@ -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

View file

@ -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
@ -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},

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -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}}
}