]> git.mxchange.org Git - friendica.git/commitdiff
Code organisation and documentation of JS hook code
authorPascal Deklerck <pascal.deklerck@gmail.com>
Wed, 13 Jun 2018 07:31:08 +0000 (09:31 +0200)
committerPascal Deklerck <pascal.deklerck@gmail.com>
Wed, 13 Jun 2018 07:31:08 +0000 (09:31 +0200)
view/js/addon-hooks.js
view/js/main.js

index 2530f10beab05ee5b542ab2dff1034147d29da96..8094a7d64a5985868f2fcea16eff46ebedd67191 100644 (file)
@@ -1,5 +1,16 @@
+/**
+ * @file addon-hooks.js
+ * @brief Provide a way for add-ons to register a JavaScript hook
+ */
+
 var addon_hooks={};
 
+/**
+ * @brief Register a JavaScript hook to be called from other Javascript files
+ * @pre the .js file from which the hook will be called is included in the document response
+ * @param type which type of hook i.e. where should it be called along with other hooks of the same type
+ * @param hookfnstr name of the JavaScript function name that needs to be called
+ */
 function Addon_registerHook( type, hookfnstr )
 {
        if (!addon_hooks.hasOwnProperty(type)) {
@@ -8,3 +19,20 @@ function Addon_registerHook( type, hookfnstr )
 
        addon_hooks[type].push( hookfnstr );
 }
+
+/**
+ * @brief Call all registered hooks of a certain type, i.e. at the same point of the JavaScript code execution
+ * @param typeOfHook string indicating which type of hooks to be called among the registered hooks
+ */
+function callAddonHooks( typeOfHook ) {
+       if (typeof addon_hooks !== 'undefined') {
+               var myTypeOfHooks = addon_hooks[typeOfHook]; 
+               if (typeof myTypeOfHooks !== 'undefined') {
+                       for (addon_hook_idx = 0; addon_hook_idx < myTypeOfHooks.length; addon_hook_idx++) {
+                               var hookfnstr = myTypeOfHooks[addon_hook_idx];
+                               var hookfn = window[hookfnstr];
+                               if (typeof hookfn === "function") hookfn();
+                       }
+               }
+       } 
+}
index f0bab12806ac18e9ecac4203f18bc600c1cc502c..b5043601ced034b193bed4d0529f7f56774e04c7 100644 (file)
@@ -395,19 +395,6 @@ function NavUpdate() {
        timer = setTimeout(NavUpdate, updateInterval);
 }
 
-function callAddonHooks(typeOfHook) {
-       if (typeof addon_hooks !== 'undefined') {
-               var myTypeOfHooks = addon_hooks[typeOfHook]; 
-               if (typeof myTypeOfHooks !== 'undefined') {
-                       for (addon_hook_idx = 0; addon_hook_idx < myTypeOfHooks.length; addon_hook_idx++) {
-                               var hookfnstr = myTypeOfHooks[addon_hook_idx];
-                               var hookfn = window[hookfnstr];
-                               if (typeof hookfn === "function") hookfn();
-                       }
-               }
-       } 
-}
-
 function liveUpdate(src) {
        if ((src == null) || stopped || !profile_uid) {
                $('.like-rotator').hide(); return;
@@ -473,7 +460,7 @@ function liveUpdate(src) {
                        prev = ident;
                });
 
-               callAddonHooks("postprocess");
+               callAddonHooks("postprocess_liveupdate");
 
                $('.like-rotator').hide();
                if (commentBusy) {