def collect_addon_js(node, visited=None, filename='files.js', config_entry='files'): """Collect JavaScript includes for all add-ons implementing HGrid views. :return list: List of JavaScript include paths """ # NOTE: must coerce to list so it is JSON-serializable visited = visited or [] visited.append(node._id) js = set() for addon in node.get_addons(): # JS modules configured in each addon's __init__ file js = js.union(addon.config.include_js.get(config_entry, [])) # Webpack bundle js_path = paths.resolve_addon_path(addon.config, filename) if js_path: js.add(js_path) for each in node.nodes: if each._id not in visited: visited.append(each._id) js = js.union(collect_addon_js(each, visited=visited)) return js
def collect_node_config_js(addons): """Collect webpack bundles for each of the addons' node-cfg.js modules. Return the URLs for each of the JS modules to be included on the node addons config page. :param list addons: List of node's addon config records. """ js_modules = [] for addon in addons: js_path = paths.resolve_addon_path(addon.config, 'node-cfg.js') if js_path: js_modules.append(js_path) return js_modules
def collect_user_config_js(addon_configs): """Collect webpack bundles for each of the addons' user-cfg.js modules. Return the URLs for each of the JS modules to be included on the user addons config page. :param list addons: List of user's addon config records. """ js_modules = [] for addon_config in addon_configs: js_path = paths.resolve_addon_path(addon_config, "user-cfg.js") if js_path: js_modules.append(js_path) return js_modules
def collect_user_config_js(addon_configs): """Collect webpack bundles for each of the addons' user-cfg.js modules. Return the URLs for each of the JS modules to be included on the user addons config page. :param list addons: List of user's addon config records. """ js_modules = [] for addon_config in addon_configs: js_path = paths.resolve_addon_path(addon_config, 'user-cfg.js') if js_path: js_modules.append(js_path) return js_modules
def collect_addon_js(node, visited=None, filename='files.js', config_entry='files'): """Collect JavaScript includes for all add-ons implementing HGrid views. :return list: List of JavaScript include paths """ js = [] for addon_config in settings.ADDONS_AVAILABLE_DICT.values(): # JS modules configured in each addon's __init__ file js.extend(addon_config.include_js.get(config_entry, [])) # Webpack bundle js_path = paths.resolve_addon_path(addon_config, filename) if js_path: js.append(js_path) return js