Files

81 lines
2.2 KiB
Svelte
Raw Permalink Normal View History

2023-10-02 23:10:49 +03:00
<script>
2026-05-07 17:42:46 +03:00
import { getContext } from "svelte";
import { apiPost } from "../../helpers";
2023-10-02 23:10:49 +03:00
const channel = getContext("channel");
export let selected;
export let schema;
export let filter;
function deleteRecords(e) {
e.preventDefault();
2026-05-07 17:42:46 +03:00
apiPost(channel.lucentUrl + "/records/delete", {
ids: selected.map((s) => s.id),
})
2023-10-02 23:10:49 +03:00
.then((response) => {
window.location.reload();
})
.catch((error) => {
console.log(error);
});
}
function changeStatus(e, status) {
2026-05-07 17:42:46 +03:00
apiPost(channel.lucentUrl + "/records/status/" + status, {
schemaName: schema.name,
records: selected,
})
2023-10-02 23:10:49 +03:00
.then((response) => {
window.location.reload();
})
.catch((error) => {
console.log(error);
});
}
</script>
2024-08-15 18:52:53 +03:00
<div style="display: flex;align-items: center; gap: 8px">
2023-10-02 23:10:49 +03:00
<span class="me-2">{selected.length} records selected</span>
2024-08-15 22:11:26 +03:00
<button
2026-05-07 17:42:46 +03:00
on:click|preventDefault={(e) => changeStatus(e, "published")}
type="button"
class="button"
>Publish
</button>
2024-08-15 22:11:26 +03:00
<button
2026-05-07 17:42:46 +03:00
on:click|preventDefault={(e) => changeStatus(e, "draft")}
type="button"
class="button"
>Make Draft
</button>
2024-08-15 22:11:26 +03:00
{#if filter["status_in"] === "trashed"}
<button
2026-05-07 17:42:46 +03:00
on:click|preventDefault={(e) => changeStatus(e, "published")}
type="button"
class="button"
>Publish
</button>
2024-08-15 22:11:26 +03:00
{#if schema.hasDrafts}
<button
2026-05-07 17:42:46 +03:00
on:click|preventDefault={(e) => changeStatus(e, "draft")}
type="button"
class="button"
>Make Draft
</button>
2024-08-15 22:11:26 +03:00
{/if}
<button
2026-05-07 17:42:46 +03:00
on:click|preventDefault={deleteRecords}
type="button"
class="button"
>Delete forever
</button>
2024-08-15 22:11:26 +03:00
{:else}
<button
2026-05-07 17:42:46 +03:00
type="button"
on:click|preventDefault={(e) => changeStatus(e, "trashed")}
class="button"
>Move to trash
</button>
2024-08-15 22:11:26 +03:00
{/if}
2023-10-02 23:10:49 +03:00
</div>