2 lines
20 KiB
JavaScript
2 lines
20 KiB
JavaScript
if(document.head){const r=document.createElement("style");r.textContent=':root{--fc-primary-bg: #FFFFFF;--fc-secondary-bg: #F5F7FA;--fc-light-bg: #E1E4EA;--fc-deep-bg: #222530;--fc-weak-bg-25: #F9FAFB;--fc-ai-background: #efebff;--fc-ai-color: #8762F0;--fc-primary-text: #0E121B;--fc-secondary-text: #525866;--fc-text-muted: #99A0AE;--fc-text-inverse: #FFFFFF;--fc-primary-border: #E1E4EA;--fc-secondary-border: #CACFD8;--fc-primary-button: #222530;--fc-text-link: #335CFF;--fc-success: #1FC16B;--fc-success-bg: #E0FAEC;--fc-error: #FB3748;--fc-error-bg: #FFEBEC;--fc-warning: #F6B51E;--fc-warning-bg: #FFFAEB;--fc-text-link-bg: #EEF2FF;--fc-badge-unsubscribed-text: #222530;--fc-badge-unsubscribed-bg: #F2F5F8;--fc-badge-subscribed-text: #0B4627;--fc-badge-subscribed-bg: #E0FAEC;--fc-badge-pending-text: #624C18;--fc-badge-pending-bg: #FFFAEB;--fc-badge-transactional-text: #351A75;--fc-badge-transactional-bg: #EFEBFF;--fc-badge-bounced-text: #122368;--fc-badge-bounced-bg: #EBF1FF;--fc-badge-complained-text: #71330A;--fc-badge-complained-bg: #FFF3EB;--fc-badge-spammed-text: #681219;--fc-badge-spammed-bg: #FFEBEC;--el-color-primary: var(--fc-deep-bg);--el-color-primary-light-3: var(--fc-secondary-text);--el-color-primary-light-5: var(--fc-text-muted);--el-color-primary-light-7: var(--fc-secondary-border);--el-color-primary-light-8: var(--fc-primary-border);--el-color-primary-light-9: var(--fc-secondary-bg);--el-color-primary-dark-2: var(--fc-primary-text);--el-color-success: var(--fc-success);--el-color-warning: var(--fc-warning);--el-color-danger: var(--fc-error);--el-color-error: var(--fc-error);--el-color-info: var(--fc-primary-text);--el-text-color-primary: var(--fc-primary-text);--el-text-color-regular: var(--fc-secondary-text);--el-text-color-secondary: var(--fc-text-muted);--el-text-color-placeholder: var(--fc-text-muted);--el-text-color-disabled: var(--fc-secondary-border);--el-border-color: var(--fc-primary-border);--el-border-color-light: var(--fc-primary-border);--el-border-color-lighter: var(--fc-secondary-border);--el-border-color-dark: var(--fc-secondary-border);--el-fill-color-light: var(--fc-secondary-bg);--el-fill-color-lighter: var(--fc-secondary-bg);--el-bg-color: var(--fc-primary-bg);--el-bg-color-page: var(--fc-secondary-bg);--el-button-text-color: var(--fc-text-inverse);--el-fill-color-blank: var(--fc-primary-bg);--el-bg-color-overlay: var(--fc-primary-bg);--el-color-info-light-9: var(--fc-badge-unsubscribed-bg);--fcrm-border-radius-8: 8px;--el-border-radius-base: var(--fcrm-border-radius-8);--wp-editor-canvas-background: var(--fc-primary-bg)}@keyframes fcrm_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}li#wp-admin-bar-fcrm_adminbar_search *{box-sizing:border-box}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container{display:none;clear:both;background:var(--fc-primary-bg);position:absolute;top:100%;right:0;width:min(500px,100vw - 16px);max-width:calc(100vw - 16px);z-index:1000;overflow:hidden;border-radius:var(--fcrm-border-radius-8);box-shadow:inset 0 -1px 1px -.5px var(--fc-primary-border),0 0 0 1px var(--fc-primary-border),0 48px 48px -24px #3333330a,0 24px 24px -12px #3333330a,0 12px 12px -6px #3333330a,0 6px 6px -3px #3333330a,0 3px 3px -1.5px #33333305,0 1px 1px .5px #3333330a}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container.fcrm_show{display:block}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_header{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--fc-primary-border);padding:8px 20px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_header .fcrm_search_input_wrapper{position:relative;width:100%;display:flex;align-items:center;gap:8px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container #fcrm_search_input{width:100%;display:block;border:none;background:none;color:var(--fc-primary-text);height:20px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container #fcrm_search_input::placeholder{color:var(--fc-text-muted)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_icon{color:var(--fc-text-muted)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_close{border:none;height:32px;width:32px;border-radius:var(--fcrm-border-radius-8);display:flex;flex:none;align-items:center;justify-content:center;cursor:pointer;background:none;color:var(--fc-secondary-text)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_close:hover{background:var(--fc-secondary-bg)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results{padding:16px 8px 0;max-height:320px;min-height:320px;overflow-y:auto;position:relative}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results .fcrm_results_label{margin:0 0 6px;padding:0 12px;color:var(--fc-text-muted);font-weight:500;font-size:12px;line-height:16px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper .fcrm_no_result{padding:12px 20px;color:var(--fc-text-muted, #9CA3AF);font-size:14px;margin:0}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists{display:flex;flex-direction:column}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item{display:flex;align-items:center;gap:10px;padding:6px 12px;text-decoration:none;transition:background .15s;height:auto;border-radius:var(--fcrm-border-radius-8)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item:focus,li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item:hover{background:var(--fc-secondary-bg)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item:focus .fcrm_contact_arrow,li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item:hover .fcrm_contact_arrow{opacity:1}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item .fcrm_contact_avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--fc-text-inverse)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item .fcrm_contact_info{flex:1;display:flex;align-items:center;gap:14px;min-width:0}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item .fcrm_contact_info .fcrm_contact_name{color:var(--fc-primary-text);display:block;font-weight:500;font-size:14px;line-height:20px;margin:0;position:relative;white-space:nowrap}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item .fcrm_contact_info .fcrm_contact_name:before{content:"";position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:3px;height:3px;background:var(--fc-secondary-border);border-radius:50%}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item .fcrm_contact_info .fcrm_contact_email{color:var(--fc-text-muted);display:block;font-weight:400;font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_has_results .fcrm_result_lists .fcrm_contact_item .fcrm_contact_arrow{color:var(--fc-secondary-text);width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--fc-primary-bg);flex:none;opacity:0;transition:opacity .15s;flex-shrink:0}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_search_results #fcrm_search_result_wrapper.fcrm_loading .fcrm_result_lists{opacity:0;text-align:center;border:3px solid var(--fc-secondary-bg, #F5F7FA);border-top:3px solid var(--fc-text-link, #335CFF);border-radius:50%;width:30px;height:30px;margin:12px auto;-webkit-animation:fcrm_spin 1s linear infinite;animation:fcrm_spin 1s linear infinite}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper{background:var(--fc-weak-bg-25);padding:16px 20px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper h4{padding:0;margin:0 0 12px;color:var(--fc-text-muted);font-weight:500;font-size:12px;line-height:16px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper .fcrm_quick_links{display:flex;flex-wrap:wrap;align-items:flex-start;row-gap:10px;column-gap:24px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper .fcrm_quick_links .fcrm_quick_link{display:flex;align-items:center;gap:4px;margin:0;padding:0;color:var(--fc-primary-text);font-weight:500;font-size:12px;line-height:16px;height:auto}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper .fcrm_quick_links .fcrm_quick_link span{display:block;margin:0;padding:0;color:var(--fc-primary-text);font-weight:500;font-size:12px;line-height:16px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper .fcrm_quick_links .fcrm_quick_link svg{display:block;width:16px;height:16px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_quick_links_wrapper .fcrm_quick_links .fcrm_quick_link:hover{text-decoration:underline}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_load_more{text-align:center;display:none;padding:8px 20px 12px;margin-top:8px;position:sticky;bottom:0;background:var(--fc-primary-bg)}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_load_more.fcrm_has_more{display:flex;align-items:center;justify-content:center}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_load_more button#fcrm_load_more_result{background:var(--fc-secondary-bg);display:flex;align-items:center;gap:8px;border-radius:var(--fcrm-border-radius-8);padding:4px 12px;color:var(--fc-secondary-text);font-weight:500;font-size:14px;line-height:20px;border:none;box-shadow:none;cursor:pointer;min-height:32px}li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container .fcrm_load_more button#fcrm_load_more_result:hover{background:var(--fc-secondary-bg);color:var(--fc-primary-text)}html[dir=rtl] li#wp-admin-bar-fcrm_adminbar_search .fcrm_search_container.fcrm_show{right:auto;left:0}',document.head.appendChild(r)}const r=function(e,a,c,t=null){let n;if("string"==typeof e?n=["svg","g","path","circle","rect","line","polyline","polygon","ellipse"].includes(e.toLowerCase())?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e):e instanceof Element&&(n=e),a)for(let r in a)n.setAttribute(r,a[r]);return(c||0==c)&&r.append(n,c,t),n};function e(r){var e,a;return(null==(a=null==(e=window.fcrm_adminbar_search_vars)?void 0:e.trans)?void 0:a[r])||r}function a(r,e="#"){if(!r)return e;try{const e=new URL(r,window.location.origin);if(["http:","https:"].includes(e.protocol))return e.toString()}catch(a){}return e}r.append=function(e,a,c){e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement?a instanceof Text||"string"==typeof a||"number"==typeof a?e.value=a:a instanceof Array?a.forEach(function(a){r.append(e,a)}):"function"==typeof a&&r.append(e,a()):a instanceof Element||a instanceof Text?e.appendChild(a):"string"==typeof a||"number"==typeof a?c?e.innerHTML+=a:e.appendChild(document.createTextNode(a)):a instanceof Array?a.forEach(function(a){r.append(e,a)}):"function"==typeof a&&r.append(e,a())};({init(){window.fcrm_adminbar_search_vars&&window.jQuery&&("loading"!==document.readyState?(this.initButton(),window.fcrm_adminbar_search_vars.edit_user_vars&&window.fcrm_adminbar_search_vars.edit_user_vars.crm_profile_url&&this.maybeUserProfile(window.fcrm_adminbar_search_vars.edit_user_vars)):document.addEventListener("DOMContentLoaded",()=>this.initButton(),{once:!0}))},current_page:1,searchDebounceMs:1e3,minAutoSearchLength:3,searchDebounceTimer:null,activeSearchToken:0,pendingSearchRequests:0,invalidateSearchResponses(){this.activeSearchToken++},setLoadingState(r){r?this.pendingSearchRequests++:this.pendingSearchRequests=Math.max(0,this.pendingSearchRequests-1);const e=this.pendingSearchRequests>0,a=jQuery("#fcrm_search_result_wrapper");e?a.attr("aria-busy","true"):a.removeAttr("aria-busy"),a.toggleClass("fcrm_loading",e)},clearSearchDebounce(){this.searchDebounceTimer&&(clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=null)},queueSearch(r){this.clearSearchDebounce(),r&&(this.searchDebounceTimer=setTimeout(()=>{jQuery("#fcrm_search_input").attr("data-searched")!==r&&(this.current_page=1,this.performSearch(r))},this.searchDebounceMs))},renderNoResult(a=e("Type and press enter")){const c=document.getElementById("fcrm_search_result_wrapper");c&&(c.innerHTML="",c.appendChild(r("p",{class:"fcrm_no_result"},a)))},resetSearchState({focusInput:r=!1,preserveInput:a=!1}={}){this.clearSearchDebounce(),this.invalidateSearchResponses();const c=jQuery("#fcrm_search_input");a||c.val(""),c.attr("data-searched",""),this.current_page=1,this.renderNoResult(e("Type and press enter")),jQuery("#fcrm_search_result_wrapper").removeClass("fcrm_has_results").removeClass("fcrm_loading"),jQuery(".fcrm_load_more").removeClass("fcrm_has_more"),r&&c.trigger("focus")},initButton(){const r=this,e=document.getElementById("wp-admin-bar-fcrm_adminbar_search");if(!e)return;if(e.querySelector(".fcrm_search_container"))return;const a=jQuery("#wp-admin-bar-fcrm_adminbar_search"),c=this.getSearchDom();e.append(c),a.on("mouseenter",function(){const r=a.find(".fcrm_search_container");r.addClass("fcrm_show"),r.hasClass("fcrm_show")&&r.find("input").focus()}).on("mouseleave",function(){a.find(".fcrm_search_container").removeClass("fcrm_show")}).on("focusin",function(){a.find(".fcrm_search_container").addClass("fcrm_show")}).on("focusout",function(e){setTimeout(()=>{const e=r.pendingSearchRequests>0,c=a.is(":hover"),t=a.find(":focus").length>0;e||c||t||a.find(".fcrm_search_container").removeClass("fcrm_show")},0)}),jQuery(".fcrm_search_close").on("click",function(e){e.preventDefault(),e.stopPropagation(),r.resetSearchState(),this.blur(),a.find(".fcrm_search_container").removeClass("fcrm_show")}),jQuery("#fcrm_search_input").on("keydown",function(e){if("Escape"===e.key)return e.preventDefault(),r.resetSearchState(),void a.find(".fcrm_search_container").removeClass("fcrm_show");if(r.current_page=1,"Enter"!==e.key)return;r.clearSearchDebounce();const c=jQuery.trim(jQuery(this).val());jQuery("#fcrm_search_input").attr("data-searched")!==c&&(e.preventDefault(),r.current_page=1,r.performSearch(c))}).on("input",function(){const e=jQuery.trim(jQuery(this).val());e?e.length<r.minAutoSearchLength?r.resetSearchState({preserveInput:!0}):r.queueSearch(e):r.resetSearchState()}),jQuery("#fcrm_load_more_result").on("click",function(e){e.preventDefault(),e.stopPropagation(),a.find(".fcrm_search_container").addClass("fcrm_show"),r.current_page++,setTimeout(()=>{r.performSearch(jQuery("#fcrm_search_input").val())},1e3)})},getSearchDom(){return r("div",{class:"fcrm_search_container"},[r("div",{class:"fcrm_search_header"},[r("div",{class:"fcrm_search_input_wrapper"},[r("svg",{class:"fcrm_search_icon",viewBox:"0 0 20 20",width:"20",height:"20",fill:"none"},[r("path",{d:"M9.25 2.5C12.976 2.5 16 5.524 16 9.25C16 12.976 12.976 16 9.25 16C5.524 16 2.5 12.976 2.5 9.25C2.5 5.524 5.524 2.5 9.25 2.5ZM9.25 14.5C12.1502 14.5 14.5 12.1502 14.5 9.25C14.5 6.349 12.1502 4 9.25 4C6.349 4 4 6.349 4 9.25C4 12.1502 6.349 14.5 9.25 14.5ZM15.6137 14.5532L17.7355 16.6742L16.6742 17.7355L14.5532 15.6137L15.6137 14.5532V14.5532Z",fill:"currentColor"})]),r("input",{type:"text",placeholder:e("Search in CRM"),autocomplete:"off",id:"fcrm_search_input",autocorrect:"off",autocapitalize:"none",spellcheck:"false"})]),r("button",{type:"button",class:"fcrm_search_close","aria-label":e("Close")},[r("svg",{viewBox:"0 0 20 20",width:"20",height:"20",fill:"none"},[r("path",{d:"M9.99956 8.93906L13.7121 5.22656L14.7726 6.28706L11.0601 9.99956L14.7726 13.7121L13.7121 14.7726L9.99956 11.0601L6.28706 14.7726L5.22656 13.7121L8.93906 9.99956L5.22656 6.28706L6.28706 5.22656L9.99956 8.93906Z",fill:"#525866"})])])]),r("div",{class:"fcrm_search_results"},[r("div",{class:"fcrm_results_label"},e("Best Matches")),r("div",{id:"fcrm_search_result_wrapper"},e("Type to search contacts")),r("div",{class:"fcrm_load_more"},[r("button",{id:"fcrm_load_more_result"},e("Load More"))])]),this.getQuickLinks()])},getQuickLinks(){const c=[];return jQuery.each(window.fcrm_adminbar_search_vars.links,(e,t)=>{const n={href:a(t.url),class:"fcrm_quick_link"};t.is_external&&(n.target="_blank",n.rel="noopener noreferrer"),c.push(r("a",n,[r("span",{},t.title),r("svg",{viewBox:"0 0 24 24",width:"16",height:"16"},[r("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z",fill:"currentColor"})])]))}),r("div",{class:"fcrm_quick_links_wrapper"},[r("h4",{},e("Quick links")),r("div",{class:"fcrm_quick_links"},c)])},performSearch(r){if(!r)return"";const e=++this.activeSearchToken;this.setLoadingState(!0);const a=10*(Math.max(1,parseInt(this.current_page,10)||1)-1);this.$get("subscribers/search-contacts",{search:r,offset:a,limit:11}).then(a=>{if(e!==this.activeSearchToken)return;const c=Object.values(a.contacts||{}),t=c.length>10;this.pushSearchResult(c.slice(0,10),t),jQuery("#fcrm_search_input").attr("data-searched",r)}).catch(r=>{}).finally(()=>{this.setLoadingState(!1)})},pushSearchResult(c,t=!1){const n=jQuery("#fcrm_search_result_wrapper");if(!c.length)return jQuery(".fcrm_load_more").removeClass("fcrm_has_more"),this.renderNoResult(e("Sorry no contact found")),void n.removeClass("fcrm_has_results");const i=[];jQuery.each(c,(e,c)=>{const t=""!==jQuery.trim(c.full_name||""),n=a(window.fcrm_adminbar_search_vars.subscriber_base+c.id+"?t="+encodeURIComponent(c.hash||"")),s=[];t&&s.push(r("span",{class:"fcrm_contact_name"},c.full_name)),s.push(r("span",{class:"fcrm_contact_email"},c.email)),i.push(r("a",{href:n,class:"fcrm_contact_item"},[r("img",{src:c.photo||"",alt:c.full_name,class:"fcrm_contact_avatar",width:"40",height:"40"}),r("div",{class:"fcrm_contact_info"},s),r("svg",{class:"fcrm_contact_arrow",viewBox:"0 0 24 24",width:"20",height:"20"},[r("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",fill:"currentColor"})])]))});const s=r("div",{class:"fcrm_result_lists"},i);n.html(s).addClass("fcrm_has_results"),t?jQuery(".fcrm_load_more").addClass("fcrm_has_more"):jQuery(".fcrm_load_more").removeClass("fcrm_has_more")},$get(r,e={}){const a=`${window.fcrm_adminbar_search_vars.rest.url}/${r}`;return new Promise((r,c)=>{window.jQuery.ajax({url:a,type:"GET",data:e,beforeSend:function(r){r.setRequestHeader("X-WP-Nonce",window.fcrm_adminbar_search_vars.rest.nonce)}}).then(e=>r(e)).catch(r=>c(r.responseJSON))})},maybeUserProfile(r){const e=a(r.crm_profile_url);"#"!==e&&window.jQuery("<a/>",{style:"background: #7757e6;color: white;border-color: #7757e6;",class:"page-title-action",href:e,text:"View CRM Profile"}).insertBefore("#profile-page > .wp-header-end")}}).init();
|