mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-26 16:46:12 +01:00 
			
		
		
		
	feat: allow client-side hook registration chaining
This commit is contained in:
		| @@ -59,17 +59,18 @@ define('hooks', [], () => { | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		Hooks.logs.log(`[hooks] Registered ${hookName}`, method); | 		Hooks.logs.log(`[hooks] Registered ${hookName}`, method); | ||||||
|  | 		return Hooks; | ||||||
| 	}; | 	}; | ||||||
| 	Hooks.on = Hooks.register; | 	Hooks.on = Hooks.register; | ||||||
| 	Hooks.one = (hookName, method) => { | 	Hooks.one = (hookName, method) => { | ||||||
| 		Hooks.register(hookName, method); |  | ||||||
| 		Hooks.runOnce.add({ hookName, method }); | 		Hooks.runOnce.add({ hookName, method }); | ||||||
|  | 		return Hooks.register(hookName, method); | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	// registerPage/onPage takes care of unregistering the listener on ajaxify | 	// registerPage/onPage takes care of unregistering the listener on ajaxify | ||||||
| 	Hooks.registerPage = (hookName, method) => { | 	Hooks.registerPage = (hookName, method) => { | ||||||
| 		Hooks.temporary.add({ hookName, method }); | 		Hooks.temporary.add({ hookName, method }); | ||||||
| 		Hooks.register(hookName, method); | 		return Hooks.register(hookName, method); | ||||||
| 	}; | 	}; | ||||||
| 	Hooks.onPage = Hooks.registerPage; | 	Hooks.onPage = Hooks.registerPage; | ||||||
| 	Hooks.register('action:ajaxify.start', () => { | 	Hooks.register('action:ajaxify.start', () => { | ||||||
| @@ -86,6 +87,8 @@ define('hooks', [], () => { | |||||||
| 		} else { | 		} else { | ||||||
| 			Hooks.logs.log(`[hooks] Unregistration of ${hookName} failed, passed-in method is not a registered listener or the hook itself has no listeners, currently.`); | 			Hooks.logs.log(`[hooks] Unregistration of ${hookName} failed, passed-in method is not a registered listener or the hook itself has no listeners, currently.`); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | 		return Hooks; | ||||||
| 	}; | 	}; | ||||||
| 	Hooks.off = Hooks.unregister; | 	Hooks.off = Hooks.unregister; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user