Viewing File: /usr/local/cpanel/base/frontend/jupiter/domains/directives/domainSearchModalDirective.min.js

define(["angular","lodash","cjt/util/locale","uiBootstrap","app/services/domains","app/directives/tldPriorityInputDirective","cjt/services/alertService"],(function(e,n,a){"use strict";var i="cpanel.domains.domainSearchModal",o=e.module(i,["ui.bootstrap","cpanel.domains.domains.service","cpanel.domains.tldPriorityInput","cjt2.services.alert"]),r="directives/domainSearchModal.ptt",t="domain-search-modal-dialog",l=["$scope","$uibModalInstance","$sce","$timeout","$document","domains","alertService","options",function(i,o,r,t,l,c,u,d){var s=(d=d||{}).cachedExploreData||null,f=d.exploreDataPromise||null,m=d.source||"unknown",h="function"==typeof d.onAddDomain?d.onAddDomain:null;i.canAddDomain=!!h,i.loading=!1,i.searching=!1,i.searchQuery=d.initialQuery||"",i.showSearchOptions=!1;var p=Object.prototype.hasOwnProperty.call(d,"initialTldFilters");i.tldFilters=p&&e.isArray(d.initialTldFilters)?d.initialTldFilters.slice():[];var S=null,v=p;p||(S=c.getPrioritizedTlds().then((function(e){e&&e.length&&!i.tldFilters.length&&(i.tldFilters=e)})).finally((function(){v=!0}))),i.searchPerformed=!1,i.noResults=!1,i.featured=s?s.featured:[],i.available=s?s.available:[],!s&&f&&(i.loading=!0,f.then((function(e){i.searchPerformed||(e=e||{},i.featured=e.featured||[],i.available=e.available||[])})).catch((function(){})).finally((function(){i.loading=!1}))),i.matchedDomain=null,i.unavailableDomain=null,i.pendingSearchDomain=null,i.supportedTlds=null;var y=null,g=c.fetchStoreConfig().then((function(e){y=e})).catch((function(){y={}}));function D(){return y&&y.store_type&&"whmcs"===y.store_type.toLowerCase()?"whmcs":"unknown"}function b(e,n){window.mixpanel&&"function"==typeof window.mixpanel.track&&window.mixpanel.track(e,n||{})}c.fetchSupportedTlds().then((function(e){i.supportedTlds=e})).catch((function(){i.supportedTlds=[]})),i.highlightTld=function(e){var a=e.indexOf(".");if(-1===a)return r.trustAsHtml(n.escape(e));var i=e.substring(0,a),o=e.substring(a);return r.trustAsHtml(n.escape(i)+"<strong>"+n.escape(o)+"</strong>")},i.searchDomains=function(){if(i.searchQuery&&!i.searching)if(v||!S){i.searching=!0,i.searchPerformed=!0;var e=i.searchQuery.trim();i.loading=!1,g.finally((function(){b("Domain-Search-Started",{source:m,query:e,mode:D()})}));var n=i.tldFilters.length?i.tldFilters:null;c.setPrioritizedTlds(i.tldFilters);var o=e.toLowerCase(),r=-1!==o.indexOf(".");i.pendingSearchDomain=o,c.fetchRecommendations(e,n).then((function(e){i.matchedDomain=null,i.unavailableDomain=null;var n=e.explore.featured||[],a=e.explore.available||[];if(r){var t=function(e){for(var n=0;n<e.length;n++)if(e[n]&&e[n].domain&&e[n].domain.toLowerCase()===o)return n;return-1},l=t(n);if(-1!==l)i.matchedDomain=n[l],n=n.slice(0,l).concat(n.slice(l+1));else{var c=t(a);-1!==c&&(i.matchedDomain=a[c],a=a.slice(0,c).concat(a.slice(c+1)))}}i.matchedDomain?(a=n.concat(a),n=[]):r&&(i.unavailableDomain=o),i.featured=n,i.available=a})).catch((function(){i.matchedDomain=null,i.unavailableDomain=null,i.featured=[],i.available=[],u.add({type:"danger",message:a.maketext("The domain search failed. Try again.")})})).finally((function(){i.searching=!1,i.pendingSearchDomain=null,i.noResults=!i.featured.length&&!i.available.length}))}else S.finally((function(){i.searchDomains()}))},i.handleSearchKeydown=function(e){"Enter"===e.key&&i.searchDomains()},i.toggleSearchOptions=function(){i.showSearchOptions=!i.showSearchOptions},i.purchasingDomain=null,i.purchaseConfirmation=null,i.redirectFailed=!1,i.blockedPurchaseUrl=null,i.dismissBlockedPurchaseUrl=function(){t((function(){i.blockedPurchaseUrl=null,t((function(){F()}))}))},i.redirectSucceeded=!1;var T=null,w=null,P=0;function C(e,n){if("Tab"===e.key&&n){var a=Array.prototype.slice.call(n.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])'));if(a.length){var i=a[0],o=a[a.length-1],r=l[0].activeElement;e.shiftKey&&r===i?(o.focus(),e.preventDefault()):e.shiftKey||r!==o||(i.focus(),e.preventDefault())}else e.preventDefault()}}function M(){var e=T,n=w;T=null,w=null,t((function(){var a,i=null;n&&l[0].contains(n)&&(i=n),i||(i=function(e){if(!e)return null;var n=window.CSS&&"function"==typeof window.CSS.escape?window.CSS.escape(e):/^[A-Za-z0-9.\-]+$/.test(e)?e:null;if(!n)return null;var a='[data-purchase-domain="'+n+'"]';return l[0].querySelector(a)}(e)||((a=l[0]).querySelector("#domainSearchModalTitle")||a.querySelector("#domainSearchModalNoResultsTitle")||a.querySelector("#domainSearchModalPendingTitle")||a.querySelector("#domainSearchModalUnavailableTitle"))),i&&"function"==typeof i.focus&&i.focus()}))}function k(){i.redirectFailed=!0,t((function(){var e=l[0].querySelector("#domainSearchModalFailureTitle");e&&e.focus()}))}function F(){i.redirectSucceeded=!0,t((function(){var e=l[0].querySelector("#domainSearchModalSuccessTitle");e&&e.focus()}))}i.purchaseDomain=function(e,n){T=e&&e.domain?e.domain:null,w=n&&n.currentTarget?n.currentTarget:null,i.purchaseConfirmation=e,g.finally((function(){b("Domain-Purchase-Clicked",{domain:e&&e.domain?e.domain:null,mode:D(),source:m})})),t((function(){var e=l[0].querySelector("#domainSearchModalConfirmationTitle");e&&e.focus()}))},i.cancelPurchaseConfirmation=function(){P++,i.purchasingDomain=null,i.purchaseConfirmation=null,i.redirectFailed=!1,i.redirectSucceeded=!1,i.blockedPurchaseUrl=null,M()},i.handleConfirmationKeydown=function(e){"Escape"===e.key?(i.cancelPurchaseConfirmation(),e.stopPropagation(),e.preventDefault()):C(e,l[0].querySelector(".domain-search-modal__confirmation"))},i.confirmPurchase=function(){if(i.purchaseConfirmation&&!i.purchasingDomain){var e=i.purchaseConfirmation.domain;i.purchasingDomain=e,i.redirectFailed=!1,i.blockedPurchaseUrl=null;var n=++P;c.fetchDomainPurchaseUrl(e,1).then((function(a){if(n===P){var o=a&&a.purchase_url;if(o&&/^https?:\/\//i.test(o)){b("Domain-Retail-Store-Visited",{source:m,mode:D(),domain:e,store_url:o});var r=window.open(o,"_blank");r?(r.opener=null,i.redirectFailed=!1,F()):(i.blockedPurchaseUrl=o,t((function(){var e=l[0].getElementById("domainSearchPopupBlockedLink");e&&e.focus()})))}else k()}})).catch((function(){n===P&&k()})).finally((function(){n===P&&(i.purchasingDomain=null)}))}},i.dismissRedirectFailure=function(){i.cancelPurchaseConfirmation()},i.handleFailureKeydown=function(e){"Escape"===e.key?(i.redirectFailed=!1,e.stopPropagation(),e.preventDefault(),t((function(){var e=l[0].querySelector("#domainSearchModalConfirmationTitle");e&&e.focus()}))):C(e,l[0].querySelector(".domain-search-modal__confirmation"))},i.dismissRedirectSuccess=function(){i.closeModal()},i.addPurchasedDomain=function(){var e=i.purchaseConfirmation&&i.purchaseConfirmation.domain;h&&e&&(b("Domain-Add-After-Purchase-Clicked",{source:m,mode:D(),domain:e}),i.closeModal(),h(e))},i.handleSuccessKeydown=function(e){"Escape"===e.key?(i.dismissRedirectSuccess(),e.stopPropagation(),e.preventDefault()):C(e,l[0].querySelector(".domain-search-modal__confirmation"))},i.closeModal=function(){o.dismiss("cancel")},d.autoSearch&&i.searchQuery&&i.searchDomains()}];return o.factory("domainSearchModalService",["$uibModal","$document",function(e,n){return{TEMPLATE_URL:r,WINDOW_CLASS:t,ModalController:l,open:function(a){var i=e.open({templateUrl:r,windowClass:t,controller:l,resolve:{options:function(){return a||{}}}});return i.rendered.then((function(){var e=n[0].querySelector("."+t+" [role='dialog']");e&&e.setAttribute("aria-labelledby","domainSearchModalTitle domainSearchModalNoResultsTitle domainSearchModalPendingTitle domainSearchModalUnavailableTitle domainSearchModalConfirmationTitle domainSearchModalSuccessTitle domainSearchModalFailureTitle")})),i}}}]),{namespace:i,ModalController:l}}));
Back to Directory