1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-06-15 23:00:36 +02:00

All: Add support for application plugins (#3257)

This commit is contained in:
Laurent
2020-10-09 18:35:46 +01:00
committed by GitHub
parent 833fb1264f
commit fe41d37f8f
804 changed files with 95622 additions and 5307 deletions

View File

@ -1,7 +1,15 @@
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
class Alarm extends BaseModel {
export interface Notification {
id: string,
noteId: string,
date: Date,
title: string,
body?: string,
}
export default class Alarm extends BaseModel {
static tableName() {
return 'alarms';
}
@ -10,7 +18,7 @@ class Alarm extends BaseModel {
return BaseModel.TYPE_ALARM;
}
static byNoteId(noteId) {
static byNoteId(noteId:string) {
return this.modelSelectOne('SELECT * FROM alarms WHERE note_id = ?', [noteId]);
}
@ -21,12 +29,12 @@ class Alarm extends BaseModel {
static async alarmIdsWithoutNotes() {
// https://stackoverflow.com/a/4967229/561309
const alarms = await this.db().selectAll('SELECT alarms.id FROM alarms LEFT JOIN notes ON alarms.note_id = notes.id WHERE notes.id IS NULL');
return alarms.map(a => {
return alarms.map((a:any) => {
return a.id;
});
}
static async makeNotification(alarm, note = null) {
static async makeNotification(alarm:any, note:any = null):Promise<Notification> {
if (!note) {
note = await Note.load(alarm.note_id);
} else if (!note.todo_due) {
@ -35,8 +43,9 @@ class Alarm extends BaseModel {
this.logger().warn('Reloaded note:', note);
}
const output = {
const output:Notification = {
id: alarm.id,
noteId: alarm.note_id,
date: new Date(note.todo_due),
title: note.title.substr(0, 128),
};
@ -50,5 +59,3 @@ class Alarm extends BaseModel {
return this.modelSelectAll('SELECT * FROM alarms WHERE trigger_time >= ?', [Date.now()]);
}
}
module.exports = Alarm;

View File

@ -1,13 +1,13 @@
const BaseModel = require('lib/BaseModel.js');
const { Database } = require('lib/database.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const ItemChange = require('lib/models/ItemChange.js');
const JoplinError = require('lib/JoplinError.js');
const { time } = require('lib/time-utils.js');
const { sprintf } = require('sprintf-js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const moment = require('moment');
const markdownUtils = require('lib/markdownUtils');
const markdownUtils = require('lib/markdownUtils').default;
class BaseItem extends BaseModel {
static useUuid() {

View File

@ -2,7 +2,7 @@ const BaseModel = require('lib/BaseModel.js');
const { time } = require('lib/time-utils.js');
const Note = require('lib/models/Note.js');
const { Database } = require('lib/database.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseItem = require('lib/models/BaseItem.js');
const { substrWithEllipsis } = require('lib/string-utils.js');
@ -305,7 +305,7 @@ class Folder extends BaseItem {
static buildTree(folders) {
const idToFolders = {};
for (let i = 0; i < folders.length; i++) {
idToFolders[folders[i].id] = folders[i];
idToFolders[folders[i].id] = Object.assign({}, folders[i]);
idToFolders[folders[i].id].children = [];
}

View File

@ -1,5 +1,6 @@
const BaseModel = require('lib/BaseModel.js');
const Mutex = require('async-mutex').Mutex;
const shim = require('lib/shim').default;
class ItemChange extends BaseModel {
static tableName() {
@ -37,9 +38,9 @@ class ItemChange extends BaseModel {
// can be used for synchronous code, in particular when unit testing.
static async waitForAllSaved() {
return new Promise((resolve) => {
const iid = setInterval(() => {
const iid = shim.setInterval(() => {
if (!ItemChange.saveCalls_.length) {
clearInterval(iid);
shim.clearInterval(iid);
resolve();
}
}, 100);

View File

@ -3,15 +3,15 @@ const { sprintf } = require('sprintf-js');
const BaseItem = require('lib/models/BaseItem.js');
const ItemChange = require('lib/models/ItemChange.js');
const Resource = require('lib/models/Resource.js');
const Setting = require('lib/models/Setting.js');
const { shim } = require('lib/shim.js');
const Setting = require('lib/models/Setting').default;
const shim = require('lib/shim').default;
const { pregQuote } = require('lib/string-utils.js');
const { time } = require('lib/time-utils.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const ArrayUtils = require('lib/ArrayUtils.js');
const lodash = require('lodash');
const urlUtils = require('lib/urlUtils.js');
const markdownUtils = require('lib/markdownUtils.js');
const markdownUtils = require('lib/markdownUtils').default;
const { MarkupToHtml } = require('lib/joplin-renderer');
const { ALL_NOTES_FILTER_ID } = require('lib/reserved-ids');

View File

@ -3,14 +3,14 @@ const BaseItem = require('lib/models/BaseItem.js');
const ItemChange = require('lib/models/ItemChange.js');
const NoteResource = require('lib/models/NoteResource.js');
const ResourceLocalState = require('lib/models/ResourceLocalState.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const pathUtils = require('lib/path-utils.js');
const { mime } = require('lib/mime-utils.js');
const { filename, safeFilename } = require('lib/path-utils.js');
const { FsDriverDummy } = require('lib/fs-driver-dummy.js');
const markdownUtils = require('lib/markdownUtils');
const markdownUtils = require('lib/markdownUtils').default;
const JoplinError = require('lib/JoplinError');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
class Resource extends BaseItem {
static tableName() {