{"version":3,"file":"static/js/application.initial~515aa192.1cfe8f78.js","mappings":"8dAQMA,EAAcC,EAAAA,QAAUC,IAAI,eAEhCC,EAWEH,EAXFG,iEACoBC,EAUlBJ,EAVFK,mBACAC,EASEN,EATFM,sCACiCC,EAQ/BP,EARFQ,gCACsBC,EAOpBT,EAPFU,qBAC4BC,EAM1BX,EANFY,2BACAC,EAKEb,EALFa,qBACAC,EAIEd,EAJFc,iBACAC,EAGEf,EAHFe,wBACAC,EAEEhB,EAFFgB,0BAAyBC,EAEvBjB,EADFkB,QAAAA,OAAO,IAAAD,EAAG,CAAC,EAACA,EAGQE,EAOlBD,EAPFE,mBACkBC,EAMhBH,EANFI,iBACAC,EAKEL,EALFK,yBACAC,EAIEN,EAJFM,4BACAC,EAGEP,EAHFO,cACAC,EAEER,EAFFQ,gBACAC,EACET,EADFS,uBAEIC,EAAwBT,GAA+BE,EACvDQ,EAAoB1B,GAAqEoB,GAA4BC,EAE9GM,EAAmB,CAC9BC,KAAM,SACNC,SAAUC,IAAAA,QAAU,CAClB,SACAxB,GAAkB,2BAGTyB,EAAiB,CAC5BH,KAAM,WACNC,SAAUC,IAAAA,QAAU,CAClB,iBACA,wBACAtB,GAA8B,yBAGrBwB,EAAiB,SAAHC,GAAA,IAAMC,EAAUD,EAAVC,WAAU,MAAQ,CACjDN,KAAM,WACNC,SAAUC,IAAAA,QAAU,EACjBI,GAAc,iBACdA,GAAc,cACf5B,IAAmB4B,GAAc,8BAEpC,EACYC,EAAgB,CAC3BP,KAAM,UACNC,SAAU,CAAC,eAAgB,aAAc,gBAE9BO,EAAa,CACxBR,KAAM,OACNC,SAAU,MAECQ,EAAkB,CAC7BT,KAAM,YACNC,SAAUC,IAAAA,QAAU,CAClB,KAAM,OAAQ,OAAQ,YAAa,QAAS,aAAc,YAAa,aAAc,aAAc,aAAc,QAAS,QAAS,iBACnI,sBAAuB,sBAAuB,kBAAmB,mBAAoB,mBAAoB,iBAAkB,aAAc,wBACzI,SACA,aACA,cACA,wBACA,2BACA,4BACA,sCACA,8BACA,kCACA,+BACA,mCACA,kCACA,kCACA,2CACA,wCACA,uCACA,0CACA,4CACA,yCACA,wCACA,2CACA,4BACA,8BACA,0CACA,kCACA,kCACA,iCACA,gCACA,8BACA,gCACA,6BACA,qCACA,wCACA,4BACA1B,GAAmC,4CACnCsB,GAAqB,8CACrBf,GAAoB,WACpBA,GAAoB,8BACpBA,GAAoBD,GAAwB,kCAC5CC,GAAoBD,GAAwB,kCAC5CC,GAAoBC,GAA2B,sCAC/CD,GAAoBE,GAA6B,0CACjDS,GAAiB,+BACjBC,IAAoBC,GAA0B,2CAGrCc,EAAe,CAC1BV,KAAM,SACNC,SAAU,QAECU,EAAkB,CAC7BX,KAAM,YACNC,SAAU,aAECW,EAAyB,CACpCZ,KAAM,mBACNC,SAAU,oBAGCY,EAAmB,CAC9Bb,KAAM,aACNC,SAAU,cAGCa,EAAmB,SAAHC,GAAmB,IAAbC,EAAKD,EAALC,MAQjC,OAP0Bd,IAAAA,QAAU,CAClC,SACA,YACAA,IAAAA,YAAcc,EAAMV,aAAe,WACnCJ,IAAAA,YAAcc,EAAMC,YAAc,UAClC,cAGJ,EAEaC,EAAqB,WAgBhC,OAf4BhB,IAAAA,QAAU,CACpC,WACA,SACA,cACA,MACA,aACA,QACA,SACAL,GAAyB,qBACxBA,GAAyB,eACzBtB,GAAyC,kBAC1CF,GAAuB,YACvBE,GAAyC,oBACzCA,GAAyC,6BAG7C,EAEO,SAAS4C,EAAaC,GAAuB,IAApBC,EAAQD,EAARC,SAAUL,EAAKI,EAALJ,MAClCM,EAAc,CAClBlB,EAAeY,GACfT,EACAE,EACAD,EACAE,EACAC,EACAC,EACAW,EAAAA,GACAxB,EACAI,GAEIqB,GAAmBC,EAAAA,EAAAA,KAAsBC,EAAAA,EAAAA,IAAsBL,IAC/DM,EAAO,GAAAC,OAAON,GAAWO,EAAAA,EAAAA,GAAKL,IACpC,OAAOtB,IAAAA,OAASA,IAAAA,IAAMyB,GAAS,SAAAG,GAAM,MAAI,CAACA,EAAO9B,KAAM8B,EAAO7B,SAAS,IACzE,C,wFChLM8B,EAAW,CACf5D,IAAK+B,IAAAA,SACL8B,UAAW9B,IAAAA,SACX+B,KAAM/B,IAAAA,SACNgC,KAAMhC,IAAAA,SACNiC,MAAOjC,IAAAA,SACPkC,iBAAkBlC,IAAAA,SAClBmC,gBAAiBnC,IAAAA,SACjBoC,iBAAkBpC,IAAAA,SAClBqC,SAAUrC,IAAAA,SACVD,SAAUC,IAAAA,UAENsC,EAAY,CAChBC,KAAMV,EACNW,QAASX,EACTY,iBAAkBZ,EAClBa,mBAAoBb,GAEf,SAASc,EAAexC,GAI3B,IAHFyC,EAAkBzC,EAAlByC,mBACA5E,EAASmC,EAATnC,UACG6E,GAAUC,EAAAA,EAAAA,GAAA3C,EAAA4C,GAGb/C,IAAAA,UAAYsC,GAAW,SAACU,EAAKC,GACvBJ,EAAWI,KACbX,EAAUW,GAAOJ,EAAWI,GAEhC,IACA,IAAMC,GAAeC,EAAAA,EAAAA,KAAqBC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CACzCR,mBAAAA,GACGN,GACAO,GAAU,IACbQ,OAAQ,CAAC,EACTC,UAAW,CAAC,EACZC,YAAa,SACbC,aAAcxF,EACdyF,wBAAwB,EACxBC,yBAAyB,EACzBC,gCAAgC,EAChCC,SAAU,CAAC,CACTC,MAAO,CACL,CACEC,KAAMxB,EAAUC,KAAKT,UAAU,UAC/BG,MAAO,MAET,CACE6B,KAAMxB,EAAUC,KAAKT,UAAU,iBAC/BG,MAAO,CAAC,2BAGZlC,SAAU,SACVgE,WAAW,EACXC,aAAc,UAGlB,GAAI1B,EAAUE,QAAS,CAErB,IAAMyB,EAA2Bf,EAAagB,aAAaC,WAAWC,yBAClEH,IAA6BA,EAAyBI,YACxDJ,EAAyBI,WAAYC,EAAAA,EAAAA,IAAsChC,EAAUE,SACrFyB,EAAyBlC,KAAO,SAEpC,CACA,OAAOmB,CACT,C,gSC9CM/B,GAAW,iBACXoD,GAAuB,4BACvBC,IAAsB,EACrB,SAASC,GAAmBtE,GAK/B,IAJFuE,EAAcvE,EAAduE,eACA5D,EAAKX,EAALW,MACA6D,EAAWxE,EAAXwE,YACG9B,GAAUC,EAAAA,EAAAA,GAAA3C,EAAA4C,IAEPhF,EAAcC,EAAAA,QAAUC,IAAI,eAClCe,EAAyBjB,EAAjBkB,QACkBG,QADX,IAAAJ,EAAG,CAAC,EAACA,GACZK,iBAEFuF,EAAeJ,GAAsB,CAAEK,oBAAoBC,EAAAA,GAAAA,IAAkB9G,EAAAA,UAAe,CAAC,EAE7F+G,EAAe/E,IAAAA,OAAS,CAC5BgF,WAAYlE,EAAMmE,OAAOC,IACzBC,UAAWrE,EAAMmE,OAAOG,IACxBhF,WAAYU,EAAMmE,OAAO7E,WACzBW,UAAWD,EAAMmE,OAAOlE,WACvBD,GAGCiE,EAAahE,WACfsE,EAAAA,EAAMC,IAAI,cAAeP,EAAa3E,YACtCiF,EAAAA,EAAMC,IAAI,aAAcP,EAAahE,YAC5BgE,EAAa3E,YACtBiF,EAAAA,EAAMC,IAAI,cAAeP,EAAa3E,YACtCiF,EAAAA,EAAME,MAAM,gBAEZF,EAAAA,EAAME,MAAM,eACZF,EAAAA,EAAME,MAAM,eAGd,IAAIC,EAAYC,EAAAA,QAAIC,eAChBX,EAAahE,UACfyE,EAAYC,EAAAA,QAAIE,eACPZ,EAAa3E,aACtBoF,EAAYC,EAAAA,QAAIG,iBAElB,IAGIC,EACAC,EAJEC,EAAYP,EAAUQ,IAAI,oBAExBC,EAAgClI,EAAYkB,QAA5CgH,4BAGJC,EAAa,CACfnE,KAAM,SACNoE,OAAQC,GAAAA,QAAOC,GACfC,WAAY,KACZC,MAAO,CAAC,EACRC,QAAS,CACPT,UAAWP,EAAUQ,IACrBS,eAAe,EACfC,aAAa,EACbC,SAAOC,EAAAA,EAAAA,GAAA,GACJrC,IAAuB,KAe9B,GAVIG,GAAkBuB,IACpBJ,EAAqBgB,GAAAA,EAAgB5I,IAAIyG,MAIvCwB,EAAaL,EAAmBK,WAEhCJ,EAAgBD,EAAmBC,gBAGlCpB,IAAmBuB,IAAgCJ,EAAoB,CAC1E,IAAM3C,EAAeP,GAAeS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACjCP,GAAU,IACb4C,IAAAA,EAAAA,QACA3E,MAAAA,EACAsF,OAAAA,GAAAA,QACApI,UAAAA,EAAAA,QACA8I,aAAAA,GAAAA,EACA5C,aAAcmC,GAAAA,GACdU,aAAAA,GAAAA,QACAC,uBAAAA,GACAC,uBAAwBA,GAAAA,WACxBC,mBAAAA,GAAAA,WAEFpB,EAAgB,IAAIqB,GAAAA,cAAcjE,EACpC,CAEA,MAAO,CACL2C,mBAAAA,EACAK,WAAAA,EACAJ,cAAAA,EACAsB,aAAc,CACZC,WAAY,CACV,CACEvH,KAAM,gBACNwH,WAAYrG,EAAc,CAAEE,SAAAA,GAAUL,MAAOiE,IAC7CwC,eAAgBvG,EAAmB,CAAEG,SAAAA,GAAUL,MAAOiE,IACtDyC,cAAe5G,EAAiB,CAAEO,SAAAA,GAAUL,MAAOiE,IACnD0C,kCAAkC,EAClCC,qBAAsB3J,EAAY4J,oCAClCC,sCAAuC7J,EAAY6J,sCACnDC,qBAAsB,CACpB,2BACA,2BACA,uCAGJ,CAAE/H,KAAM,cACR,CAAEA,KAAM,WACR,CAAEA,KAAM,aAAcgI,gBAAiB,IACvC,CAAEhI,KAAM,WACR,CAAEA,KAAM,SAAUgG,cAAAA,GAClB,CAAEhG,KAAM,qBAAsBiG,UAAAA,IAEhCgC,cAAY3E,EAAAA,EAAAA,GAAA,CACVG,YAAapC,GACbqD,oBAAAA,GACAwD,KAAM,CACJC,SAAAA,GAAAA,EACA5C,MAAAA,EAAAA,EACA6C,wBAAAA,GACAC,uBAAwBnB,GACxBoB,uBAAAA,GACAC,sBAAAA,GAAAA,sBACAC,cAAAA,GAAAA,GAEFlJ,0BAAAA,GACGA,EAA4B,CAC7BmJ,mBAAmBC,EAAAA,GAAAA,IAAwBrH,GAAUpD,IACnD,CAAC,GAEP4G,YAAAA,EACAC,aAAAA,GAGN,C,wECtJO,SAAS6D,GAAatI,GAGzB,IAFFgB,EAAQhB,EAARgB,SACG0B,GAAUC,EAAAA,EAAAA,GAAA3C,EAAA4C,IAMLkD,EAFYjI,EAAAA,QAAUC,IAAI,eAC1BgB,QACAgH,4BACR,GAAI9E,IAAa8E,EAA6B,CAC5C,IAAMJ,EAAqBgB,GAAAA,EAAgB5I,IAAIkD,GAC/C,GAAI0E,EACF,OAAOA,CAEX,CAEA,IAAM6C,EAAkBjE,IAAmBrB,EAAAA,EAAAA,GAAC,CAC1CsB,eAAgBvD,GACb0B,IAEL,GAAI6F,EAAgB7C,mBAClB,OAAO6C,EAAgB7C,mBAEzB,IAAQtC,EAAgBmF,EAAgBtB,aAAaW,aAA7CxE,YACF6D,EAAeuB,GAAAA,GAAoBC,KAAKF,EAAgBtB,cACxDyB,EAAcC,GAAAA,EAAkBF,KAAKF,EAAgBxC,YACrDA,GAAa6C,EAAAA,GAAAA,GACjBL,EAAgBxC,WAChBkB,EACA7D,EACAyF,GAAAA,SAEF9C,EAAW2C,YAAcA,EAEzB,IAAQ/C,EAAkB4C,EAAlB5C,cAER,GAAKG,EAEE,CACL,IAAMgD,EAAmB,CACvB/C,WAAAA,EACAJ,cAAAA,GAGFe,GAAAA,EAAgBvB,IAAI/B,EAAa0F,EACnC,MAREpC,GAAAA,EAAgBvB,IAAI/B,EAAa2C,GASnC,MAAO,CAAEA,WAAAA,EAAYJ,cAAAA,EACvB,C,qFCvDaoD,EAAW,WAIrB,OAAAC,EAAAA,EAAAA,IAHD,SAAAD,EAAA/I,GAAuB,IAAToC,EAAIpC,EAAJoC,MAAI6G,EAAAA,EAAAA,GAAA,KAAAF,GAChBG,KAAK9G,KAAOA,EACZ8G,KAAKC,eAAiB,IACxB,GAAC,EAAArG,IAAA,iBAAAhB,MAED,WACE,OAAOsH,OAAOC,IAAIC,MAAMC,WAC1B,GAAC,CAAAzG,IAAA,eAAAhB,MACD,WACMoH,KAAKC,iBACPD,KAAKM,iBAAiBC,QAAQP,KAAKC,gBACnCD,KAAKC,eAAiB,KAE1B,GAAC,CAAArG,IAAA,YAAAhB,MAED,SAAU4H,GACRR,KAAKS,eACLT,KAAKC,eAAiBD,KAAKM,iBAAiBI,KAAK,CAC/CF,QAAAA,EACAG,MAAO,QACPC,aAAa,GACZZ,KAAKC,eACV,GAAC,CAAArG,IAAA,mBAAAhB,MAED,WACE,IAAMiI,EAAkBb,KAAK9G,KAAKT,UAAU,kBAE5CuH,KAAKc,UAAUD,EACjB,GAAC,CAAAjH,IAAA,cAAAhB,MAED,SAAY4H,GACVR,KAAKM,iBAAiBS,kBAAkBP,EAC1C,GAAC,CAAA5G,IAAA,WAAAhB,MAED,SAAS4H,GACPR,KAAKM,iBAAiBU,UAAUR,EAClC,GAAC,CAAA5G,IAAA,cAAAhB,MAED,SAAY4H,GACVR,KAAKM,iBAAiBW,aAAaT,EACrC,GAAC,CAAA5G,IAAA,YAAAhB,MAED,SAAU4H,GACRR,KAAKM,iBAAiBY,WAAWV,EACnC,IAAC,CA7CqB,E","sources":["../../../node_modules/@bingads-webui-campaign/ads-data/src/columns-config.js","../../../node_modules/@bingads-webui-campaign/ads-data/src/filter-config.js","../../../node_modules/@bingads-webui-campaign/ads-data/src/data-fetch-config.js","../../../node_modules/@bingads-webui-campaign/ads-data/src/data-fetch-source.js","../../../node_modules/@bingads-webui-campaign/alert-helper/src/alert-helper.js"],"sourcesContent":["import _ from 'underscore';\r\nimport appConfig from '@bingads-webui-component-legacy/config/index';\r\nimport {\r\n LabelsBaseColumn,\r\n generateBaseBIColumns,\r\n getListOfRawBIColumns\r\n} from '@bingads-webui-campaign-legacy/campaigns-tab-campaigns/grid/columns-config-base';\r\n\r\nconst Permissions = appConfig.get('Permissions');\r\nconst {\r\n EnableIASVerifiedImpressionTrackingURLsForBrandAwarenessCampaign,\r\n IsAdsByBingEnabled: showAdsByBingColumn,\r\n IsAvgPositionDeprecationPhase1Enabled,\r\n IsImpressionTrackingUrlsEnabled: isImpressionTrackingUrlsEnabled,\r\n IsExperimentsEnabled: showExperiment,\r\n IsEditorialCategoryEnabled: isEditorialCategoryEnabled,\r\n IsBoostAnchorEnabled,\r\n IsAmplifyEnabled,\r\n IsBoostCustomCTAEnabled,\r\n IsBoostCTAAriaTextEnabled,\r\n dynamic = {},\r\n} = Permissions;\r\nconst {\r\n PartialConversions: IsPartialConversionsEnabled,\r\n ColumnConversion: IsColumnConversionEnabled,\r\n XandrDisplayAdsCampaigns,\r\n EnableDisplayAdsIasTracking,\r\n MultiAdFormat,\r\n ImageFittingMVP,\r\n ImageFittingExlcudeMAE,\r\n} = dynamic;\r\nconst usePartialConversions = IsPartialConversionsEnabled && IsColumnConversionEnabled;\r\nconst isIASForAdEnabled = EnableIASVerifiedImpressionTrackingURLsForBrandAwarenessCampaign || (XandrDisplayAdsCampaigns && EnableDisplayAdsIasTracking);\r\n\r\nexport const StatusIconColumn = {\r\n name: 'Status',\r\n property: _.compact([\r\n 'Status',\r\n showExperiment && 'Campaign/ExperimentId',\r\n ]),\r\n};\r\nexport const DeliveryColumn = {\r\n name: 'Delivery',\r\n property: _.compact([\r\n 'DeliveryStatus',\r\n 'DeliveryStatusDetails',\r\n isEditorialCategoryEnabled && 'EditorialCategories',\r\n ]),\r\n};\r\nexport const campaignColumn = ({ campaignId }) => ({\r\n name: 'Campaign',\r\n property: _.compact([\r\n !campaignId && 'Campaign/Name',\r\n !campaignId && 'Campaign/Id',\r\n showExperiment && !campaignId && 'Campaign/BaseCampaignName',\r\n ]),\r\n});\r\nexport const AdGroupColumn = {\r\n name: 'AdGroup',\r\n property: ['AdGroup/Name', 'AdGroup/Id', 'Campaign/Id'],\r\n};\r\nexport const AdIdColumn = {\r\n name: 'AdID',\r\n property: 'Id',\r\n};\r\nexport const AdPreviewColumn = {\r\n name: 'AdPreview',\r\n property: _.compact([\r\n 'Id', 'Type', 'Text', 'TextPart2', 'Title', 'DisplayUrl', 'FinalUrls', 'TitlePart1', 'TitlePart2', 'TitlePart3', 'Path1', 'Path2', 'DestinationUrl',\r\n 'UrlCustomParameters', 'TrackingUrlTemplate', 'MobileFinalUrls', 'NativePreference', 'DevicePreference', 'FinalUrlSuffix', 'AdStrength', 'AdStrengthActionItems',\r\n 'Labels', // add it here since this is the locked column, this is for label assocation menu\r\n 'AdGroup/Id', // add here for request exception\r\n 'Campaign/Id',\r\n 'Campaign/CampaignType',\r\n 'Campaign/CampaignSubType',\r\n 'Campaign/CampaignSettings',\r\n 'Campaign/DisplayBiddingStrategyType',\r\n 'Model.ResponsiveAd/Headline',\r\n 'Model.ResponsiveAd/LongHeadline',\r\n 'Model.ResponsiveAd/Headlines',\r\n 'Model.ResponsiveAd/LongHeadlines',\r\n 'Model.ResponsiveAd/Descriptions',\r\n 'Model.ResponsiveAd/BusinessName',\r\n 'Model.ResponsiveAd/LandscapeImageMediaId',\r\n 'Model.ResponsiveAd/SquareImageMediaId',\r\n 'Model.ResponsiveAd/SquareLogoMediaId',\r\n 'Model.ResponsiveAd/LandscapeLogoMediaId',\r\n 'Model.ResponsiveAd/LandscapeImageMediaUrl',\r\n 'Model.ResponsiveAd/SquareImageMediaUrl',\r\n 'Model.ResponsiveAd/SquareLogoMediaUrl',\r\n 'Model.ResponsiveAd/LandscapeLogoMediaUrl',\r\n 'Model.ResponsiveAd/Images',\r\n 'Model.ResponsiveAd/HotSpots',\r\n 'Model.ResponsiveAd/CallToActionLanguage',\r\n 'Model.ResponsiveAd/CallToAction',\r\n 'Model.ProductAd/PromotionalText',\r\n 'Model.AppInstallAd/AppPlatform',\r\n 'Model.AppInstallAd/AppStoreId',\r\n 'Model.AppInstallAd/MediaUrl',\r\n 'Model.AppInstallAd/DeviceType',\r\n 'Model.AppInstallAd/AltText',\r\n 'Model.ResponsiveSearchAd/Headlines',\r\n 'Model.ResponsiveSearchAd/Descriptions',\r\n 'Model.ResponsiveAd/Videos',\r\n isImpressionTrackingUrlsEnabled && 'Model.ResponsiveAd/ImpressionTrackingUrls',\r\n isIASForAdEnabled && 'Model.ResponsiveAd/VerifiedTrackingSettings',\r\n IsAmplifyEnabled && 'HotSpots',\r\n IsAmplifyEnabled && 'Model.ResponsiveAd/HotSpots',\r\n IsAmplifyEnabled && IsBoostAnchorEnabled && 'Model.ResponsiveAd/BoostAnchors',\r\n IsAmplifyEnabled && IsBoostAnchorEnabled && 'Model.ResponsiveAd/BoostAnchors',\r\n IsAmplifyEnabled && IsBoostCustomCTAEnabled && 'Model.ResponsiveAd/CallToActionText',\r\n IsAmplifyEnabled && IsBoostCTAAriaTextEnabled && 'Model.ResponsiveAd/CallToActionAriaText',\r\n MultiAdFormat && 'Model.ResponsiveAd/AdSubType',\r\n ImageFittingMVP && !ImageFittingExlcudeMAE && 'Model.ResponsiveAd/LegacyResponsiveAd',\r\n ]),\r\n};\r\nexport const AdTypeColumn = {\r\n name: 'AdType',\r\n property: 'Type',\r\n};\r\nexport const AdsByBingColumn = {\r\n name: 'AdsByBing',\r\n property: 'AdsByBing',\r\n};\r\nexport const DevicePreferenceColumn = {\r\n name: 'DevicePreference',\r\n property: 'DevicePreference',\r\n};\r\n\r\nexport const AdStrengthColumn = {\r\n name: 'AdStrength',\r\n property: 'AdStrength',\r\n};\r\n\r\nexport const getLockedColumns = ({ scope }) => {\r\n const baseLockedColumns = _.compact([\r\n 'Status',\r\n 'AdPreview',\r\n _.isUndefined(scope.campaignId) && 'Campaign',\r\n _.isUndefined(scope.adGroupId) && 'AdGroup',\r\n 'AdStrength',\r\n ]);\r\n return baseLockedColumns;\r\n};\r\n\r\nexport const getSelectedColumns = () => {\r\n const baseSelectedColumns = _.compact([\r\n 'Delivery',\r\n 'Clicks',\r\n 'Impressions',\r\n 'CTR',\r\n 'AverageCPC',\r\n 'Spend',\r\n 'Labels',\r\n usePartialConversions && 'ConversionsCredit',\r\n !usePartialConversions && 'Conversions',\r\n !IsAvgPositionDeprecationPhase1Enabled && 'AveragePosition',\r\n showAdsByBingColumn && 'AdsByBing',\r\n IsAvgPositionDeprecationPhase1Enabled && 'TopImpressionRate',\r\n IsAvgPositionDeprecationPhase1Enabled && 'AbsoluteTopImpressionRate',\r\n ]);\r\n return baseSelectedColumns;\r\n};\r\n\r\nexport function getColumnsMap({ gridName, scope }) {\r\n const baseColumns = [\r\n campaignColumn(scope),\r\n AdGroupColumn,\r\n AdPreviewColumn,\r\n AdIdColumn,\r\n AdTypeColumn,\r\n AdsByBingColumn,\r\n DevicePreferenceColumn,\r\n LabelsBaseColumn,\r\n StatusIconColumn,\r\n DeliveryColumn,\r\n ];\r\n const baseRawBIColumns = generateBaseBIColumns(getListOfRawBIColumns(gridName));\r\n const columns = [...baseColumns, ...baseRawBIColumns];\r\n return _.object(_.map(columns, column => [column.name, column.property]));\r\n}\r\n","import _ from 'underscore';\r\nimport { getCommonFilterConfig } from '@bingads-webui-campaign/common-grid-config';\r\nimport { getLocalizedEditorialRejectionReasons } from '@bingads-webui-campaign/url-filter-metadata';\r\n\r\nconst mockI18n = {\r\n get: _.identity,\r\n getString: _.identity,\r\n type: _.identity,\r\n enum: _.identity,\r\n value: _.identity,\r\n enumMappedString: _.identity,\r\n enumDescription: _.identity,\r\n valueDescription: _.identity,\r\n parseInt: _.identity,\r\n property: _.identity,\r\n};\r\nconst i18nCache = {\r\n i18n: mockI18n,\r\n newI18n: mockI18n,\r\n legacyGlobalI18n: mockI18n,\r\n schemaI18nCampaign: mockI18n,\r\n};\r\nexport function getFilterConfig({\r\n cachedEntitySchema,\r\n appConfig,\r\n ...restParams\r\n}) {\r\n // Cache i18n data, so that the DFM call can also access the correct i18n data\r\n _.mapObject(i18nCache, (val, key) => {\r\n if (restParams[key]) {\r\n i18nCache[key] = restParams[key];\r\n }\r\n });\r\n const filterConfig = getCommonFilterConfig({\r\n cachedEntitySchema,\r\n ...i18nCache,\r\n ...restParams,\r\n editor: {},\r\n searchbox: {},\r\n featureName: 'AdGrid',\r\n globalConfig: appConfig,\r\n enableAdGroupWaterfall: true,\r\n enableCampaignWaterfall: true,\r\n enableEditorialRejectionFilter: true,\r\n selector: [{\r\n items: [\r\n {\r\n text: i18nCache.i18n.getString('AllAds'),\r\n value: null,\r\n },\r\n {\r\n text: i18nCache.i18n.getString('AllEnabledAds'),\r\n value: [\"Enum.AdStatus'Active'\"],\r\n },\r\n ],\r\n property: 'Status',\r\n removable: false,\r\n defaultValue: null,\r\n }],\r\n });\r\n if (i18nCache.newI18n) {\r\n // update schema for rejection reasons\r\n const editorialRejectionFlagId = filterConfig.entitySchema.properties.EditorialRejectionFlagId;\r\n if (editorialRejectionFlagId && !editorialRejectionFlagId.localized) {\r\n editorialRejectionFlagId.localized = getLocalizedEditorialRejectionReasons(i18nCache.newI18n);\r\n editorialRejectionFlagId.type = 'string';\r\n }\r\n }\r\n return filterConfig;\r\n}\r\n","import _ from 'underscore';\r\nimport edm from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport state from '@bingads-webui-component-legacy/state/index';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport dateUtil from '@bingads-webui-component-legacy/humanize/date';\r\nimport appConfig from '@bingads-webui-component-legacy/config/index';\r\nimport cacheService from '@bingads-webui-static-legacy/cache-service';\r\nimport sessionStore from '@bingads-webui-component-legacy/js-data-storage/session-storage';\r\nimport dataContextManager from '@bingads-webui-static-legacy/summary/SummaryDataContextManager';\r\nimport * as preferenceStoreFactory from '@bingads-webui-component-legacy/bingads-grid/service/filter-preferences';\r\nimport * as SegmentationPreference from '@bingads-webui-component-legacy/bingads-grid/service/segmentation-preferences';\r\nimport * as customColumnPreference from '@bingads-webui-component-legacy/bingads-grid/service/custom-column-preferences';\r\nimport * as ColumnChooserPreference from '@bingads-webui-component-legacy/bingads-grid/service/column-chooser-preferences';\r\nimport { Ad } from '@bingads-webui-campaign/campaign-ui-schemas';\r\nimport { fetchSortInfo } from '@bingads-webui-component-legacy/bingads-grid/service/fetch-sortinfo';\r\nimport { FilterService } from '@bingads-webui/filter-service';\r\nimport { getGridDataParams } from '@bingads-webui-campaign/summary-grid-helper';\r\nimport { fetchPaginationConfig } from '@bingads-webui-component-legacy/bingads-grid/service/fetch-pagination';\r\nimport { getColumnsConversionMap } from '@bingads-webui-campaign/column-conversions';\r\nimport { DataSourceStore } from '@bingads-webui-campaign/data-source-store';\r\nimport { getFilterConfig } from './filter-config';\r\nimport { getColumnsMap, getSelectedColumns, getLockedColumns } from './columns-config';\r\n\r\nconst gridName = 'summary_tab_ad';\r\nconst refreshCampaignCache = 'x-ms-refreshcampaigncache';\r\nconst isOdataActionSource = true;\r\nexport function getDataSourceConfig({\r\n gridNameSource,\r\n scope,\r\n logActivity,\r\n ...restParams\r\n}) {\r\n const Permissions = appConfig.get('Permissions');\r\n const { dynamic = {} } = Permissions;\r\n const { ColumnConversion: IsColumnConversionEnabled } = dynamic;\r\n\r\n const initialQuery = isOdataActionSource ? { gridDataParameters: getGridDataParams(appConfig) } : {};\r\n\r\n const scopeAdapter = _.extend({\r\n customerId: scope.values.cid,\r\n accountId: scope.values.aid,\r\n campaignId: scope.values.campaignId,\r\n adGroupId: scope.values.adGroupId,\r\n }, scope);\r\n\r\n // The edm entity read campaign_id and adgroup_id from state\r\n if (scopeAdapter.adGroupId) {\r\n state.set('campaign_id', scopeAdapter.campaignId);\r\n state.set('adgroup_id', scopeAdapter.adGroupId);\r\n } else if (scopeAdapter.campaignId) {\r\n state.set('campaign_id', scopeAdapter.campaignId);\r\n state.unset('adgroup_id');\r\n } else {\r\n state.unset('campaign_id');\r\n state.unset('adgroup_id');\r\n }\r\n\r\n let edmEntity = edm.currentAccount;\r\n if (scopeAdapter.adGroupId) {\r\n edmEntity = edm.currentAdGroup;\r\n } else if (scopeAdapter.campaignId) {\r\n edmEntity = edm.currentCampaign;\r\n }\r\n const entitySet = edmEntity.Ads['Default.GridData'];\r\n\r\n const { AdsFilterImprovementEnabled } = Permissions.dynamic;\r\n let existingDataSource;\r\n let filterService;\r\n let dataSource = {\r\n type: 'jsdata',\r\n entity: jsdata.Ad,\r\n primaryKey: 'Id',\r\n query: {},\r\n options: {\r\n entitySet: edmEntity.Ads,\r\n cacheResponse: false,\r\n useDfmCache: false,\r\n headers: {\r\n [refreshCampaignCache]: true,\r\n },\r\n },\r\n };\r\n\r\n if (gridNameSource && AdsFilterImprovementEnabled) {\r\n existingDataSource = DataSourceStore.get(gridNameSource);\r\n\r\n if (existingDataSource) {\r\n // eslint-disable-next-line prefer-destructuring\r\n dataSource = existingDataSource.dataSource;\r\n // eslint-disable-next-line prefer-destructuring\r\n filterService = existingDataSource.filterService;\r\n }\r\n }\r\n if (!gridNameSource || !AdsFilterImprovementEnabled || !existingDataSource) {\r\n const filterConfig = getFilterConfig({\r\n ...restParams,\r\n edm,\r\n scope,\r\n jsdata,\r\n appConfig,\r\n cacheService,\r\n entitySchema: Ad,\r\n sessionStore,\r\n customColumnPreference,\r\n preferenceStoreFactory: preferenceStoreFactory.getFilters,\r\n dataContextManager,\r\n });\r\n filterService = new FilterService(filterConfig);\r\n }\r\n\r\n return {\r\n existingDataSource,\r\n dataSource,\r\n filterService,\r\n queryBuilder: {\r\n decorators: [\r\n {\r\n name: 'columnChooser',\r\n columnsMap: getColumnsMap({ gridName, scope: scopeAdapter }),\r\n defaultColumns: getSelectedColumns({ gridName, scope: scopeAdapter }),\r\n lockedColumns: getLockedColumns({ gridName, scope: scopeAdapter }),\r\n addPoPColumnsOnComparisonEnabled: true,\r\n customColumnsEnabled: Permissions.IsCustomColumnsInCampaignsSupported,\r\n IsAvgPositionDeprecationPhase2Enabled: Permissions.IsAvgPositionDeprecationPhase2Enabled,\r\n comparisonPoPColumns: [\r\n 'PeriodPerformanceMetrics',\r\n 'PerformanceMetricsChange',\r\n 'PerformanceMetricsChangePercentage',\r\n ],\r\n },\r\n { name: 'dateFilter' },\r\n { name: 'segment' },\r\n { name: 'pagination', defaultPageSize: 20 },\r\n { name: 'sorting' },\r\n { name: 'filter', filterService },\r\n { name: 'gridDataParameters', entitySet },\r\n ],\r\n commonConfig: {\r\n featureName: gridName,\r\n isOdataActionSource,\r\n deps: {\r\n dateUtil,\r\n state,\r\n ColumnChooserPreference,\r\n CustomColumnPreference: customColumnPreference,\r\n SegmentationPreference,\r\n fetchPaginationConfig,\r\n fetchSortInfo,\r\n },\r\n IsColumnConversionEnabled,\r\n ...IsColumnConversionEnabled ? {\r\n columnConversions: getColumnsConversionMap(gridName, Permissions),\r\n } : {},\r\n },\r\n logActivity,\r\n initialQuery,\r\n },\r\n };\r\n}\r\n","import logger from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport { connect } from '@bingads-webui-campaign/dqb-grid-datasource-connector';\r\nimport { DataSourceStore } from '@bingads-webui-campaign/data-source-store';\r\nimport { QueryBuilderFactory } from '@bingads-webui-campaign/query-builder';\r\nimport { QueryErrorFactory } from '@bingads-webui-campaign/dqb-grid-datasource-error-handler';\r\nimport appConfig from '@bingads-webui-component-legacy/config/index';\r\nimport { getDataSourceConfig } from './data-fetch-config';\r\n\r\nexport function getDataSource({\r\n gridName,\r\n ...restParams\r\n}) {\r\n // DFM call doesn't pass gridName, while grid call passes gridName\r\n // Thus, the DFM call will create a new dataSource, but the grid call will read the cache\r\n const Permissions = appConfig.get('Permissions');\r\n const { dynamic } = Permissions;\r\n const { AdsFilterImprovementEnabled } = dynamic;\r\n if (gridName && !AdsFilterImprovementEnabled) {\r\n const existingDataSource = DataSourceStore.get(gridName);\r\n if (existingDataSource) {\r\n return existingDataSource;\r\n }\r\n }\r\n\r\n const dataFetchConfig = getDataSourceConfig({\r\n gridNameSource: gridName,\r\n ...restParams,\r\n });\r\n if (dataFetchConfig.existingDataSource) {\r\n return dataFetchConfig.existingDataSource;\r\n }\r\n const { featureName } = dataFetchConfig.queryBuilder.commonConfig;\r\n const queryBuilder = QueryBuilderFactory.make(dataFetchConfig.queryBuilder);\r\n const queryErrors = QueryErrorFactory.make(dataFetchConfig.dataSource);\r\n const dataSource = connect(\r\n dataFetchConfig.dataSource,\r\n queryBuilder,\r\n featureName,\r\n logger\r\n );\r\n dataSource.queryErrors = queryErrors;\r\n\r\n const { filterService } = dataFetchConfig;\r\n\r\n if (!AdsFilterImprovementEnabled) {\r\n DataSourceStore.set(featureName, dataSource);\r\n } else {\r\n const cacheableObjects = {\r\n dataSource,\r\n filterService,\r\n };\r\n\r\n DataSourceStore.set(featureName, cacheableObjects);\r\n }\r\n return { dataSource, filterService };\r\n}\r\n","export class AlertHelper {\r\n constructor({ i18n }) {\r\n this.i18n = i18n;\r\n this.currentAlertId = null;\r\n }\r\n\r\n getAlertCenter() {\r\n return window.App.views.alertCenter;\r\n }\r\n dismissAlert() {\r\n if (this.currentAlertId) {\r\n this.getAlertCenter().dismiss(this.currentAlertId);\r\n this.currentAlertId = null;\r\n }\r\n }\r\n\r\n showAlert(message) {\r\n this.dismissAlert();\r\n this.currentAlertId = this.getAlertCenter().show({\r\n message,\r\n level: 'Error',\r\n dismissible: true,\r\n }, this.currentAlertId);\r\n }\r\n\r\n showUnknownError() {\r\n const unexpectedError = this.i18n.getString('ErrorNumber_-1');\r\n\r\n this.showAlert(unexpectedError);\r\n }\r\n\r\n showSuccess(message) {\r\n this.getAlertCenter().toastConfirmation(message);\r\n }\r\n\r\n showInfo(message) {\r\n this.getAlertCenter().toastInfo(message);\r\n }\r\n\r\n showWarning(message) {\r\n this.getAlertCenter().toastWarning(message);\r\n }\r\n\r\n showError(message) {\r\n this.getAlertCenter().toastError(message);\r\n }\r\n}\r\n"],"names":["Permissions","appConfig","get","EnableIASVerifiedImpressionTrackingURLsForBrandAwarenessCampaign","showAdsByBingColumn","IsAdsByBingEnabled","IsAvgPositionDeprecationPhase1Enabled","isImpressionTrackingUrlsEnabled","IsImpressionTrackingUrlsEnabled","showExperiment","IsExperimentsEnabled","isEditorialCategoryEnabled","IsEditorialCategoryEnabled","IsBoostAnchorEnabled","IsAmplifyEnabled","IsBoostCustomCTAEnabled","IsBoostCTAAriaTextEnabled","_Permissions$dynamic","dynamic","IsPartialConversionsEnabled","PartialConversions","IsColumnConversionEnabled","ColumnConversion","XandrDisplayAdsCampaigns","EnableDisplayAdsIasTracking","MultiAdFormat","ImageFittingMVP","ImageFittingExlcudeMAE","usePartialConversions","isIASForAdEnabled","StatusIconColumn","name","property","_","DeliveryColumn","campaignColumn","_ref","campaignId","AdGroupColumn","AdIdColumn","AdPreviewColumn","AdTypeColumn","AdsByBingColumn","DevicePreferenceColumn","AdStrengthColumn","getLockedColumns","_ref2","scope","adGroupId","getSelectedColumns","getColumnsMap","_ref3","gridName","baseColumns","LabelsBaseColumn","baseRawBIColumns","generateBaseBIColumns","getListOfRawBIColumns","columns","concat","_toConsumableArray","column","mockI18n","getString","type","enum","value","enumMappedString","enumDescription","valueDescription","parseInt","i18nCache","i18n","newI18n","legacyGlobalI18n","schemaI18nCampaign","getFilterConfig","cachedEntitySchema","restParams","_objectWithoutProperties","_excluded","val","key","filterConfig","getCommonFilterConfig","_objectSpread","editor","searchbox","featureName","globalConfig","enableAdGroupWaterfall","enableCampaignWaterfall","enableEditorialRejectionFilter","selector","items","text","removable","defaultValue","editorialRejectionFlagId","entitySchema","properties","EditorialRejectionFlagId","localized","getLocalizedEditorialRejectionReasons","refreshCampaignCache","isOdataActionSource","getDataSourceConfig","gridNameSource","logActivity","initialQuery","gridDataParameters","getGridDataParams","scopeAdapter","customerId","values","cid","accountId","aid","state","set","unset","edmEntity","edm","currentAccount","currentAdGroup","currentCampaign","existingDataSource","filterService","entitySet","Ads","AdsFilterImprovementEnabled","dataSource","entity","jsdata","Ad","primaryKey","query","options","cacheResponse","useDfmCache","headers","_defineProperty","DataSourceStore","cacheService","sessionStore","customColumnPreference","preferenceStoreFactory","dataContextManager","FilterService","queryBuilder","decorators","columnsMap","defaultColumns","lockedColumns","addPoPColumnsOnComparisonEnabled","customColumnsEnabled","IsCustomColumnsInCampaignsSupported","IsAvgPositionDeprecationPhase2Enabled","comparisonPoPColumns","defaultPageSize","commonConfig","deps","dateUtil","ColumnChooserPreference","CustomColumnPreference","SegmentationPreference","fetchPaginationConfig","fetchSortInfo","columnConversions","getColumnsConversionMap","getDataSource","dataFetchConfig","QueryBuilderFactory","make","queryErrors","QueryErrorFactory","connect","logger","cacheableObjects","AlertHelper","_createClass","_classCallCheck","this","currentAlertId","window","App","views","alertCenter","getAlertCenter","dismiss","message","dismissAlert","show","level","dismissible","unexpectedError","showAlert","toastConfirmation","toastInfo","toastWarning","toastError"],"sourceRoot":""}