openstack-uicore-foundation
Version:
ui reactjs components for openstack marketing site
2 lines • 17.2 kB
JavaScript
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],r):"object"==typeof exports?exports["openstack-uicore-foundation"]=r():e["openstack-uicore-foundation"]=r()}(this,(()=>(()=>{"use strict";var e={5097:(e,r,a)=>{a(1116),a(6842),a(9087),a(9558),a(2183)},3195:(e,r,a)=>{a.d(r,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>n,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>t,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>o,AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR:()=>i,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>d});const t="AUTH_ERROR_MISSING_AUTH_INFO",o="AUTH_ERROR_MISSING_REFRESH_TOKEN",n="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",d="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",i="AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR"},2183:(e,r,a)=>{a.d(r,{getAccessToken:()=>R});var t=a(9558),o=a(5812),n=a.n(o);a(806);const s=require("browser-tabs-lock");var d=a.n(s);const i=require("js-cookie");var u=a.n(i),c=(a(8041),a(9891),a(5097),a(8853),a(3195));const Lock=new(d()),GET_TOKEN_SILENTLY_LOCK_KEY="openstackuicore.lock.getTokenSilently",p="code",l="authInfo",y="idToken",_=async(e,r)=>{if(e===p&&T()){if(!r)throw Q(),Error(c.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await(async(e,r=5,a=1e3)=>{for(let t=0;t<r;t++)try{return await e()}catch(e){if(!e.message||!e.message.startsWith(c.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR)||t===r-1)throw e;const o=a*Math.pow(2,t);console.log(`retryWithBackoff retry ${t+1}/${r} in ${o}ms`),await new Promise((e=>setTimeout(e,o)))}})((()=>f(r))),{access_token:a,expires_in:t,refresh_token:o,id_token:n}=e;return void 0===o&&(o=null),g(a,t,o,n),a}throw Q(),Error(c.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)},m=async()=>{console.log("openstack-uicore-foundation::Security::methods::_getAccessToken");let e=E();if(!e)throw console.log("openstack-uicore-foundation::Security::methods::_getAccessToken AUTH_ERROR_MISSING_AUTH_INFO"),Error(c.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:r,expiresIn:a,accessTokenUpdatedAt:t,refreshToken:o}=e,s=h();const d=n()().unix();let i=d-t;return a-=60,console.log(`openstack-uicore-foundation::Security::methods::_getAccessToken now ${d} accessTokenUpdatedAt ${t} expiresIn ${a} timeElapsedSecs ${i}`),(i>=a||null==r)&&(console.log("openstack-uicore-foundation::Security::methods::_getAccessToken access token expired, refreshing it ..."),r=await _(s,o)),r},R=async()=>{if("undefined"!=typeof navigator&&navigator.locks)return await navigator.locks.request(GET_TOKEN_SILENTLY_LOCK_KEY,(async e=>(console.log("openstack-uicore-foundation::Security::methods::getAccessToken web lock api",e),await m())));if(!await(0,t.retryPromise)((()=>Lock.acquireLock(GET_TOKEN_SILENTLY_LOCK_KEY,6e3)),10))throw Error(c.AUTH_ERROR_LOCK_ACQUIRE_ERROR);try{return await m()}finally{await Lock.releaseLock(GET_TOKEN_SILENTLY_LOCK_KEY)}},f=async e=>{let r=S(),a=w();const o={grant_type:"refresh_token",client_id:encodeURI(a),refresh_token:e},n=new AbortController,s=setTimeout((()=>n.abort()),1e4);let d,i;try{d=await fetch(`${r}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o),signal:n.signal})}catch(e){throw console.log("refreshAccessToken network error:",e.message),Error(`${c.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: ${e.message}`)}finally{clearTimeout(s)}if(!d.ok){if(console.log(`refreshAccessToken server error: ${d.status} - ${d.statusText}`),d.status>=500||408===d.status||429===d.status)throw Error(`${c.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: ${d.status} - ${d.statusText}`);throw(0,t.setSessionClearingState)(!0),Error(`${c.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${d.status} - ${d.statusText}`)}try{i=await d.json()}catch(e){throw Error(`${c.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: invalid JSON response from IDP`)}let{access_token:u,refresh_token:p,expires_in:l,id_token:y}=i;if(!u)throw(0,t.setSessionClearingState)(!0),Error(`${c.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: missing access_token in refresh response`);return{access_token:u,refresh_token:p,expires_in:l,id_token:y}},g=(e,r,a=null,o=null)=>{let n=E(),s={accessToken:e,expiresIn:r,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null==a&&n&&(a=n.refreshToken),null==o&&n&&(o=n.idToken),a&&(s.refreshToken=a),o?(s[y]=o,u().set(y,o,{secure:!0,sameSite:"Lax"})):u().remove(y),(0,t.putOnLocalStorage)(l,JSON.stringify(s))},E=()=>{try{let e=(0,t.getFromLocalStorage)(l,!1);return e?JSON.parse(e):null}catch(e){return null}},Q=()=>{"undefined"!=typeof window&&((0,t.removeFromLocalStorage)(l),u().remove(y))},w=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,h=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",T=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),S=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},9087:(e,r,a)=>{a.d(r,{escapeFilterValue:()=>l,fetchErrorHandler:()=>c,fetchResponseHandler:()=>p});a(2462),a(1116),a(806);var t=a(8041),o=a.n(t),n=a(9236),s=a.n(n),d=a(6842),i=a.n(d);a(9558),a(5097),a(2183),a(3209);o().escapeQuerySpace=!1;const u=e=>r=>({type:e,payload:r}),c=(u("RESET_LOADING"),u("START_LOADING"),u("STOP_LOADING"),e=>{let r=e.status,a=e.statusText;switch(r){case 403:s().fire("ERROR",i().translate("errors.user_not_authz"),"warning");break;case 401:s().fire("ERROR",i().translate("errors.session_expired"),"error");break;case 412:s().fire("ERROR",a,"warning");case 500:s().fire("ERROR",i().translate("errors.server_error"),"error")}}),p=e=>{if(e.ok)return e.json();throw e},l=e=>e=(e=(e=(e=(e=String(e)).replace(/\\/g,"\\\\")).replace(/,/g,"\\,")).replace(/;/g,"\\;")).replace(/\+/g,"%2B")},3209:(e,r,a)=>{a.d(r,{Vg:()=>n,WU:()=>o,wU:()=>t});const t=500,o=10,n=100},8853:()=>{require("spark-md5"),require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto)},9558:(e,r,a)=>{a.d(r,{buildAPIBaseUrl:()=>t,getFromLocalStorage:()=>n,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>s,retryPromise:()=>i,setSessionClearingState:()=>d});a(5812),a(8041);const t=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,r)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,r)},n=(e,r)=>{if("undefined"!=typeof window){let a=window.localStorage.getItem(e);return r&&(console.log(`getFromLocalStorage removing key ${e}`),s(e)),a}return null},s=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},i=async(e,r=3)=>{for(let a=0;a<r;a++)if(await e())return!0;return!1}},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9891:e=>{e.exports=require("idtoken-verifier")},7825:e=>{e.exports=require("lodash")},5812:e=>{e.exports=require("moment-timezone")},806:e=>{e.exports=require("superagent/lib/client")},9236:e=>{e.exports=require("sweetalert2")},8041:e=>{e.exports=require("urijs")}},r={};function a(t){var o=r[t];if(void 0!==o)return o.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,a),n.exports}(()=>{a.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return a.d(r,{a:r}),r}})(),(()=>{a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}})(),(()=>{a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r)})(),(()=>{a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var t={};a.r(t),a.d(t,{RECEIVE_COUNTRIES:()=>_,fetchAllSummits:()=>w,geoCodeAddress:()=>W,geoCodeLatLng:()=>C,getCountryList:()=>q,getLanguageList:()=>x,queryAccessLevels:()=>I,queryAttendees:()=>E,queryCompanies:()=>A,queryEventTypes:()=>k,queryEvents:()=>U,queryGroups:()=>$,queryMembers:()=>g,queryOrganizations:()=>N,queryPromocodes:()=>L,queryRegistrationCompanies:()=>v,querySpeakers:()=>h,querySponsorAddons:()=>j,querySponsoredProjects:()=>K,querySponsors:()=>b,querySponsorsV2:()=>H,querySponsorsWithBadgeScans:()=>F,querySponsorships:()=>M,querySponsorshipsBySummit:()=>B,querySummitAddons:()=>G,querySummits:()=>Q,queryTags:()=>T,queryTicketTypes:()=>P,queryTrackGroups:()=>O,queryTracks:()=>S});var o=a(9087),n=a(2183),s=a(9558),d=a(7825),i=a.n(d),u=a(5812),c=a.n(u),p=a(8041),l=a.n(p),y=a(3209);const _="RECEIVE_COUNTRIES";l().escapeQuerySpace=!1;const m=async(e,r,a={})=>fetch((0,s.buildAPIBaseUrl)(e.toString()),a).then(o.fetchResponseHandler).then((e=>{"function"==typeof r&&r(e.data)})).catch((e=>(404===e.status&&r([]),e))).catch(o.fetchErrorHandler),R=async(e,r={})=>{let a;try{a=await(0,n.getAccessToken)()}catch(e){return Promise.reject(e)}return e.addQuery("access_token",a),fetch((0,s.buildAPIBaseUrl)(e.toString()),r).then(o.fetchResponseHandler).catch(o.fetchErrorHandler)},f=async(e,r,a={})=>{let t;try{t=await(0,n.getAccessToken)()}catch(e){return"function"==typeof r&&r(e),Promise.reject()}return e.addQuery("access_token",t),m(e,r,a)},g=i().debounce((async(e,r,a=y.WU)=>{let t=l()("/api/v1/members");t.addQuery("expand","tickets,rsvp,schedule_summit_events,all_affiliations"),t.addQuery("order","first_name,last_name"),t.addQuery("page",1),t.addQuery("per_page",a),e&&(e=(0,o.escapeFilterValue)(e),t.addQuery("filter[]",`full_name@@${e},first_name@@${e},last_name@@${e},email@@${e}`)),f(t,r)}),y.wU),E=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()(`/api/v1/summits/${e}/attendees`);n.addQuery("order","first_name,last_name"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`full_name=@${r},email=@${r}`)),f(n,a)}),y.wU),Q=i().debounce((async(e,r,a=y.WU)=>{let t=l()("/api/v1/summits/all");t.addQuery("expand","tickets,rsvp,schedule_summit_events,all_affiliations"),t.addQuery("order","name"),t.addQuery("page",1),t.addQuery("per_page",a),e&&(e=(0,o.escapeFilterValue)(e),t.addQuery("filter[]",`name@@${e}`)),f(t,r)}),y.wU),w=async e=>{let r=l()("/api/v2/summits/all");if(r.addQuery("fields","id,name,start_date,end_date"),r.addQuery("expand","none"),r.addQuery("relations","none"),r.addQuery("order","-start_date"),r.addQuery("page",1),r.addQuery("per_page",y.Vg),e){const e=c()().tz("UTC").unix();r.addQuery("filter[]",`end_date>=${e}`)}return R(r).then((e=>e.data))},h=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()("/api/v1/"+(e?`summits/${e}/speakers`:"speakers"));n.addQuery("expand","member,registration_request"),n.addQuery("order","first_name,last_name"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`full_name@@${r},first_name@@${r},last_name@@${r},email@@${r}`)),f(n,a)}),y.wU),T=i().debounce((async(e,r,a,t=50)=>{let n=l()("/api/v1/"+(e?`summits/${e}/track-tag-groups/all/allowed-tags`:"tags"));e&&n.addQuery("expand","tag,track_tag_group"),n.addQuery("order","tag"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`tag@@${r}`)),f(n,a)}),y.wU),S=i().debounce((async(e,r,a,t=[],n=y.WU)=>{let s=l()(`/api/v1/summits/${e}/tracks`);s.addQuery("order","name"),s.addQuery("page",1),s.addQuery("per_page",n),(null==t?void 0:t.length)>0&&s.addQuery("filter[]",`not_id==${t.join("||")}`),r&&(r=(0,o.escapeFilterValue)(r),s.addQuery("filter[]",`name@@${r}`)),f(s,a)}),y.wU),O=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()(`/api/v1/summits/${e}/track-groups`);n.addQuery("order","name"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`name@@${r}`)),f(n,a)}),y.wU),U=i().debounce((async(e,r,a=!1,t,n=y.WU)=>{let s=l()(`/api/v1/summits/${e}/events`+(a?"/published":""));s.addQuery("order","title"),s.addQuery("page",1),s.addQuery("per_page",n),r&&(r=(0,o.escapeFilterValue)(r),s.addQuery("filter[]",`title@@${r}`)),f(s,t)}),y.wU),k=i().debounce((async(e,r,a,t=null,n=y.WU)=>{let s=l()(`/api/v1/summits/${e}/event-types`);s.addQuery("order","name"),s.addQuery("page",1),s.addQuery("per_page",n),r&&(r=(0,o.escapeFilterValue)(r),s.addQuery("filter[]",`name@@${r}`)),t&&(t=(0,o.escapeFilterValue)(t),s.addQuery("filter[]",`class_name==${t}`)),f(s,a)}),y.wU),$=i().debounce((async(e,r,a=y.WU)=>{let t=l()("/api/v1/groups");t.addQuery("order","title,code"),t.addQuery("page",1),t.addQuery("per_page",a),e&&(e=(0,o.escapeFilterValue)(e),t.addQuery("filter[]",`title@@${e},code@@${e}`)),f(t,r)}),y.wU),A=i().debounce((async(e,r,a=y.WU)=>{let t=l()("/api/v1/companies");t.addQuery("order","name"),t.addQuery("page",1),t.addQuery("per_page",a),e&&(e=(0,o.escapeFilterValue)(e),t.addQuery("filter[]",`name@@${e}`)),f(t,r)}),y.wU),v=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()(`/api/v1/summits/${e}/registration-companies`);n.addQuery("order","name"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`name@@${r}`)),f(n,a)}),y.wU),b=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()(`/api/v1/summits/${e}/sponsors`);n.addQuery("expand","company,sponsorship,sponsorship.type"),n.addQuery("order","id"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`company_name@@${r}`)),f(n,a)}),y.wU),H=i().debounce((async(e,r,a)=>{const t=l()(`/api/v2/summits/${r}/sponsors`),n=(0,o.escapeFilterValue)(e);t.addQuery("fields","id,company.name,company.id"),t.addQuery("relations","company"),t.addQuery("expand","company"),n&&t.addQuery("filter",`company_name=@${n}`),R(t).then((e=>{const r=[...e.data].map((e=>({id:e.id,name:e.company.name})));a(r)})).catch(o.fetchErrorHandler)}),y.wU),F=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()(`/api/v1/summits/${e}/sponsors`);n.addQuery("expand","company,sponsorship,sponsorship.type"),n.addQuery("fields","id,company.name,sponsorship.type.name"),n.addQuery("relations","none,company.none,sponsorship.type.none"),n.addQuery("filter[]","badge_scans_count>0"),n.addQuery("order","+company_name"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`company_name@@${r}`)),f(n,a)}),y.wU),I=i().debounce((async(e,r,a,t=y.WU)=>{let n=l()(`/api/v1/summits/${e}/access-level-types`);n.addQuery("order","name"),n.addQuery("page",1),n.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),n.addQuery("filter[]",`name@@${r}`)),f(n,a)}),y.wU),N=i().debounce((async(e,r,a=y.WU)=>{let t=l()("/api/v1/organizations");t.addQuery("order","name"),t.addQuery("page",1),t.addQuery("per_page",a),e&&(e=(0,o.escapeFilterValue)(e),t.addQuery("filter[]",`name@@${e}`)),f(t,r)}),y.wU),x=(e,r)=>m(new(l())("/api/public/v1/languages"),e,{signal:r}),q=(e,r)=>m(new(l())("/api/public/v1/countries"),e,{signal:r});let V;const W=e=>(V||(V=new google.maps.Geocoder),new Promise((function(r,a){V.geocode({address:e},(function(e,t){t==google.maps.GeocoderStatus.OK?r(e):a(t)}))}))),C=(e,r)=>{V||(V=new google.maps.Geocoder);let a={lat:parseFloat(e),lng:parseFloat(r)};return new Promise((function(e,r){V.geocode({location:a},(function(a,t){t==google.maps.GeocoderStatus.OK?e(a):r(t)}))}))},P=i().debounce((async(e,r={},a,t="v1",n=y.WU)=>{let s=l()(`/api/${t}/summits/${e}/ticket-types`);if(s.addQuery("order","name"),s.addQuery("page",1),s.addQuery("per_page",n),r.hasOwnProperty("name")){const e=(0,o.escapeFilterValue)(r.name);e&&""!=e&&s.addQuery("filter[]",`name@@${e}`)}if(r.hasOwnProperty("audience")){const e=(0,o.escapeFilterValue)(r.audience);e&&""!=e&&s.addQuery("filter[]",`audience==${e}`)}f(s,a)}),y.wU),K=i().debounce((async(e,r,a=y.WU)=>{const t=l()("/api/v1/sponsored-projects");t.addQuery("order","name"),t.addQuery("page",1),t.addQuery("per_page",a),e&&(e=(0,o.escapeFilterValue)(e),t.addQuery("filter[]",`name@@${e}`)),f(t,r)}),y.wU),L=i().debounce((async(e,r,a,t=y.WU,n=[])=>{let s=l()(`/api/v1/summits/${e}/promo-codes`);s.addQuery("order","code"),s.addQuery("page",1),s.addQuery("per_page",t),r&&(r=(0,o.escapeFilterValue)(r),s.addQuery("filter[]",`code@@${r}`));for(const e of n)s.addQuery("filter[]",e);f(s,a)}),y.wU),j=async(e,r,a,t)=>{try{const n=a.map((a=>{const t=l()(`/api/v1/summits/${e}/sponsors/${r}/sponsorships/${a}/add-ons`);return t.addQuery("fields","id,name,sponsorship.type,sponsorship.type.id,sponsorship.type.type.name"),t.addQuery("expand","sponsorship,sponsorship.type,sponsorship.type.type"),t.addQuery("relations","sponsorship.none"),R(t).then(o.fetchResponseHandler).then((e=>e.data)).catch((e=>((0,o.fetchErrorHandler)(e),[])))})),s=await Promise.all(n);t(s.flat())}catch(e){(0,o.fetchErrorHandler)(e)}},G=async(e,r)=>{const a=l()(`/api/v1/summits/${e}/add-ons/metadata`);a.addQuery("page",1),a.addQuery("per_page",y.Vg),f(a,r)},M=i().debounce((async(e,r)=>{const a=l()("/api/v1/sponsorship-types");(e=(0,o.escapeFilterValue)(e))&&a.addQuery("filter",`name=@${e}`),f(a,r)}),y.wU),B=i().debounce((async(e,r,a)=>{const t=l()(`/api/v1/summits/${r}/sponsorships-types`);e=(0,o.escapeFilterValue)(e),t.addQuery("page",1),t.addQuery("per_page",y.Vg),t.addQuery("expand","type"),t.addQuery("order","+name"),e&&t.addQuery("filter",`name=@${e}`),f(t,a)}),y.wU);return t})()));
//# sourceMappingURL=query-actions.js.map