mirror of
https://github.com/fzumpe/foundry-usernotes.git
synced 2026-06-06 21:00:03 +02:00
set styling for jodit editor and settings
This commit is contained in:
parent
0b89998c23
commit
d4671086a4
@ -121,6 +121,11 @@ export function userNotesApplySettingsToOpenWindow() {
|
|||||||
export function userNotesApplyWindowSettings(win) {
|
export function userNotesApplyWindowSettings(win) {
|
||||||
const appearance = userNotesLoadValidatedAppearance();
|
const appearance = userNotesLoadValidatedAppearance();
|
||||||
|
|
||||||
|
win.style.setProperty(
|
||||||
|
"--user-notes-window-background-solid",
|
||||||
|
appearance.windowBackgroundColor
|
||||||
|
);
|
||||||
|
|
||||||
win.style.setProperty(
|
win.style.setProperty(
|
||||||
"--user-notes-window-background",
|
"--user-notes-window-background",
|
||||||
userNotesHexToRgba(
|
userNotesHexToRgba(
|
||||||
|
|||||||
@ -171,6 +171,12 @@ export function userNotesResetPositionAndSize() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
userNotesSavePosition(win);
|
userNotesSavePosition(win);
|
||||||
|
|
||||||
|
const editor = win.__userNotesEditor;
|
||||||
|
|
||||||
|
if (editor?.events) {
|
||||||
|
editor.events.fire("resize");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,6 +240,12 @@ export function userNotesMakeDraggable(win) {
|
|||||||
|
|
||||||
drag = null;
|
drag = null;
|
||||||
userNotesSavePosition(win);
|
userNotesSavePosition(win);
|
||||||
|
|
||||||
|
const editor = win.__userNotesEditor;
|
||||||
|
|
||||||
|
if (editor?.events) {
|
||||||
|
editor.events.fire("resize");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
handle.addEventListener("pointercancel", event => {
|
handle.addEventListener("pointercancel", event => {
|
||||||
@ -243,6 +255,12 @@ export function userNotesMakeDraggable(win) {
|
|||||||
|
|
||||||
drag = null;
|
drag = null;
|
||||||
userNotesSavePosition(win);
|
userNotesSavePosition(win);
|
||||||
|
|
||||||
|
const editor = win.__userNotesEditor;
|
||||||
|
|
||||||
|
if (editor?.events) {
|
||||||
|
editor.events.fire("resize");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,6 +415,10 @@ export function userNotesOpenNotes() {
|
|||||||
|
|
||||||
if (editor) {
|
if (editor) {
|
||||||
editor.focus();
|
editor.focus();
|
||||||
|
|
||||||
|
if (editor.events) {
|
||||||
|
editor.events.fire("resize");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
win.querySelector(".user-notes-editor")?.focus();
|
win.querySelector(".user-notes-editor")?.focus();
|
||||||
}
|
}
|
||||||
@ -451,6 +473,12 @@ export function userNotesOpenNotes() {
|
|||||||
userNotesSaveNotes(userNotesGetEditorValue(win));
|
userNotesSaveNotes(userNotesGetEditorValue(win));
|
||||||
userNotesSetStatus("Gespeichert");
|
userNotesSetStatus("Gespeichert");
|
||||||
userNotesSavePosition(win);
|
userNotesSavePosition(win);
|
||||||
|
|
||||||
|
const editor = win.__userNotesEditor;
|
||||||
|
|
||||||
|
if (editor?.events) {
|
||||||
|
editor.events.fire("resize");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
win.querySelector(".user-notes-close")?.addEventListener("click", () => {
|
win.querySelector(".user-notes-close")?.addEventListener("click", () => {
|
||||||
@ -475,6 +503,12 @@ export function userNotesOpenNotes() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
userNotesSavePosition(win);
|
userNotesSavePosition(win);
|
||||||
|
|
||||||
|
const editor = win.__userNotesEditor;
|
||||||
|
|
||||||
|
if (editor?.events) {
|
||||||
|
editor.events.fire("resize");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
resizeObserver.observe(win);
|
resizeObserver.observe(win);
|
||||||
@ -484,6 +518,10 @@ export function userNotesOpenNotes() {
|
|||||||
|
|
||||||
if (win.__userNotesEditor) {
|
if (win.__userNotesEditor) {
|
||||||
win.__userNotesEditor.focus();
|
win.__userNotesEditor.focus();
|
||||||
|
|
||||||
|
if (win.__userNotesEditor.events) {
|
||||||
|
win.__userNotesEditor.events.fire("resize");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
editorElement.focus();
|
editorElement.focus();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,21 @@
|
|||||||
.user-notes-appearance-settings {
|
.user-notes-appearance-settings,
|
||||||
|
.user-notes-backup-settings {
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-notes-appearance-settings .notes {
|
.user-notes-appearance-settings .notes,
|
||||||
|
.user-notes-backup-settings .notes {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0.75rem;
|
margin-bottom: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.user-notes-backup-settings .warning {
|
||||||
|
padding: 0.5rem;
|
||||||
|
border: 1px solid var(--color-border-highlight, #ff6400);
|
||||||
|
border-radius: 4px;
|
||||||
|
background: rgba(255, 100, 0, 0.12);
|
||||||
|
}
|
||||||
|
|
||||||
.user-notes-appearance-settings fieldset {
|
.user-notes-appearance-settings fieldset {
|
||||||
margin: 0 0 0.75rem 0;
|
margin: 0 0 0.75rem 0;
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
@ -20,11 +29,13 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-notes-appearance-settings .form-group {
|
.user-notes-appearance-settings .form-group,
|
||||||
|
.user-notes-backup-settings .form-group {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-notes-appearance-settings .form-fields {
|
.user-notes-appearance-settings .form-fields,
|
||||||
|
.user-notes-backup-settings .form-fields {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
@ -64,21 +75,41 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dialog footer:
|
||||||
|
* Row 1: Apply + Save side-by-side.
|
||||||
|
* Row 2: Reset colors full width.
|
||||||
|
*/
|
||||||
.user-notes-appearance-settings .sheet-footer,
|
.user-notes-appearance-settings .sheet-footer,
|
||||||
.user-notes-appearance-footer {
|
.user-notes-appearance-footer {
|
||||||
margin-top: 0.75rem;
|
margin-top: 0.75rem;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-notes-primary-actions {
|
.user-notes-primary-actions {
|
||||||
flex: 1 1 auto;
|
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
flex-direction: row;
|
||||||
|
align-items: stretch;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-primary-actions button,
|
||||||
|
.user-notes-appearance-footer > .user-notes-reset-appearance {
|
||||||
|
height: 2rem;
|
||||||
|
min-height: 2rem;
|
||||||
|
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.35rem;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-notes-primary-actions button {
|
.user-notes-primary-actions button {
|
||||||
@ -87,4 +118,17 @@
|
|||||||
|
|
||||||
.user-notes-appearance-footer > .user-notes-reset-appearance {
|
.user-notes-appearance-footer > .user-notes-reset-appearance {
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-backup-settings .sheet-footer {
|
||||||
|
margin-top: 0.75rem;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-backup-settings .sheet-footer button {
|
||||||
|
flex: 1 1 auto;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -92,44 +92,27 @@
|
|||||||
background: rgba(255, 255, 255, 0.16);
|
background: rgba(255, 255, 255, 0.16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fixed inner padding:
|
||||||
|
* The editor is pinned to the window content area and grows/shrinks with it.
|
||||||
|
*/
|
||||||
.user-notes-content {
|
.user-notes-content {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
min-width: 0;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
padding: 0.5rem;
|
padding: 0.5rem;
|
||||||
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-notes-content .jodit-container {
|
/*
|
||||||
flex: 1 1 auto;
|
* Original textarea fallback.
|
||||||
width: 100% !important;
|
* Jodit replaces/wraps this element when available.
|
||||||
height: 100% !important;
|
*/
|
||||||
min-width: 0;
|
|
||||||
min-height: 0;
|
|
||||||
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-notes-content .jodit-workplace {
|
|
||||||
min-height: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-notes-content .jodit-wysiwyg {
|
|
||||||
min-height: 0 !important;
|
|
||||||
background: var(--user-notes-textarea-background, rgba(255, 255, 255, 0.92));
|
|
||||||
color: var(--user-notes-textarea-color, #111111);
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-notes-content .jodit-toolbar__box {
|
|
||||||
flex: 0 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-notes-content .jodit-status-bar {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-notes-editor {
|
.user-notes-editor {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
|
|
||||||
@ -160,6 +143,153 @@
|
|||||||
outline-offset: 0;
|
outline-offset: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Jodit layout.
|
||||||
|
* These rules force Jodit to fill the padded content area and inherit
|
||||||
|
* the configured User Notes colors.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-container,
|
||||||
|
.user-notes-content .jodit {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
|
||||||
|
min-width: 0 !important;
|
||||||
|
min-height: 0 !important;
|
||||||
|
|
||||||
|
display: flex !important;
|
||||||
|
flex-direction: column !important;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
background: var(--user-notes-textarea-background, rgba(255, 255, 255, 0.92)) !important;
|
||||||
|
color: var(--user-notes-textarea-color, #111111) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Toolbar remains at the top and uses the window colors.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-toolbar__box,
|
||||||
|
.user-notes-content .jodit-toolbar__box:not(:empty) {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
|
||||||
|
opacity: 1 !important;
|
||||||
|
|
||||||
|
background: var(--user-notes-window-background-solid, #191813) !important;
|
||||||
|
color: var(--user-notes-window-text-color, #f0f0e0) !important;
|
||||||
|
|
||||||
|
border-color: var(--color-border-light-primary, #7a695a) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-content .jodit-toolbar-button,
|
||||||
|
.user-notes-content .jodit-toolbar-button__button,
|
||||||
|
.user-notes-content .jodit-toolbar-button__trigger,
|
||||||
|
.user-notes-content .jodit-toolbar-button__text,
|
||||||
|
.user-notes-content .jodit-icon {
|
||||||
|
opacity: 1 !important;
|
||||||
|
color: var(--user-notes-window-text-color, #f0f0e0) !important;
|
||||||
|
fill: var(--user-notes-window-text-color, #f0f0e0) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-content .jodit-toolbar-button__button,
|
||||||
|
.user-notes-content .jodit-toolbar-button__trigger {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-content .jodit-toolbar-button__button:hover,
|
||||||
|
.user-notes-content .jodit-toolbar-button__trigger:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.16) !important;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Toolbar buttons.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-toolbar-button,
|
||||||
|
.user-notes-content .jodit-toolbar-button__button,
|
||||||
|
.user-notes-content .jodit-toolbar-button__trigger {
|
||||||
|
color: var(--user-notes-window-text-color, #f0f0e0) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-notes-content .jodit-toolbar-button__button:hover,
|
||||||
|
.user-notes-content .jodit-toolbar-button__trigger:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.16) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dropdown / popup content should remain readable.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-popup,
|
||||||
|
.user-notes-content .jodit-dialog,
|
||||||
|
.user-notes-content .jodit-ui-group,
|
||||||
|
.user-notes-content .jodit-toolbar-editor-collection {
|
||||||
|
color: #111111;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Main editor workplace fills all remaining height below the toolbar.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-workplace {
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
|
||||||
|
width: 100% !important;
|
||||||
|
height: auto !important;
|
||||||
|
|
||||||
|
min-width: 0 !important;
|
||||||
|
min-height: 0 !important;
|
||||||
|
|
||||||
|
display: flex !important;
|
||||||
|
flex-direction: column !important;
|
||||||
|
|
||||||
|
overflow: hidden !important;
|
||||||
|
|
||||||
|
background: var(--user-notes-textarea-background, rgba(255, 255, 255, 0.92)) !important;
|
||||||
|
color: var(--user-notes-textarea-color, #111111) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actual editable area.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-wysiwyg {
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
|
||||||
|
min-width: 0 !important;
|
||||||
|
min-height: 0 !important;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
overflow: auto !important;
|
||||||
|
|
||||||
|
background: var(--user-notes-textarea-background, rgba(255, 255, 255, 0.92)) !important;
|
||||||
|
color: var(--user-notes-textarea-color, #111111) !important;
|
||||||
|
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
line-height: 1.35;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Do not let Jodit reset child text colors away from the configured editor color.
|
||||||
|
* Inline styles generated by the editor may still override this when users
|
||||||
|
* explicitly choose colors inside the editor.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-wysiwyg * {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hide Jodit's status bar to preserve vertical space.
|
||||||
|
*/
|
||||||
|
.user-notes-content .jodit-status-bar {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tables inside notes.
|
||||||
|
*/
|
||||||
.user-notes-window table {
|
.user-notes-window table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
width: auto;
|
width: auto;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user