--- /dev/null
+;(function(A, Liferay) {\r
+ var LiferayAUI = Liferay.AUI;\r
+\r
+ var COMBINE = LiferayAUI.getCombine();\r
+\r
+ var GROUPS = AUI.defaults.groups;\r
+\r
+ var PATH_COMBO = LiferayAUI.getComboPath();\r
+\r
+ /*************************************\r
+ ***** MIGRATION MODIFICATION JS *****\r
+ *************************************/\r
+ var PATH_JAVASCRIPT = "/html/js"; //LiferayAUI.getJavaScriptRootPath();\r
+ \r
+ var PATH_LIFERAY = PATH_JAVASCRIPT + '/liferay/';\r
+\r
+ var PATH_MISC = PATH_JAVASCRIPT + '/misc/';\r
+\r
+ var REGEX_DASH = /-/g;\r
+\r
+ var STR_UNDERSCORE = '_';\r
+\r
+ var addPlugin = function(config) {\r
+ var group = config.group || 'liferay';\r
+ var trigger = config.trigger;\r
+ var name = config.name;\r
+\r
+ delete config.group;\r
+\r
+ var module = GROUPS[group].modules[trigger];\r
+\r
+ var pluginObj = module.plugins;\r
+\r
+ if (!pluginObj) {\r
+ pluginObj = {};\r
+\r
+ module.plugins = pluginObj;\r
+ }\r
+\r
+ pluginObj[name] = {\r
+ condition: config\r
+ };\r
+ };\r
+\r
+ var createLiferayModules = function() {\r
+ var modules = {};\r
+\r
+ var moduleList = {\r
+ 'asset-categories-selector': ['aui-tree', 'liferay-asset-tags-selector'],\r
+ 'asset-tags-selector': ['array-extras', 'async-queue', 'aui-autocomplete', 'aui-dialog', 'aui-io-request', 'aui-live-search', 'aui-textboxlist', 'aui-form-textfield', 'datasource-cache', 'liferay-service-datasource'],\r
+ 'auto-fields': ['aui-base', 'aui-data-set', 'aui-io-request', 'aui-parse-content', 'sortable', 'base', 'liferay-undo-manager'],\r
+ 'dockbar': ['aui-node', 'event-touch'],\r
+ 'dockbar-underlay': ['aui-button-item', 'aui-io-plugin', 'aui-overlay-manager'],\r
+ 'dynamic-select': ['aui-base'],\r
+ 'form': ['aui-base', 'aui-form-validator'],\r
+ 'form-placeholders': ['liferay-form', 'plugin'],\r
+ 'form-navigator': ['aui-base'],\r
+ 'history': getHistoryRequirements(),\r
+ 'history-html5': ['liferay-history', 'history-html5', 'querystring-stringify-simple'],\r
+ 'history-manager': ['liferay-history'],\r
+ 'hudcrumbs': ['aui-base', 'plugin'],\r
+ 'icon': ['aui-base'],\r
+ 'input-move-boxes': ['aui-base', 'aui-toolbar'],\r
+ 'layout': [],\r
+ 'layout-column': ['aui-portal-layout', 'dd'],\r
+ 'layout-configuration': ['aui-live-search', 'dd', 'liferay-layout'],\r
+ 'layout-freeform': ['aui-resize', 'liferay-layout-column'],\r
+ 'list-view': ['aui-base', 'transition'],\r
+ 'logo-selector': ['aui-base'],\r
+ 'look-and-feel': ['aui-color-picker', 'aui-dialog', 'aui-io-request', 'aui-tabs-base'],\r
+ 'menu': ['aui-debounce', 'aui-node'],\r
+ 'navigation': [],\r
+ 'navigation-touch': ['event-touch', 'liferay-navigation'],\r
+ 'navigation-interaction': ['node-focusmanager', 'plugin'],\r
+ 'notice': ['aui-base'],\r
+ 'panel': ['aui-base', 'aui-io-request'],\r
+ 'panel-floating': ['aui-paginator', 'liferay-panel'],\r
+ 'message': ['aui-base', 'aui-io-request'],\r
+ 'poller': ['aui-base', 'io', 'json'],\r
+ 'portlet-base': ['aui-base'],\r
+ 'portlet-url': ['aui-base', 'aui-io-request', 'querystring-stringify-simple'],\r
+ 'ratings': ['aui-io-request', 'aui-rating'],\r
+ 'search-container': ['aui-base', 'event-mouseenter'],\r
+ 'session': ['aui-io-request', 'aui-task-manager', 'cookie', 'liferay-notice'],\r
+ 'service-datasource': ['aui-base', 'datasource-local'],\r
+ 'staging': ['aui-dialog', 'aui-io-plugin'],\r
+ 'staging-branch': ['liferay-staging'],\r
+ 'staging-version': ['aui-button-item', 'liferay-staging'],\r
+ 'token-list': ['aui-base', 'aui-template'],\r
+ 'translation-manager': ['aui-base'],\r
+ 'undo-manager': ['aui-data-set', 'base'],\r
+ 'upload': ['aui-io-request', 'aui-swf', 'collection', 'swfupload'],\r
+ 'util-list-fields': ['aui-base'],\r
+ 'util-window': ['aui-dialog', 'aui-dialog-iframe']\r
+ };\r
+\r
+ for (var i in moduleList) {\r
+ modules['liferay-' + i] = {\r
+ path: i.replace(REGEX_DASH, STR_UNDERSCORE) + '.js',\r
+ requires: moduleList[i]\r
+ };\r
+ }\r
+\r
+ return modules;\r
+ };\r
+\r
+ var getHistoryRequirements = function() {\r
+ var WIN = A.config.win;\r
+\r
+ var HISTORY = WIN.history;\r
+\r
+ var module = 'history-hash';\r
+\r
+ if (HISTORY &&\r
+ HISTORY.pushState &&\r
+ HISTORY.replaceState &&\r
+ ('onpopstate' in WIN || A.UA.gecko >= 2)) {\r
+\r
+ module = 'liferay-history-html5';\r
+ }\r
+\r
+ return ['querystring-parse-simple', module];\r
+ };\r
+\r
+ GROUPS.liferay = {\r
+ base: PATH_LIFERAY,\r
+ root: PATH_LIFERAY,\r
+ combine: COMBINE,\r
+ comboBase: PATH_COMBO,\r
+ modules: createLiferayModules(),\r
+ patterns: {\r
+ 'liferay-': {\r
+ configFn: function(config) {\r
+ var path = config.path;\r
+\r
+ var nameRE = new RegExp(config.name + '/liferay-([A-Za-z0-9-]+)-min(\.js)');\r
+\r
+ path = path.replace(nameRE, '$1$2');\r
+ path = path.replace(REGEX_DASH, STR_UNDERSCORE);\r
+\r
+ config.path = path;\r
+ }\r
+ }\r
+ }\r
+ };\r
+\r
+ GROUPS.misc = {\r
+ base: PATH_MISC,\r
+ root: PATH_MISC,\r
+ combine: COMBINE,\r
+ comboBase: PATH_COMBO,\r
+ modules: {\r
+ swfupload: {\r
+ path : 'swfupload/swfupload.js'\r
+ },\r
+ swfobject: {\r
+ path: 'swfobject.js'\r
+ }\r
+ }\r
+ };\r
+ //alert("LiferayAUI.getLangPath(): " + LiferayAUI.getLangPath());\r
+ //aui_lang.jsp?browserId=firefox&themeId=welcome_WAR_welcometheme&colorSchemeId=01&minifierType=js&languageId=fr_FR&b=6102&t=1393598795000\r
+ GROUPS.portal = {\r
+ base: PATH_LIFERAY,\r
+ combine: false,\r
+ modules: {\r
+ 'portal-aui-lang': {\r
+ requires: ['aui-calendar'],\r
+ /*************************************\r
+ ***** MIGRATION MODIFICATION JS *****\r
+ *************************************/\r
+ path: "aui_lang.jsp" //LiferayAUI.getLangPath()\r
+ //path: LiferayAUI.getLangPath()\r
+ }\r
+ }\r
+ };\r
+\r
+ addPlugin(\r
+ {\r
+ name: 'liferay-form-placeholders',\r
+ test: function(A) {\r
+ return !A.Object.owns(document.createElement('input'), 'placeholder');\r
+ },\r
+ trigger: 'liferay-form'\r
+ }\r
+ );\r
+\r
+ addPlugin(\r
+ {\r
+ name: 'liferay-navigation-touch',\r
+ test: function(A) {\r
+ return A.UA.touch;\r
+ },\r
+ trigger: 'liferay-navigation'\r
+ }\r
+ );\r
+\r
+ addPlugin(\r
+ {\r
+ group: 'alloy',\r
+ name: 'portal-aui-lang',\r
+ test: function(A) {\r
+ return true;\r
+ },\r
+ trigger: 'aui-calendar'\r
+ }\r
+ );\r
+\r
+ var loader = A.Env._loader;\r
+\r
+ loader.addGroup(GROUPS.liferay, 'liferay');\r
+ loader.addGroup(GROUPS.misc, 'misc');\r
+ loader.addGroup(GROUPS.portal, 'portal');\r
+})(AUI(), Liferay);
\ No newline at end of file