mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-10 10:22:29 +08:00
Merge remote-tracking branch 'origin/feature/client_typescript_port1' into feature/client_typescript_port2
This commit is contained in:
commit
3df585c72a
10436
package-lock.json
generated
10436
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
@ -52,14 +52,13 @@
|
||||
"ci-update-nightly-version": "tsx ./bin/update-nightly-version.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "7.1.0",
|
||||
"@braintree/sanitize-url": "7.1.1",
|
||||
"@electron/remote": "2.1.2",
|
||||
"@excalidraw/excalidraw": "0.17.6",
|
||||
"@highlightjs/cdn-assets": "11.11.0",
|
||||
"@mermaid-js/layout-elk": "0.1.7",
|
||||
"@mind-elixir/node-menu": "1.0.3",
|
||||
"@triliumnext/express-partial-content": "1.0.1",
|
||||
"@types/bootstrap": "5.2.10",
|
||||
"@triliumnext/express-partial-content": "1.0.1",
|
||||
"archiver": "7.0.1",
|
||||
"async-mutex": "0.5.0",
|
||||
"autocomplete.js": "0.38.1",
|
||||
@ -68,7 +67,7 @@
|
||||
"bootstrap": "5.3.3",
|
||||
"boxicons": "2.1.4",
|
||||
"cheerio": "1.0.0",
|
||||
"chokidar": "4.0.2",
|
||||
"chokidar": "4.0.3",
|
||||
"cls-hooked": "4.2.2",
|
||||
"codemirror": "5.65.18",
|
||||
"compression": "1.7.5",
|
||||
@ -94,7 +93,7 @@
|
||||
"html2plaintext": "2.1.4",
|
||||
"http-proxy-agent": "7.0.2",
|
||||
"https-proxy-agent": "7.0.6",
|
||||
"i18next": "24.1.2",
|
||||
"i18next": "24.2.0",
|
||||
"i18next-fs-backend": "2.6.0",
|
||||
"i18next-http-backend": "3.0.1",
|
||||
"image-type": "5.2.0",
|
||||
@ -108,7 +107,7 @@
|
||||
"jquery.fancytree": "2.38.3",
|
||||
"jsdom": "25.0.1",
|
||||
"jsplumb": "2.15.6",
|
||||
"katex": "0.16.17",
|
||||
"katex": "0.16.18",
|
||||
"knockout": "3.5.1",
|
||||
"mark.js": "8.11.1",
|
||||
"marked": "15.0.4",
|
||||
@ -126,7 +125,7 @@
|
||||
"request": "2.88.2",
|
||||
"safe-compare": "1.1.4",
|
||||
"sanitize-filename": "1.6.3",
|
||||
"sanitize-html": "2.13.1",
|
||||
"sanitize-html": "2.14.0",
|
||||
"sax": "1.4.1",
|
||||
"semver": "7.6.3",
|
||||
"serve-favicon": "2.5.0",
|
||||
@ -155,6 +154,7 @@
|
||||
"@playwright/test": "1.49.1",
|
||||
"@types/archiver": "6.0.3",
|
||||
"@types/better-sqlite3": "7.6.12",
|
||||
"@types/bootstrap": "5.2.10",
|
||||
"@types/cheerio": "0.22.35",
|
||||
"@types/cls-hooked": "4.3.9",
|
||||
"@types/compression": "1.7.5",
|
||||
@ -206,7 +206,7 @@
|
||||
"typedoc": "0.27.5",
|
||||
"typescript": "5.7.2",
|
||||
"webpack": "5.97.1",
|
||||
"webpack-cli": "5.1.4",
|
||||
"webpack-cli": "6.0.1",
|
||||
"webpack-dev-middleware": "7.4.2"
|
||||
}
|
||||
}
|
||||
|
@ -222,7 +222,6 @@ export default class CalendarWidget extends RightDropdownButtonWidget {
|
||||
}
|
||||
|
||||
async createMonth() {
|
||||
console.log(new Error());
|
||||
const month = utils.formatDateISO(this.date).substr(0, 7);
|
||||
const dateNotesForMonth = await server.get(`special-notes/notes-for-month/${month}`);
|
||||
|
||||
|
@ -176,7 +176,7 @@ const TAB_ROW_TPL = `
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
z-index: 1000;
|
||||
z-index: 50;
|
||||
}
|
||||
|
||||
.tab-row-widget .note-tab .note-tab-close {
|
||||
|
@ -61,7 +61,9 @@ export default class OptionsWidget extends NoteContextAwareWidget {
|
||||
async refreshWithNote(note) {
|
||||
const options = await server.get('options');
|
||||
|
||||
this.optionsLoaded(options);
|
||||
if (options) {
|
||||
this.optionsLoaded(options);
|
||||
}
|
||||
}
|
||||
|
||||
async entitiesReloadedEvent({loadResults}) {
|
||||
|
@ -7,7 +7,8 @@
|
||||
"sync_version": "Versiune sincronizare:",
|
||||
"build_date": "Data compilării:",
|
||||
"build_revision": "Revizia compilării:",
|
||||
"data_directory": "Directorul de date:"
|
||||
"data_directory": "Directorul de date:",
|
||||
"close": "Închide"
|
||||
},
|
||||
"abstract_bulk_action": {
|
||||
"remove_this_search_action": "Înlătură acesată acțiune la căutare"
|
||||
@ -339,7 +340,8 @@
|
||||
"notes_to_clone": "Notițe de clonat",
|
||||
"prefix_optional": "Prefix (opțional)",
|
||||
"search_for_note_by_its_name": "căutați notița după nume acesteia",
|
||||
"target_parent_note": "Notița părinte țintă"
|
||||
"target_parent_note": "Notița părinte țintă",
|
||||
"close": "Închide"
|
||||
},
|
||||
"close_pane_button": {
|
||||
"close_this_pane": "Închide acest panou"
|
||||
@ -365,7 +367,8 @@
|
||||
"cancel": "Anulează",
|
||||
"confirmation": "Confirm",
|
||||
"if_you_dont_check": "Dacă această opțiune nu este bifată, notița va fi ștearsă doar din harta de relații.",
|
||||
"ok": "OK"
|
||||
"ok": "OK",
|
||||
"close": "Închide"
|
||||
},
|
||||
"consistency_checks": {
|
||||
"find_and_fix_button": "Caută și repară probleme de consistență",
|
||||
@ -431,7 +434,8 @@
|
||||
"no_note_to_delete": "Nicio notiță nu va fi ștearsă (doar clonele).",
|
||||
"notes_to_be_deleted": "Următoarele notițe vor fi șterse ({{- noteCount}})",
|
||||
"ok": "OK",
|
||||
"deleted_relation_text": "Notița {{- note}} ce va fi ștearsă este referențiată de relația {{- relation}}, originând din {{- source}}."
|
||||
"deleted_relation_text": "Notița {{- note}} ce va fi ștearsă este referențiată de relația {{- relation}}, originând din {{- source}}.",
|
||||
"close": "Închide"
|
||||
},
|
||||
"delete_relation": {
|
||||
"allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.",
|
||||
@ -716,7 +720,8 @@
|
||||
"button_include": "Include notița",
|
||||
"dialog_title": "Includere notița",
|
||||
"label_note": "Notiță",
|
||||
"placeholder_search": "căutați notița după denumirea ei"
|
||||
"placeholder_search": "căutați notița după denumirea ei",
|
||||
"close": "Închide"
|
||||
},
|
||||
"info": {
|
||||
"closeButton": "Închide",
|
||||
@ -729,7 +734,8 @@
|
||||
},
|
||||
"jump_to_note": {
|
||||
"search_button": "Caută în întregul conținut <kbd>Ctrl+Enter</kbd>",
|
||||
"search_placeholder": "căutați o notiță după denumirea ei"
|
||||
"search_placeholder": "căutați o notiță după denumirea ei",
|
||||
"close": "Închide"
|
||||
},
|
||||
"left_pane_toggle": {
|
||||
"hide_panel": "Ascunde panoul",
|
||||
@ -743,7 +749,8 @@
|
||||
"dialog_title": "Importă Markdown",
|
||||
"import_button": "Importă Ctrl+Enter",
|
||||
"import_success": "Conținutul Markdown a fost importat în document.",
|
||||
"modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import"
|
||||
"modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import",
|
||||
"close": "Închide"
|
||||
},
|
||||
"max_content_width": {
|
||||
"apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe",
|
||||
@ -779,7 +786,8 @@
|
||||
"move_success_message": "Notițele selectate au fost mutate în",
|
||||
"notes_to_move": "Notițe de mutat",
|
||||
"search_placeholder": "căutați notița după denumirea ei",
|
||||
"target_parent_note": "Notița părinte destinație"
|
||||
"target_parent_note": "Notița părinte destinație",
|
||||
"close": "Închide"
|
||||
},
|
||||
"native_title_bar": {
|
||||
"disabled": "dezactivată",
|
||||
@ -851,7 +859,8 @@
|
||||
"note_type_chooser": {
|
||||
"modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:",
|
||||
"modal_title": "Selectați tipul notiței",
|
||||
"templates": "Șabloane:"
|
||||
"templates": "Șabloane:",
|
||||
"close": "Închide"
|
||||
},
|
||||
"onclick_button": {
|
||||
"no_click_handler": "Butonul „{{componentId}}” nu are nicio acțiune la clic definită"
|
||||
@ -906,7 +915,8 @@
|
||||
"password_not_set": {
|
||||
"body1": "Notițele protejate sunt criptate utilizând parola de utilizator, dar nu a fost setată nicio parolă.",
|
||||
"body2": "Pentru a putea să protejați notițe, clic <a class=\"open-password-options-button\" href=\"javascript:\">aici</a> pentru a deschide ecranul de opțiuni și pentru a seta parola.",
|
||||
"title": "Parola nu este setată"
|
||||
"title": "Parola nu este setată",
|
||||
"close": "Închide"
|
||||
},
|
||||
"promoted_attributes": {
|
||||
"add_new_attribute": "Adaugă un nou atribut",
|
||||
@ -920,7 +930,8 @@
|
||||
"prompt": {
|
||||
"defaultTitle": "Aviz",
|
||||
"ok": "OK <kbd>enter</kbd>",
|
||||
"title": "Aviz"
|
||||
"title": "Aviz",
|
||||
"close": "Închide"
|
||||
},
|
||||
"protected_session": {
|
||||
"enter_password_instruction": "Afișarea notițelor protejate necesită introducerea parolei:",
|
||||
@ -951,7 +962,8 @@
|
||||
"erase_notes_button": "Elimină notițele șterse",
|
||||
"no_changes_message": "Încă nicio schimbare...",
|
||||
"title": "Modificări recente",
|
||||
"undelete_link": "restaurare"
|
||||
"undelete_link": "restaurare",
|
||||
"close": "Închide"
|
||||
},
|
||||
"relation_map": {
|
||||
"cannot_match_transform": "Nu s-a putut identifica transformarea: {{transform}}",
|
||||
@ -1030,7 +1042,8 @@
|
||||
"revisions_deleted": "Notița reviziei a fost ștearsă.",
|
||||
"maximum_revisions": "Numărul maxim de revizii pentru notița curentă: {{number}}.",
|
||||
"settings": "Setări revizii ale notițelor",
|
||||
"snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s."
|
||||
"snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s.",
|
||||
"close": "Închide"
|
||||
},
|
||||
"revisions_button": {
|
||||
"note_revisions": "Revizii ale notiței"
|
||||
@ -1146,7 +1159,8 @@
|
||||
"sorting_criteria": "Criterii de ordonare",
|
||||
"sorting_direction": "Direcția de ordonare",
|
||||
"the_language_code_for_natural_sort": "Codul limbii pentru ordonarea naturală, e.g. „zn-CN” pentru chineză.",
|
||||
"title": "titlu"
|
||||
"title": "titlu",
|
||||
"close": "Închide"
|
||||
},
|
||||
"spellcheck": {
|
||||
"available_language_codes_label": "Coduri de limbă disponibile:",
|
||||
@ -1259,7 +1273,8 @@
|
||||
"shrink_images": "Micșorează imaginile",
|
||||
"tooltip": "Dacă această opțiune este bifată, Trilium va încerca micșorarea imaginilor încărcate prin scalarea și optimizarea lor, aspect ce va putea afecta calitatea imaginilor. Dacă nu este bifată, imaginile vor fi încărcate fără nicio schimbare.",
|
||||
"upload": "Încărcare",
|
||||
"upload_attachments_to_note": "Încarcă atașamentele la notiță"
|
||||
"upload_attachments_to_note": "Încarcă atașamentele la notiță",
|
||||
"close": "Închide"
|
||||
},
|
||||
"vacuum_database": {
|
||||
"button_text": "Compactează baza de date",
|
||||
@ -1555,7 +1570,8 @@
|
||||
"fixed": {
|
||||
"title": "Editor cu bară fixă",
|
||||
"description": "uneltele de editare vor apărea în tab-ul „Formatare” din panglică."
|
||||
}
|
||||
},
|
||||
"multiline-toolbar": "Afișează bara de unelte pe mai multe rânduri dacă nu încape."
|
||||
}
|
||||
},
|
||||
"editor": {
|
||||
|
@ -20,38 +20,15 @@ async function register(app: express.Application) {
|
||||
if (env.isDev()) {
|
||||
const webpack = (await import("webpack")).default;
|
||||
const webpackMiddleware = (await import("webpack-dev-middleware")).default;
|
||||
const productionConfig = (await import("../../webpack.config.js")).default;
|
||||
|
||||
const frontendCompiler = webpack({
|
||||
mode: "development",
|
||||
entry: {
|
||||
setup: './src/public/app/setup.js',
|
||||
mobile: './src/public/app/mobile.js',
|
||||
desktop: './src/public/app/desktop.js',
|
||||
},
|
||||
devtool: 'source-map',
|
||||
target: 'electron-renderer',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
configFile: path.join(srcRoot, "..", "tsconfig.webpack.json")
|
||||
}
|
||||
}],
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
]
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
extensionAlias: {
|
||||
".js": [".js", ".ts"],
|
||||
".cjs": [".cjs", ".cts"],
|
||||
".mjs": [".mjs", ".mts"]
|
||||
}
|
||||
}
|
||||
entry: productionConfig.entry,
|
||||
module: productionConfig.module,
|
||||
resolve: productionConfig.resolve,
|
||||
devtool: productionConfig.devtool,
|
||||
target: productionConfig.target
|
||||
});
|
||||
|
||||
app.use(`/${assetPath}/app`, webpackMiddleware(frontendCompiler));
|
||||
|
@ -27,6 +27,7 @@ import { AttachmentRow, AttributeRow, BranchRow, NoteRow, NoteType } from '../be
|
||||
import TaskContext from "./task_context.js";
|
||||
import { NoteParams } from './note-interface.js';
|
||||
import imageService from "./image.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
interface FoundLink {
|
||||
name: "imageLink" | "internalLink" | "includeNoteLink" | "relationMapLink",
|
||||
@ -95,7 +96,7 @@ function copyChildAttributes(parentNote: BNote, childNote: BNote) {
|
||||
}
|
||||
|
||||
function getNewNoteTitle(parentNote: BNote) {
|
||||
let title = "new note";
|
||||
let title = t("notes.new-note");
|
||||
|
||||
const titleTemplate = parentNote.getLabelValue('titleTemplate');
|
||||
|
||||
|
@ -240,5 +240,8 @@
|
||||
"other": "Other",
|
||||
"advanced-title": "Advanced",
|
||||
"visible-launchers-title": "Visible Launchers"
|
||||
},
|
||||
"notes": {
|
||||
"new-note": "New note"
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,28 @@ export default {
|
||||
path: path.resolve(rootDir, 'src/public/app-dist'),
|
||||
filename: '[name].js',
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
configFile: path.join(rootDir, "tsconfig.webpack.json")
|
||||
}
|
||||
}],
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
]
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
extensionAlias: {
|
||||
".js": [".js", ".ts"],
|
||||
".cjs": [".cjs", ".cts"],
|
||||
".mjs": [".mjs", ".mts"]
|
||||
}
|
||||
},
|
||||
devtool: 'source-map',
|
||||
target: 'electron-renderer',
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user