1var A=Object.defineProperty;var C=(o,c,t)=>c in o?A(o,c,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[c]=t;var p=(o,c,t)=>C(o,typeof c!="symbol"?c+"":c,t);import{a as y,j as h}from"./vendor.react.xX5OaRB0.js";import{P as m}from"./vendor.commons.Krup8qXf.js";import{c as T}from"./vendor.redux.Bi9BTFkI.js";import{B as d}from"./vendor.ui-extras.D5KyEMxS.js";import{v as b}from"./vendor.utils.DcRJ3SBO.js";import{A as I}from"./index.40H8pm7F.js";import{E as R,a as D}from"./index.UlyJF8Kw.js";import{w as v,g,f as j,G}from"./app.ClmmUuYS.js";import{S as B}from"./infoImg.DSYRDO9b.js";import{d as E}from"./adGroupCreate.D4_CD-cz.js";import{w as L}from"./vendor.i18n.DLKhcqJc.js";import"./vendor.polyfills.DYhgmCsW.js";import"./vendor.monitoring.BDs9VX6O.js";import"./getAdgroupTypeDisplayText.DZ1P0-Aq.js";import"./index.CGde6NmW.js";import"./NewCampaignModal.CFO_Twn0.js";import"./vendor.ui-core.Dao_ArY3.js";import"./index.Dj_hA8_s.js";import"./conversions.C2C3e5Wt.js";import"./CopyEntities.D19HK0aZ.js";import"./revenue-icon.BOjOHseY.js";import"./[email protected]_T31-J.js";import"./useCountries.B-Eo1sj3.js";import"./[email protected]";import"./UpdateClickUrl.CyjKO9hX.js";import"./AccountManager.W1YcSplL.js";import"./DateRangePickerCalendar.C6UMlaFJ.js";import"./vendor.router.U73PX5Em.js";import"./ExportStats.Bl7xuhiK.js";import"./vendor.export.BsSCz_t6.js";import"./SearchInputWithButtonUpdated.DJM2D-La.js";import"./ArchiveEntities.DSiXIeto.js";import"./checkbox_check_icon.CiTh8aCD.js";import"./ConfirmActionModal.jTreZSrI.js";import"./creative.BwvaWufg.js";import"./SpentPerStatistics.BpyG_4fK.js";import"./Layout.B9z3w6v1.js";import"./TopNavbar.BZEgptjt.js";import"./vendor.charts.D8f5d-UU.js";import"./ConvertedBigValue.CGPvhrjg.js";import"./StatusModal.BdtiBPHR.js";import"./prepareTableHeaders.BscFGWqS.js";import"./trash_red_icon.CJoOY0QI.js";import"./TableStat.DIAGhgE1.js";import"./checkCurrencyFromRequest.D2Yto29c.js";import"./BidChangeConfirmModal.CU_WJNl9.js";import"./InputWithSearchBtn.C87fpdD9.js";import"./TooltipWrapper.DsIxXYAJ.js";/* empty css */import"./RippleButton.DTMpxF7o.js";/* empty css */const w=o=>({currencies:o.entity.currencies,isBackupAdvertiser:!!o.auth.user.isBackupAdvertiser});class f extends y.Component{constructor(t){super(t);p(this,"createSignalAndController",t=>{this.controllers[t]&&this.controllers[t].abort(),this.controllers[t]=new AbortController,this.signals[t]=this.controllers[t].signal});p(this,"retrieveData",()=>{const{match:t}=this.props,{id:s}=t.params;s&&b.isMongoId(s)&&Promise.all([this.fetchCampaignData(),this.fetchAdgroupCount()])});p(this,"fetchCampaignData",async()=>{const t="fetchCampaignData";this.createSignalAndController(t);const{match:s,history:a}=this.props,{isRefreshGroups:n}=this.state,{id:e}=s.params;this.setState({isLoading:!0});try{const i=await g("/api/campaigns/campaign-info?id=".concat(e),{signal:this.signals[t]});if(!i.success)return d.error(i.error),a.push(this.URL);const{data:r}=i,u=r.groupsStatus.length>0,l=u&&r.groupsStatus.some(S=>S.bidStrategy==="smart");return localStorage.setItem("CAMPAIGN",JSON.stringify({id:e,campaignType:r.campaignType,campaignName:r.campaignName,isInternal:r.isInternal,hasSmartBidGroup:l,hasGroups:u})),this.setState({isRefreshGroups:!n,campaign:{id:e,name:r.campaignName,isActive:r.active,status:E(r,!1),balance:G(r.balance),created:j(r.created,"D MMM YYYY"),campaignType:r.campaignType,isInternal:r.isInternal,isArchived:r.isArchived,hasSmartBidGroup:l}})}catch(i){i.name!=="AbortError"&&(console.error(i),a.push(this.URL))}finally{this.setState({isLoading:!1})}});p(this,"fetchAdgroupCount",async()=>{const t="fetchAdgroupCount";this.createSignalAndController(t);const{match:s,currencies:a}=this.props,{id:n}=s.params,e=a.find(i=>i.selected);this.setState({isLoading:!0});try{const i=await g("/api/others/entity-count?id=".concat(n,"&countBy=campaign&count=groups¤cy=").concat(e.name),{signal:this.signals[t]});return i.success?this.setState({adgroupCount:i.data,isLoading:!1}):d.error(i.error)}catch(i){console.error(i)}finally{this.setState({isLoading:!1})}});p(this,"changeCampaignStateValue",(t,s)=>{const{campaign:a}=this.state;a&&a[t]!==void 0&&this.setState({campaign:{...a,[t]:s}})});p(this,"handleAdGroupUpdate",()=>{this.setState({isRefresh:!this.state.isRefresh})});p(this,"prepareContent",()=>{const{campaign:t,isRefreshGroups:s}=this.state,{match:a}=this.props,n=a.params.id;return(a.params.currentTab||"adgroups")==="statistics"?h.jsx(R,{entity
1Id:n,statisticsBy:B.CAMPAIGN,isInternal:t.isInternal}):h.jsx(I,{campaign:t,onDataUpdate:this.handleAdGroupUpdate,isRefreshGroups:s})});this.state={campaign:{},isRefreshGroups:!1,currentTab:"adgroups",isLoading:!1,adgroupCount:0,isRefresh:!1},this.TABS=["adgroups","statistics"],this.URL="/app/adv/campaigns",this.controllers={},this.signals={}}componentDidMount(){this.retrieveData()}componentDidUpdate(t,s,a){const{id:n}=this.props.match.params,{isRefresh:e}=this.state;n!==t.match.params.id&&this.retrieveData(),e!==s.isRefresh&&this.fetchAdgroupCount()}componentWillUnmount(){Object.keys(this.controllers).forEach(t=>{this.controllers[t]&&this.controllers[t].abort()})}render(){const{adgroupCount:t,campaign:s}=this.state,{t:a}=this.props,n=[{label:a("adgroups"),id:this.TABS[0],count:t,isAvailable:!0},{label:a("campaignStatistics"),id:this.TABS[1],isAvailable:!0}];return h.jsx(D,{data:{campaign:s},navData:n,entityType:"campaign",checkNewStorageKey:"newCampaigns",Content:this.prepareContent,tabs:this.TABS,onChangeName:e=>this.changeCampaignStateValue("name",e),onChangeStatus:this.fetchCampaignData,onUpdateData:this.fetchCampaignData})}}p(f,"propTypes",{match:m.object.isRequired,history:m.object.isRequired,location:m.object.isRequired,currencies:m.array.isRequired,isBackupAdvertiser:m.bool.isRequired,t:m.func.isRequired,i18n:m.object});const Lt=v(T(w,null)(L(["Account/Campaign"])(f)));export{Lt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.