Liferay.Loader.define("frontend-js-spa-web$senna@2.7.7/lib/surface/Surface",["module","exports","require","../globals/globals","frontend-js-metal-web$metal","frontend-js-metal-web$metal-dom","frontend-js-metal-web$metal-promise"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i/ig,"/senna\x3e");var placeholder=void 0;if(_metalUseragent2.default.isIe){var tempNode=_globals2.default.document.createRange().createContextualFragment(content);placeholder=tempNode.querySelector("senna")}else{node.innerHTML= content;placeholder=node.querySelector("senna")}if(placeholder){_utils2.default.clearNodeAttributes(node);_utils2.default.copyNodeAttributes(placeholder,node)}}},{key:"disposeInternal",value:function disposeInternal(){this.disposePendingStyles();_get(HtmlScreen.prototype.__proto__||Object.getPrototypeOf(HtmlScreen.prototype),"disposeInternal",this).call(this)}},{key:"disposePendingStyles",value:function disposePendingStyles(){if(this.pendingStyles)_utils2.default.removeElementsFromDocument(this.pendingStyles)}}, {key:"evaluateScripts",value:function evaluateScripts(surfaces){var _this2=this;var evaluateTrackedScripts=this.evaluateTrackedResources_(_metalDom.globalEval.runScriptsInElement,HtmlScreen.selectors.scripts,HtmlScreen.selectors.scriptsTemporary,HtmlScreen.selectors.scriptsPermanent);return evaluateTrackedScripts.then(function(){return _get(HtmlScreen.prototype.__proto__||Object.getPrototypeOf(HtmlScreen.prototype),"evaluateScripts",_this2).call(_this2,surfaces)})}},{key:"evaluateStyles",value:function evaluateStyles(surfaces){var _this3= this;this.pendingStyles=[];var evaluateTrackedStyles=this.evaluateTrackedResources_(_metalDom.globalEvalStyles.runStylesInElement,HtmlScreen.selectors.styles,HtmlScreen.selectors.stylesTemporary,HtmlScreen.selectors.stylesPermanent,this.appendStyleIntoDocument_.bind(this));return evaluateTrackedStyles.then(function(){return _get(HtmlScreen.prototype.__proto__||Object.getPrototypeOf(HtmlScreen.prototype),"evaluateStyles",_this3).call(_this3,surfaces)})}},{key:"evaluateFavicon_",value:function evaluateFavicon_(){var _this4= this;var resourcesInVirtual=this.virtualQuerySelectorAll_(HtmlScreen.selectors.favicon);var resourcesInDocument=this.querySelectorAll_(HtmlScreen.selectors.favicon);return new _metalPromise2.default(function(resolve){_utils2.default.removeElementsFromDocument(resourcesInDocument);_this4.runFaviconInElement_(resourcesInVirtual).then(function(){return resolve()})})}},{key:"evaluateTrackedResources_",value:function evaluateTrackedResources_(evaluatorFn,selector,selectorTemporary,selectorPermanent,opt_appendResourceFn){var _this5= this;var tracked=this.virtualQuerySelectorAll_(selector);var temporariesInDoc=this.querySelectorAll_(selectorTemporary);var permanentsInDoc=this.querySelectorAll_(selectorPermanent);permanentsInDoc.forEach(function(resource){var resourceKey=_this5.getResourceKey_(resource);if(resourceKey)HtmlScreen.permanentResourcesInDoc[resourceKey]=true});var frag=(0,_metalDom.buildFragment)();tracked.forEach(function(resource){var resourceKey=_this5.getResourceKey_(resource);if(!HtmlScreen.permanentResourcesInDoc[resourceKey])frag.appendChild(resource); if(resourceKey&&(0,_metalDom.match)(resource,selectorPermanent))HtmlScreen.permanentResourcesInDoc[resourceKey]=true});return new _metalPromise2.default(function(resolve){evaluatorFn(frag,function(){_utils2.default.removeElementsFromDocument(temporariesInDoc);resolve()},opt_appendResourceFn)})}},{key:"flip",value:function flip(surfaces){var _this6=this;return _get(HtmlScreen.prototype.__proto__||Object.getPrototypeOf(HtmlScreen.prototype),"flip",this).call(this,surfaces).then(function(){_utils2.default.clearNodeAttributes(_globals2.default.document.documentElement); _utils2.default.copyNodeAttributes(_this6.virtualDocument,_globals2.default.document.documentElement);_this6.evaluateFavicon_();_this6.updateMetaTags_()})}},{key:"updateMetaTags_",value:function updateMetaTags_(){var currentMetaNodes=this.querySelectorAll_("meta");var metasFromVirtualDocument=this.metas;if(currentMetaNodes){_utils2.default.removeElementsFromDocument(currentMetaNodes);if(metasFromVirtualDocument)metasFromVirtualDocument.forEach(function(meta){return _globals2.default.document.head.appendChild(meta)})}}}, {key:"getResourceKey_",value:function getResourceKey_(resource){return resource.id||resource.href||resource.src||""}},{key:"getSurfaceContent",value:function getSurfaceContent(surfaceId){var surface=this.virtualDocument.querySelector("#"+surfaceId);if(surface){var defaultChild=surface.querySelector("#"+surfaceId+"-"+_Surface2.default.DEFAULT);if(defaultChild)return defaultChild.innerHTML;return surface.innerHTML}}},{key:"getTitleSelector",value:function getTitleSelector(){return this.titleSelector}}, {key:"load",value:function load(path){var _this7=this;return _get(HtmlScreen.prototype.__proto__||Object.getPrototypeOf(HtmlScreen.prototype),"load",this).call(this,path).then(function(content){_this7.allocateVirtualDocumentForContent(content);_this7.resolveTitleFromVirtualDocument();_this7.resolveMetaTagsFromVirtualDocument();_this7.assertSameBodyIdInVirtualDocument();if(_metalUseragent2.default.isIe)_this7.makeTemporaryStylesHrefsUnique_();return content})}},{key:"makeTemporaryStylesHrefsUnique_", value:function makeTemporaryStylesHrefsUnique_(){var _this8=this;var temporariesInDoc=this.virtualQuerySelectorAll_(HtmlScreen.selectors.stylesTemporary);temporariesInDoc.forEach(function(style){return _this8.replaceStyleAndMakeUnique_(style)})}},{key:"replaceStyleAndMakeUnique_",value:function replaceStyleAndMakeUnique_(style){if(style.href){var newStyle=_globals2.default.document.createElement(style.tagName);style.href=(new _metalUri2.default(style.href)).makeUnique().toString();_utils2.default.copyNodeAttributes(style, newStyle);style.parentNode.replaceChild(newStyle,style);style.disabled=true}}},{key:"runFaviconInElement_",value:function runFaviconInElement_(elements){return new _metalPromise2.default(function(resolve){elements.forEach(function(element){return document.head.appendChild(_metalUseragent2.default.isIe?element:_utils2.default.setElementWithRandomHref(element))});resolve()})}},{key:"virtualQuerySelectorAll_",value:function virtualQuerySelectorAll_(selector){return Array.prototype.slice.call(this.virtualDocument.querySelectorAll(selector))}}, {key:"querySelectorAll_",value:function querySelectorAll_(selector){return Array.prototype.slice.call(_globals2.default.document.querySelectorAll(selector))}},{key:"releaseVirtualDocument",value:function releaseVirtualDocument(){this.virtualDocument=null}},{key:"resolveTitleFromVirtualDocument",value:function resolveTitleFromVirtualDocument(){var title=this.virtualDocument.querySelector(this.titleSelector);if(title)this.setTitle(title.textContent.trim())}},{key:"resolveMetaTagsFromVirtualDocument", value:function resolveMetaTagsFromVirtualDocument(){var metas=this.virtualQuerySelectorAll_(this.metaTagsSelector);if(metas)this.setMetas(metas)}},{key:"setTitleSelector",value:function setTitleSelector(titleSelector){this.titleSelector=titleSelector}}]);return HtmlScreen}(_RequestScreen3.default);var ignoreFavicon=':not([rel\x3d"Shortcut Icon"]):not([rel\x3d"shortcut icon"]):not([rel\x3d"icon"]):not([href$\x3d"favicon.icon"])';HtmlScreen.selectors={favicon:'link[rel\x3d"Shortcut Icon"],link[rel\x3d"shortcut icon"],link[rel\x3d"icon"],link[href$\x3d"favicon.icon"]', scripts:"script[data-senna-track]",scriptsPermanent:'script[data-senna-track\x3d"permanent"]',scriptsTemporary:'script[data-senna-track\x3d"temporary"]',styles:"style[data-senna-track],link[data-senna-track]"+ignoreFavicon,stylesPermanent:'style[data-senna-track\x3d"permanent"],link[data-senna-track\x3d"permanent"]'+ignoreFavicon,stylesTemporary:'style[data-senna-track\x3d"temporary"],link[data-senna-track\x3d"temporary"]'+ignoreFavicon};HtmlScreen.permanentResourcesInDoc={};exports.default=HtmlScreen}); Liferay.Loader.define("frontend-js-spa-web@2.0.29/liferay/screen/EventScreen.es",["module","exports","require","frontend-js-spa-web$senna/lib/screen/HtmlScreen","frontend-js-spa-web$senna/lib/globals/globals","frontend-js-metal-web$metal-promise/lib/promise/Promise"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _HtmlScreen2=_interopRequireDefault(require("frontend-js-spa-web$senna/lib/screen/HtmlScreen")); var _globals=_interopRequireDefault(require("frontend-js-spa-web$senna/lib/globals/globals"));var _Promise=require("frontend-js-metal-web$metal-promise/lib/promise/Promise");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol")_typeof=function _typeof(obj){return typeof obj};else _typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!== Symbol.prototype?"symbol":typeof obj};return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _defineProperties(target,props){for(var i=0;i=200&&statusCode<=500||validStatusCodes.indexOf(statusCode)>-1}},{key:"load",value:function load(path){var _this3=this;return _get(_getPrototypeOf(EventScreen.prototype),"load",this).call(this,path).then(function(content){var redirectPath=_this3.beforeUpdateHistoryPath(path);_this3.checkRedirectPath(redirectPath);Liferay.fire("screenLoad",{app:Liferay.SPA.app,content:content,screen:_this3});return content})}},{key:"makePermanentSelectorsTemporary_",value:function makePermanentSelectorsTemporary_(currentLanguageId, languageId){_HtmlScreen2["default"].selectors.stylesTemporary=_HtmlScreen2["default"].selectors.stylesTemporary.split(",").concat(_HtmlScreen2["default"].selectors.stylesPermanent.split(",").map(function(item){return"".concat(item,'[href*\x3d"').concat(currentLanguageId,'"]')})).join();_HtmlScreen2["default"].selectors.stylesPermanent=_HtmlScreen2["default"].selectors.stylesPermanent.split(",").map(function(item){return"".concat(item,'[href*\x3d"').concat(languageId,'"]')}).join()}},{key:"restoreSelectors_", value:function restoreSelectors_(){_HtmlScreen2["default"].selectors.stylesPermanent=this.stylesPermanentSelector_||_HtmlScreen2["default"].selectors.stylesPermanent;_HtmlScreen2["default"].selectors.stylesTemporary=this.stylesTemporarySelector_||_HtmlScreen2["default"].selectors.stylesTemporary}},{key:"runBodyOnLoad",value:function runBodyOnLoad(){var onLoad=document.body.onload;if(onLoad)onLoad()}},{key:"runFaviconInElement_",value:function runFaviconInElement_(elements){return _get(_getPrototypeOf(EventScreen.prototype), "runFaviconInElement_",this).call(this,elements).then(function(){elements.forEach(function(element){if(!element.type&&element.href.indexOf(".ico")!==-1)element.type="image/x-icon"})})}}]);return EventScreen}(_HtmlScreen2["default"]);var _default=EventScreen;exports["default"]=_default}); Liferay.Loader.define("frontend-js-spa-web@2.0.29/liferay/screen/ActionURLScreen.es",["module","exports","require","./EventScreen.es","frontend-js-metal-web$metal-uri/lib/Uri","frontend-js-spa-web$senna/lib/utils/utils"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _EventScreen2=_interopRequireDefault(require("./EventScreen.es"));var _Uri=_interopRequireDefault(require("frontend-js-metal-web$metal-uri/lib/Uri")); var _utils=_interopRequireDefault(require("frontend-js-spa-web$senna/lib/utils/utils"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol")_typeof=function _typeof(obj){return typeof obj};else _typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};return _typeof(obj)}function _classCallCheck(instance, Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function");}function _defineProperties(target,props){for(var i=0;i-1;return false}}]);return Route}();exports.default=Route}); Liferay.Loader.define("frontend-js-spa-web$senna@2.7.7/lib/app/App",["module","exports","require","frontend-js-metal-web$metal-dom","frontend-js-metal-web$metal","frontend-js-metal-web$metal-events","frontend-js-metal-web$metal-promise","frontend-js-metal-web$metal-debounce","../globals/globals","../route/Route","../screen/Screen","../surface/Surface","frontend-js-metal-web$metal-uri","../utils/utils"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule", {value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i0}},{key:"isLinkSameOrigin_",value:function isLinkSameOrigin_(host){var hostUri=new _metalUri2.default(host);var locationHostUri=new _metalUri2.default(_globals2.default.window.location.host);return hostUri.getPort()===locationHostUri.getPort()&& hostUri.getHostname()===locationHostUri.getHostname()}},{key:"isSameBasePath_",value:function isSameBasePath_(path){return path.indexOf(this.basePath)===0}},{key:"lockHistoryScrollPosition_",value:function lockHistoryScrollPosition_(){var state=_globals2.default.window.history.state;if(!state)return;var winner=false;var switchScrollPositionRace=function switchScrollPositionRace(){_globals2.default.document.removeEventListener("scroll",switchScrollPositionRace,false);if(!winner){_globals2.default.window.scrollTo(state.scrollLeft, state.scrollTop);winner=true}};_metal.async.nextTick(switchScrollPositionRace);_globals2.default.document.addEventListener("scroll",switchScrollPositionRace,false)}},{key:"maybeDisableNativeScrollRestoration",value:function maybeDisableNativeScrollRestoration(){if(this.nativeScrollRestorationSupported){this.nativeScrollRestoration_=_globals2.default.window.history.scrollRestoration;_globals2.default.window.history.scrollRestoration="manual"}}},{key:"maybeScheduleNavigation_",value:function maybeScheduleNavigation_(href, event){if(this.isNavigationPending&&this.navigationStrategy===NavigationStrategy.SCHEDULE_LAST){this.scheduledNavigationQueue=[_metal.object.mixin({href:href,isScheduledNavigation:true},event)];return true}return false}},{key:"maybeNavigate_",value:function maybeNavigate_(href,event){if(!this.canNavigate(href))return;var isNavigationScheduled=this.maybeScheduleNavigation_(href,event);if(isNavigationScheduled){event.preventDefault();return}var navigateFailed=false;try{this.navigate(_utils2.default.getUrlPath(href), false,event)}catch(err){navigateFailed=true}if(!navigateFailed&&!event.isScheduledNavigation)event.preventDefault()}},{key:"maybeOverloadBeforeUnload_",value:function maybeOverloadBeforeUnload_(){var _this7=this;if("function"===typeof window.onbeforeunload){window._onbeforeunload=window.onbeforeunload;window.onbeforeunload=function(event){_this7.emit("beforeUnload",event);if(event&&event.defaultPrevented)return true};window.onbeforeunload._overloaded=true}}},{key:"maybePreventActivate_",value:function maybePreventActivate_(nextScreen){var _this8= this;return _metalPromise2.default.resolve().then(function(){return nextScreen.beforeActivate()}).then(function(prevent){if(prevent){_this8.pendingNavigate=_metalPromise2.default.reject(new _metalPromise2.default.CancellationError("Cancelled by next screen"));return _this8.pendingNavigate}})}},{key:"maybePreventDeactivate_",value:function maybePreventDeactivate_(){var _this9=this;return _metalPromise2.default.resolve().then(function(){if(_this9.activeScreen)return _this9.activeScreen.beforeDeactivate()}).then(function(prevent){if(prevent){_this9.pendingNavigate= _metalPromise2.default.reject(new _metalPromise2.default.CancellationError("Cancelled by active screen"));return _this9.pendingNavigate}})}},{key:"maybeRepositionScrollToHashedAnchor",value:function maybeRepositionScrollToHashedAnchor(){var hash=_globals2.default.window.location.hash;if(hash){var anchorElement=_globals2.default.document.getElementById(hash.substring(1));if(anchorElement){var _utils$getNodeOffset=_utils2.default.getNodeOffset(anchorElement),offsetLeft=_utils$getNodeOffset.offsetLeft, offsetTop=_utils$getNodeOffset.offsetTop;_globals2.default.window.scrollTo(offsetLeft,offsetTop)}}}},{key:"maybeRestoreNativeScrollRestoration",value:function maybeRestoreNativeScrollRestoration(){if(this.nativeScrollRestorationSupported&&this.nativeScrollRestoration_)_globals2.default.window.history.scrollRestoration=this.nativeScrollRestoration_}},{key:"maybeRestoreRedirectPathHash_",value:function maybeRestoreRedirectPathHash_(path,redirectPath,hash){if(redirectPath===_utils2.default.getUrlPathWithoutHash(path))return redirectPath+ hash;return redirectPath}},{key:"maybeUpdateScrollPositionState_",value:function maybeUpdateScrollPositionState_(){var hash=_globals2.default.window.location.hash;var anchorElement=_globals2.default.document.getElementById(hash.substring(1));if(anchorElement){var _utils$getNodeOffset2=_utils2.default.getNodeOffset(anchorElement),offsetLeft=_utils$getNodeOffset2.offsetLeft,offsetTop=_utils$getNodeOffset2.offsetTop;this.saveHistoryCurrentPageScrollPosition_(offsetTop,offsetLeft)}}},{key:"navigate", value:function navigate(path,opt_replaceHistory,opt_event){if(!_utils2.default.isHtml5HistorySupported())throw new Error("HTML5 History is not supported. Senna will not intercept navigation.");if(opt_event){_globals2.default.capturedFormElement=opt_event.capturedFormElement;_globals2.default.capturedFormButtonElement=opt_event.capturedFormButtonElement}if(path===this.activePath)opt_replaceHistory=true;this.emit("beforeNavigate",{event:opt_event,path:path,replaceHistory:!!opt_replaceHistory});return this.pendingNavigate}}, {key:"onBeforeNavigate_",value:function onBeforeNavigate_(event){if(_globals2.default.capturedFormElement)event.form=_globals2.default.capturedFormElement}},{key:"onBeforeNavigateDefault_",value:function onBeforeNavigateDefault_(event){if(this.pendingNavigate)if(this.pendingNavigate.path===event.path||this.navigationStrategy===NavigationStrategy.SCHEDULE_LAST)return;this.emit("beforeUnload",event);this.emit("startNavigate",{form:event.form,path:event.path,replaceHistory:event.replaceHistory})}},{key:"onBeforeUnloadDefault_", value:function onBeforeUnloadDefault_(event){var func=window._onbeforeunload;if(func&&!func._overloaded&&func())event.preventDefault()}},{key:"onDocClickDelegate_",value:function onDocClickDelegate_(event){if(event.altKey||event.ctrlKey||event.metaKey||event.shiftKey||event.button)return;this.maybeNavigate_(event.delegateTarget.href,event)}},{key:"onDocSubmitDelegate_",value:function onDocSubmitDelegate_(event){var form=event.delegateTarget;if(form.method==="get")return;event.capturedFormElement= form;var buttonSelector="button:not([type]),button[type\x3dsubmit],input[type\x3dsubmit]";if((0,_metalDom.match)(_globals2.default.document.activeElement,buttonSelector))event.capturedFormButtonElement=_globals2.default.document.activeElement;else event.capturedFormButtonElement=form.querySelector(buttonSelector);this.maybeNavigate_(form.action,event)}},{key:"onLoad_",value:function onLoad_(){var _this10=this;this.skipLoadPopstate=true;setTimeout(function(){_this10.skipLoadPopstate=false},0);this.maybeRepositionScrollToHashedAnchor()}}, {key:"onPopstate_",value:function onPopstate_(event){if(this.skipLoadPopstate)return;if(_utils2.default.isCurrentBrowserPath(this.browserPathBeforeNavigate)){this.maybeRepositionScrollToHashedAnchor();return}var state=event.state;if(!state){if(_globals2.default.window.location.hash){if(this.redirectPath&&!_utils2.default.isCurrentBrowserPath(this.redirectPath))this.reloadPage();this.maybeRepositionScrollToHashedAnchor()}else this.reloadPage();return}if(state.senna){this.popstateScrollTop=state.scrollTop; this.popstateScrollLeft=state.scrollLeft;if(!this.nativeScrollRestorationSupported)this.lockHistoryScrollPosition_();this.once("endNavigate",function(){if(state.referrer)_utils2.default.setReferrer(state.referrer)});var uri=new _metalUri2.default(state.path);uri.setHostname(_globals2.default.window.location.hostname);uri.setPort(_globals2.default.window.location.port);var isNavigationScheduled=this.maybeScheduleNavigation_(uri.toString(),{});if(isNavigationScheduled)return;this.navigate(state.path, true)}}},{key:"onScroll_",value:function onScroll_(){if(this.captureScrollPositionFromScrollEvent)this.saveHistoryCurrentPageScrollPosition_(_globals2.default.window.pageYOffset,_globals2.default.window.pageXOffset)}},{key:"onStartNavigate_",value:function onStartNavigate_(event){var _this11=this;this.maybeDisableNativeScrollRestoration();this.captureScrollPositionFromScrollEvent=false;(0,_metalDom.addClasses)(_globals2.default.document.documentElement,this.loadingCssClass);var endNavigatePayload= {form:event.form,path:event.path};this.pendingNavigate=this.doNavigate_(event.path,event.replaceHistory).catch(function(reason){endNavigatePayload.error=reason;throw reason;}).thenAlways(function(){if(!_this11.pendingNavigate&&!_this11.scheduledNavigationQueue.length){(0,_metalDom.removeClasses)(_globals2.default.document.documentElement,_this11.loadingCssClass);_this11.maybeRestoreNativeScrollRestoration();_this11.captureScrollPositionFromScrollEvent=true}_this11.emit("endNavigate",endNavigatePayload)}); this.pendingNavigate.path=event.path}},{key:"prefetch",value:function prefetch(path){var _this12=this;var route=this.findRoute(path);if(!route)return _metalPromise2.default.reject(new _metalPromise2.default.CancellationError("No route for "+path));var nextScreen=this.createScreenInstance(path,route);return nextScreen.load(path).then(function(){return _this12.screens[path]=nextScreen}).catch(function(reason){_this12.handleNavigateError_(path,nextScreen,reason);throw reason;})}},{key:"prepareNavigateHistory_", value:function prepareNavigateHistory_(path,nextScreen,opt_replaceHistory){var title=nextScreen.getTitle();if(!(0,_metal.isString)(title))title=this.getDefaultTitle();var redirectPath=nextScreen.beforeUpdateHistoryPath(path);var historyState={form:(0,_metal.isDefAndNotNull)(_globals2.default.capturedFormElement),path:path,redirectPath:redirectPath,scrollLeft:0,scrollTop:0,senna:true};if(opt_replaceHistory){historyState.scrollTop=this.popstateScrollTop;historyState.scrollLeft=this.popstateScrollLeft}var hash= (new _metalUri2.default(path)).getHash();redirectPath=this.maybeRestoreRedirectPathHash_(path,redirectPath,hash);this.updateHistory_(title,redirectPath,nextScreen.beforeUpdateHistoryState(historyState),opt_replaceHistory);this.redirectPath=redirectPath}},{key:"prepareNavigateSurfaces_",value:function prepareNavigateSurfaces_(nextScreen,surfaces,params){Object.keys(surfaces).forEach(function(id){var surfaceContent=nextScreen.getSurfaceContent(id,params);surfaces[id].addContent(nextScreen.getId(),surfaceContent)})}}, {key:"reloadPage",value:function reloadPage(){_globals2.default.window.location.reload()}},{key:"removeRoute",value:function removeRoute(route){return _metal.array.remove(this.routes,route)}},{key:"removeScreen",value:function removeScreen(path){var _this13=this;var screen=this.screens[path];if(screen){Object.keys(this.surfaces).forEach(function(surfaceId){return _this13.surfaces[surfaceId].remove(screen.getId())});screen.dispose();delete this.screens[path]}}},{key:"saveHistoryCurrentPageScrollPosition_", value:function saveHistoryCurrentPageScrollPosition_(scrollTop,scrollLeft){var state=_globals2.default.window.history.state;if(state&&state.senna){var _ref=[scrollTop,scrollLeft];state.scrollTop=_ref[0];state.scrollLeft=_ref[1];_globals2.default.window.history.replaceState(state,null,null)}}},{key:"setAllowPreventNavigate",value:function setAllowPreventNavigate(allowPreventNavigate){this.allowPreventNavigate=allowPreventNavigate}},{key:"setBasePath",value:function setBasePath(basePath){this.basePath= _utils2.default.removePathTrailingSlash(basePath)}},{key:"setDefaultTitle",value:function setDefaultTitle(defaultTitle){this.defaultTitle=defaultTitle}},{key:"setFormSelector",value:function setFormSelector(formSelector){this.formSelector=formSelector;if(this.formEventHandler_)this.formEventHandler_.removeListener();this.formEventHandler_=(0,_metalDom.delegate)(document,"submit",this.formSelector,this.onDocSubmitDelegate_.bind(this),this.allowPreventNavigate)}},{key:"setIgnoreQueryStringFromRoutePath", value:function setIgnoreQueryStringFromRoutePath(ignoreQueryStringFromRoutePath){this.ignoreQueryStringFromRoutePath=ignoreQueryStringFromRoutePath}},{key:"setLinkSelector",value:function setLinkSelector(linkSelector){this.linkSelector=linkSelector;if(this.linkEventHandler_)this.linkEventHandler_.removeListener();this.linkEventHandler_=(0,_metalDom.delegate)(document,"click",this.linkSelector,this.onDocClickDelegate_.bind(this),this.allowPreventNavigate)}},{key:"setLoadingCssClass",value:function setLoadingCssClass(loadingCssClass){this.loadingCssClass= loadingCssClass}},{key:"setUpdateScrollPosition",value:function setUpdateScrollPosition(updateScrollPosition){this.updateScrollPosition=updateScrollPosition}},{key:"stopPendingNavigate_",value:function stopPendingNavigate_(){if(this.pendingNavigate)this.pendingNavigate.cancel("Cancel pending navigation");this.pendingNavigate=null}},{key:"syncScrollPositionSyncThenAsync_",value:function syncScrollPositionSyncThenAsync_(){var _this14=this;var state=_globals2.default.window.history.state;if(!state)return; var scrollTop=state.scrollTop;var scrollLeft=state.scrollLeft;var sync=function sync(){if(_this14.updateScrollPosition)_globals2.default.window.scrollTo(scrollLeft,scrollTop)};return new _metalPromise2.default(function(resolve){return sync()&_metal.async.nextTick(function(){return sync()&resolve()})})}},{key:"updateHistory_",value:function updateHistory_(title,path,state,opt_replaceHistory){var referrer=_globals2.default.window.location.href;if(state)state.referrer=referrer;if(opt_replaceHistory)_globals2.default.window.history.replaceState(state, title,path);else _globals2.default.window.history.pushState(state,title,path);_utils2.default.setReferrer(referrer);var titleNode=_globals2.default.document.querySelector("title");if(titleNode)titleNode.innerHTML=title;else _globals2.default.document.title=title}}]);return App}(_metalEvents.EventEmitter);exports.default=App}); Liferay.Loader.define("frontend-js-metal-web$metal-component@2.16.8/lib/events/events",["module","exports","require","frontend-js-metal-web$metal"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.addListenersFromObj=addListenersFromObj;exports.getComponentFn=getComponentFn;var _metal=require("frontend-js-metal-web$metal");function addListenersFromObj(component,events){var eventNames=Object.keys(events||{});var handles=[];for(var i= 0;i=min&&value<=max})},instanceOf:function instanceOf(expectedClass){return maybe(function(value,name,context){if(value instanceof expectedClass)return true;return composeError("Expected instance of "+expectedClass,name,context)})},objectOf:function objectOf(validator){if(isInvalid(validators.func(validator)))throwConfigError("function",validator,"objectOf");return maybe(function(value,name,context){for(var key in value)if(isInvalid(validator(value[key])))return composeError(ERROR_OBJECT_OF_TYPE, name,context);return true})},oneOf:function oneOf(arrayOfValues){return maybe(function(value,name,context){var result=validators.array(arrayOfValues,name,context);if(isInvalid(result))return result;return arrayOfValues.indexOf(value)===-1?composeError(composeOneOfErrorMessage(arrayOfValues),name,context):true})},oneOfType:function oneOfType(arrayOfTypeValidators){return maybe(function(value,name,context){var result=validators.array(arrayOfTypeValidators,name,context);if(isInvalid(result))return result; for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:true;return mergeConfig(this,{internal:internal})},required:function required(){var required=arguments.length>0&&arguments[0]!==undefined?arguments[0]: true;return mergeConfig(this,{required:required})},setter:function setter(_setter){return mergeConfig(this,{setter:_setter})},validator:function validator(_validator){return mergeConfig(this,{validator:_validator})},value:function value(_value){return mergeConfig(this,{value:_value})},valueFn:function valueFn(_valueFn){return mergeConfig(this,{valueFn:_valueFn})},writeOnce:function writeOnce(){var writeOnce=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return mergeConfig(this,{writeOnce:writeOnce})}}; function destructShapeOfConfigs(shape){var keys=Object.keys(shape);var retShape={};keys.forEach(function(key){var value=shape[key];retShape[key]=value.config&&value.config.validator?value.config.validator:destructShapeOfConfigs(value)});return retShape}function mergeConfig(context,config){var obj=context;var objConfig=obj.config||{};obj=Object.create(Config);obj.config={};Object.assign(obj.config,objConfig,config);return obj}function setExplicitValueValidators(name){return function(arg){return this.validator(_validators2.default[name](arg))}} function setNestedValidators(name){return function(arg){return this.validator(_validators2.default[name](arg.config.validator))}}function setPrimitiveValidators(name){return function(){return this.validator(_validators2.default[name])}}exports.default=Config}); Liferay.Loader.define("frontend-js-metal-web$metal-state@2.16.8/lib/State",["module","exports","require","frontend-js-metal-web$metal","frontend-js-metal-web$metal-events"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:this.getStateKeys();var state={};for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:this.getManagerData(component).state_;var keys=state.getStateKeys();for(var i=0;i1?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];var eventName=(0,_metal.isObject)(event)?event.name:event;var facade=this.buildFacade_(eventName,event.data,event.originalEvent);args=(0,_metal.isObject)(event)?[facade]:args;var listeners=this.getRawListeners_(eventName);var handlerName= "handle"+eventName.charAt(0).toUpperCase()+eventName.slice(1);this.runListeners_(listeners,args,facade,this.defaultEventHandler,handlerName);return true}},{key:"runListeners_",value:function runListeners_(listeners,args,facade,defaultEventHandler,handlerName){if(facade)args.push(facade);var defaultListeners=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:true;return mergeConfig(this,{internal:_internal})},required:function required(){var _required=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;return mergeConfig(this,{required:_required})},setter:function setter(_setter){return mergeConfig(this,{setter:_setter})},validator:function validator(_validator){return mergeConfig(this,{validator:_validator})},value:function value(_value){return mergeConfig(this,{value:_value})}};function mergeConfig(context, config){var obj=context;if(obj===Config){obj=Object.create(Config);obj.config={}}_metal.object.mixin(obj.config,config);return obj}var fnNames=Object.keys(_validators2.default);fnNames.forEach(function(name){return Config[name]=function(){return this.validator(_validators2.default[name])}});exports.default=Config}); Liferay.Loader.define("frontend-js-metal-web$metal-state@2.7.0/lib/State",["module","exports","require","frontend-js-metal-web$metal","frontend-js-metal-web$metal-events"],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i