Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,5 @@ integration-tests/hosts/test/data
/modules/example-module/src/main/ts/node_modules/
/modules/example-module/src/main/ts/pnpm-lock.yaml
*.jfr
/modules/ui-module/src/main/ts/node_modules
/modules/ui-module/src/main/ts/node_modules
/modules/ui-module/src/main/theme/node_modules
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ public Mapping getMapping() {
"bootstrap/bootstrap.bundle.min.js.map",
"bootstrap/bootstrap.min.css",
"bootstrap/bootstrap-superhero.min.css",
"bootstrap/bootstrap-condation.min.css",
"bootstrap/bootstrap-icons.min.css",
"bootstrap/fonts/bootstrap-icons.woff",
"bootstrap/fonts/bootstrap-icons.woff2"
Expand Down

Large diffs are not rendered by default.

58 changes: 50 additions & 8 deletions modules/ui-module/src/main/resources/manager/css/manager.css
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,47 @@ i[data-cms-section-handle] {
display: none;
}

/* =========================================================
MANAGER MENU
========================================================= */

#menu {
position: relative;
z-index: 1030;
}

#menu .dropdown-menu {
z-index: 1031;
}

#menu .dropdown-menu .cms-menu-dropdown {
position: relative;
}

#menu .dropdown-menu .cms-menu-dropdown > .dropdown-toggle {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
color: var(--bs-dropdown-link-color);
text-decoration: none;
white-space: nowrap;
}

#menu .dropdown-menu .cms-menu-dropdown > .dropdown-toggle:hover,
#menu .dropdown-menu .cms-menu-dropdown > .dropdown-toggle:focus {
color: var(--bs-dropdown-link-hover-color);
background-color: var(--bs-dropdown-link-hover-bg);
}

#menu .dropdown-menu .cms-menu-dropdown > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -0.5rem;
margin-left: 0.125rem;
}

/* =========================================================
MEDIA BROWSER GRID
========================================================= */
Expand Down Expand Up @@ -88,21 +129,22 @@ i[data-cms-section-handle] {

.cms-media-card {
border: 1px solid var(--bs-border-color, #dee2e6);
border-radius: 6px;
border-radius: 0;
height: 100%;
overflow: hidden;
cursor: pointer;
transition: box-shadow 0.15s ease, border-color 0.15s ease;
transition: border-color 0.15s ease, background-color 0.15s ease;
background: var(--bs-body-bg, #fff);
}

.cms-media-card:hover {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
background-color: rgba(var(--bs-primary-rgb), 0.08);
border-color: var(--bs-primary, #0d6efd);
}

.cms-media-card.selected {
border-color: var(--bs-primary, #0d6efd);
box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.25);
box-shadow: inset 0 3px 0 var(--bs-primary, #0d6efd);
}

.cms-media-card__preview {
Expand Down Expand Up @@ -163,7 +205,7 @@ i[data-cms-section-handle] {

.cms-form .cms-drop-zone {
border: 2px dashed #6c757d;
border-radius: 0.5rem;
border-radius: 0;
padding: 1rem;
text-align: center;
color: #6c757d;
Expand All @@ -182,7 +224,7 @@ i[data-cms-section-handle] {
width: 100px;
height: 100px;
object-fit: cover;
border-radius: 0.25rem;
border-radius: 0;
}

.cms-form .cms-drop-zone.drag-over {
Expand Down Expand Up @@ -375,7 +417,7 @@ i[data-cms-section-handle] {
width: 3px;
height: 40px;
background: rgba(108, 117, 125, 0.5);
border-radius: 2px;
border-radius: 0;
transition: opacity 0.2s ease;
}

Expand All @@ -400,7 +442,7 @@ body.resizing-sidebar {

.offcanvas-end.resizable::-webkit-scrollbar-thumb {
background: var(--bs-secondary, #6c757d);
border-radius: 4px;
border-radius: 0;
}

.offcanvas-end.resizable::-webkit-scrollbar-thumb:hover {
Expand Down
8 changes: 4 additions & 4 deletions modules/ui-module/src/main/resources/manager/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@
-->
{% macro menuEntry(entry) %}
{% if entry != null && entry.hasChildren() %}
<li class="nav-item dropdown">
<li class="nav-item dropdown cms-menu-dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"
data-cms-i18n-key="{{ entry.id }}">
{{ entry.name }}
</a>
<ul class="dropdown-menu">
<ul class="dropdown-menu cms-menu-dropdown-menu">
{% for child in entry.getChildren() %}
{% if child.isDivider() %}
<li>
Expand All @@ -43,7 +43,7 @@
{% else %}
<li class="nav-item">
<a class="nav-link" aria-current="page" href="#" data-cms-action-definition='{{ entry.getActionDefinition() }}'
data-cms-i18n-key="{{ child.id }}">{{ entry.name }}</a>
data-cms-i18n-key="{{ entry.id }}">{{ entry.name }}</a>
</li>
{% endif %}
{% endmacro %}
Expand All @@ -54,7 +54,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Manager</title>
<link href="{{ links.createUrl('/manager/bootstrap/bootstrap-superhero.min.css') }}" rel="stylesheet" />
<link href="{{ links.createUrl('/manager/bootstrap/bootstrap-condation.min.css') }}" rel="stylesheet" />

<link rel="stylesheet" href="{{ links.createUrl('/manager/bootstrap/bootstrap-icons.min.css') }}" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ const handleAddItem = (e, container, context) => {
const newItem = { [nameField]: "New Item" };
const itemMarkup = `
<div class="list-group-item d-flex justify-content-between align-items-center"
data-cms-form-field-type="list"
data-cms-form-field-item="${itemId}"
data-cms-form-field-item-data='${JSON.stringify(newItem)}'>
<span class="object-name flex-grow-1">${newItem[nameField]}</span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ window.addEventListener("DOMContentLoaded", async () => {
actionElements.forEach(element => {
try {
element.addEventListener("click", (action) => {
action.preventDefault();
const definition = element.getAttribute('data-cms-action-definition');
try {
const action = JSON.parse(definition);
Expand Down
12 changes: 6 additions & 6 deletions modules/ui-module/src/main/resources/manager/login.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Manager</title>
<link href="{{ links.createUrl('/manager/bootstrap/bootstrap-superhero.min.css') }}" rel="stylesheet" />
<link href="{{ links.createUrl('/manager/bootstrap/bootstrap-condation.min.css') }}" rel="stylesheet" />
<link rel="stylesheet" href="{{ links.createUrl('/manager/bootstrap/bootstrap-icons.min.css') }}" />

<style>
Expand Down Expand Up @@ -71,26 +71,26 @@

<body class="d-flex align-items-center py-4 bg-body-tertiary">
<main class="form-signin w-100 m-auto">
<h1 class="text-dark text-center">CondationCMS</h1>
<h1 class="text text-center">CondationCMS</h1>
<form id="loginForm" method="POST" >
<!--img class="mb-4" src="/docs/5.3/assets/brand/bootstrap-logo.svg" alt="" width="72" height="57" -->
<h2 class="h3 mb-3 fw-normal text-dark">Please sign in</h2>
<h2 class="h3 mb-3 fw-normal text">Please sign in</h2>
<div id="signIn">
<div class="form-floating">
<input type="text" class="form-control" id="inputUsername" placeholder="username" name="username" />
<label for="inputUsername" class="text-dark">Username</label>
<label for="inputUsername" class="text">Username</label>
</div>
<div class="form-floating">
<input type="password" class="form-control" id="inputPassword" placeholder="Password" name="password" />
<label for="inputPassword" class="text-dark">Password</label>
<label for="inputPassword" class="text">Password</label>
</div>
<button class="btn btn-primary w-100 py-2" id="signInButton">Sign in</button>
</div>
{% if force2fa %}
<div id="validate" class="hidden">
<div class="form-floating">
<input type="text" class="form-control" id="inputCode" placeholder="Code" name="code" />
<label for="inputCode" class="text-dark">Code</label>
<label for="inputCode" class="text">Code</label>
</div>
<button class="btn btn-primary w-100 py-2 mt-3" id="validateButton">Validate</button>
</div>
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading
Loading