@raketa-cloud/admin 1.8.7 → 1.8.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application.css +0 -4
- package/package.json +1 -1
- package/src/HonoAdapter.js +34 -33
- package/src/index.js +0 -3
- package/src/routeCategoriesModule.js +1 -1
- package/src/routeCollection.js +15 -8
- package/src/routeNestedCollection.js +1 -1
- package/src/routeNestedMember.js +1 -1
- package/src/routeResource.js +19 -21
- package/src/routeStandard.js +6 -6
- package/src/tests/HonoAdapter.coverage.test.js +15 -25
- package/src/tests/routeCategoriesModule.test.js +2 -2
- package/src/tests/routeResource.test.js +12 -37
- package/src/tests/routeStandard.test.js +13 -13
- package/src/views/_shared/_date_fields_input.ejs +13 -0
- package/src/views/{page_revisions → resource_revisions}/general/_form.ejs +1 -0
- package/src/views/{pages → resources}/_form.ejs +1 -0
- package/src/views/{pages → resources}/history/index.ejs +1 -1
- package/src/views/{articles → resources}/index.ejs +6 -0
- package/src/views/{pages → resources}/show.ejs +7 -7
- package/src/views/{articles → resources}/translations/create_form.ejs +2 -2
- package/src/routeArticlesModule.js +0 -15
- package/src/routeEventsModule.js +0 -15
- package/src/routePagesModule.js +0 -15
- package/src/tests/routeArticlesModule.test.js +0 -43
- package/src/tests/routeEventsModule.test.js +0 -43
- package/src/tests/routePagesModule.test.js +0 -43
- package/src/views/article_revisions/_nav.ejs +0 -53
- package/src/views/article_revisions/general/_form.ejs +0 -18
- package/src/views/article_revisions/tags/edit_form.ejs +0 -16
- package/src/views/articles/_form.ejs +0 -45
- package/src/views/articles/_shared/history_table.ejs +0 -74
- package/src/views/articles/deletes/create_form.ejs +0 -68
- package/src/views/articles/history/index.ejs +0 -80
- package/src/views/articles/show.ejs +0 -222
- package/src/views/articles/urls/create_form.ejs +0 -36
- package/src/views/event_revisions/codes/_form.ejs +0 -14
- package/src/views/event_revisions/codes/edit_form.ejs +0 -16
- package/src/views/event_revisions/general/_form.ejs +0 -20
- package/src/views/event_revisions/general/edit_form.ejs +0 -16
- package/src/views/event_revisions/locks/_form.ejs +0 -11
- package/src/views/event_revisions/locks/create_form.ejs +0 -27
- package/src/views/event_revisions/meta/_form.ejs +0 -16
- package/src/views/event_revisions/meta/edit_form.ejs +0 -16
- package/src/views/event_revisions/publishes/_form.ejs +0 -77
- package/src/views/event_revisions/publishes/create_form.ejs +0 -9
- package/src/views/event_revisions/tags/_form.ejs +0 -13
- package/src/views/event_revisions/tags/edit_form.ejs +0 -16
- package/src/views/event_revisions/visuals/_form.ejs +0 -13
- package/src/views/event_revisions/visuals/edit_form.ejs +0 -16
- package/src/views/events/_form.ejs +0 -47
- package/src/views/events/_shared/_addons.ejs +0 -0
- package/src/views/events/_shared/_export_button.ejs +0 -9
- package/src/views/events/_shared/_history_toolbar.ejs +0 -24
- package/src/views/events/_shared/_revision_operator.ejs +0 -8
- package/src/views/events/_shared/_revision_toolbar.ejs +0 -68
- package/src/views/events/_shared/_title.ejs +0 -14
- package/src/views/events/_shared/_toolbar.ejs +0 -45
- package/src/views/events/_shared/history_table.ejs +0 -74
- package/src/views/events/create_form.ejs +0 -9
- package/src/views/events/deletes/create_form.ejs +0 -68
- package/src/views/events/history/index.ejs +0 -80
- package/src/views/events/index.ejs +0 -190
- package/src/views/events/show.ejs +0 -222
- package/src/views/events/translations/_translation_toolbar.ejs +0 -18
- package/src/views/events/translations/create_form.ejs +0 -75
- package/src/views/events/translations/index.ejs +0 -39
- package/src/views/events/urls/create_form.ejs +0 -36
- package/src/views/page_revisions/_nav.ejs +0 -53
- package/src/views/page_revisions/codes/_form.ejs +0 -14
- package/src/views/page_revisions/codes/edit_form.ejs +0 -16
- package/src/views/page_revisions/general/edit_form.ejs +0 -16
- package/src/views/page_revisions/locks/_form.ejs +0 -11
- package/src/views/page_revisions/locks/create_form.ejs +0 -27
- package/src/views/page_revisions/meta/_form.ejs +0 -16
- package/src/views/page_revisions/meta/edit_form.ejs +0 -16
- package/src/views/page_revisions/publishes/_form.ejs +0 -76
- package/src/views/page_revisions/publishes/create_form.ejs +0 -9
- package/src/views/page_revisions/tags/_form.ejs +0 -13
- package/src/views/page_revisions/visuals/_form.ejs +0 -13
- package/src/views/page_revisions/visuals/edit_form.ejs +0 -16
- package/src/views/pages/_shared/_addons.ejs +0 -0
- package/src/views/pages/_shared/_export_button.ejs +0 -9
- package/src/views/pages/_shared/_history_toolbar.ejs +0 -24
- package/src/views/pages/_shared/_revision_operator.ejs +0 -8
- package/src/views/pages/_shared/_revision_toolbar.ejs +0 -68
- package/src/views/pages/_shared/_title.ejs +0 -14
- package/src/views/pages/_shared/_toolbar.ejs +0 -45
- package/src/views/pages/create_form.ejs +0 -9
- package/src/views/pages/index.ejs +0 -185
- package/src/views/pages/translations/_translation_toolbar.ejs +0 -18
- package/src/views/pages/translations/create_form.ejs +0 -75
- package/src/views/pages/translations/index.ejs +0 -39
- /package/src/views/{event_revisions → resource_revisions}/_nav.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/codes/_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/codes/edit_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/general/edit_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/locks/_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/locks/create_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/meta/_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/meta/edit_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/publishes/_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/publishes/create_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/tags/_form.ejs +0 -0
- /package/src/views/{page_revisions → resource_revisions}/tags/edit_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/visuals/_form.ejs +0 -0
- /package/src/views/{article_revisions → resource_revisions}/visuals/edit_form.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_addons.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_export_button.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_history_toolbar.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_revision_operator.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_revision_toolbar.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_title.ejs +0 -0
- /package/src/views/{articles → resources}/_shared/_toolbar.ejs +0 -0
- /package/src/views/{pages → resources}/_shared/history_table.ejs +0 -0
- /package/src/views/{articles → resources}/create_form.ejs +0 -0
- /package/src/views/{pages → resources}/deletes/create_form.ejs +0 -0
- /package/src/views/{articles → resources}/translations/_translation_toolbar.ejs +0 -0
- /package/src/views/{articles → resources}/translations/index.ejs +0 -0
- /package/src/views/{pages → resources}/urls/create_form.ejs +0 -0
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<% form_for({ resource }, errors, (f) => { %>
|
|
2
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${resource.id}/codes` %>" method="POST" class="form">
|
|
3
|
-
<%- render_partial('../../_shared/_scripts_input.ejs', { resource, f }) %>
|
|
4
|
-
<%- render_partial('../../_shared/_structured_json_input.ejs', { resource, f }) %>
|
|
5
|
-
|
|
6
|
-
<div class="form-actions">
|
|
7
|
-
<div class="btn-toolbar">
|
|
8
|
-
<%- f.submit('Save', { class: 'btn-primary' }) %>
|
|
9
|
-
<%- f.submit('Save and publish', { class: 'btn-secondary', name: '_next', value: 'publish' }) %>
|
|
10
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.originalId}` %>" class="btn-text">Back</a>
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
</form>
|
|
14
|
-
<% }) %>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<div class="page-wrapper">
|
|
2
|
-
<div class="page-title">
|
|
3
|
-
<h1 class="heading-1">
|
|
4
|
-
<span class="opacity-50">Code customizations / </span>
|
|
5
|
-
<%= resource.title %>
|
|
6
|
-
</h1>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<%- render_partial('../_nav.ejs', { resource, active: 'codes' }) %>
|
|
10
|
-
|
|
11
|
-
<div class="grid gap-4 md:grid-cols-3">
|
|
12
|
-
<div>
|
|
13
|
-
<%- render_partial('_form.ejs', { render_partial: render_partial }) %>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<div class="page-wrapper">
|
|
2
|
-
<div class="page-title">
|
|
3
|
-
<h1 class="heading-1">
|
|
4
|
-
<span class="opacity-50">General / </span>
|
|
5
|
-
<%= resource.title %>
|
|
6
|
-
</h1>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<%- render_partial('../_nav.ejs', { resource, active: 'general' }) %>
|
|
10
|
-
|
|
11
|
-
<div class="grid gap-4 md:grid-cols-3">
|
|
12
|
-
<div>
|
|
13
|
-
<%- render_partial('_form.ejs') %>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<% form_for({ resource }, errors, (f) => { %>
|
|
2
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${resource.id}/locks` %>" method="POST" class="form">
|
|
3
|
-
<%- f.field('resource.message', { as: 'textarea', label: 'Lock Message', required: true }) %>
|
|
4
|
-
<div class="form-actions">
|
|
5
|
-
<div class="btn-toolbar">
|
|
6
|
-
<%- f.submit('Lock revision', { class: 'btn-primary' }) %>
|
|
7
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.originalId}` %>" class="btn-secondary">Cancel</a>
|
|
8
|
-
</div>
|
|
9
|
-
</div>
|
|
10
|
-
</form>
|
|
11
|
-
<% }) %>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<div class="page-wrapper">
|
|
2
|
-
<div class="page-title">
|
|
3
|
-
<h1 class="heading-1">Lock revision</h1>
|
|
4
|
-
</div>
|
|
5
|
-
|
|
6
|
-
<div class="grid gap-4 md:grid-cols-3">
|
|
7
|
-
<div>
|
|
8
|
-
<%- render_partial('_form.ejs') %>
|
|
9
|
-
</div>
|
|
10
|
-
|
|
11
|
-
<div>
|
|
12
|
-
<div class="help">
|
|
13
|
-
<div class="mb-2 flex items-center gap-1">
|
|
14
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
15
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z" />
|
|
16
|
-
</svg>
|
|
17
|
-
|
|
18
|
-
<h3 class="heading-3">How to lock a revision?</h3>
|
|
19
|
-
</div>
|
|
20
|
-
|
|
21
|
-
<div class="markdown">
|
|
22
|
-
<p>You can lock a revision to prevent publishing or deletion by anyone, including yourself. When locking, provide a clear, informative message explaining the reason. Remember that while this feature is designed to facilitate collaboration, any user can still unlock the revision.</p>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<% form_for({ resource }, errors, (f) => { %>
|
|
2
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${resource.id}/meta` %>" method="POST" class="form">
|
|
3
|
-
<%- f.field('resource.settings.meta.title', { required: true, label: "Meta title", hint: "Used for both meta and OpenGraph" }) %>
|
|
4
|
-
<%- f.field('resource.settings.meta.description', { as: "textarea", required: true, label: "Meta description", hint: "Used for both meta and OpenGraph" }) %>
|
|
5
|
-
|
|
6
|
-
<raketa-image-picker name="resource[settings][meta][image]" value="<%= JSON.stringify(resource.settings?.meta?.image || {}) %>" label="OpenGraph image"></raketa-image-picker>
|
|
7
|
-
|
|
8
|
-
<div class="form-actions">
|
|
9
|
-
<div class="btn-toolbar">
|
|
10
|
-
<%- f.submit('Save', { class: 'btn-primary' }) %>
|
|
11
|
-
<%- f.submit('Save and publish', { class: 'btn-secondary', name: '_next', value: 'publish' }) %>
|
|
12
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.originalId}` %>" class="btn-text">Back</a>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
</form>
|
|
16
|
-
<% }) %>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<div class="page-wrapper">
|
|
2
|
-
<div class="page-title">
|
|
3
|
-
<h1 class="heading-1">
|
|
4
|
-
<span class="opacity-50">OpenGraph & Meta tags / </span>
|
|
5
|
-
<%= resource.title %>
|
|
6
|
-
</h1>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<%- render_partial('../_nav.ejs', { resource, active: 'meta' }) %>
|
|
10
|
-
|
|
11
|
-
<div class="grid gap-4 md:grid-cols-3">
|
|
12
|
-
<div>
|
|
13
|
-
<%- render_partial('_form.ejs') %>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
<% form_for({ publishing }, errors, (f) => { %>
|
|
2
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${publishing.id}/publishes` %>" method="post" class="form">
|
|
3
|
-
<% if (errors.slug) { %>
|
|
4
|
-
<div class="mb-4 text-red-500">A page with this URL already exists</div>
|
|
5
|
-
<% } %>
|
|
6
|
-
|
|
7
|
-
<%- f.field('publishing.type', { as: 'radio_group', label: "", options: [["now", "Publish now"], ["later", "Schedule for a date"]] }) %>
|
|
8
|
-
<%- f.field('publishing.mergeAt', { type: 'datetime-local', label: 'Publish revision at (UTC)' }) %>
|
|
9
|
-
|
|
10
|
-
<%- f.field('publishing.title', { required: true, hint: "Appears in the history of changes" }) %>
|
|
11
|
-
<%- f.field('publishing.description', { as: "textarea", hint: "Provide optional details" }) %>
|
|
12
|
-
<%- f.field('publishing.visibility', { as: 'select', required: true, options: visibilityOptions }) %>
|
|
13
|
-
<%- f.field('publishing.username', { required: true }) %>
|
|
14
|
-
<%- f.field('publishing.password', { required: true }) %>
|
|
15
|
-
|
|
16
|
-
<div class="form-actions">
|
|
17
|
-
<div class="btn-toolbar">
|
|
18
|
-
<%- f.submit('Save record', { class: 'btn-primary' }) %>
|
|
19
|
-
|
|
20
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${publishing.originalId}` %>" class="btn-secondary">Back</a>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
</form>
|
|
24
|
-
<% }) %>
|
|
25
|
-
|
|
26
|
-
<script>
|
|
27
|
-
// Takes care of the publishint time!
|
|
28
|
-
const typeEl = document.getElementById("f_publishing_type")
|
|
29
|
-
const mergeAtEl = document.getElementById("f_publishing_mergeAt")
|
|
30
|
-
|
|
31
|
-
function radioGroupValue(radioGroup) {
|
|
32
|
-
let val = "";
|
|
33
|
-
|
|
34
|
-
radioGroup.querySelectorAll('input[type="radio"]').forEach(input => {
|
|
35
|
-
|
|
36
|
-
if (input.checked) {
|
|
37
|
-
val = input.value
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
return val;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function handleTypeChange(value) {
|
|
46
|
-
const shouldShowMergeAt = value === "later"
|
|
47
|
-
|
|
48
|
-
if (shouldShowMergeAt) {
|
|
49
|
-
mergeAtEl.parentNode.classList.remove('hidden')
|
|
50
|
-
} else {
|
|
51
|
-
mergeAtEl.parentNode.classList.add('hidden')
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
typeEl.addEventListener("change", (e) => handleTypeChange(e.target.value))
|
|
56
|
-
handleTypeChange(radioGroupValue(typeEl))
|
|
57
|
-
</script>
|
|
58
|
-
|
|
59
|
-
<script>
|
|
60
|
-
const visibilityEl = document.getElementById("f_publishing_visibility");
|
|
61
|
-
const usernameEl = document.getElementById("f_publishing_username").parentElement;
|
|
62
|
-
const passwordEl = document.getElementById("f_publishing_password").parentElement;
|
|
63
|
-
|
|
64
|
-
function handleVisibilityChange(value) {
|
|
65
|
-
const isHidden = value !== "protected";
|
|
66
|
-
|
|
67
|
-
usernameEl.classList.toggle('hidden', isHidden);
|
|
68
|
-
passwordEl.classList.toggle('hidden', isHidden);
|
|
69
|
-
|
|
70
|
-
usernameEl.querySelector('input').toggleAttribute('required', !isHidden);
|
|
71
|
-
passwordEl.querySelector('input').toggleAttribute('required', !isHidden);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
visibilityEl.addEventListener("change", (e) => handleVisibilityChange(e.target.value));
|
|
75
|
-
handleVisibilityChange(visibilityEl.value);
|
|
76
|
-
</script>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<% form_for({ resource }, errors, (f) => { %>
|
|
2
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${resource.id}/tags` %>" method="POST" class="form">
|
|
3
|
-
<%- f.field('resource.tags', { as: 'checkbox_group', options: tags.map(tag => [tag.id, tag.name]) }) %>
|
|
4
|
-
|
|
5
|
-
<div class="form-actions">
|
|
6
|
-
<div class="btn-toolbar">
|
|
7
|
-
<%- f.submit('Save', { class: 'btn-primary' }) %>
|
|
8
|
-
<%- f.submit('Save and publish', { class: 'btn-secondary', name: '_next', value: 'publish' }) %>
|
|
9
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.originalId}` %>" class="btn-text">Back</a>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
</form>
|
|
13
|
-
<% }) %>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<% form_for({ resource }, errors, (f) => { %>
|
|
2
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${resource.id}/visuals` %>" method="POST" class="form">
|
|
3
|
-
<%- include('../../_shared/_layout_input.ejs', { f }) %>
|
|
4
|
-
|
|
5
|
-
<div class="form-actions">
|
|
6
|
-
<div class="btn-toolbar">
|
|
7
|
-
<%- f.submit('Save', { class: 'btn-primary' }) %>
|
|
8
|
-
<%- f.submit('Save and publish', { class: 'btn-secondary', name: '_next', value: 'publish' }) %>
|
|
9
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.originalId}` %>" class="btn-text">Back</a>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
</form>
|
|
13
|
-
<% }) %>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<div class="page-wrapper">
|
|
2
|
-
<div class="page-title">
|
|
3
|
-
<h1 class="heading-1">
|
|
4
|
-
<span class="opacity-50">Visuals / </span>
|
|
5
|
-
<%= resource.title %>
|
|
6
|
-
</h1>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<%- render_partial('../_nav.ejs', { resource, active: 'visuals' }) %>
|
|
10
|
-
|
|
11
|
-
<div class="grid gap-4 md:grid-cols-3">
|
|
12
|
-
<div>
|
|
13
|
-
<%- render_partial('_form.ejs') %>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
File without changes
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<% if (Object.keys(_context.query).some(k => k.startsWith('f:')) && items.list.length > 0) { %>
|
|
2
|
-
<%
|
|
3
|
-
const queryString = Object.entries(_context.query)
|
|
4
|
-
.filter(([key, value]) => value !== undefined && value !== null && value !== '')
|
|
5
|
-
.map(([key, value]) => Array.isArray(value) ? value.map(v => `${key}=${encodeURIComponent(v)}`).join('&') : `${key}=${encodeURIComponent(value)}`)
|
|
6
|
-
.join('&');
|
|
7
|
-
%>
|
|
8
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/exports${queryString ? '?' + queryString : ''}` %>" class="btn-secondary">Export</a>
|
|
9
|
-
<% } %>
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<div class="actions-toolbar justify-end">
|
|
2
|
-
<form method="POST" action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/${_context.resourceConfig.resourceType}_changes/reverts` %>" class="inline-block">
|
|
3
|
-
<input type="hidden" name="version" value="<%= change.version %>">
|
|
4
|
-
|
|
5
|
-
<% if (history.isChangeRevertable(change, maxVersion) && !(resource.revisionsCount >= _context.maxOpenRevisions)) { %>
|
|
6
|
-
<button type="submit" class="btn-text">
|
|
7
|
-
Revert
|
|
8
|
-
</button>
|
|
9
|
-
<% } else { %>
|
|
10
|
-
<button type="submit" disabled class="btn-text opacity-50 cursor-not-allowed">
|
|
11
|
-
Revert
|
|
12
|
-
</button>
|
|
13
|
-
<% } %>
|
|
14
|
-
</form>
|
|
15
|
-
|
|
16
|
-
<a href="/remote/login?redirect_to=/<%= _context.locale %>/admin/<%= _context.resourceConfig.resourceTypePlural %>/<%= resource.id %>/changes/<%= change.version %>" class="btn-text has-icon">
|
|
17
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
18
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" />
|
|
19
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
|
20
|
-
</svg>
|
|
21
|
-
|
|
22
|
-
Preview
|
|
23
|
-
</a>
|
|
24
|
-
</div>
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<div class="body-3 text-raketa-foreground/50">
|
|
2
|
-
<div class="flex items-center gap-1" title="<%= revision.meta.operatorMeta.name %>">
|
|
3
|
-
<% if (revision.meta.operatorMeta.avatar) { %>
|
|
4
|
-
<img src="<%= revision.meta.operatorMeta.avatar %>" class="rounded-full size-4">
|
|
5
|
-
<% } %>
|
|
6
|
-
<%= revision.meta.operatorMeta.name %>
|
|
7
|
-
</div>
|
|
8
|
-
</div>
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<div class="actions-toolbar justify-end">
|
|
2
|
-
<a href="/remote/login?redirect_to=/<%= _context.locale %>/admin/<%= _context.resourceConfig.resourceType %>-revisions/<%= revision.id %>/builder" class="btn-text has-icon <%= revision.meta && revision.meta.locked ? 'cursor-not-allowed text-gray-400 pointer-events-none' : '' %>">
|
|
3
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
4
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125" />
|
|
5
|
-
</svg>
|
|
6
|
-
Edit content
|
|
7
|
-
</a>
|
|
8
|
-
|
|
9
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${revision.id}/general/edit` %>" class="btn-text has-icon <%= revision.meta && revision.meta.locked ? 'cursor-not-allowed text-gray-400 pointer-events-none' : '' %>">
|
|
10
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
11
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 0 1 1.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.559.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.894.149c-.424.07-.764.383-.929.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 0 1-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.398.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 0 1-.12-1.45l.527-.737c.25-.35.272-.806.108-1.204-.165-.397-.506-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.108-1.204l-.526-.738a1.125 1.125 0 0 1 .12-1.45l.773-.773a1.125 1.125 0 0 1 1.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894Z" />
|
|
12
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
|
13
|
-
</svg>
|
|
14
|
-
|
|
15
|
-
Edit settings
|
|
16
|
-
</a>
|
|
17
|
-
|
|
18
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${revision.id}/publishes/new` %>" class="btn-text has-icon <%= revision.meta && revision.meta.locked ? 'cursor-not-allowed text-gray-400 pointer-events-none' : '' %>">
|
|
19
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
20
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M15.59 14.37a6 6 0 0 1-5.84 7.38v-4.8m5.84-2.58a14.98 14.98 0 0 0 6.16-12.12A14.98 14.98 0 0 0 9.631 8.41m5.96 5.96a14.926 14.926 0 0 1-5.841 2.58m-.119-8.54a6 6 0 0 0-7.381 5.84h4.8m2.581-5.84a14.927 14.927 0 0 0-2.58 5.84m2.699 2.7c-.103.021-.207.041-.311.06a15.09 15.09 0 0 1-2.448-2.448 14.9 14.9 0 0 1 .06-.312m-2.24 2.39a4.493 4.493 0 0 0-1.757 4.306 4.493 4.493 0 0 0 4.306-1.758M16.5 9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z" />
|
|
21
|
-
</svg>
|
|
22
|
-
|
|
23
|
-
Publish
|
|
24
|
-
</a>
|
|
25
|
-
|
|
26
|
-
<details class="unstyled-details">
|
|
27
|
-
<summary class="cursor-pointer">
|
|
28
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
|
|
29
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M12 6.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 12.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 18.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z" />
|
|
30
|
-
</svg>
|
|
31
|
-
</summary>
|
|
32
|
-
|
|
33
|
-
<div class="absolute border bg-raketa-background p-4 right-4 z-20 mt-2 flex flex-col gap-4 shadow-md rounded dark:border-neutral-500">
|
|
34
|
-
<a href="/remote/login?redirect_to=/<%= _context.locale %>/admin/<%= _context.resourceConfig.resourceType %>-revisions/<%= revision.id %>/preview" target="_blank" class="btn-text has-icon <%= revision.meta && revision.meta.locked ? 'cursor-not-allowed text-gray-400 pointer-events-none' : '' %>">
|
|
35
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
36
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" />
|
|
37
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
|
38
|
-
</svg>
|
|
39
|
-
|
|
40
|
-
Preview
|
|
41
|
-
</a>
|
|
42
|
-
|
|
43
|
-
<% if (revision.meta && revision.meta.locked) { %>
|
|
44
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${revision.id}/unlocks` %>" method="post" class="inline-flex gap-2 items-center">
|
|
45
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
46
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 10.5V6.75a4.5 4.5 0 1 1 9 0v3.75M3.75 21.75h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H3.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" />
|
|
47
|
-
</svg>
|
|
48
|
-
<%- f.submit('Unlock', { class: 'btn-text' }) %>
|
|
49
|
-
</form>
|
|
50
|
-
<% } else { %>
|
|
51
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${revision.id}/locks/new` %>" class="btn-text has-icon">
|
|
52
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
53
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" />
|
|
54
|
-
</svg>
|
|
55
|
-
Lock
|
|
56
|
-
</a>
|
|
57
|
-
<% } %>
|
|
58
|
-
|
|
59
|
-
<button hx-delete="<%= `/${_context.locale}/${_context.resourceConfig.resourceType}_revisions/${revision.id}` %>" hx-confirm="Are you sure?" type="button" class="btn-danger has-icon <%= revision.meta && revision.meta.locked ? 'cursor-not-allowed text-gray-400 pointer-events-none' : '' %>">
|
|
60
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
61
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
|
62
|
-
</svg>
|
|
63
|
-
|
|
64
|
-
Delete
|
|
65
|
-
</button>
|
|
66
|
-
</div>
|
|
67
|
-
</details>
|
|
68
|
-
</div>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<div class="flex flex-col pb-4">
|
|
2
|
-
<h1 class="heading-1 flex items-center gap-2">
|
|
3
|
-
<%= resource.title %>
|
|
4
|
-
|
|
5
|
-
<% if (resource.visibility !== "private") { %>
|
|
6
|
-
<a href="<%= _context.remoteConfig.resourceUrl(resource, _context.resourceConfig.resourceType, _context.locale) %>" target="_blank">
|
|
7
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6 text-raketa-primary">
|
|
8
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
|
|
9
|
-
</svg>
|
|
10
|
-
</a>
|
|
11
|
-
<% } %>
|
|
12
|
-
</h1>
|
|
13
|
-
<a href="<%= _context.remoteConfig.resourceUrl(resource, _context.resourceConfig.resourceType, _context.locale) %>" target="_blank" class="btn-text"><%= _context.remoteConfig.resourceUrl(resource, _context.resourceConfig.resourceType, _context.locale) %></a>
|
|
14
|
-
</div>
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<div>
|
|
2
|
-
<div class="actions-toolbar">
|
|
3
|
-
<form method="POST" action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/${_context.resourceConfig.resourceType}_revisions` %>" class="inline-block">
|
|
4
|
-
<% if (resource.revisionsCount >= _context?.maxOpenRevisions) { %>
|
|
5
|
-
<button type="submit" class="btn-primary" disabled style="opacity: 50%;">
|
|
6
|
-
Start revision
|
|
7
|
-
</button>
|
|
8
|
-
<% } else {%>
|
|
9
|
-
<button type="submit" class="btn-primary">
|
|
10
|
-
Start revision
|
|
11
|
-
</button>
|
|
12
|
-
<% } %>
|
|
13
|
-
</form>
|
|
14
|
-
|
|
15
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/urls/new` %>" class="btn-text has-icon">
|
|
16
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
17
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244" />
|
|
18
|
-
</svg>
|
|
19
|
-
|
|
20
|
-
Change URL
|
|
21
|
-
</a>
|
|
22
|
-
|
|
23
|
-
<form action="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/clones` %>" method="post" class="inline-block">
|
|
24
|
-
<button type="submit" class="btn-text has-icon">
|
|
25
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
26
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75" />
|
|
27
|
-
</svg>
|
|
28
|
-
|
|
29
|
-
Clone <%= Inflector.humanize(Inflector.downcase(_context.resourceConfig.resourceType)) %>
|
|
30
|
-
</button>
|
|
31
|
-
</form>
|
|
32
|
-
|
|
33
|
-
<a href="<%= `/${_context.locale}/${_context.resourceConfig.resourceTypePlural}/${resource.id}/deletes/new` %>" class="btn-danger has-icon">
|
|
34
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4">
|
|
35
|
-
<path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />
|
|
36
|
-
</svg>
|
|
37
|
-
|
|
38
|
-
Delete <%= Inflector.humanize(Inflector.downcase(_context.resourceConfig.resourceType)) %>
|
|
39
|
-
</a>
|
|
40
|
-
</div>
|
|
41
|
-
|
|
42
|
-
<% if (_context.query?.revisions_count_error) { %>
|
|
43
|
-
<div class="text-red-600">Cannot open a new revision. Current limit is <%= _context.maxOpenRevisions %>. </div>
|
|
44
|
-
<% } %>
|
|
45
|
-
</div>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<div class="page-wrapper">
|
|
2
|
-
<div class="page-title">
|
|
3
|
-
<h1 class="heading-1">Create <%= Inflector.humanize(Inflector.downcase(_context.resourceConfig.resourceType)) %></h1>
|
|
4
|
-
</div>
|
|
5
|
-
|
|
6
|
-
<div class="grid gap-4 md:grid-cols-3">
|
|
7
|
-
<%- render_partial('_form.ejs') %>
|
|
8
|
-
</div>
|
|
9
|
-
</div>
|