mirror of
https://github.com/ash-project/ash_admin.git
synced 2024-09-19 21:03:52 +12:00
fix: use connect params for persisted state
This commit is contained in:
parent
667fe6ba8c
commit
77a43cc4fa
10 changed files with 29 additions and 57 deletions
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -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}}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue