Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenaka Moorthi <benaka.moorthi@gmail.com>2013-08-27 03:30:56 +0400
committerBenaka Moorthi <benaka.moorthi@gmail.com>2013-08-27 03:30:56 +0400
commited0f3d20d7ff4dc8ef4057cd4c7e608314ce3f69 (patch)
treea0685a3a973159c63bed373e9f0621c72215f893 /plugins/CoreHome/javascripts/require.js
parentf1193c901eadee1e910af3e28e9a28e9397b2aae (diff)
Refs #4100, #4041, #4077, add minimal UI module inclusion/creation function and use for SeriesPicker. Also includes a documentation correction for SeriesPicker.
Diffstat (limited to 'plugins/CoreHome/javascripts/require.js')
-rw-r--r--plugins/CoreHome/javascripts/require.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/plugins/CoreHome/javascripts/require.js b/plugins/CoreHome/javascripts/require.js
new file mode 100644
index 0000000000..87c847c6b2
--- /dev/null
+++ b/plugins/CoreHome/javascripts/require.js
@@ -0,0 +1,40 @@
+/**
+ * Piwik - Web Analytics
+ *
+ * Module creation & inclusion for Piwik.
+ *
+ * @link http://www.jqplot.com
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+(function (window) {
+
+ var MODULE_SPLIT_REGEX = /[\/.\\]/;
+
+ /**
+ * Returns a module for its ID. Empty modules are created if they does not exist.
+ *
+ * Modules are currently stored in the window object.
+ *
+ * @param {String} moduleId e.g. 'piwik/UserCountryMap' or 'myPlugin/Widgets/FancySchmancyThing'.
+ * The following characters can be used to separate individual modules:
+ * '/', '.' or '\'.
+ * @return {Object} The module object.
+ */
+ window.require = function (moduleId) {
+ var parts = moduleId.split(MODULE_SPLIT_REGEX);
+
+ // TODO: we use window objects for backwards compatibility. when rest of Piwik is rewritten to use
+ // require, we can switch simply holding the modules in a private variable.
+ var currentModule = window;
+ for (var i = 0; i != parts.length; ++i) {
+ var part = parts[i];
+
+ currentModule[part] = currentModule[part] || {};
+ currentModule = currentModule[part];
+ }
+ return currentModule;
+ };
+
+})(window); \ No newline at end of file