Pad: Move `padLoad` hook invocation to `PadManager.js`

This puts global state change logic with the rest of the global state
management logic. This also makes it possible to create temporary Pad
objects without triggering plugin actions.
pull/5304/head
Richard Hansen 2021-11-28 19:27:46 -05:00
parent f7d4abdabe
commit 885ff3bcde
3 changed files with 8 additions and 7 deletions

View File

@ -175,14 +175,15 @@ Things in context:
This hook gets called when a new pad was created.
## padLoad
Called from: src/node/db/Pad.js
## `padLoad`
Things in context:
Called from: `src/node/db/PadManager.js`
1. pad - the pad instance
Called when a pad is loaded, including after new pad creation.
This hook gets called when a pad was loaded. If a new pad was created and loaded this event will be emitted too.
Context properties:
* `pad`: The Pad object.
## padUpdate
Called from: src/node/db/Pad.js

View File

@ -366,8 +366,6 @@ Pad.prototype.init = async function (text) {
await this.appendRevision(firstChangeset, '');
}
hooks.callAll('padLoad', {pad: this});
};
Pad.prototype.copy = async function (destinationID, force) {

View File

@ -22,6 +22,7 @@
const CustomError = require('../utils/customError');
const Pad = require('../db/Pad').Pad;
const db = require('./DB');
const hooks = require('../../static/js/pluginfw/hooks');
/**
* A cache of all loaded Pads.
@ -141,6 +142,7 @@ exports.getPad = async (id, text) => {
// initialize the pad
await pad.init(text);
hooks.callAll('padLoad', {pad});
globalPads.set(id, pad);
padList.addPad(id);