{"version":3,"file":"static/js/application.initial~5ab01a9f.a8a40e8e.js","mappings":"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","sources":["../../../node_modules/@bingads-webui-campaign/cache-bridge/src/index.js","../../../node_modules/@bingads-webui-campaign/campaign-cache-manager/src/decorated-odata-adapter.js","../../../node_modules/@bingads-webui-campaign/campaign-cache-manager/src/context-manager-bridge.js","../../../node_modules/@bingads-webui-campaign/campaign-cache-manager/src/index.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/enums/campaign-type.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/enums/status-filter-options.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/enums/scope.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/enums/account-mode.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/enums/temp-account-name-prefix.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/waterfall-filter/waterfall-filter-helper.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/utils/account-utils.js","../../../node_modules/@bingads-webui-campaign/campaign-ui-common/src/utils/get-environment.js","../../../node_modules/@bingads-webui-campaign/campaigns-data/src/data-fetch-config.js","../../../node_modules/@bingads-webui-campaign/campaigns-data/src/index.js","../../../node_modules/@bingads-webui-campaign/campaigns-data/src/filter-config.js","../../../node_modules/@bingads-webui-campaign/campaigns-data/src/data-fetch-source.js","../../../node_modules/@bingads-webui-campaign/campaigns-date-picker/src/campaigns-date-picker-view.js","../../../node_modules/@bingads-webui-campaign/campaignui-base-column/src/column.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/fluctuations/fluctuation-type-enum.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/fluctuations/fluctuation-base-column.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/fluctuations/performance-columns-with-fluctuation.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/utils.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/performance-metric-base-column.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/performance-columns.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/conversions-columns.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/bid-landscape-utils.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/competitive-columns.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/call-details-columns.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/bid-strategy-type.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/campaign.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/delivery.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/quality-score.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/quality-score-click-handler.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/status-icon.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/budget.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/budget-column.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/bid-strategy-name-column.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/campaign-bid-strategy.js","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/lifetime-budget-column.js","../../../node_modules/@bingads-webui-campaign/cashback-percent-control-view/src/cashback-percent-control-view.js","../../../node_modules/@bingads-webui-campaign/campaigns-date-picker/src/template.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/bid-strategy-type.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/budget-not-editable.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/budget-split.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/budget-template.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/campaign-bid-strategy-template.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/campaign.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/clickable-value.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/delivery.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/lifetime-budget-template.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/quality-score.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/status-icon-header-template.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/status-icon.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/attributes/unpurposed-budget-template.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/call-forwarding.pug","../../../node_modules/@bingads-webui-campaign/campaignui-common-columns/src/fluctuations/performance-metric-with-fluctuation.pug","../../../node_modules/@bingads-webui-campaign/cashback-percent-control-view/src/cashback-percent-control-view.pug"],"sourcesContent":["import { edmCampaign } from '@bingads-webui/edm-campaign';\r\nimport cacheManager from '@bingads-webui-campaign-legacy/cache-manager/index';\r\nimport contextManager from '@bingads-webui-static-legacy/summary/SummaryDataContextManager';\r\n\r\nconst getEdmName = name => `Model.${name}`;\r\nconst getEntityName = name => name.replace(/Model\\./, '');\r\n\r\nexport default function () {\r\n cacheManager.subscribe({\r\n // Clear the context manager after invalidate\r\n afterInvalidate(cm, resource, isTriggeredFromOutside) {\r\n if (!isTriggeredFromOutside) {\r\n edmCampaign['odata.cache'].invalidateTypeCache(getEdmName(resource));\r\n }\r\n },\r\n });\r\n\r\n const { successEmitter } = contextManager;\r\n\r\n successEmitter.on('invalidate', (resource, skipEntityCallPaths = null) => {\r\n if (resource) {\r\n edmCampaign['odata.cache'].invalidateTypeCache(getEdmName(resource), null, '', skipEntityCallPaths);\r\n }\r\n });\r\n\r\n edmCampaign['odata.cache'].cacheEvent.subscribe({\r\n next: ({ type, entity }) => {\r\n if (type === 'invalidate') {\r\n cacheManager.invalidate(getEntityName(entity), true);\r\n }\r\n },\r\n });\r\n}\r\n","import _ from 'underscore';\r\n\r\nexport class DecoratedODataAdapter {\r\n constructor({\r\n adapter,\r\n getTTL,\r\n }) {\r\n this.adapter = adapter;\r\n this.getTTL = getTTL;\r\n }\r\n\r\n findAll(definition, query, options) {\r\n const ttl = this.getTTL(definition, query, options);\r\n const { entitySet, headers, successCallback } = options;\r\n const path = _.result(entitySet, 'path', null);\r\n const params = _.chain(entitySet)\r\n .result('navigation')\r\n .result('parameters', null)\r\n .value();\r\n const key = [_.omit(query, 'cacheBusterFlag'), path, params];\r\n let cacheHit = true;\r\n\r\n const cachedResult = options.cacheResult(key, () => {\r\n cacheHit = false;\r\n return this.adapter.findAll(definition, query, _.defaults({\r\n headers: _.defaults({\r\n 'x-ms-lastwritetime': options.getCacheHint() || 'Max',\r\n }, headers),\r\n successCallback: (...args) => {\r\n const [res] = args;\r\n const cacheCreationTime = _.result(res, '@ns.objectcachecreationtime', null);\r\n\r\n if (cacheCreationTime) {\r\n options.setCacheHint(cacheCreationTime, ttl);\r\n }\r\n if (_.isFunction(successCallback)) {\r\n successCallback(...args);\r\n }\r\n },\r\n }, options)).then((result) => {\r\n if (result.errors) {\r\n options.delResult(key);\r\n }\r\n return result;\r\n });\r\n }, ttl);\r\n\r\n if (_.isFunction(options.cacheStateCallback)) {\r\n options.cacheStateCallback(cacheHit);\r\n }\r\n\r\n return cachedResult;\r\n }\r\n}\r\n","const actionMap = {\r\n Campaign: ['campaigns/update', 'CampaignsGrid'],\r\n AdGroup: ['adgroup/update', 'AdGroupGrid'],\r\n Ad: ['ads/update', 'AdGrid'],\r\n Keyword: ['keyword/update', 'KeywordGrid'],\r\n NegativeKeywordList: ['NegativeKeywordLibraryCampaignAssociationsGrid'],\r\n CampaignCriterion: ['campaignssettings/update', 'CampaignSettingsGrid'],\r\n AdGroupCriterion: ['campaignssettings/update', 'AdGroupSettingsGrid'],\r\n};\r\nconst resourceMap = {\r\n CampaignsGrid: 'Campaign',\r\n AdGroupGrid: 'AdGroup',\r\n AdGrid: 'Ad',\r\n KeywordGrid: 'Keyword',\r\n NegativeKeywordLibraryCampaignAssociationsGrid: 'NegativeKeywordList',\r\n CampaignSettingsGrid: 'CampaignCriterion',\r\n AdGroupSettingsGrid: 'AdGroupCriterion',\r\n PerformanceTargetsSummaryGrid: 'PerformanceTarget',\r\n SearchTermGrid: 'SearchTerm',\r\n DsaTargetGrid: 'DsaTarget',\r\n NegativeAdGroupDsaTargetGrid: 'NegativeAdGroupDsaTarget',\r\n NegativeCampaignDsaTargetGrid: 'NegativeCampaignDsaTarget',\r\n};\r\n\r\nexport class ContextManagerBridge {\r\n constructor({\r\n cacheManager,\r\n contextManager,\r\n }) {\r\n // Use the dirty flags to prevent duplicated invalidation\r\n const cacheManagerDirty = {};\r\n const contextManagerDirty = {};\r\n\r\n // Hook up cache manager, subscribe the notifications\r\n cacheManager.subscribe({\r\n\r\n // Clear the context manager after invalidate\r\n afterInvalidate(cm, resource) {\r\n const gridIds = actionMap[resource];\r\n\r\n delete cacheManagerDirty[resource];\r\n\r\n if (gridIds && contextManagerDirty[resource]) {\r\n contextManager.updateContext(gridIds);\r\n }\r\n },\r\n\r\n // Mark the dirty flags before execution of 'findAll'\r\n beforeExecute(cm, { action, parameters }) {\r\n if (action === 'findAll') {\r\n const { name: resource } = parameters[0];\r\n cacheManagerDirty[resource] = true;\r\n contextManagerDirty[resource] = true;\r\n }\r\n },\r\n });\r\n\r\n // Hook up context manager, patch the updateContext method\r\n const { emitter } = contextManager;\r\n\r\n emitter.on('invalidate', (gridId) => {\r\n const resource = resourceMap[gridId];\r\n\r\n if (resource) {\r\n delete contextManagerDirty[resource];\r\n if (cacheManagerDirty[resource]) {\r\n cacheManager.invalidate(resource, true);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport {\r\n JSDataCacheManager,\r\n CascadeInvalidateStrategy,\r\n WriteActionInvalidateStrategy,\r\n PartitionStrategy,\r\n} from '@bingads-webui-universal/js-data-cache-manager';\r\n\r\nimport {\r\n TimeAwareCache,\r\n LRUReplacementStrategy,\r\n} from '@bingads-webui-universal/time-aware-cache';\r\nimport { dependants } from '@bingads-webui/campaign-entity-dependants';\r\n\r\nimport { DecoratedODataAdapter } from './decorated-odata-adapter';\r\nimport { ContextManagerBridge } from './context-manager-bridge';\r\n\r\nconst ADDITIONAL_WRITE_ACTIONS = ['createMany', 'updateMany'];\r\nconst RESOURCE_WHITE_LIST = [\r\n 'Account',\r\n 'Ad',\r\n 'AdGroup',\r\n 'AdGroupCriterion',\r\n 'AssetLink',\r\n 'Campaign',\r\n 'CampaignCriterion',\r\n 'CustomColumn',\r\n 'DimensionRow',\r\n 'FeedItem',\r\n 'Keyword',\r\n 'NegativeKeyword',\r\n 'PerformanceTarget',\r\n 'PerformanceTargetInstance',\r\n 'PerformanceTimeSeries',\r\n 'SearchTerm',\r\n 'Tip',\r\n 'DsaSearchTerm',\r\n 'DsaTarget',\r\n 'NegativeAdGroupDsaTarget',\r\n 'NegativeCampaignDsaTarget',\r\n 'AdCustomizerAttribute',\r\n 'AssetGroup',\r\n];\r\n\r\nexport class CampaignCacheManager extends JSDataCacheManager {\r\n /**\r\n * JSDataCacheManager for Campaign UI\r\n * @param {Object} options -\r\n * @param {JSDataStore} options.store - The JSData store\r\n * @param {ContextManager} options.contextManager - The campaign context manager\r\n * @param {function} options.getTTL - Callback to get TTL for cache items\r\n */\r\n constructor({ store, contextManager, getTTL }) {\r\n super({\r\n store,\r\n actions: ADDITIONAL_WRITE_ACTIONS,\r\n invalidateStrategies: [\r\n new WriteActionInvalidateStrategy({\r\n writeActions: ADDITIONAL_WRITE_ACTIONS,\r\n }),\r\n\r\n new CascadeInvalidateStrategy({ dependants }),\r\n ],\r\n partitionStrategies: [\r\n new PartitionStrategy({\r\n cache: new TimeAwareCache({\r\n // Default TTL 2 hours\r\n ttl: 2 * 60 * 60 * 1000,\r\n\r\n // Default limit 200 items\r\n strategy: new LRUReplacementStrategy({ limit: 200 }),\r\n }),\r\n condition(cache, { resource }) {\r\n return _.contains(RESOURCE_WHITE_LIST, resource);\r\n },\r\n }),\r\n ],\r\n });\r\n\r\n this.enableCacheOnAdapter('odata', adapter => new DecoratedODataAdapter({\r\n adapter,\r\n getTTL,\r\n }));\r\n this.contextManagerBridge = new ContextManagerBridge({\r\n cacheManager: this,\r\n contextManager,\r\n });\r\n }\r\n}\r\n","export const CampaignType = {\r\n None: 0,\r\n Default: 0b1,\r\n Shopping: 0b10,\r\n DynamicSearchAds: 0b100,\r\n Audience: 0b1000,\r\n Smart: 0b10000,\r\n Hotel: 0b100000,\r\n PerformanceMax: 0b1000000,\r\n App: 0b10000000,\r\n LinkedIn: 0b100000000,\r\n All: 0xFFFF,\r\n};\r\n\r\nexport const CampaignTypeByEnumValue = {\r\n \"Enum.CampaignType'Default'\": CampaignType.Default,\r\n \"Enum.CampaignType'Shopping'\": CampaignType.Shopping,\r\n \"Enum.CampaignType'DynamicSearchAds'\": CampaignType.DynamicSearchAds,\r\n \"Enum.CampaignType'Audience'\": CampaignType.Audience,\r\n \"Enum.CampaignType'Smart'\": CampaignType.Smart,\r\n \"Enum.CampaignType'Hotel'\": CampaignType.Hotel,\r\n \"Enum.CampaignType'PerformanceMax'\": CampaignType.PerformanceMax,\r\n \"Enum.CampaignType'App'\": CampaignType.App,\r\n \"Enum.CampaignType'LinkedIn'\": CampaignType.LinkedIn,\r\n};\r\n\r\nexport const CampaignTypeToStringMap = {\r\n [CampaignType.Default]: 'Default',\r\n [CampaignType.Shopping]: 'Shopping',\r\n [CampaignType.DynamicSearchAds]: 'DynamicSearchAds',\r\n [CampaignType.Audience]: 'Audience',\r\n [CampaignType.Smart]: 'Smart',\r\n [CampaignType.Hotel]: 'Hotel',\r\n [CampaignType.PerformanceMax]: 'PerformanceMax',\r\n [CampaignType.App]: 'App',\r\n [CampaignType.LinkedIn]: 'LinkedIn',\r\n [CampaignType.All]: 'All',\r\n};\r\n\r\nexport const CampaignTypeByODataValue = {\r\n Default: CampaignType.Default,\r\n Shopping: CampaignType.Shopping,\r\n DynamicSearchAds: CampaignType.DynamicSearchAds,\r\n Audience: CampaignType.Audience,\r\n Smart: CampaignType.Smart,\r\n Hotel: CampaignType.Hotel,\r\n PerformanceMax: CampaignType.PerformanceMax,\r\n App: CampaignType.App,\r\n LinkedIn: CampaignType.LinkedIn,\r\n};\r\n","export const StatusWaterfallFilterOptions = {\r\n All: 1,\r\n AllEnabled: 2,\r\n};\r\n","import _ from 'underscore';\r\nimport urijs from 'urijs';\r\n\r\nexport const Scope = {\r\n Customer: 0,\r\n Account: 1,\r\n Campaign: 2,\r\n AdGroup: 3,\r\n Ad: 4,\r\n PerformanceTarget: 5,\r\n};\r\n\r\nexport const getCurrentScope = (currentCampaignId, currentAdGroupId, currentAccountId) => {\r\n if (currentAdGroupId) {\r\n return Scope.AdGroup;\r\n }\r\n\r\n if (currentCampaignId) {\r\n return Scope.Campaign;\r\n }\r\n\r\n if (currentAccountId) {\r\n return Scope.Account;\r\n }\r\n\r\n return Scope.Customer;\r\n};\r\n\r\nexport const getCurrentScopeFromService = (scope) => {\r\n const values = (scope && scope.values) || {};\r\n const { aid, campaignId, adGroupId } = values;\r\n return getCurrentScope(campaignId, adGroupId, aid);\r\n};\r\n\r\nconst SCOPE_TO_KEY = {\r\n [Scope.Account]: 'aid',\r\n [Scope.Campaign]: 'campaignId',\r\n [Scope.AdGroup]: 'adGroupId',\r\n};\r\n\r\nfunction trimScopeInternal({\r\n urlQuery,\r\n currentScope,\r\n leastSupportedScope,\r\n}) {\r\n // i.e. currentScope = 1 = account scope\r\n // leastSupportedScope = 0 = customer scope\r\n if (currentScope > leastSupportedScope) {\r\n const queryToRemove = _.range(leastSupportedScope + 1, currentScope + 1)\r\n .map(scopeNumber => SCOPE_TO_KEY[scopeNumber]);\r\n\r\n return urijs(urlQuery).removeQuery(queryToRemove).toString();\r\n }\r\n\r\n // No need to trim scope, return url query as it is\r\n return urlQuery;\r\n}\r\n\r\nexport function trimScope(supportedScopes, scopeService, siteMapId) {\r\n /* eslint-disable object-curly-newline */\r\n const { history, values: { uid, cid, aid, campaignId, adGroupId } } = scopeService;\r\n if (siteMapId === 'import-google' || siteMapId === 'import-file') {\r\n return scopeService.stringify(_.omit({\r\n uid,\r\n cid,\r\n aid,\r\n }, value => !value));\r\n }\r\n\r\n const currentScope = getCurrentScope(campaignId, adGroupId, aid);\r\n const leastSupportedScope = _.isEmpty(supportedScopes) ? Scope.Account : _.max(supportedScopes);\r\n\r\n return trimScopeInternal({\r\n urlQuery: history.location.search,\r\n currentScope,\r\n leastSupportedScope,\r\n });\r\n}\r\n","export const ACCOUNT_MODE = {\r\n DEFAULT: null,\r\n EXPERT: 0,\r\n SMART: 1,\r\n UNIFIED_SMART: 2,\r\n UNIFIED_EXPERT: 3,\r\n};\r\n","// used for temp account name prefix when crate account\r\nexport const TEMP_NAME_PREFIX = '_DMC_TEMP_';\r\nexport const UP_TEMP_NAME_PREFIX = '_UP_TEMP_';\r\nexport const PMAX_TEMP_NAME_PREFIX = '_PMAX_TEMP_';\r\n","import _ from 'underscore';\r\nimport 'jquery';\r\nimport { WaterfallFilterType } from '@bingads-webui-campaign/filter-storage';\r\nimport { CampaignType, CampaignTypeByEnumValue, CampaignTypeToStringMap } from '../enums/campaign-type';\r\nimport { StatusWaterfallFilterOptions } from '../enums/status-filter-options';\r\n\r\nconst CampaignTypeEnumValuePrefix = 'Enum.CampaignType';\r\nconst CampaignStatusEnumValuePrefix = 'Enum.CampaignStatus';\r\nconst AdGroupStatusEnumValuePrefix = 'Enum.AdGroupStatus';\r\n\r\nfunction addPrefixToEnumValue(prefix, enumValue) {\r\n return `${prefix}'${enumValue}'`;\r\n}\r\n\r\nexport function getFilteredCampaignTypeFromRawFilter(rawFilter) {\r\n const filteredCampainTypes = rawFilter\r\n && rawFilter.value\r\n && rawFilter.value.query\r\n && rawFilter.value.query.CampaignType\r\n && rawFilter.value.query.CampaignType.$in;\r\n\r\n if (_.isEmpty(filteredCampainTypes)) {\r\n return CampaignType.All;\r\n }\r\n\r\n return CampaignTypeByEnumValue[filteredCampainTypes[0]];\r\n}\r\n\r\nexport function getFilteredCampaignTypeFromWaterfallFilter(waterfallFilters) {\r\n const campaignType = _.chain(waterfallFilters).compact().map((waterfallFilter) => {\r\n if (waterfallFilter.filter && waterfallFilter.filter.key === WaterfallFilterType.CampaignType) {\r\n return getFilteredCampaignTypeFromRawFilter(waterfallFilter.filter);\r\n }\r\n return undefined;\r\n }).first()\r\n .value();\r\n\r\n return campaignType;\r\n}\r\n\r\nexport function getFilteredCampaignStatusFromRawFilter(rawFilter) {\r\n const filteredCampaignStatuses = rawFilter\r\n && rawFilter.value\r\n && rawFilter.value.query\r\n && rawFilter.value.query.CampaignStatus\r\n && rawFilter.value.query.CampaignStatus.$in;\r\n\r\n if (_.size(filteredCampaignStatuses) === 2\r\n && filteredCampaignStatuses[0] === addPrefixToEnumValue(CampaignStatusEnumValuePrefix, 'Active')\r\n && filteredCampaignStatuses[1] === addPrefixToEnumValue(CampaignStatusEnumValuePrefix, 'BudgetPaused')) {\r\n return StatusWaterfallFilterOptions.AllEnabled;\r\n }\r\n\r\n return StatusWaterfallFilterOptions.All;\r\n}\r\n\r\nexport function getFilteredAdGroupStatusFromRawFilter(rawFilter) {\r\n const filteredAdGroupStatuses = rawFilter\r\n && rawFilter.value\r\n && rawFilter.value.query\r\n && rawFilter.value.query.AdGroupStatus\r\n && rawFilter.value.query.AdGroupStatus.$in;\r\n\r\n if (_.size(filteredAdGroupStatuses) === 2\r\n && filteredAdGroupStatuses[0] === addPrefixToEnumValue(AdGroupStatusEnumValuePrefix, 'Active')\r\n && filteredAdGroupStatuses[1] === addPrefixToEnumValue(AdGroupStatusEnumValuePrefix, 'CampaignBudgetPaused')) {\r\n return StatusWaterfallFilterOptions.AllEnabled;\r\n }\r\n\r\n return StatusWaterfallFilterOptions.All;\r\n}\r\n\r\nexport function convertFilteredCampaignTypeToFilter(campaignType) {\r\n if (campaignType === CampaignType.All) {\r\n return { key: WaterfallFilterType.CampaignType, value: { query: null } };\r\n }\r\n\r\n return {\r\n key: WaterfallFilterType.CampaignType,\r\n value: {\r\n query: {\r\n CampaignType: {\r\n $in:\r\n [addPrefixToEnumValue(\r\n CampaignTypeEnumValuePrefix,\r\n [CampaignTypeToStringMap[campaignType]]\r\n )],\r\n },\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function convertFilteredCampaignStatusToFilter(campaignStatus) {\r\n if (campaignStatus === StatusWaterfallFilterOptions.All\r\n || campaignStatus !== StatusWaterfallFilterOptions.AllEnabled) {\r\n return { key: WaterfallFilterType.CampaignStatus, value: { query: null } };\r\n }\r\n\r\n return {\r\n key: WaterfallFilterType.CampaignStatus,\r\n value: {\r\n query: {\r\n CampaignStatus: {\r\n $in:\r\n [\r\n addPrefixToEnumValue(CampaignStatusEnumValuePrefix, 'Active'),\r\n addPrefixToEnumValue(CampaignStatusEnumValuePrefix, 'BudgetPaused'),\r\n ],\r\n },\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function convertFilteredAdGroupStatusToFilter(adGroupStatus) {\r\n if (adGroupStatus === StatusWaterfallFilterOptions.All\r\n || adGroupStatus !== StatusWaterfallFilterOptions.AllEnabled) {\r\n return { key: WaterfallFilterType.AdGroupStatus, value: { query: null } };\r\n }\r\n\r\n return {\r\n key: WaterfallFilterType.AdGroupStatus,\r\n value: {\r\n query: {\r\n AdGroupStatus: {\r\n $in:\r\n [\r\n addPrefixToEnumValue(AdGroupStatusEnumValuePrefix, 'Active'),\r\n addPrefixToEnumValue(AdGroupStatusEnumValuePrefix, 'CampaignBudgetPaused'),\r\n ],\r\n },\r\n },\r\n },\r\n };\r\n}\r\n\r\n","import { ACCOUNT_MODE } from '../enums/account-mode';\r\n\r\nexport const isAccountExpert = accountMode =>\r\n `${accountMode}` === `${ACCOUNT_MODE.EXPERT}` ||\r\n `${accountMode}` === `${ACCOUNT_MODE.DEFAULT}` ||\r\n `${accountMode}` === '';\r\n","export const Environment = {\r\n PROD: 'PROD',\r\n BETAPROD: 'BETAPROD',\r\n TIP: 'TIP',\r\n SI: 'SI',\r\n BETASI: 'BETASI',\r\n CI: 'CI',\r\n};\r\n\r\n// domains with 'ui.' are for main bundle\r\n// domains without 'ui.' are for signup bundle\r\nexport const Domains = {\r\n PROD: {\r\n UI: {\r\n ADS: 'ui.ads.microsoft.com',\r\n BINGADS: 'ui.bingads.microsoft.com',\r\n BETA: {\r\n ADS: 'ui.beta.ads.microsoft.com',\r\n BINGADS: 'ui.beta.bingads.microsoft.com',\r\n },\r\n TIP: {\r\n ADS: 'ui.tip.ads.microsoft.com',\r\n BINGADS: 'ui.tip.bingads.microsoft.com',\r\n },\r\n },\r\n ADS: 'ads.microsoft.com',\r\n BINGADS: 'bingads.microsoft.com',\r\n BETA: {\r\n ADS: 'beta.ads.microsoft.com',\r\n BINGADS: 'beta.bingads.microsoft.com',\r\n },\r\n TIP: {\r\n ADS: 'tip.ads.microsoft.com',\r\n BINGADS: 'tip.bingads.microsoft.com',\r\n },\r\n SDK: {\r\n ADS: 'sdk.ads.microsoft.com',\r\n TIP: 'sdktip.ads.microsoft.com',\r\n BETA: 'sdkbeta.ads.microsoft.com',\r\n },\r\n },\r\n TEST: {\r\n UI: {\r\n ADSINT: 'ui.ads-int.microsoft.com',\r\n SI_PROXY: 'app1.ui.ads-int.microsoft.com:12000',\r\n SI: 'ui.si.bingads.microsoft.com',\r\n BETA: {\r\n ADSINT: 'ui.beta.ads-int.microsoft.com',\r\n SI: 'ui.beta.si.bingads.microsoft.com',\r\n },\r\n },\r\n ADSINT: 'ads-int.microsoft.com',\r\n SI_PROXY: 'app1.ads-int.microsoft.com:12000',\r\n SI: 'si.bingads.microsoft.com',\r\n BETA: {\r\n ADSINT: 'beta.ads-int.microsoft.com',\r\n SI: 'beta.si.bingads.microsoft.com',\r\n },\r\n LOCAL: 'localhost',\r\n CI: 'ci.ads.microsoft.com',\r\n SDK: {\r\n ADSINT: 'sdk.ads-int.microsoft.com',\r\n BETA: 'sdkbeta.ads-int.microsoft.com',\r\n },\r\n },\r\n};\r\n\r\n/**\r\n * Determines what environment the site is running in, based on the domain.\r\n * @param {string} domain - Current domain.\r\n * @returns {string} - Environment the site is running in.\r\n */\r\nexport function getEnvironment(domain) {\r\n const prodBingAdsPattern = /^(ui\\.)?bingads\\.microsoft\\.com$/;\r\n const prodMicrosoftAdsPattern = /^(ui\\.)?ads\\.microsoft\\.com$/;\r\n if (domain.match(prodMicrosoftAdsPattern) || domain.match(prodBingAdsPattern)) {\r\n return Environment.PROD;\r\n }\r\n\r\n const betaprodBingAdsPattern = /^(ui\\.)?beta\\.bingads\\.microsoft\\.com$/;\r\n const betaprodMicrosoftAdsPattern = /^(ui\\.)?beta\\.ads\\.microsoft\\.com$/;\r\n if (domain.match(betaprodMicrosoftAdsPattern) || domain.match(betaprodBingAdsPattern)) {\r\n return Environment.BETAPROD;\r\n }\r\n\r\n const tipBingAdsPattern = /^(ui\\.)?tip\\.bingads\\.microsoft\\.com$/;\r\n const tipMicrosoftAdsPattern = /^(ui\\.)?tip\\.?ads\\.microsoft\\.com$/;\r\n if (domain.match(tipBingAdsPattern) || domain.match(tipMicrosoftAdsPattern)) {\r\n return Environment.TIP;\r\n }\r\n\r\n const siBingAdsPattern = /^(ui\\.)?si\\.bingads\\.microsoft\\.com$/;\r\n const siMicrosoftAdsPattern = /^(app1\\.)?(ui\\.)?ads-int\\.microsoft\\.com(:12000)?$/;\r\n if (domain.match(siMicrosoftAdsPattern) || domain.match(siBingAdsPattern)) {\r\n return Environment.SI;\r\n }\r\n\r\n const betasiBingAdsPattern = /^(ui\\.)?beta\\.si\\.bingads\\.microsoft\\.com$/;\r\n const betasiMicrosoftAdsPattern = /^(ui\\.)?beta\\.ads-int\\.microsoft\\.com$/;\r\n if (domain.match(betasiMicrosoftAdsPattern) || domain.match(betasiBingAdsPattern)) {\r\n return Environment.BETASI;\r\n }\r\n\r\n return Environment.CI;\r\n}\r\n\r\n/**\r\n * Checks if domain is Prod or TIP domain.\r\n * @param {string} domain - Current domain.\r\n * @returns {bool} - True if Prod or TIP.\r\n */\r\nexport function isProdEnvironment(domain) {\r\n const env = getEnvironment(domain);\r\n return env === Environment.PROD || env === Environment.BETAPROD || env === Environment.TIP;\r\n}\r\n\r\n/**\r\n * Checks if domain is an internal environment like SI or CI or local.\r\n * @param {string} domain - Current domain.\r\n * @returns {bool} - True if not Prod or TIP.\r\n */\r\nexport function isInternalEnvironment(domain) {\r\n return !isProdEnvironment(domain);\r\n}\r\n\r\nexport function isSiEnvironment(domain) {\r\n const env = getEnvironment(domain);\r\n return env === Environment.SI || env === Environment.BETASI;\r\n}\r\n\r\nexport function getIsSignUpBundle(pathName) {\r\n return !!pathName.match(/signup/);\r\n}\r\n\r\nexport function getRootUrl(domain) {\r\n const env = getEnvironment(domain);\r\n switch (env) {\r\n case Environment.PROD:\r\n return `https://${Domains.PROD.ADS}`;\r\n case Environment.BETAPROD:\r\n return `https://${Domains.PROD.BETA.ADS}`;\r\n case Environment.TIP:\r\n return `https://${Domains.PROD.TIP.ADS}`;\r\n case Environment.SI:\r\n return `https://${Domains.TEST.ADSINT}`;\r\n case Environment.BETASI:\r\n return `https://${Domains.TEST.BETA.ADSINT}`;\r\n default:\r\n return `https://${Domains.TEST.CI}`;\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport { WaterfallFilterStorage, WaterfallFilterType, waterfallDateFilterProcessor } from '@bingads-webui-campaign/filter-storage';\r\nimport { getGridDataParams } from '@bingads-webui-campaign/summary-grid-helper';\r\nimport { getColumnsConversionMap } from '@bingads-webui-campaign/column-conversions';\r\nimport { ChartDataAdapter } from '@bingads-webui-campaign-react/inline-chart';\r\nimport { InlineChartPreferences } from '@bingads-webui-campaign/inline-chart-preferences';\r\nimport { store, adapter } from '@bingads-webui-component-legacy/bingads-grid/service/grid-preferences';\r\nimport legacyPreferenceService from '@bingads-webui-component-legacy/preference/service/index';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport appState from '@bingads-webui-component-legacy/state/index';\r\n\r\nconst featureName = 'summary_tab_campaign';\r\nconst CurrentTabId = 'Campaigns';\r\nconst isOdataActionSource = true;\r\nconst refreshCampaignCache = 'x-ms-refreshcampaigncache';\r\n\r\nexport function getDataFetchConfig({\r\n jsdataCampaign,\r\n edm,\r\n filterService,\r\n dateUtil,\r\n ColumnChooserPreference,\r\n CustomColumnPreference,\r\n SegmentationPreference,\r\n fetchPagination,\r\n fetchSortInfo,\r\n getColumnsMap,\r\n getBaseColumnsByType,\r\n preferenceService,\r\n serverContext,\r\n Permissions,\r\n appConfig,\r\n i18n,\r\n}) {\r\n const { dynamic } = Permissions;\r\n const {\r\n ColumnConversion: IsColumnConversionEnabled,\r\n CampaignsCombineGridAndChartOdataCallEnabled,\r\n } = dynamic;\r\n\r\n const [lockedColumns, selectedColumns] = getBaseColumnsByType(featureName);\r\n\r\n const entitySet = edm.currentAccount.Campaigns['Default.GridData'];\r\n\r\n const waterfallFilterStorage = new WaterfallFilterStorage({\r\n preferenceService,\r\n });\r\n\r\n const initialQuery = isOdataActionSource ? {\r\n gridDataParameters: getGridDataParams(appConfig),\r\n } : {};\r\n\r\n return {\r\n dataSource: {\r\n type: 'jsdata',\r\n entity: jsdataCampaign.Campaign,\r\n options: {\r\n entitySet: edm.currentAccount.Campaigns,\r\n cacheResponse: false,\r\n headers: {\r\n [refreshCampaignCache]: true,\r\n },\r\n useDfmCache: false,\r\n },\r\n },\r\n queryBuilder: {\r\n decorators: _.compact([\r\n {\r\n name: 'columnChooser',\r\n addPoPColumnsOnComparisonEnabled: true,\r\n columnsMap: getColumnsMap(featureName),\r\n defaultColumns: selectedColumns,\r\n lockedColumns,\r\n customColumnsEnabled: Permissions.IsCustomColumnsInCampaignsSupported,\r\n IsAvgPositionDeprecationPhase2Enabled: Permissions.IsAvgPositionDeprecationPhase2Enabled,\r\n comparisonPoPColumns: [\r\n 'PeriodPerformanceMetrics',\r\n 'PerformanceMetricsChange',\r\n 'PerformanceMetricsChangePercentage',\r\n 'PhonePeriodPerformanceMetrics',\r\n 'PhonePerformanceMetricsChange',\r\n 'PhonePerformanceMetricsChangePercentage',\r\n ],\r\n },\r\n { name: 'dateFilter' },\r\n { name: 'segment' },\r\n {\r\n name: 'pagination',\r\n defaultPageSize: 20,\r\n },\r\n { name: 'sorting' },\r\n { name: 'filter', filterService },\r\n { name: 'dataExclusionFilterProcessor' },\r\n { name: 'targetRoasFilterProcessor' },\r\n { name: 'gridDataParameters', entitySet },\r\n CampaignsCombineGridAndChartOdataCallEnabled && {\r\n name: 'chartDataParameters',\r\n entitySet,\r\n pageState: appState,\r\n pageContext: { ...pageContext, CurrentTabId }, // At this point pageContext.CurrentTabId is still undefined, so we manually set the pageContext.CurrentTabId to 'Campaigns'\r\n chartDataAdapter: new ChartDataAdapter({ i18n, permissions: Permissions }),\r\n inlineChartPreference: new InlineChartPreferences(\r\n store,\r\n appConfig,\r\n adapter,\r\n legacyPreferenceService.initialize().then(() => Promise.promisifyAll(legacyPreferenceService))\r\n ),\r\n },\r\n ]),\r\n commonConfig: {\r\n featureName,\r\n isOdataActionSource,\r\n appConfig,\r\n appState,\r\n deps: {\r\n dateUtil,\r\n state: {\r\n getPromise: (key) => {\r\n if (key !== '$daterange') {\r\n throw new Error('Key not supported');\r\n }\r\n\r\n const dateFilter = waterfallDateFilterProcessor(\r\n waterfallFilterStorage.getFilters([WaterfallFilterType.DateFilter]),\r\n serverContext\r\n );\r\n\r\n return Promise.resolve(dateFilter);\r\n },\r\n },\r\n ColumnChooserPreference,\r\n CustomColumnPreference,\r\n SegmentationPreference,\r\n fetchPaginationConfig: fetchPagination.fetchPaginationConfig,\r\n fetchSortInfo,\r\n },\r\n IsColumnConversionEnabled,\r\n ...IsColumnConversionEnabled ? {\r\n columnConversions: getColumnsConversionMap(featureName, Permissions),\r\n } : {},\r\n },\r\n initialQuery,\r\n },\r\n };\r\n}\r\n","import { FilterService } from '@bingads-webui/filter-service';\r\nimport { Campaign, AdGroup } from '@bingads-webui-campaign/campaign-ui-schemas';\r\nimport { DataSourceStore } from '@bingads-webui-campaign/data-source-store';\r\nimport { getDataFetchConfig } from './data-fetch-config';\r\nimport { getDataSource } from './data-fetch-source';\r\nimport { getFilterConfig } from './filter-config';\r\n\r\n\r\nexport function getFilterConfigWithInjection({\r\n preferenceService,\r\n newI18n,\r\n cachedEntitySchema,\r\n customColumnPreference,\r\n jsData,\r\n appConfig,\r\n i18n,\r\n sessionStore,\r\n preferenceStoreFactory,\r\n legacyGlobalI18n,\r\n schemaI18nCampaign,\r\n cacheService,\r\n dataContextManager,\r\n scope,\r\n edm,\r\n}) {\r\n const filterConfig = getFilterConfig({\r\n entitySchema: Campaign,\r\n cachedEntitySchema,\r\n i18n,\r\n sessionStore,\r\n preferenceStoreFactory,\r\n legacyGlobalI18n,\r\n schemaI18nCampaign,\r\n cacheService,\r\n dataContextManager,\r\n preferenceService,\r\n customColumnPreference,\r\n appConfig,\r\n jsData,\r\n adGroupSchema: AdGroup,\r\n newI18n,\r\n scope,\r\n edm,\r\n });\r\n\r\n filterConfig.suppressWaterfallEvents = true;\r\n\r\n return filterConfig;\r\n}\r\n\r\n\r\nexport function getDataSourceWithInjection({\r\n preferenceService,\r\n newI18n,\r\n gridName,\r\n logActivity = null,\r\n serverContext,\r\n jsData,\r\n edm,\r\n ColumnChooserPreference,\r\n customColumnPreference,\r\n SegmentationPreference,\r\n fetchPagination,\r\n dateUtil,\r\n state,\r\n fetchSortInfo,\r\n getColumnsMap,\r\n getBaseColumnsByType,\r\n logger,\r\n appConfig,\r\n i18n,\r\n sessionStore,\r\n preferenceStoreFactory,\r\n legacyGlobalI18n,\r\n schemaI18nCampaign,\r\n cacheService,\r\n dataContextManager,\r\n scope,\r\n}) {\r\n const Permissions = appConfig.get('Permissions');\r\n const { CampaignFilterImprovementEnabled } = Permissions.dynamic;\r\n\r\n if (gridName && CampaignFilterImprovementEnabled) {\r\n const existingDataSource = DataSourceStore.get(gridName);\r\n\r\n if (existingDataSource) {\r\n return existingDataSource;\r\n }\r\n }\r\n\r\n const filterConfig = getFilterConfigWithInjection({\r\n preferenceService,\r\n newI18n,\r\n customColumnPreference,\r\n jsData,\r\n appConfig,\r\n i18n,\r\n sessionStore,\r\n preferenceStoreFactory,\r\n legacyGlobalI18n,\r\n schemaI18nCampaign,\r\n cacheService,\r\n dataContextManager,\r\n scope,\r\n edm,\r\n });\r\n\r\n const filterService = new FilterService(filterConfig);\r\n\r\n const dataFetchConfig = getDataFetchConfig({\r\n jsdataCampaign: jsData,\r\n edm,\r\n filterService,\r\n dateUtil,\r\n state,\r\n ColumnChooserPreference,\r\n CustomColumnPreference: customColumnPreference,\r\n SegmentationPreference,\r\n fetchPagination,\r\n fetchSortInfo,\r\n getColumnsMap,\r\n getBaseColumnsByType,\r\n preferenceService,\r\n serverContext,\r\n Permissions,\r\n appConfig,\r\n i18n,\r\n });\r\n\r\n const dataSource = getDataSource({\r\n gridName,\r\n logActivity,\r\n jsdata: jsData,\r\n logger,\r\n dataFetchConfig,\r\n Permissions,\r\n });\r\n\r\n if (CampaignFilterImprovementEnabled) {\r\n const { featureName } = dataFetchConfig.queryBuilder.commonConfig;\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 cacheableObjects;\r\n }\r\n\r\n return dataSource;\r\n}\r\n","import { getCommonFilterConfig, CampaignSchemaProcessor } from '@bingads-webui-campaign/common-grid-config';\r\n\r\nexport function getFilterConfig({\r\n entitySchema,\r\n cachedEntitySchema,\r\n i18n,\r\n sessionStore,\r\n preferenceStoreFactory,\r\n legacyGlobalI18n,\r\n schemaI18nCampaign,\r\n cacheService,\r\n dataContextManager,\r\n preferenceService,\r\n customColumnPreference,\r\n appConfig,\r\n jsData,\r\n adGroupSchema,\r\n newI18n,\r\n scope,\r\n edm,\r\n}) {\r\n const jsdata = jsData;\r\n\r\n const schemaProcessor = new CampaignSchemaProcessor({\r\n i18n: legacyGlobalI18n,\r\n newI18n,\r\n schemaI18nCampaign,\r\n languageI18n: i18n,\r\n s$AdGroup: adGroupSchema,\r\n globalConfig: appConfig,\r\n dataContextManager,\r\n cacheService,\r\n jsdata,\r\n isForVNext: true,\r\n scope,\r\n edm,\r\n isFromCampaignGrid: true,\r\n });\r\n\r\n const filterConfig = getCommonFilterConfig({\r\n preferenceService,\r\n customColumnPreference,\r\n schemaProcessor,\r\n featureName: 'CampaignsGrid',\r\n entitySchema,\r\n cachedEntitySchema,\r\n i18n,\r\n legacyGlobalI18n,\r\n sessionStore,\r\n preferenceStoreFactory,\r\n globalConfig: appConfig,\r\n schemaI18nCampaign,\r\n cacheService,\r\n dataContextManager,\r\n jsdata,\r\n enableCampaignWaterfall: true,\r\n editor: {},\r\n searchbox: {\r\n placeholder: newI18n.getString(_TL_('Filter by campaign')),\r\n searchProperty: 'Name',\r\n searchOperator: '$contains',\r\n },\r\n selector: [{\r\n property: 'Status',\r\n items: [\r\n {\r\n text: newI18n.getString(_TL_('All campaigns')),\r\n value: null,\r\n },\r\n {\r\n text: newI18n.getString(_TL_('All enabled campaigns')),\r\n value: [\"Enum.CampaignStatus'Active'\", \"Enum.CampaignStatus'BudgetPaused'\"],\r\n },\r\n ],\r\n removable: false,\r\n defaultValue: null,\r\n }],\r\n });\r\n\r\n return filterConfig;\r\n}\r\n","import _ from 'underscore';\r\nimport { QueryBuilderFactory } from '@bingads-webui-campaign/query-builder';\r\nimport { DataSourceStore } from '@bingads-webui-campaign/data-source-store';\r\nimport { connect } from '@bingads-webui-campaign/dqb-grid-datasource-connector';\r\n\r\nexport function getDataSource({\r\n gridName,\r\n logActivity,\r\n jsdata,\r\n logger,\r\n dataFetchConfig,\r\n Permissions,\r\n}) {\r\n const { dynamic } = Permissions;\r\n const { CampaignFilterImprovementEnabled } = dynamic;\r\n\r\n if (gridName && !CampaignFilterImprovementEnabled) {\r\n const existingDataSource = DataSourceStore.get(gridName);\r\n\r\n if (existingDataSource) {\r\n return existingDataSource;\r\n }\r\n }\r\n\r\n const { CampaignsCombineGridAndChartOdataCallEnabled } = dynamic;\r\n const config = dataFetchConfig;\r\n const queryBuilderConfig = _.extend(config.queryBuilder, { logActivity });\r\n const queryBuilder = QueryBuilderFactory.make(queryBuilderConfig);\r\n // eslint-disable-next-line prefer-destructuring\r\n const featureName = config.queryBuilder.commonConfig.featureName;\r\n\r\n const dataSource = connect(\r\n config.dataSource,\r\n queryBuilder,\r\n featureName,\r\n logger,\r\n false,\r\n CampaignsCombineGridAndChartOdataCallEnabled\r\n );\r\n\r\n if (!CampaignFilterImprovementEnabled) {\r\n DataSourceStore.set(featureName, dataSource);\r\n }\r\n\r\n dataSource.entity = jsdata.Campaign;\r\n\r\n return dataSource;\r\n}\r\n","import _ from 'underscore';\r\nimport { DeterministicView } from '@bingads-webui/deterministic-view';\r\nimport { DatePicker } from '@bingads-webui/date-picker';\r\nimport CampaignsDatePickerTemplate from './template.pug';\r\n\r\nclass ExtendedDatePicker extends DatePicker {\r\n renderTrunk() {\r\n super.renderTrunk();\r\n\r\n const { isNodateSelected } = this.getState();\r\n\r\n if (isNodateSelected) {\r\n this.datePicker.enable(false);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @typedef {Object} CampaignsDatePickerState\r\n * @property {Date} selectedDate current selected date.\r\n * @property {Boolean} allowNoDate allow empty value.\r\n * If true radio buttons are added to choose if no date is selected.\r\n * @property {String} noDateLabel label for no date option.\r\n * @property {String} dateLabel label for the date option.\r\n */\r\n\r\n/**\r\n * dateChanged event - When date is changed, it fires with the new date object.\r\n *\r\n * @event CampaignsDatePicker#dateChanged\r\n * @type {Date}\r\n */\r\n\r\n/**\r\n * Date picker control used to select dates.\r\n * This has optional radio buttons to select no date.\r\n *\r\n * @fires CampaignsDatePicker#dateChanged\r\n */\r\nexport class CampaignsDatePicker extends DeterministicView {\r\n /**\r\n * Initialize the view.\r\n * @param {Date} minDate- The minimum date that can be selected.\r\n * @param {Date} maxDate - The maximum date that can be selected.\r\n * @param {Date} selectedDate initial selected date.\r\n * @param {Boolean} allowNoDate allow empty value.\r\n * @param {String} noDateLabel label for no date option.\r\n * @param {String} dateLabel label for the date option.\r\n * @param {String} noDateGroupAriaLabel aria-label for no date group.\r\n * @param {String} datePickerAriaLabel aria-label for the date option.\r\n * @returns {undefined}\r\n */\r\n initialize({\r\n minDate,\r\n maxDate,\r\n selectedDate,\r\n allowNoDate,\r\n noDateLabel,\r\n dateLabel,\r\n noDateGroupAriaLabel,\r\n datePickerAriaLabel,\r\n }) {\r\n const isDateValid = !isNaN(new Date(selectedDate)); // eslint-disable-line\r\n // If we have no date radio option and initial date is not set,\r\n // we default to choose no date option\r\n const isNodateSelected = !isDateValid && allowNoDate;\r\n const datePicker = new ExtendedDatePicker({\r\n minDate, maxDate, selectedDate, ariaLabel: datePickerAriaLabel,\r\n });\r\n const datePickerInput = datePicker.$('.date-picker-component.k-input');\r\n datePickerInput.addClass('clickable');\r\n datePickerInput.attr('aria-label', datePickerAriaLabel);\r\n\r\n this.setChild('date-picker', datePicker);\r\n this.setState({\r\n selectedDate,\r\n allowNoDate,\r\n noDateLabel,\r\n dateLabel,\r\n isNodateSelected,\r\n noDateGroupAriaLabel,\r\n datePickerAriaLabel,\r\n });\r\n this.listenTo(datePicker, 'dateChanged', () => {\r\n this.trigger('dateChanged', this.getSelectedDate());\r\n });\r\n }\r\n\r\n /**\r\n * The event hash for the CampaignsDatePicker\r\n * @type {Object}\r\n * @override\r\n */\r\n get events() {\r\n return {\r\n 'click .nodate': () => this.selectNoDateOption(),\r\n 'click .date': () => this.selectDateOption(),\r\n };\r\n }\r\n\r\n /**\r\n * Class name of the root element\r\n * @type {string}\r\n * @override\r\n */\r\n get className() { return 'campaigns-date-picker'; }\r\n\r\n /**\r\n * Template of the CampaignsDatePicker\r\n * @type {TemplateCallback}\r\n * @override\r\n */\r\n get template() { return CampaignsDatePickerTemplate; }\r\n\r\n /**\r\n * Propagate the state to model and children view.\r\n * @param {CampaignsDatePickerState} state - The new state\r\n * @override\r\n * @returns {CampaignsDatePicker} - The view itself\r\n */\r\n setState(state) {\r\n const { selectedDate, isNodateSelected } = state;\r\n this.getChild('date-picker').setState({ selectedDate, isNodateSelected });\r\n this.model.set(state);\r\n return this;\r\n }\r\n\r\n /**\r\n * Collect the state from model and children views.\r\n * @override\r\n * @returns {CampaignsDatePickerState} - The state of the view.\r\n */\r\n getState() {\r\n const state = this.model.attributes;\r\n const { selectedDate } = this.getChild('date-picker').getState();\r\n return _.extend(state, { selectedDate });\r\n }\r\n\r\n /**\r\n * Get selected date.\r\n * @returns {Date} - Selected date.\r\n */\r\n getSelectedDate() {\r\n return this.getChild('date-picker').getDate();\r\n }\r\n\r\n /**\r\n * No date radio button is selected.\r\n * Clear the date input. And disable the date picker.\r\n * @returns {undefined}\r\n */\r\n selectNoDateOption() {\r\n const originalDate = this.getSelectedDate();\r\n this.setState({ selectedDate: undefined, isNodateSelected: true });\r\n if (originalDate) {\r\n this.trigger('dateChanged', this.getSelectedDate());\r\n }\r\n }\r\n\r\n /**\r\n * Date radio button is selected.\r\n * Enable date picker.\r\n * @returns {undefined}\r\n */\r\n selectDateOption() {\r\n this.setState({ selectedDate: undefined, isNodateSelected: false });\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport { ProjectionGridBaseColumn, helpers } from '@bingads-webui/projection-grid-base-column';\r\n\r\nconst regexPerfMetrics = /^(Performance)?Metrics\\//;\r\nconst regexPhonePerfMetrics = /^PhonePerformanceMetrics\\//;\r\n\r\nfunction propertyMatch(regex, property) {\r\n const keyPath = _.isString(property) ? property : property.key;\r\n return _.isString(keyPath) && keyPath.match(regex);\r\n}\r\n\r\n/**\r\n * Determines if the input is a PerformanceMetrics property.\r\n *\r\n * @param {String} property the property to query\r\n * @returns {Boolean} whether the property is a PerformanceMetrics or not.\r\n */\r\nexport const isPerformanceMetrics = _.partial(propertyMatch, regexPerfMetrics);\r\n\r\n/**\r\n * Determines if the input is a PhonePerformanceMetrics property.\r\n *\r\n * @param {String} property the property to query\r\n * @returns {Boolean} whether the property is a PhonePerformanceMetrics or not.\r\n */\r\nexport const isPhonePerformanceMetrics = _.partial(propertyMatch, regexPhonePerfMetrics);\r\n\r\nexport class CampaignuiBaseColumn extends ProjectionGridBaseColumn {\r\n get colClasses() {\r\n let colClasses = super.colClasses;\r\n\r\n if (isPerformanceMetrics(this.config.property)) {\r\n colClasses = helpers.mergeClasses(colClasses, [\r\n 'performance-metrics',\r\n `performance-metrics-${this.name}`,\r\n ]);\r\n } else if (isPhonePerformanceMetrics(this.config.property)) {\r\n colClasses = helpers.mergeClasses(colClasses, [\r\n 'phone-performance-metrics',\r\n `phone-performance-metrics-${this.name}`,\r\n ]);\r\n }\r\n\r\n return colClasses;\r\n }\r\n}\r\n","import _ from 'underscore';\r\n\r\nexport const FluctuationType = {\r\n Default: 0,\r\n Impression: 1,\r\n Click: 2,\r\n Spend: 3,\r\n Conversion: 4,\r\n Max: 500,\r\n};\r\n\r\nexport const FluctuationEnumToStringMap = (() => {\r\n const keyList = _.keys(FluctuationType);\r\n return _.object(keyList, keyList);\r\n})();\r\n\r\nexport const ColumnNameToFluctuationTypeEnum = {\r\n Clicks: FluctuationEnumToStringMap.Click,\r\n Impressions: FluctuationEnumToStringMap.Impression,\r\n Spend: FluctuationEnumToStringMap.Spend,\r\n Conversions: FluctuationEnumToStringMap.Conversion,\r\n};\r\n","import _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { helpers } from '@bingads-webui/projection-grid-base-column';\r\n\r\nimport { generateHelpId, hasFluctuations, formatMetricValue } from '../utils';\r\nimport performanceMetricWithFluctuationTemplate from './performance-metric-with-fluctuation.pug';\r\nimport { ColumnNameToFluctuationTypeEnum } from './fluctuation-type-enum';\r\n\r\nconst Scope = 'PerformanceMetrics';\r\nexport class FluctuationBaseColumn extends CampaignuiBaseColumn {\r\n /**\r\n * Returns sortable property for the column config.\r\n * @param {Object} config column config\r\n * @returns {string} sortable property\r\n */\r\n static columnSortableProperty = config => `${Scope}/${config.name}`;\r\n\r\n constructor(config) {\r\n const { name, i18n } = config;\r\n const helpId = generateHelpId(config);\r\n\r\n // This configuration for property is not taking effect now.\r\n // We should update getColumnsMap() in\r\n // ui-legacy\\Assets\\campaignui\\feature\\campaigns-tab\\campaigns\\grid\\columns-config-base.es\r\n // to make to column to property mapping correctly in odata request.\r\n const property = [`${Scope}/${name}`, 'AvailableInsightTypeIds'];\r\n const title = config.i18n.getString(`ColumnName_${name}`);\r\n\r\n super(_.defaults(\r\n { helpId, property, title },\r\n config,\r\n {\r\n type: 'number',\r\n sortable: FluctuationBaseColumn.columnSortableProperty(config),\r\n helpAriaLabel: helpId && i18n\r\n ? i18n.getString('Click to learn more about {{item}}', { item: name })\r\n : '',\r\n }\r\n ));\r\n }\r\n\r\n pickProperty(item) {\r\n const { PerformanceMetrics, AvailableInsightTypeIds, GoalStatusDetails } = item;\r\n const {\r\n name, format, i18n, title,\r\n } = this.config;\r\n const metricValue = _.result(PerformanceMetrics, name);\r\n\r\n // goal details is array\r\n // if goal delivery status is 'NoEligibleGoal', 'TagUnverified' or 'TagInactive' we show the warning\r\n const hasGoalLimits = GoalStatusDetails && _.find(GoalStatusDetails, goal => _.contains(['NoEligibleGoal', 'TagUnverified', 'TagInactive', 'NoRecentOfflineConversion'], goal.GoalDeliveryStatus));\r\n\r\n const propertys = {\r\n metricType: ColumnNameToFluctuationTypeEnum[name],\r\n metricName: title,\r\n metricValue: formatMetricValue({ i18n, format, metricValue }),\r\n hasFluctuation: hasFluctuations({\r\n propertyName: name,\r\n availableInsightTypeIds: AvailableInsightTypeIds,\r\n IsOverall: item.$total && item.$total.type === 'overall',\r\n }),\r\n hasConversionDeliveryStatus: hasGoalLimits && name === 'ConversionsCredit',\r\n };\r\n return propertys;\r\n }\r\n\r\n get template() { return performanceMetricWithFluctuationTemplate; }\r\n\r\n get title() {\r\n return this.config.title;\r\n }\r\n\r\n get colClasses() {\r\n let colClasses = super.colClasses;\r\n colClasses = helpers.mergeClasses(colClasses, [\r\n 'performance-metrics',\r\n `performance-metrics-${this.name}`,\r\n ]);\r\n\r\n return colClasses;\r\n }\r\n}\r\n\r\n","import { FluctuationBaseColumn } from './fluctuation-base-column';\r\n\r\n/**\r\n * Column Clicks with Fluctuation.\r\n * @extends FluctuationBaseColumn\r\n */\r\nexport class ColumnClicksWithFluctuation extends FluctuationBaseColumn {\r\n constructor({ i18n, helpId }) {\r\n super({\r\n name: 'Clicks',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column Impressions with Fluctuation.\r\n * @extends FluctuationBaseColumn\r\n */\r\nexport class ColumnImpressionsWithFluctuation extends FluctuationBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Impr' }) {\r\n super({\r\n name: 'Impressions',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column Spend with Fluctuation.\r\n * @extends FluctuationBaseColumn\r\n */\r\nexport class ColumnSpendWithFluctuation extends FluctuationBaseColumn {\r\n constructor({ i18n, helpId }) {\r\n super({\r\n name: 'Spend',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n\r\n/**\r\n * All performance metrics columns with fluctuation\r\n * @type Class[]\r\n */\r\nexport const fluctuationColumns = [\r\n ColumnClicksWithFluctuation,\r\n ColumnImpressionsWithFluctuation,\r\n ColumnSpendWithFluctuation,\r\n];\r\n\r\n","import _ from 'underscore';\r\nimport { ColumnNameToFluctuationTypeEnum } from './fluctuations/index';\r\n\r\n/** Generate help id for columns\r\n * @param {string} name column name\r\n * @param {function|string} helpId help id function or string\r\n * @returns {string} generated help id\r\n */\r\nexport const generateHelpId = ({ name, helpId }) => {\r\n if (_.isFunction(helpId)) {\r\n return helpId(name);\r\n }\r\n // String help ID\r\n if (_.isString(helpId)) {\r\n return helpId;\r\n }\r\n // No help ID\r\n if (_.isNull(helpId)) {\r\n return null;\r\n }\r\n // Default performance metrics help ID\r\n return `Page_CampaignGrids_${name}`;\r\n};\r\n\r\n/**\r\n * Check if performance metric has fluctuation insights or not\r\n * @param {string} propertyName The property name in column's config\r\n * @param {List} availableInsightTypeIds List of insight type enums for the account/campaign\r\n * @returns {bool} If there's insight for this metric or not\r\n */\r\nexport const hasFluctuations = ({\r\n propertyName,\r\n availableInsightTypeIds,\r\n} = {}) => {\r\n if (!_.isEmpty(propertyName) && availableInsightTypeIds) {\r\n return _.contains(\r\n availableInsightTypeIds,\r\n ColumnNameToFluctuationTypeEnum[propertyName]\r\n );\r\n }\r\n return false;\r\n};\r\n\r\n/**\r\n * Format metric value number to string in columns with fluctuation insights\r\n * @param {object} i18n i18n\r\n * @param {string} format The format of metric value\r\n * @param {number} metricValue Metric value\r\n * @returns {string} formated value\r\n */\r\nexport const formatMetricValue = ({ i18n, format, metricValue }) => {\r\n if (_.isUndefined(metricValue) || _.isNull(metricValue)) {\r\n return null;\r\n }\r\n const fractionDigits = format === 'decimal' ? 2 : 0;\r\n const formattedMetricValue = i18n.formatDecimal(\r\n metricValue,\r\n { maximumFractionDigits: fractionDigits, minimumFractionDigits: fractionDigits }\r\n );\r\n return formattedMetricValue;\r\n};\r\n","import _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { SchemaI18n } from '@bingads-webui-universal/schema-i18n';\r\nimport { generateHelpId } from './utils';\r\n\r\nfunction getBaseColumn({ scope }) {\r\n /**\r\n * Performance metrics base column.\r\n * @extends CampaignuiBaseColumn\r\n */\r\n return class PerformanceMetricBaseColumn extends CampaignuiBaseColumn {\r\n /**\r\n * Returns sortable property for the column config.\r\n * @param {Object} config column config\r\n * @returns {string} sortable property\r\n */\r\n static columnSortableProperty = config => config.property || `${scope}/${config.name}`;\r\n\r\n constructor(config) {\r\n const { i18n } = config;\r\n const helpId = generateHelpId(config);\r\n const property = config.property || `${scope}/${config.name}`;\r\n\r\n const schemaI18n = new SchemaI18n({ i18n });\r\n const title = config.title || schemaI18n.property(scope, _.last(property.split('/')));\r\n\r\n const localizedTitle = i18n && config.title ? i18n.getString(config.title) : title;\r\n\r\n super(_.defaults(\r\n { helpId, property, title },\r\n config,\r\n {\r\n type: 'number',\r\n sortable: PerformanceMetricBaseColumn.columnSortableProperty(config),\r\n helpAriaLabel: helpId && i18n\r\n ? i18n.getString('Click to learn more about {{item}}', { item: localizedTitle })\r\n : '',\r\n }\r\n ));\r\n }\r\n\r\n get title() {\r\n return this.config.title;\r\n }\r\n };\r\n}\r\n\r\nexport const PerformanceMetricBaseColumn = getBaseColumn({\r\n scope: 'PerformanceMetrics',\r\n});\r\n\r\nexport const PhonePerformanceMetricBaseColumn = getBaseColumn({\r\n scope: 'PhonePerformanceMetrics',\r\n});\r\n","import _ from 'underscore';\r\nimport { PerformanceMetricBaseColumn, PhonePerformanceMetricBaseColumn } from './performance-metric-base-column';\r\nimport { ColumnClicksWithFluctuation, ColumnImpressionsWithFluctuation, ColumnSpendWithFluctuation } from './fluctuations/performance-columns-with-fluctuation';\r\n/**\r\n * Column Clicks.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnClicks extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId }) {\r\n super({\r\n name: 'Clicks',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column Impressions.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnImpressions extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Impr' }) {\r\n super({\r\n name: 'Impressions',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column CTR.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnCTR extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId }) {\r\n super({\r\n name: 'CTR',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AverageCPC.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAverageCPC extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_AvgCPC' }) {\r\n super({\r\n name: 'AverageCPC',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AveragePosition.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAveragePosition extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_AvgPosition' }) {\r\n super({\r\n name: 'AveragePosition',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AverageCPM.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAverageCPM extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_AvgCPM' }) {\r\n super({\r\n name: 'AverageCPM',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column VideoViews.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnVideoViews extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_VideoViews' }) {\r\n super({\r\n name: 'VideoViews',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_ViewThroughRate' }) {\r\n super({\r\n name: 'ViewThroughRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AverageCPV.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAverageCPV extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_AverageCPV' }) {\r\n super({\r\n name: 'AverageCPV',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column TotalWatchTimeInMS.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnTotalWatchTimeInMS extends PerformanceMetricBaseColumn {\r\n // This helpId is not used in adgroup grid, for adgroup grid,\r\n // see /private/summary-tabs/packages/ad-groups-grid/src/grid-config.js\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_TotalWatchTime' }) {\r\n super({\r\n name: 'TotalWatchTimeInMS',\r\n format: 'thousandth',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AverageWatchTimePerImpression.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAverageWatchTimePerImpression extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_AverageWatchTimePerImpression' }) {\r\n super({\r\n name: 'AverageWatchTimePerImpression',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AverageWatchTimePerVideoView.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAverageWatchTimePerVideoView extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_AverageWatchTimePerVideoView' }) {\r\n super({\r\n name: 'AverageWatchTimePerVideoView',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column VideoViewsAt25Percent.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnVideoViewsAt25Percent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_VideoViewsAt25Percent' }) {\r\n super({\r\n name: 'VideoViewsAt25Percent',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column VideoViewsAt50Percent.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnVideoViewsAt50Percent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_VideoViewsAt50Percent' }) {\r\n super({\r\n name: 'VideoViewsAt50Percent',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column VideoViewsAt75Percent.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnVideoViewsAt75Percent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_VideoViewsAt75Percent' }) {\r\n super({\r\n name: 'VideoViewsAt75Percent',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column CompletedVideoViews.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnCompletedVideoViews extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_CompletedVideoViews' }) {\r\n super({\r\n name: 'CompletedVideoViews',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column VideoCompletionRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnVideoCompletionRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_VideoCompletionRate' }) {\r\n super({\r\n name: 'VideoCompletionRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column Spend.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnSpend extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId }) {\r\n super({\r\n name: 'Spend',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column Total spend.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnTotalSpend extends PhonePerformanceMetricBaseColumn {\r\n // it's put in performance columns in UI, but in metadata, it is phone performance metrics.\r\n constructor({ i18n }) {\r\n super({\r\n name: 'ClickAndPhoneSpend',\r\n format: 'decimal',\r\n i18n,\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnTopImpressionRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'TopImpressionRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_TopImpressionRate',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnAbsoluteTopImpressionRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AbsoluteTopImpressionRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_AbsoluteTopImpressionRate',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnCPS extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AverageCPS',\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_CampaignGrids_CostPerSale',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnDownloads extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'Downloads',\r\n format: 'integer',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_Downloads',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnFirstLaunches extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'FirstLaunches',\r\n format: 'integer',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_Installs',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnPurchases extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'Purchases',\r\n format: 'integer',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_InAppPurchase',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnSubscriptions extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'Subscriptions',\r\n format: 'integer',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_InAppSubscription',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnPostClickDownloadRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'PostClickDownloadRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_DownloadRate',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnCostPerDownload extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'CostPerDownload',\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_CostPerDownload',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnPostClickFirstLaunchRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'PostClickFirstLaunchRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_InstallRate',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnCostPerFirstLaunch extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'CostPerFirstLaunch',\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_CostPerInstall',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnPostInstallPurchaseRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'PostInstallPurchaseRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_PostInstallPurchase',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnCostPerPurchase extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'CostPerPurchase',\r\n format: 'decimal',\r\n i18n,\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnPostInstallSubscriptionRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'PostInstallSubscriptionRate',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_AppAds_PostInstallSubscription',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnCostPerSubscription extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'CostPerSubscription',\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_TopImpressionRate',\r\n });\r\n }\r\n}\r\n\r\nexport const getPerformanceColumns = ({\r\n withFluctuations,\r\n IsVideoAdsPerfMetricsEnabled,\r\n isCPSEnabled,\r\n isAppCampaignNewCampaignGridColumnsEnabled,\r\n} = {}) =>\r\n _.compact([\r\n withFluctuations ? ColumnClicksWithFluctuation : ColumnClicks,\r\n withFluctuations ? ColumnImpressionsWithFluctuation : ColumnImpressions,\r\n ColumnCTR,\r\n ColumnAverageCPC,\r\n withFluctuations ? ColumnSpendWithFluctuation : ColumnSpend,\r\n ColumnAveragePosition,\r\n ColumnAverageCPM,\r\n IsVideoAdsPerfMetricsEnabled && ColumnVideoViews,\r\n IsVideoAdsPerfMetricsEnabled && ColumnViewThroughRate,\r\n IsVideoAdsPerfMetricsEnabled && ColumnAverageCPV,\r\n IsVideoAdsPerfMetricsEnabled && ColumnTotalWatchTimeInMS,\r\n IsVideoAdsPerfMetricsEnabled && ColumnAverageWatchTimePerImpression,\r\n IsVideoAdsPerfMetricsEnabled && ColumnAverageWatchTimePerVideoView,\r\n IsVideoAdsPerfMetricsEnabled && ColumnVideoViewsAt25Percent,\r\n IsVideoAdsPerfMetricsEnabled && ColumnVideoViewsAt50Percent,\r\n IsVideoAdsPerfMetricsEnabled && ColumnVideoViewsAt75Percent,\r\n IsVideoAdsPerfMetricsEnabled && ColumnCompletedVideoViews,\r\n IsVideoAdsPerfMetricsEnabled && ColumnVideoCompletionRate,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnDownloads,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnFirstLaunches,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnPurchases,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnSubscriptions,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnPostClickDownloadRate,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnCostPerDownload,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnPostClickFirstLaunchRate,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnCostPerFirstLaunch,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnPostInstallPurchaseRate,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnCostPerPurchase,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnPostInstallSubscriptionRate,\r\n isAppCampaignNewCampaignGridColumnsEnabled && ColumnCostPerSubscription,\r\n isCPSEnabled && ColumnCPS,\r\n ColumnTotalSpend,\r\n ]);\r\n\r\n/**\r\n * All performance columns without performance fluctuation insights or video\r\n * @type Class[]\r\n */\r\nexport const performanceColumns = getPerformanceColumns();\r\n","/* eslint-disable no-use-before-define */\r\n\r\nimport _ from 'underscore';\r\nimport { PerformanceMetricBaseColumn } from './performance-metric-base-column';\r\nimport { FluctuationBaseColumn } from './fluctuations/fluctuation-base-column';\r\n\r\nconst perfMetricColumnConvertionDef = (targetColumnName, sourceColumnName) => ({\r\n sourceColumnName,\r\n sourceSortableProperty: `PerformanceMetrics/${sourceColumnName}`,\r\n targetSortableProperty: `PerformanceMetrics/${targetColumnName}`,\r\n});\r\n\r\n/**\r\n * Column CPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnCPA extends PerformanceMetricBaseColumn {\r\n static columnName = 'CPA';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_CPA' }) {\r\n super({\r\n name: ColumnCPA.columnName,\r\n format: 'decimal',\r\n helpId,\r\n i18n,\r\n columnConversion:\r\n perfMetricColumnConvertionDef(ColumnCPA.columnName, ColumnPartialConversionCPA.columnName),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column PartialConversionCPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnPartialConversionCPA extends PerformanceMetricBaseColumn {\r\n static columnName = 'PartialConversionCPA';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_CPA' }) {\r\n super({\r\n name: ColumnPartialConversionCPA.columnName,\r\n format: 'decimal',\r\n helpId,\r\n i18n,\r\n columnConversion:\r\n perfMetricColumnConvertionDef(ColumnPartialConversionCPA.columnName, ColumnCPA.columnName),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column Conversions.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnConversions extends PerformanceMetricBaseColumn {\r\n static columnName = 'Conversions';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Conv' }) {\r\n super({\r\n name: ColumnConversions.columnName,\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnConversions.columnName,\r\n ColumnConversionsCredit.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ConversionsCredit (partial conversions).\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnConversionsCredit extends PerformanceMetricBaseColumn {\r\n static columnName = 'ConversionsCredit';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Conv' }) {\r\n super({\r\n name: ColumnConversionsCredit.columnName,\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnConversionsCredit.columnName,\r\n ColumnConversions.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column RevenueOnAdSpend.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnRevenueOnAdSpend extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_ReturnAdSpend' }) {\r\n super({\r\n name: 'RevenueOnAdSpend',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AdvertiserReportedRevenue.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAdvertiserReportedRevenue extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Revenue' }) {\r\n super({\r\n name: 'AdvertiserReportedRevenue',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ConversionRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnConversionRate extends PerformanceMetricBaseColumn {\r\n static columnName = 'ConversionRate';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_ConvRate' }) {\r\n super({\r\n name: ColumnConversionRate.columnName,\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnConversionRate.columnName,\r\n ColumnPartialConversionRate.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ColumnPartialConversionRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnPartialConversionRate extends PerformanceMetricBaseColumn {\r\n // TODO: investigate the need for this static field\r\n static columnName = 'PartialConversionRate';\r\n\r\n // FIXME: get the correct helpId\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_ConvRate' }) {\r\n super({\r\n name: ColumnPartialConversionRate.columnName,\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnPartialConversionRate.columnName,\r\n ColumnConversionRate.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionCPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversionCPA extends PerformanceMetricBaseColumn {\r\n static columnName = 'AllConversionCPA';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConvCPA' }) {\r\n super({\r\n name: ColumnAllConversionCPA.columnName,\r\n format: 'decimal',\r\n helpId,\r\n i18n,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnAllConversionCPA.columnName,\r\n ColumnAllPartialConversionCPA.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllPartialConversionCPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllPartialConversionCPA extends PerformanceMetricBaseColumn {\r\n static columnName = 'AllPartialConversionCPA';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConvCPA' }) {\r\n super({\r\n name: ColumnAllPartialConversionCPA.columnName,\r\n format: 'decimal',\r\n helpId,\r\n i18n,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnAllPartialConversionCPA.columnName,\r\n ColumnAllConversionCPA.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversions.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversions extends PerformanceMetricBaseColumn {\r\n static columnName = 'AllConversions';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConv' }) {\r\n super({\r\n name: ColumnAllConversions.columnName,\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnAllConversions.columnName,\r\n ColumnAllConversionsCredit.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionsCredit.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversionsCredit extends PerformanceMetricBaseColumn {\r\n static columnName = 'AllConversionsCredit';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConv' }) {\r\n super({\r\n name: ColumnAllConversionsCredit.columnName,\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnAllConversionsCredit.columnName,\r\n ColumnAllConversions.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionRevenueOnAdSpend.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversionRevenueOnAdSpend extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConvROAS' }) {\r\n super({\r\n name: 'AllConversionRevenueOnAdSpend',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionAdvertiserReportedRevenue.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversionAdvertiserReportedRevenue extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConvRevenue' }) {\r\n super({\r\n name: 'AllConversionAdvertiserReportedRevenue',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversionRate extends PerformanceMetricBaseColumn {\r\n static columnName = 'AllConversionRate';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConvRate' }) {\r\n super({\r\n name: ColumnAllConversionRate.columnName,\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnAllConversionRate.columnName,\r\n ColumnAllPartialConversionRate.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllPartialConversionRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllPartialConversionRate extends PerformanceMetricBaseColumn {\r\n static columnName = 'AllPartialConversionRate';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_AllConvRate' }) {\r\n super({\r\n name: ColumnAllPartialConversionRate.columnName,\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnAllPartialConversionRate.columnName,\r\n ColumnAllConversionRate.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughConversions.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversions extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughConversions';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ViewThrough' }) {\r\n super({\r\n name: ColumnViewThroughConversions.columnName,\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnViewThroughConversions.columnName,\r\n ColumnViewThroughConversionsCredit.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughConversionsCredit.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversionsCredit extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughConversionsCredit';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ViewThrough' }) {\r\n super({\r\n name: ColumnViewThroughConversionsCredit.columnName,\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnViewThroughConversionsCredit.columnName,\r\n ColumnViewThroughConversions.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughConversionsRevenue.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversionsRevenue extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_ViewThroughConvRevenue' }) {\r\n super({\r\n name: 'ViewThroughConversionsRevenue',\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughConversionsCPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversionsCPA extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughConversionsCPA';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_ViewThroughConvCPA' }) {\r\n super({\r\n name: ColumnViewThroughConversionsCPA.columnName,\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnViewThroughConversionsCPA.columnName,\r\n ColumnViewThroughPartialConversionsCPA.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughPartialConversionsCPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughPartialConversionsCPA extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughPartialConversionsCPA';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_ViewThroughConvCPA' }) {\r\n super({\r\n name: ColumnViewThroughPartialConversionsCPA.columnName,\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnViewThroughPartialConversionsCPA.columnName,\r\n ColumnViewThroughConversionsCPA.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughConversionsReturnOnAdSpend.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversionsReturnOnAdSpend extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughConversionsReturnOnAdSpend';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_ViewThroughConvReturnOnAdSpend' }) {\r\n super({\r\n name: 'ViewThroughConversionsReturnOnAdSpend',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughConversionsRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversionsRate extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughConversionsRate';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_ViewThroughConvRate' }) {\r\n super({\r\n name: ColumnViewThroughConversionsRate.columnName,\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnViewThroughConversionsRate.columnName,\r\n ColumnViewThroughPartialConversionsRate.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ViewThroughPartialConversionsRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughPartialConversionsRate extends PerformanceMetricBaseColumn {\r\n static columnName = 'ViewThroughPartialConversionsRate';\r\n\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_ViewThroughConvRate' }) {\r\n super({\r\n name: ColumnViewThroughPartialConversionsRate.columnName,\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnViewThroughPartialConversionsRate.columnName,\r\n ColumnViewThroughConversionsRate.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Column Conversions with Fluctuation.\r\n * @extends FluctuationBaseColumn\r\n */\r\nexport class ColumnConversionsWithFluctuation extends FluctuationBaseColumn {\r\n static columnName = 'Conversions';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Conv', permissions }) {\r\n super({\r\n name: ColumnConversionsWithFluctuation.columnName,\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n permissions,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnConversionsWithFluctuation.columnName,\r\n ColumnConversionsCreditWithFluctuation.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ConversionsCredit (partial conversions) with Fluctuation.\r\n * @extends FluctuationBaseColumn\r\n */\r\nexport class ColumnConversionsCreditWithFluctuation extends FluctuationBaseColumn {\r\n static columnName = 'ConversionsCredit';\r\n\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_Conv', permissions }) {\r\n super({\r\n name: ColumnConversionsCreditWithFluctuation.columnName,\r\n format: 'decimal',\r\n i18n,\r\n helpId,\r\n permissions,\r\n columnConversion: perfMetricColumnConvertionDef(\r\n ColumnConversionsCreditWithFluctuation.columnName,\r\n ColumnConversionsWithFluctuation.columnName\r\n ),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column SalesCount .\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnSalesCount extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_Sale' }) {\r\n super({\r\n name: 'SalesCount',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnInstalls extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'Installs',\r\n format: 'integer',\r\n i18n,\r\n helpId: 'pop_BA_StoreAds_Install',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnCostPerInstall extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'CostPerInstall',\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_StoreAds_CostPerInstall',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnRevenuePerInstall extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'RevenuePerInstall',\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_StoreAds_RevenuePerInstall',\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionAdvertiserReportedRevenue.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAdvertiserReportedRevenueAdjustment extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AdvertiserReportedRevenueAdjustment',\r\n title: _TL_('Revenue adj.'),\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_CampaignGrids_RevenueAdjustment',\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column AllConversionAdvertiserReportedRevenue.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAllConversionAdvertiserReportedRevenueAdjustment extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AllConversionAdvertiserReportedRevenueAdjustment',\r\n title: _TL_('All revenue adj.'),\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_CampaignGrids_AllRevenueAdjustment',\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column ColumnViewThroughConversionsRevenueAdjustment.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnViewThroughConversionsRevenueAdjustment extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'ViewThroughConversionsRevenueAdjustment',\r\n title: _TL_('View-through revenue adj.'),\r\n format: 'decimal',\r\n i18n,\r\n helpId: 'pop_BA_CampaignGrids_ViewthroughRevenueAdjustment',\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column NewCustomerConversions.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnNewCustomerConversions extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'NewCustomerConversions',\r\n format: 'integer',\r\n i18n,\r\n // helpId: 'pop_BA_CampaignGrids_NewCustomerConversions',\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column NewCustomerConversionsValue.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnNewCustomerRevenue extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'NewCustomerRevenue',\r\n format: 'decimal',\r\n i18n,\r\n // helpId: 'pop_BA_CampaignGrids_NewCustomerConversionsValue',\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column NewCustomerConversionsRate.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnNewCustomerConversionRate extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'NewCustomerConversionRate',\r\n format: 'percentage-value',\r\n i18n,\r\n // helpId: 'pop_BA_CampaignGrids_NewCustomerConversionsRate',\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column NewCustomerConversionsCPA.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnNewCustomerCPA extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'NewCustomerCPA',\r\n format: 'decimal',\r\n i18n,\r\n // helpId: 'pop_BA_CampaignGrids_NewCustomerConversionsCPA',\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Column NewCustomerConversionsReturnOnAdSpend.\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnNewCustomerRevenueOnAdSpend extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'NewCustomerRevenueOnAdSpend',\r\n format: 'percentage-value',\r\n i18n,\r\n // helpId: 'pop_BA_CampaignGrids_NewCustomerConversionsReturnOnAdSpend',\r\n helpId: null,\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const getConversionColumns = ({\r\n withFluctuations = false,\r\n withPartialConversions = false,\r\n isCPSEnabled = false,\r\n isInstallColumnsEnabled = false,\r\n isConversionValueRuleColumnsEnabled = false,\r\n isNewCustomerAcquisitionColumnsEnabled = false,\r\n} = {}) => _.compact([\r\n withPartialConversions ? ColumnPartialConversionCPA : ColumnCPA,\r\n withFluctuations && withPartialConversions && ColumnConversionsCreditWithFluctuation,\r\n withFluctuations && !withPartialConversions && ColumnConversionsWithFluctuation,\r\n !withFluctuations && withPartialConversions && ColumnConversionsCredit,\r\n !withFluctuations && !withPartialConversions && ColumnConversions,\r\n withPartialConversions ? ColumnPartialConversionRate : ColumnConversionRate,\r\n ColumnAdvertiserReportedRevenue,\r\n ColumnRevenueOnAdSpend,\r\n withPartialConversions ? ColumnAllPartialConversionCPA : ColumnAllConversionCPA,\r\n withPartialConversions ? ColumnAllConversionsCredit : ColumnAllConversions,\r\n withPartialConversions ? ColumnAllPartialConversionRate : ColumnAllConversionRate,\r\n ColumnAllConversionAdvertiserReportedRevenue,\r\n ColumnAllConversionRevenueOnAdSpend,\r\n isCPSEnabled && ColumnSalesCount,\r\n isInstallColumnsEnabled && ColumnInstalls,\r\n isInstallColumnsEnabled && ColumnCostPerInstall,\r\n isInstallColumnsEnabled && ColumnRevenuePerInstall,\r\n isConversionValueRuleColumnsEnabled && ColumnAdvertiserReportedRevenueAdjustment,\r\n isConversionValueRuleColumnsEnabled && ColumnAllConversionAdvertiserReportedRevenueAdjustment,\r\n isConversionValueRuleColumnsEnabled && ColumnViewThroughConversionsRevenueAdjustment,\r\n isNewCustomerAcquisitionColumnsEnabled && ColumnNewCustomerConversions,\r\n isNewCustomerAcquisitionColumnsEnabled && ColumnNewCustomerRevenue,\r\n isNewCustomerAcquisitionColumnsEnabled && ColumnNewCustomerConversionRate,\r\n isNewCustomerAcquisitionColumnsEnabled && ColumnNewCustomerCPA,\r\n isNewCustomerAcquisitionColumnsEnabled && ColumnNewCustomerRevenueOnAdSpend,\r\n]);\r\n\r\nexport const conversionsColumns = getConversionColumns();\r\nexport const conversionsColumnsWithFluctuation = getConversionColumns({ withFluctuations: true });\r\n\r\n","import _ from 'underscore';\r\n\r\nconst ELIGIBLE = 'Eligible';\r\nconst INLINE_OPPORTUNITY = 'InlineOpportunity';\r\nconst AUTO_BIDDING_LIMITED = 'AutoBiddingLimitedUnAttainableTarget';\r\nconst enabledStatuses = [ELIGIBLE, INLINE_OPPORTUNITY, AUTO_BIDDING_LIMITED];\r\nconst autoBiddingTargets = ['TargetCpa', 'TargetRoas'];\r\nconst maxConversionTargets = ['MaxConversionValue', 'MaxConversions'];\r\n\r\nexport const getEnabledBidLandscape = (value = {}) => {\r\n const enabledBidLandscapeForLimited = value.DeliveryStatus === AUTO_BIDDING_LIMITED\r\n && _.every(value.DeliveryStatusDetails, detail => _.contains(enabledStatuses, detail));\r\n return (\r\n value.DeliveryStatus === ELIGIBLE\r\n || value.DeliveryStatus === INLINE_OPPORTUNITY\r\n || enabledBidLandscapeForLimited\r\n ) && value.IsBidLandscapeAvailable;\r\n};\r\n\r\nconst getWhiteList = permissions => [\r\n 'ManualCpc',\r\n 'EnhancedCpc',\r\n ...permissions.dynamic && permissions.dynamic.SimulatorForCPAROAS\r\n ? autoBiddingTargets\r\n : [],\r\n ...permissions.IsPmaxBidLandscapeEnabled\r\n ? maxConversionTargets\r\n : [],\r\n];\r\n\r\nexport const getHasBidLandscapeIcon = ({\r\n biddingSchemeType,\r\n inWhiteList,\r\n permissions = {},\r\n value = {},\r\n}) => {\r\n let hasBidLandscapeIcon = !permissions.IsReadOnlyUser\r\n && inWhiteList\r\n && !value.BidStrategyName; // portfolio campaign has no support\r\n\r\n if (_.contains(autoBiddingTargets, biddingSchemeType)) {\r\n hasBidLandscapeIcon = hasBidLandscapeIcon && !value.Budget.Id;\r\n }\r\n\r\n if (_.contains(maxConversionTargets, biddingSchemeType)) {\r\n hasBidLandscapeIcon = hasBidLandscapeIcon && (\r\n !_.isNull(_.result(value.BiddingScheme, 'TargetCpa', null))\r\n || !_.isNull(_.result(value.BiddingScheme, 'TargetRoas', null))\r\n );\r\n }\r\n\r\n return hasBidLandscapeIcon;\r\n};\r\n\r\nexport const getBidLandscapeConfigs = ({\r\n permissions = {},\r\n value = {},\r\n}) => {\r\n if (!permissions.dynamic || !permissions.dynamic.NewBidLandscapeEntryPoints) {\r\n return {\r\n enabledBidLandscape: false,\r\n hasBidLandscapeIcon: false,\r\n };\r\n }\r\n\r\n const enabledBidLandscape = getEnabledBidLandscape(value);\r\n const whiteList = getWhiteList(permissions);\r\n const biddingSchemeType = _.result(value.BiddingScheme, 'Type', null);\r\n const inWhiteList = _.contains(whiteList, biddingSchemeType);\r\n const hasBidLandscapeIcon = getHasBidLandscapeIcon({\r\n biddingSchemeType,\r\n inWhiteList,\r\n permissions,\r\n value,\r\n });\r\n\r\n return {\r\n enabledBidLandscape,\r\n hasBidLandscapeIcon,\r\n };\r\n};\r\n","import { PerformanceMetricBaseColumn } from './performance-metric-base-column';\r\n\r\n/**\r\n * AuctionWonPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAuctionWonPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_IS' }) {\r\n super({\r\n name: 'AuctionWonPercent',\r\n format: 'percentage-value',\r\n helpId,\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * AuctionLostToBudgetPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAuctionLostToBudgetPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ISBudget' }) {\r\n super({\r\n name: 'AuctionLostToBudgetPercent',\r\n format: 'percentage-value',\r\n helpId,\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * AuctionLostToRankPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAuctionLostToRankPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ISRank' }) {\r\n super({\r\n name: 'AuctionLostToRankPercent',\r\n format: 'percentage-value',\r\n helpId,\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * AuctionLostToAdQualityPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAuctionLostToAdQualityPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ISctr' }) {\r\n super({\r\n name: 'AuctionLostToAdQualityPercent',\r\n format: 'percentage-value',\r\n helpId,\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * AuctionLostToLandingPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAuctionLostToLandingPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ISRelv' }) {\r\n super({\r\n name: 'AuctionLostToLandingPercent',\r\n format: 'percentage-value',\r\n helpId,\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * AuctionLostToBidPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAuctionLostToBidPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_ISBid' }) {\r\n super({\r\n name: 'AuctionLostToBidPercent',\r\n format: 'percentage-value',\r\n helpId,\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnExactMatchImpressionSharePercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'ExactMatchImpressionSharePercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_ExactMatchImpressionShare',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnTopImpressionSharePercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'TopImpressionSharePercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_TopImpressionShare',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnTopImpressionShareLostToBudget extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'TopImpressionShareLostToBudget',\r\n property: 'PerformanceMetrics/TopISLostToBudgetPercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_TopImpressionLosttoBudget',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnTopImpressionShareLostToRank extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'TopImpressionShareLostToRank',\r\n property: 'PerformanceMetrics/TopISLostToRankPercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_TopImpressionLosttoRank',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnAbsoluteTopImpressionSharePercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AbsoluteTopImpressionSharePercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_ProductAds_AbsoluteTopImpShare',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnAbsoluteTopImpressionShareLostToBudget extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AbsoluteTopImpressionShareLostToBudget',\r\n property: 'PerformanceMetrics/AbsoluteTopISLostToBudgetPercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_AbsoluteTopISLosttoBudget',\r\n });\r\n }\r\n}\r\n\r\nexport class ColumnAbsoluteTopImpressionShareLostToRank extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AbsoluteTopImpressionShareLostToRank',\r\n property: 'PerformanceMetrics/AbsoluteTopISLostToRankPercent',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId: 'pop_BA_Reporting_Clarity_AbsoluteTopISLosttoRank',\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ClickSharePercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnClickSharePercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'ClickSharePercent',\r\n format: 'percentage-value',\r\n helpId: 'pop_BA_Reporting_ProductAds_ClickSharePercent',\r\n i18n,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * AudienceAuctionWonPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAudienceAuctionWonPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AudienceImpressionShare',\r\n property: 'PerformanceMetrics/AudienceAuctionWonPercent',\r\n format: 'percentage-value',\r\n helpId: 'pop_BA_Reporting_Clarity_AudienceNetwork_ImpressionShare',\r\n i18n,\r\n });\r\n }\r\n\r\n template({ value }) {\r\n // eslint-disable-next-line no-extra-boolean-cast\r\n return super.template({ value: Boolean(value) ? value : null });\r\n }\r\n}\r\n\r\n/**\r\n * AudienceTopISLostToBudgetPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAudienceTopISLostToBudgetPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AudienceImpressionShareLostToBudget',\r\n property: 'PerformanceMetrics/AudienceTopISLostToBudgetPercent',\r\n format: 'percentage-value',\r\n helpId: 'pop_BA_Reporting_Clarity_AudienceNetwork_ImpressionShare_LostBudget',\r\n i18n,\r\n });\r\n }\r\n\r\n template({ value }) {\r\n // eslint-disable-next-line no-extra-boolean-cast\r\n return super.template({ value: Boolean(value) ? value : null });\r\n }\r\n}\r\n\r\n/**\r\n * AudienceTopISLostToRankPercent\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnAudienceTopISLostToRankPercent extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'AudienceImpressionShareLostToRank',\r\n property: 'PerformanceMetrics/AudienceTopISLostToRankPercent',\r\n format: 'percentage-value',\r\n helpId: 'pop_BA_Reporting_Clarity_AudienceNetwork_ImpressionShare_LostRank',\r\n i18n,\r\n });\r\n }\r\n\r\n template({ value }) {\r\n // eslint-disable-next-line no-extra-boolean-cast\r\n return super.template({ value: Boolean(value) ? value : null });\r\n }\r\n}\r\n\r\n/**\r\n * RelativeCTR\r\n * @extends PerformanceMetricBaseColumn\r\n */\r\nexport class ColumnRelativeCTR extends PerformanceMetricBaseColumn {\r\n constructor({ i18n }) {\r\n super({\r\n name: 'RelativeCTR',\r\n format: 'percentage-value',\r\n helpId: 'pop_BA_Reporting_Clarity_RelativeCTR',\r\n i18n,\r\n });\r\n }\r\n\r\n template({ value }) {\r\n // eslint-disable-next-line no-extra-boolean-cast\r\n return super.template({ value: Boolean(value) ? value : null });\r\n }\r\n}\r\n\r\n/**\r\n * All competitive columns\r\n * @type Class[]\r\n */\r\nexport const competitiveColumns = [\r\n ColumnAuctionWonPercent,\r\n ColumnAuctionLostToBudgetPercent,\r\n ColumnAuctionLostToRankPercent,\r\n ColumnAuctionLostToAdQualityPercent,\r\n ColumnAuctionLostToLandingPercent,\r\n ColumnAuctionLostToBidPercent,\r\n ColumnClickSharePercent,\r\n];\r\n","import { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { SchemaI18n } from '@bingads-webui-universal/schema-i18n';\r\nimport { PhonePerformanceMetricBaseColumn } from './performance-metric-base-column';\r\nimport callTrackingStatusTemplate from './call-forwarding.pug';\r\n\r\n/**\r\n * Call forwarding\r\n * @extends CampaignuiBaseColumn\r\n */\r\n\r\nexport class ColumnCallForwarding extends CampaignuiBaseColumn {\r\n constructor({ i18n }) {\r\n const title = i18n.getString('ColumnName_CallMeteringEligibility');\r\n\r\n super({\r\n name: 'CallForwarding',\r\n property: 'CallTrackingStatus',\r\n title,\r\n sortable: 'CallTrackingStatus',\r\n type: 'string',\r\n helpId: 'Page_AdExtensions_CallForward',\r\n helpAriaLabel: i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n this.schemaI18n = new SchemaI18n({ i18n });\r\n }\r\n\r\n template({ value }) {\r\n return callTrackingStatusTemplate({ value, schemaI18n: this.schemaI18n });\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Manual calls\r\n * @extends PhonePerformanceMetricBaseColumn\r\n */\r\nexport class ColumnManualCalls extends PhonePerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_Reporting_Clarity_PhoneCalls' }) {\r\n super({\r\n name: 'ManualCalls',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Phone impressions\r\n * @extends PhonePerformanceMetricBaseColumn\r\n */\r\nexport class ColumnPhoneImpressions extends PhonePerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_PhoneImpr' }) {\r\n super({\r\n name: 'PhoneImpressions',\r\n format: 'integer',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * PTR\r\n * @extends PhonePerformanceMetricBaseColumn\r\n */\r\nexport class ColumnPTR extends PhonePerformanceMetricBaseColumn {\r\n constructor({ i18n, helpId }) {\r\n super({\r\n name: 'PTR',\r\n format: 'percentage-value',\r\n i18n,\r\n helpId,\r\n });\r\n }\r\n}\r\n\r\n\r\n/**\r\n * All call details columns\r\n * @type Class[]\r\n */\r\nexport const callDetailsColumns = [\r\n ColumnCallForwarding,\r\n ColumnManualCalls,\r\n ColumnPhoneImpressions,\r\n ColumnPTR,\r\n];\r\n","import { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { SchemaI18n } from '@bingads-webui-universal/schema-i18n';\r\n\r\nimport bidStrategyTypeTemplate from './bid-strategy-type.pug';\r\n\r\nexport class BidStrategyTypeColumn extends CampaignuiBaseColumn {\r\n constructor({ i18n, helpId = 'pop_BA_CampaignGrids_BidStrategy', isAllSettingsGrid }) {\r\n const title = i18n.getString('ColumnName_BidStrategyType');\r\n const property = isAllSettingsGrid ? 'BiddingScheme/Type' : 'DisplayBiddingStrategyType';\r\n\r\n super({\r\n name: 'BidStrategyType',\r\n property,\r\n title,\r\n sortable: 'DisplayBiddingStrategyType',\r\n type: 'string',\r\n helpId,\r\n helpAriaLabel: i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n this.schemaI18n = new SchemaI18n({ i18n });\r\n }\r\n\r\n template({ value }) {\r\n return bidStrategyTypeTemplate({ value, schemaI18n: this.schemaI18n });\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport campaignTemplate from './campaign.pug';\r\n\r\nexport class CampaignColumn extends CampaignuiBaseColumn {\r\n constructor({\r\n i18n,\r\n scope,\r\n routeTemplate,\r\n showExperiment,\r\n name,\r\n isForVNext,\r\n }) {\r\n super({\r\n name: _.isString(name) ? name : 'Campaign',\r\n property: _.compact([\r\n 'Campaign/Name',\r\n 'Campaign/Id',\r\n showExperiment && 'Campaign/BaseCampaignName',\r\n ]),\r\n title: i18n.getString('ColumnName_Campaign'),\r\n sortable: 'Campaign/Name',\r\n type: 'string',\r\n bodyClasses: ['grid-column-Campaign'],\r\n });\r\n\r\n this.i18n = i18n;\r\n this.scope = scope;\r\n this.routeTemplate = routeTemplate;\r\n this.isForVNext = isForVNext;\r\n }\r\n\r\n pickProperty(item) {\r\n const { customerId: cid, accountId: aid } = this.scope;\r\n const {\r\n Campaign: {\r\n Name: name,\r\n Id: cmpid,\r\n BaseCampaignName: baseCampaignName,\r\n } = {},\r\n } = item;\r\n\r\n let ariaLabel = this.i18n.getString('Click to scope to campaign {{campaignName}}', { campaignName: name });\r\n let className = '';\r\n\r\n if (this.isForVNext && baseCampaignName) {\r\n ariaLabel = this.i18n.getString('Click to scope to experiment {{experimentName}}', { experimentName: name });\r\n className = 'experiment-name';\r\n }\r\n\r\n return {\r\n name,\r\n href: this.routeTemplate({\r\n cid,\r\n aid,\r\n cmpid,\r\n }),\r\n cmpid,\r\n baseCampaignName,\r\n isForVNext: this.isForVNext,\r\n ariaLabel,\r\n className,\r\n };\r\n }\r\n\r\n get template() { return campaignTemplate; }\r\n}\r\n\r\nexport function createCustomCampaignColumnClass({ name }) {\r\n return class CustomCampaignColumn extends CampaignColumn {\r\n constructor({\r\n i18n,\r\n scope,\r\n routeTemplate,\r\n showExperiment,\r\n isForVNext,\r\n }) {\r\n super({\r\n i18n,\r\n scope,\r\n routeTemplate,\r\n showExperiment,\r\n name,\r\n isForVNext,\r\n });\r\n }\r\n };\r\n}\r\n","import _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { getViolationsFromCategoryFAIDMapping, shouldRepairGoogleImportVideoAd } from '@bingads-webui-campaign/delivery-status-popup-factory';\r\nimport template from './delivery.pug';\r\nimport { getBidLandscapeConfigs } from '../bid-landscape-utils';\r\n\r\nexport class DeliveryColumn extends CampaignuiBaseColumn {\r\n constructor({\r\n i18n,\r\n isForVNext,\r\n isCampaign,\r\n property,\r\n scope,\r\n permissions,\r\n view,\r\n }) {\r\n const isForCampaignPage = scope && scope.location && (scope.location.pathname === '/campaign/vnext/campaigns');\r\n const newHelpIdForMMAInDSA = permissions && permissions.IsMMAInDSAEnabled && isForCampaignPage;\r\n\r\n const isForAdsPage = scope && scope.location && (scope.location.pathname === '/campaign/vnext/ads');\r\n const isEditorialCategoryEnabled = permissions && permissions.IsEditorialCategoryEnabled;\r\n\r\n if (_.isUndefined(property)) {\r\n if (isCampaign) {\r\n // eslint-disable-next-line no-param-reassign\r\n property = ['Id', 'Name', 'DeliveryStatus', 'DeliveryStatusDetails', 'Budget', 'IsBidLandscapeAvailable', 'BiddingScheme'];\r\n } else if (isEditorialCategoryEnabled && isForAdsPage) {\r\n // EditorialCategories pilot\r\n // eslint-disable-next-line no-param-reassign\r\n property = ['DeliveryStatus', 'DeliveryStatusDetails', 'EditorialCategories', 'Budget', 'IsBidLandscapeAvailable', 'BiddingScheme'];\r\n } else {\r\n // eslint-disable-next-line no-param-reassign\r\n property = ['DeliveryStatus', 'DeliveryStatusDetails', 'Budget', 'IsBidLandscapeAvailable', 'BiddingScheme'];\r\n }\r\n\r\n if (isCampaign) {\r\n property.push('AssociatedExperiment');\r\n }\r\n }\r\n\r\n const title = i18n.getString('ColumnName_DeliveryStatus');\r\n\r\n super({\r\n name: 'Delivery',\r\n property,\r\n title,\r\n sortable: 'DeliveryStatus',\r\n type: 'string',\r\n helpId: newHelpIdForMMAInDSA ? 'pop_BA_CampaignGrids_Delivery' : 'Page_CampaignGrids_Delivery',\r\n bodyClasses: ['grid-column-Delivery'],\r\n helpAriaLabel: i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n\r\n this.i18n = i18n;\r\n this.isForVNext = isForVNext;\r\n this.isCampaign = isCampaign;\r\n this.isEditorialCategoryEnabled = isEditorialCategoryEnabled;\r\n this.isForAdsPage = isForAdsPage;\r\n this.instrumentation = view && view.instrumentation;\r\n this.IsGoogleImportVideoAdsEnabled = permissions && permissions.IsGoogleImportVideoAdsEnabled;\r\n this.showBudgetSuggestion = permissions && permissions.dynamic && permissions.dynamic.EnableBudgetSuggestion;\r\n this.permissions = permissions;\r\n }\r\n\r\n pickProperty(item) {\r\n const videoNeedsToBeConverted = this.IsGoogleImportVideoAdsEnabled && shouldRepairGoogleImportVideoAd(item);\r\n\r\n if (this.isCampaign) {\r\n return {\r\n Id: item.Id,\r\n DeliveryStatus: item.DeliveryStatus,\r\n Budget: item.Budget,\r\n IsAppealable: item.IsAppealable,\r\n AssociatedExperiment: item.AssociatedExperiment,\r\n ExperimentId: item.ExperimentId,\r\n DeliveryStatusDetails: item.DeliveryStatusDetails,\r\n BiddingScheme: item.BiddingScheme,\r\n IsBidLandscapeAvailable: item.IsBidLandscapeAvailable,\r\n };\r\n } else if (this.isEditorialCategoryEnabled && this.isForAdsPage) {\r\n // EditorialCategories pilot\r\n return {\r\n Id: item.Id,\r\n Budget: item.Budget,\r\n BiddingScheme: item.BiddingScheme,\r\n DeliveryStatus: item.DeliveryStatus,\r\n EditorialCategories: item.EditorialCategories,\r\n VideoNeedsToBeConverted: videoNeedsToBeConverted,\r\n DeliveryStatusDetails: item.DeliveryStatusDetails,\r\n IsBidLandscapeAvailable: item.IsBidLandscapeAvailable,\r\n };\r\n }\r\n return {\r\n Id: item.Id,\r\n Budget: item.Budget,\r\n BiddingScheme: item.BiddingScheme,\r\n DeliveryStatus: item.DeliveryStatus,\r\n DeliveryStatusDetails: item.DeliveryStatusDetails,\r\n IsBidLandscapeAvailable: item.IsBidLandscapeAvailable,\r\n };\r\n }\r\n\r\n template({ value }) {\r\n let { DeliveryStatus } = value;\r\n const { DeliveryStatusDetails } = value;\r\n let showEllipsisForExperiment = false;\r\n\r\n const isAutoBiddingLimited = DeliveryStatus === 'AutoBiddingLimitedUnAttainableTarget';\r\n let { enabledBidLandscape, hasBidLandscapeIcon } = getBidLandscapeConfigs({\r\n permissions: this.permissions,\r\n value,\r\n });\r\n if (!isAutoBiddingLimited) {\r\n enabledBidLandscape = false;\r\n hasBidLandscapeIcon = false;\r\n }\r\n\r\n if (this.isCampaign\r\n && value.ExperimentId\r\n && value.AssociatedExperiment) {\r\n showEllipsisForExperiment = true;\r\n DeliveryStatus = _.result({\r\n Promoted: 'ExperimentApplied',\r\n Graduated: 'ExperimentApplied',\r\n Ended: 'ExperimentEnded',\r\n }, value.AssociatedExperiment.Status, DeliveryStatus);\r\n }\r\n\r\n const errorStatusList = [\r\n 'AdGroupExpired',\r\n 'AudienceTooNarrow',\r\n 'CreditCardExpired',\r\n 'IOExceeded',\r\n 'PaymentInformationMissing',\r\n 'InvalidFinancialStatusOther',\r\n 'MigrationPaused',\r\n 'CampaignDeleted',\r\n 'CampaignBudgetPaused',\r\n 'AdGroupDeleted',\r\n 'CamAssetRejected',\r\n 'EditorialRejected',\r\n 'EditorialAppealRejected',\r\n 'CPSNonRetailDomain',\r\n 'LinkedInAccountServingHold',\r\n 'LinkedInCompanyPagePaidMediaRequired',\r\n 'DisclaimerInfoRejected',\r\n 'DisclaimerInfoRejectedAppealRejected',\r\n ];\r\n // these are not treated as warning or error\r\n const whiteList = [\r\n 'Eligible',\r\n 'EditorialApprovedLimited',\r\n 'EditorialApprovedLimitedAppealRejected',\r\n 'Incomplete',\r\n 'InlineOpportunity',\r\n 'AdGroupAudienceAssociationPaused',\r\n 'AdGroupAudienceAssociationExcluded',\r\n 'ExperimentApplied',\r\n 'ExperimentEnded',\r\n 'AutoBiddingLimitedUnAttainableTarget',\r\n 'CampaignInReview',\r\n 'DisclaimerInfoApprovedLimited',\r\n 'DisclaimerInfoApprovedLimitedAppealRejected',\r\n ];\r\n const inWhiteList = _.contains(whiteList, DeliveryStatus);\r\n const isErrorStatus = _.contains(errorStatusList, DeliveryStatus);\r\n const isWarningStatus = !inWhiteList && !isErrorStatus;\r\n\r\n const hasRejectReasonWhitelist = [\r\n 'Eligible',\r\n 'BudgetSuggestions',\r\n 'Incomplete',\r\n 'GeoCodingIncomplete',\r\n 'CampaignBudgetPaused',\r\n 'InlineOpportunity',\r\n ];\r\n\r\n const activity = this.instrumentation && this.instrumentation.autobiddingLimitedStatus &&\r\n this.instrumentation.autobiddingLimitedStatus.create().renderDeliveryStatus.create();\r\n\r\n if (activity && this.isCampaign && _.contains(['AutoBiddingLimitedInventoryLimit', 'AutoBiddingLimitedMaxCPCRestriction', 'AutoBiddingLimitedBudgetRestriction', 'AutoBiddingLimitedUnAttainableTarget', 'AutoBiddingPortfolioBidStrategyTrainingStatus'], DeliveryStatus)) {\r\n activity.trace(JSON.stringify({\r\n campaignId: value.Id,\r\n deliveryStatus: DeliveryStatus,\r\n }));\r\n }\r\n\r\n const adsActivity = this.instrumentation && this.instrumentation.logDeliveryStatus && this.instrumentation.logDeliveryStatus.create().logAdsDeliveryStatus.create();\r\n if (adsActivity && _.contains(['EditorialApprovedLimitedAppealRejected', 'EditorialAppealRejected'], DeliveryStatus)) {\r\n adsActivity.trace(JSON.stringify({\r\n adId: value.Id,\r\n deliveryStatus: DeliveryStatus,\r\n }));\r\n }\r\n\r\n // const showRejectPopup = !_.contains(hasRejectReasonWhitelist, DeliveryStatus);\r\n const showBudgetSuggestionWithDeliveryStatusDetails = this.showBudgetSuggestion && _.includes(DeliveryStatusDetails, 'BudgetSuggestions');\r\n const showRejectPopup = !_.contains(hasRejectReasonWhitelist, DeliveryStatus) && !showBudgetSuggestionWithDeliveryStatusDetails;\r\n\r\n // popup for 0) pilot and only for ads-page; 1) reject; or 2) mapped EditorialCategory is not empty\r\n let shouldEditorialCategoriesPopup = false;\r\n if (this.isEditorialCategoryEnabled && this.isForAdsPage) {\r\n const { EditorialCategories } = value;\r\n shouldEditorialCategoriesPopup = getViolationsFromCategoryFAIDMapping(EditorialCategories).length > 0;\r\n }\r\n\r\n // const showBudgetLandscape = (DeliveryStatus === 'BudgetSuggestions' || DeliveryStatus === 'CampaignBudgetPaused') && !!value.Budget;\r\n const showBudgetLandscape = (DeliveryStatus === 'BudgetSuggestions' || DeliveryStatus === 'CampaignBudgetPaused' || showBudgetSuggestionWithDeliveryStatusDetails) && !!value.Budget;\r\n const budgetLandscapeClassName = this.isCampaign\r\n ? 'iconba iconba-Financial bidlandscape_icon gridDetailsImage spritedimagealign clickable delivery_status_with_budget_suggestions'\r\n : ' status_icon gridDetailsImage spritedimagealign clickable delivery_status_with_budget_suggestions';\r\n\r\n const isCampaignBudgetLandScape = this.isCampaign && showBudgetLandscape;\r\n const containerClassName = isCampaignBudgetLandScape\r\n ? 'layout-marked-element status-row budget-landscape-row grid-editable-cell'\r\n : 'layout-marked-element status-row';\r\n\r\n const opportunityPopupHandlerClass = 'delivery_status_with_inline_opportunities';\r\n const inlineOpportunityClassname = `iconba iconba-CustomerInsightsShape inline-recommendation-grid-icon clickable ${opportunityPopupHandlerClass}`;\r\n const vnextInlineOpportunityClassname = 'iconba iconba-CustomerInsightsShape inline-recommendation-grid-icon clickable';\r\n\r\n // seems not in use, so not update this\r\n const withInlineAppeals = this.isCampaign\r\n && (DeliveryStatus === 'EditorialRejected' || DeliveryStatus === 'EditorialApprovedLimited') && value.IsAppealable === true;\r\n const showInlineOpportunityPopup = DeliveryStatus === 'InlineOpportunity';\r\n const shouldShowPopUpStyleInVnext = this.isForVNext\r\n && (showRejectPopup || showBudgetLandscape || showInlineOpportunityPopup);\r\n\r\n const vnextContainerClasses = [];\r\n if (isCampaignBudgetLandScape) {\r\n vnextContainerClasses.push('budget-landscape-row clickable');\r\n }\r\n if (showInlineOpportunityPopup) {\r\n vnextContainerClasses.push(opportunityPopupHandlerClass);\r\n vnextContainerClasses.push('clickable');\r\n }\r\n const vNextContainerClassName = vnextContainerClasses.join(' ');\r\n\r\n return template({\r\n Id: value.Id,\r\n isErrorStatus,\r\n isWarningStatus,\r\n showRejectPopup: showRejectPopup || shouldEditorialCategoriesPopup,\r\n showInlineOpportunityPopup,\r\n inlineOpportunityClassname,\r\n vnextInlineOpportunityClassname,\r\n DeliveryStatus,\r\n i18n: this.i18n,\r\n isForVNext: this.isForVNext,\r\n showBudgetLandscape,\r\n hasBidlandscapeIcon: hasBidLandscapeIcon,\r\n enabledBidlandscape: enabledBidLandscape,\r\n budgetType: value && value.Budget ? value.Budget.Type : null,\r\n budgetId: value && value.Budget ? value.Budget.Id : null,\r\n budgetLandscapeClassName,\r\n withInlineAppeals,\r\n showEllipsisForExperiment,\r\n containerClassName,\r\n vNextContainerClassName,\r\n shouldShowPopUpStyleInVnext,\r\n shouldShowSensitiveContentWarning: shouldEditorialCategoriesPopup,\r\n videoNeedsToBeConverted: value.VideoNeedsToBeConverted,\r\n });\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport qualityScoreTemplate from './quality-score.pug';\r\n\r\nexport class QualityScoreColumn extends CampaignuiBaseColumn {\r\n constructor({ i18n, helpId = 'Page_CampaignGrids_QualScore', isForVNext }) {\r\n const title = i18n.getString('ColumnName_QualityScore');\r\n\r\n super({\r\n name: 'QualityScore',\r\n property: 'QualityScore',\r\n title,\r\n sortable: 'QualityScore/OverallQualityScore',\r\n type: 'string',\r\n bodyClasses: ['grid-column-QualityScore'],\r\n helpId,\r\n helpAriaLabel: i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n\r\n this.titleDetail = i18n.getString('Page_Keywords_QualityScoreDetails');\r\n this.isForVNext = isForVNext;\r\n }\r\n\r\n pickProperty(item) {\r\n return _.defaults({\r\n score: item && item.QualityScore && item.QualityScore.OverallQualityScore,\r\n title: this.titleDetail,\r\n });\r\n }\r\n\r\n template(model) {\r\n return qualityScoreTemplate(_.extend({\r\n isForVNext: this.isForVNext,\r\n }, model));\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\n/**\r\n * show the quality score detail in the dialog next to it\r\n *\r\n * @param {Object} event - The backbone click event from where the quality score cell was clicked.\r\n * @param {Object} qualityScore - The qualityscore detailed object.\r\n * @param {String} qsContainerId - The container id to show the quality score detail info.\r\n * @param {Object} legacyGlobalI18n - Legacy global i18n\r\n * @returns {undefined}.\r\n */\r\nexport function showQualityScoreDetail(event, qualityScore, qsContainerId, legacyGlobalI18n) {\r\n const {\r\n KeywordRelevance,\r\n LandingPageQuality,\r\n LandingPageRelevance,\r\n OverallQualityScore,\r\n } = qualityScore || {};\r\n\r\n $.gridPopup.clickEvent(\r\n event, () => {\r\n $.advertiser.controls.qualityscore.DisplayQsFlyout( // eslint-disable-line new-cap\r\n KeywordRelevance || 0,\r\n LandingPageQuality || 0,\r\n LandingPageRelevance || 0,\r\n OverallQualityScore || 0\r\n );\r\n },\r\n qsContainerId,\r\n `${legacyGlobalI18n.getString('QualityScoreFlyOut_TotalScoreHeading')} ${OverallQualityScore} ${legacyGlobalI18n.getString('QualityScoreFlyOut_TotalScore')}`\r\n );\r\n}\r\n","import _ from 'underscore';\r\nimport $ from 'jquery';\r\n\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { renderStatusPopupEditor } from '@bingads-webui-campaign/status-popup-editor';\r\n\r\nimport statusIconTemplate from './status-icon.pug';\r\nimport headerTemplate from './status-icon-header-template.pug';\r\n\r\nexport class StatusIconColumn extends CampaignuiBaseColumn {\r\n constructor({\r\n i18n,\r\n view,\r\n showExperiment,\r\n enableEdit,\r\n statusOptions = [{ name: 'Enabled', value: 'Active' }, { name: 'Paused', value: 'Paused' }],\r\n isCampaign = false,\r\n isForVNext = false,\r\n sortable,\r\n group,\r\n title,\r\n enableGridFlexLayout = false,\r\n }) {\r\n super({\r\n name: 'Status',\r\n property: _.compact([\r\n 'Status',\r\n showExperiment && (isCampaign ? 'ExperimentId' : 'Campaign/ExperimentId'),\r\n isCampaign && 'ImportProperties',\r\n ]),\r\n title: title || 'Status',\r\n sortable: sortable || 'Status',\r\n isResizable: false,\r\n type: 'string',\r\n enableEdit,\r\n headerTemplate: () => headerTemplate({}),\r\n group,\r\n });\r\n\r\n this.i18n = i18n;\r\n this.view = view;\r\n this.statusOptions = statusOptions;\r\n this.isCampaign = isCampaign;\r\n this.isForVNext = isForVNext;\r\n this.enableGridFlexLayout = enableGridFlexLayout;\r\n }\r\n\r\n isExperiment(item) {\r\n return _.result(this.isCampaign ? item : item.Campaign, 'ExperimentId');\r\n }\r\n\r\n pickProperty(item) {\r\n const {\r\n Status,\r\n Id,\r\n } = item;\r\n\r\n return {\r\n Status,\r\n Id,\r\n isExperiment: this.isExperiment(item),\r\n };\r\n }\r\n\r\n template(model) {\r\n return statusIconTemplate(_.extend({}, model, {\r\n i18n: this.i18n, isForVNext: this.isForVNext, enableGridFlexLayout: this.enableGridFlexLayout,\r\n }));\r\n }\r\n\r\n onPrompt({\r\n event,\r\n item,\r\n position,\r\n newPosition,\r\n }) {\r\n if (item.CampaignType === 'Smart' && item.DeliveryStatus === 'CampaignInProgress') {\r\n return;\r\n }\r\n const statusEditor = renderStatusPopupEditor({\r\n position: this.isForVNext ? newPosition : position,\r\n i18n: this.i18n,\r\n currentStatus: item.Status,\r\n statusOptions: (() => {\r\n let options = this.statusOptions;\r\n\r\n if (this.isExperiment(item)) {\r\n options = _.map(options, (option) => {\r\n const iconClass = _.result({\r\n Enabled: 'experiment-active-icon',\r\n Paused: 'experiment-paused-icon',\r\n }, option.name);\r\n\r\n return _.defaults({ iconClass }, option);\r\n });\r\n }\r\n\r\n return options;\r\n })(),\r\n isForVNext: this.isForVNext,\r\n });\r\n\r\n $(event.target).attr('aria-expanded', 'true');\r\n\r\n statusEditor.then((status) => {\r\n $(event.target).attr('aria-expanded', 'false');\r\n\r\n if (status) {\r\n this.updateStatus({ status, item });\r\n }\r\n });\r\n }\r\n\r\n updateStatus() {\r\n throw new Error('updateStatus not implemented');\r\n }\r\n}\r\n","import Backbone from 'backbone';\r\nimport budgetSplitTmpl from './budget-split.pug';\r\nimport budgetNotEditableTmpl from './budget-not-editable.pug';\r\n\r\nexport class BudgetSplitView extends Backbone.View {\r\n initialize(options) {\r\n this.i18n = options.i18n;\r\n this.item = options.item;\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .closeimage': 'onClose',\r\n };\r\n }\r\n\r\n onClose() {\r\n this.remove();\r\n }\r\n\r\n render() {\r\n this.$el.html(budgetSplitTmpl({\r\n i18n: this.i18n,\r\n item: this.item,\r\n }));\r\n\r\n return this;\r\n }\r\n}\r\n\r\nexport class BudgetNotEditableView extends Backbone.View {\r\n initialize(options) {\r\n this.i18n = options.i18n;\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .closeimage': 'onClose',\r\n };\r\n }\r\n\r\n onClose() {\r\n this.remove();\r\n }\r\n\r\n render() {\r\n this.$el.html(budgetNotEditableTmpl({ i18n: this.i18n }));\r\n\r\n return this;\r\n }\r\n}\r\n","import $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { GridCustomizedPopupEditor } from '@bingads-webui-campaign/grid-customized-popup-editor';\r\nimport { showBudgetBidCampaignNotifications } from '@bingads-webui-campaign/import-shared-utils';\r\nimport { BudgetNotEditableView } from './budget';\r\nimport budgetTemplate from './budget-template.pug';\r\nimport unpurposedBudgetTemplate from './unpurposed-budget-template.pug';\r\n\r\nexport class BudgetColumn extends CampaignuiBaseColumn {\r\n constructor(options) {\r\n const { dynamic } = options.permissions || {};\r\n const { CampaignLifetimeBudget: IsCampaignLifetimeBudgetEnabled } = dynamic || {};\r\n\r\n const title = options.i18n.getString(IsCampaignLifetimeBudgetEnabled ? 'ColumnName_DailyBudgetAmount' : 'ColumnName_BudgetAmount');\r\n\r\n super({\r\n name: 'Budget',\r\n property: ['Budget', 'DeliveryStatus', 'DeliveryStatusDetails', 'IsBidLandscapeAvailable', 'BiddingScheme', 'BidStrategyName', 'ImportProperties'],\r\n title,\r\n sortable: 'Budget/Amount',\r\n editable: true,\r\n enableEdit: item => item.Budget?.Type === 'DailyStandard',\r\n type: 'number',\r\n helpId: 'pop_BA_CampaignGrids_SharedBudget',\r\n helpAriaLabel: options.i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n\r\n this.delta = 0;\r\n this.resetDelta = null;\r\n this.view = options.view;\r\n this.i18n = options.i18n;\r\n this.schemaI18n = options.schemaI18n;\r\n this.numberFormatter = options.i18n.decimalToFixedFormatter(2);\r\n this.InlineSharedBudgetEditor = options.InlineSharedBudgetEditor;\r\n this.InlineBudgetEditor = options.InlineBudgetEditor;\r\n this.budgetTemplate = options.budgetTemplate || budgetTemplate;\r\n this.decimal = options.decimal;\r\n this.permissions = options.permissions;\r\n this.isForVNext = options.isForVNext;\r\n this.isCampaign = options.isCampaign;\r\n }\r\n\r\n pickProperty(item) {\r\n const propertys = {\r\n Budget: item.Budget,\r\n DeliveryStatus: item.DeliveryStatus,\r\n IsBidLandscapeAvailable: item.IsBidLandscapeAvailable,\r\n BiddingScheme: item.BiddingScheme,\r\n DeliveryStatusDetails: item.DeliveryStatusDetails,\r\n BidStrategyName: item.BidStrategyName,\r\n };\r\n propertys.AssociatedExperiment = item.AssociatedExperiment;\r\n return propertys;\r\n }\r\n\r\n onPrompt({\r\n position, item, event, newPosition,\r\n }) {\r\n if ($(event.target).hasClass('experiment-budget-ellipsis')) {\r\n // already handled in grid\r\n return null;\r\n }\r\n\r\n if ($(event.target).hasClass('bidlandscape_icon')) {\r\n // already handled in campaigns-grid.es\r\n return null;\r\n }\r\n const groupClass = `grid-group-${_.result(this.config, 'group', 'other')}`;\r\n if (item.ExperimentId > 0) {\r\n const budgetNotEditableView = new BudgetNotEditableView({ i18n: this.i18n }).render();\r\n\r\n return new GridCustomizedPopupEditor({\r\n editorView: budgetNotEditableView,\r\n cellPosition: position,\r\n renderBelow: false,\r\n className: `grid-popupeditor ${groupClass}`,\r\n }).render();\r\n }\r\n\r\n const { instrumentation } = this.view;\r\n let budgetBidCampaignImportNotificationActivity;\r\n if (instrumentation) {\r\n budgetBidCampaignImportNotificationActivity = instrumentation.createScenarioAndActivity({\r\n scenarioName: 'BudgetBidCampaignImportNotification',\r\n activityName: 'CampaignsGridBudgetColumn',\r\n }).activity;\r\n }\r\n\r\n\r\n if (item.Budget.Id) {\r\n // shared budget\r\n const sharedBudgetEditor = new this.InlineSharedBudgetEditor({\r\n model: {\r\n budgetAmount: item.Budget.Amount,\r\n budgetType: item.Budget.Type,\r\n budgetName: item.Budget.Name,\r\n budgetId: item.Budget.Id,\r\n campaignId: item.Id,\r\n permissions: this.permissions,\r\n DeliveryStatus: item.DeliveryStatus,\r\n DeliveryStatusDetails: item.DeliveryStatusDetails,\r\n },\r\n renderAsPopup: true,\r\n $elToBlock: this.view.grid.gridView.$el,\r\n isForVNext: this.isForVNext,\r\n importNotificationCallback: (newBudget) => {\r\n showBudgetBidCampaignNotifications({\r\n campaignItemList: [item], oldBudget: item.Budget, newBudget, activity: budgetBidCampaignImportNotificationActivity,\r\n });\r\n },\r\n });\r\n\r\n sharedBudgetEditor.on('close', () => {\r\n this.view.grid.gridView.refresh(true);\r\n });\r\n\r\n const editorView = new GridCustomizedPopupEditor({\r\n editorView: sharedBudgetEditor.render(),\r\n cellPosition: this.isForVNext ? newPosition : position,\r\n renderBelow: false,\r\n className: `grid-popupeditor ${groupClass}`,\r\n parentContainerSelector: this.isForVNext ? '.grid-and-disclaim-container' : null,\r\n });\r\n\r\n return editorView.render();\r\n } else if (item.Budget.Amount) {\r\n const editor = new this.InlineBudgetEditor({\r\n item,\r\n $elToBlock: this.view.grid.gridView.$el,\r\n isForVNext: this.isForVNext,\r\n permissions: this.permissions,\r\n showBudgetMinRecommend: this.permissions.dynamic && this.permissions.dynamic.BCCBudgetImprovementEnabled,\r\n currencySymbol: this.i18n.getCurrencySymbol(),\r\n clientName: this.isCampaign ? 'CampaignTabEditing' : 'AllCampaignSetting',\r\n perfMarker: this.view.campaignTabPerfMarker,\r\n importNotificationCallback: (newBudget) => {\r\n showBudgetBidCampaignNotifications({\r\n campaignItemList: [item], oldBudget: item.Budget, newBudget, activity: budgetBidCampaignImportNotificationActivity,\r\n });\r\n },\r\n });\r\n\r\n editor.on('close', (update) => {\r\n if (update) {\r\n this.view.grid.gridView.refresh(true);\r\n }\r\n });\r\n\r\n const editorView = new GridCustomizedPopupEditor({\r\n editorView: editor.render(),\r\n cellPosition: this.isForVNext ? newPosition : position,\r\n renderBelow: false,\r\n className: 'grid-popupeditor'.concat(` ${groupClass}`).concat(this.permissions.IsBudgetInlineSuggestionEnabled ? ' inline-budget-editor-popup' : ''),\r\n parentContainerSelector: this.isForVNext ? '.grid-and-disclaim-container' : null,\r\n });\r\n\r\n editorView.render();\r\n return editorView;\r\n }\r\n return _.noop;\r\n }\r\n\r\n template({ value }) {\r\n let params = null;\r\n const enabledStatus = ['Eligible', 'InlineOpportunity', 'AutoBiddingLimitedUnAttainableTarget'];\r\n const autoBiddingTarget = ['TargetCpa', 'TargetRoas'];\r\n const maxConversionTarget = ['MaxConversionValue', 'MaxConversions'];\r\n const whiteList = [\r\n 'ManualCpc',\r\n 'EnhancedCpc',\r\n ...this.permissions.dynamic && this.permissions.dynamic.SimulatorForCPAROAS ? autoBiddingTarget : [],\r\n ...this.permissions.IsPmaxBidLandscapeEnabled ? maxConversionTarget : [],\r\n ];\r\n const biddingSchemeType = _.result(value.BiddingScheme, 'Type', null);\r\n const inWhiteList = _.contains(whiteList, biddingSchemeType);\r\n const enabledBidlandscapeForLimited = value.DeliveryStatus === 'AutoBiddingLimitedUnAttainableTarget' && (_.every(value.DeliveryStatusDetails, detail => _.contains(enabledStatus, detail)));\r\n const enabledBidlandscape = (value.DeliveryStatus === 'Eligible' || value.DeliveryStatus === 'InlineOpportunity' || enabledBidlandscapeForLimited) && value.IsBidLandscapeAvailable;\r\n let hasBidlandscapeIcon = !this.permissions.IsReadOnlyUser && inWhiteList && !value.BidStrategyName; // portfolio campaign has no support\r\n if (_.contains(autoBiddingTarget, biddingSchemeType)) {\r\n hasBidlandscapeIcon = hasBidlandscapeIcon && !value.Budget.Id;\r\n }\r\n if (_.contains(maxConversionTarget, biddingSchemeType)) {\r\n hasBidlandscapeIcon = hasBidlandscapeIcon && (!_.isNull(_.result(value.BiddingScheme, 'TargetCpa', null)) || !_.isNull(_.result(value.BiddingScheme, 'TargetRoas', null)));\r\n }\r\n\r\n if (value.Budget) {\r\n if (value.Budget.Type === 'LifetimeBudgetStandard') {\r\n return unpurposedBudgetTemplate();\r\n }\r\n\r\n const isBudgetCenterEntryEnabled = this.permissions.dynamic && !this.permissions.dynamic.IsSmartPageStandalone && !this.permissions.IsUnifiedSmartMode && !this.permissions.IsSmartMode\r\n && _.isNumber(value.Budget.MonthlyAmount);\r\n // aggregated row budget\r\n if (_.isNumber(value.Budget.DailyBudget)) {\r\n params = {\r\n budgetAmount: this.decimal.fromFloatToString(value.Budget.DailyBudget + this.delta),\r\n budgetTypeText: this.schemaI18n.value('Budget', 'ShortType', 'DailyStandard'),\r\n budgetName: null,\r\n budgetId: 0,\r\n enabledBidlandscape,\r\n hasBidlandscapeIcon,\r\n isBudgetCenterEntryEnabled,\r\n i18n: this.i18n,\r\n };\r\n } else {\r\n params = {\r\n budgetAmount: this.decimal.fromFloatToString(value.Budget.Amount),\r\n budgetType: value.Budget.Type,\r\n budgetTypeText: this.schemaI18n.value('Budget', 'ShortType', value.Budget.Type),\r\n budgetName: value.Budget.Name,\r\n budgetId: value.Budget.Id,\r\n enabledBidlandscape,\r\n hasBidlandscapeIcon,\r\n isBudgetCenterEntryEnabled,\r\n i18n: this.i18n,\r\n };\r\n }\r\n\r\n params.AssociatedExperiment = value.AssociatedExperiment;\r\n }\r\n\r\n return this.budgetTemplate({\r\n model: params,\r\n });\r\n }\r\n}\r\n","import { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\n\r\nexport class BidStrategyNameColumn extends CampaignuiBaseColumn {\r\n constructor({ i18n, isCampaign }) {\r\n const title = i18n.getString('ColumnName_BidStrategyName');\r\n const property = isCampaign ? 'BidStrategyName' : 'Campaign/BidStrategyName';\r\n\r\n super({\r\n name: 'BidStrategyName',\r\n property,\r\n title,\r\n sortable: property,\r\n type: 'string',\r\n bodyClasses: ['grid-column-BidStrategyName'],\r\n helpId: 'pop_BA_CampaignGrids_PortfolioBidStrat',\r\n helpAriaLabel: i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n }\r\n\r\n template({\r\n value: BidStrategyName,\r\n }) {\r\n // for aggregated rows\r\n if (BidStrategyName === undefined) {\r\n return ' ';\r\n }\r\n // for data rows\r\n return BidStrategyName || '-';\r\n }\r\n}\r\n","/* eslint-disable import/extensions */\r\n/* eslint-disable import/no-unresolved */\r\nimport _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { isXandrServing } from '@bingads-webui-campaign-react/constants';\r\nimport template from './campaign-bid-strategy-template.pug';\r\n\r\nexport class CampaignBidStrategyTypeColumn extends CampaignuiBaseColumn {\r\n constructor(options) {\r\n const {\r\n i18n,\r\n helpId = 'pop_BA_CampaignGrids_BidStrategy',\r\n } = options;\r\n const title = i18n.getString('ColumnName_BidStrategyType');\r\n const helpAriaLabel = i18n.getString('Click to learn more about {{item}}', { item: title });\r\n\r\n super({\r\n name: 'DisplayBiddingStrategyType',\r\n property: ['BiddingScheme', 'CampaignSubType'],\r\n title,\r\n sortable: 'DisplayBiddingStrategyType',\r\n type: 'string',\r\n bodyClasses: ['grid-column-BidStrategyType'],\r\n helpId,\r\n helpAriaLabel,\r\n });\r\n this.i18n = i18n;\r\n this.permissions = options.permissions;\r\n }\r\n\r\n pickProperty(item) {\r\n let type = _.result(item.BiddingScheme, 'Type', null);\r\n\r\n if (isXandrServing(item.CampaignSubType, item.CampaignSettings)) {\r\n if (type === 'ManualCpm') {\r\n type = 'ViewableCpm';\r\n } else if (type === 'ManualCpv') {\r\n type = 'Cpcv';\r\n }\r\n }\r\n\r\n this.CampaignType = item.CampaignType;\r\n this.BiddingScheme = item.BiddingScheme;\r\n\r\n return type;\r\n }\r\n\r\n template({ value }) {\r\n return template({\r\n DisplayBiddingStrategyType: value,\r\n CampaignType: this.CampaignType,\r\n BiddingScheme: this.BiddingScheme,\r\n i18n: this.i18n,\r\n });\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport { CampaignuiBaseColumn } from '@bingads-webui-campaign/campaignui-base-column';\r\nimport { GridCustomizedPopupEditor } from '@bingads-webui-campaign/grid-customized-popup-editor';\r\nimport { showBudgetBidCampaignNotifications } from '@bingads-webui-campaign/import-shared-utils';\r\nimport unpurposedBudgetTemplate from './unpurposed-budget-template.pug';\r\nimport budgetTemplate from './lifetime-budget-template.pug';\r\n\r\nconst LifetimeBudgetType = 'LifetimeBudgetStandard';\r\n\r\nexport class LifetimeBudgetColumn extends CampaignuiBaseColumn {\r\n constructor(options) {\r\n const title = options.i18n.getString('ColumnName_LifetimeBudgetAmount');\r\n\r\n super({\r\n name: 'LifetimeBudget',\r\n property: ['Budget'],\r\n title,\r\n sortable: 'Budget/LifetimeBudgetAmount',\r\n editable: true,\r\n enableEdit: item => item.Budget?.Type === LifetimeBudgetType,\r\n type: 'number',\r\n helpId: 'pop_BA_CampaignGrids_SharedBudget',\r\n helpAriaLabel: options.i18n.getString('Click to learn more about {{item}}', { item: title }),\r\n });\r\n\r\n this.view = options.view;\r\n this.i18n = options.i18n;\r\n this.InlineBudgetEditor = options.InlineBudgetEditor;\r\n this.budgetTemplate = budgetTemplate;\r\n this.decimal = options.decimal;\r\n this.permissions = options.permissions;\r\n this.isForVNext = options.isForVNext;\r\n this.isCampaign = options.isCampaign;\r\n }\r\n\r\n pickProperty(item) {\r\n const properties = {\r\n Budget: item.Budget,\r\n DeliveryStatus: item.DeliveryStatus,\r\n IsBidLandscapeAvailable: item.IsBidLandscapeAvailable,\r\n BiddingScheme: item.BiddingScheme,\r\n DeliveryStatusDetails: item.DeliveryStatusDetails,\r\n BidStrategyName: item.BidStrategyName,\r\n };\r\n properties.AssociatedExperiment = item.AssociatedExperiment;\r\n return properties;\r\n }\r\n\r\n onPrompt({\r\n position, item, newPosition,\r\n }) {\r\n const groupClass = `grid-group-${_.result(this.config, 'group', 'other')}`;\r\n const { instrumentation } = this.view;\r\n let budgetBidCampaignImportNotificationActivity;\r\n if (instrumentation) {\r\n budgetBidCampaignImportNotificationActivity = instrumentation.createScenarioAndActivity({\r\n scenarioName: 'BudgetBidCampaignImportNotification',\r\n activityName: 'CampaignsGridBudgetColumn',\r\n }).activity;\r\n }\r\n\r\n\r\n if (item.Budget.LifetimeBudgetAmount) {\r\n const editor = new this.InlineBudgetEditor({\r\n item,\r\n $elToBlock: this.view.grid.gridView.$el,\r\n isForVNext: this.isForVNext,\r\n permissions: this.permissions,\r\n showBudgetMinRecommend: this.permissions.dynamic && this.permissions.dynamic.BCCBudgetImprovementEnabled,\r\n currencySymbol: this.i18n.getCurrencySymbol(),\r\n clientName: this.isCampaign ? 'CampaignTabEditing' : 'AllCampaignSetting',\r\n perfMarker: this.view.campaignTabPerfMarker,\r\n importNotificationCallback: (newBudget) => {\r\n showBudgetBidCampaignNotifications({\r\n campaignItemList: [item], oldBudget: item.Budget, newBudget, activity: budgetBidCampaignImportNotificationActivity,\r\n });\r\n },\r\n });\r\n\r\n editor.on('close', (update) => {\r\n if (update) {\r\n this.view.grid.gridView.refresh(true);\r\n }\r\n });\r\n\r\n const editorView = new GridCustomizedPopupEditor({\r\n editorView: editor.render(),\r\n cellPosition: this.isForVNext ? newPosition : position,\r\n renderBelow: false,\r\n className: 'grid-popupeditor'.concat(` ${groupClass}`).concat(this.permissions.IsBudgetInlineSuggestionEnabled ? ' inline-budget-editor-popup' : ''),\r\n parentContainerSelector: this.isForVNext ? '.grid-and-disclaim-container' : null,\r\n });\r\n\r\n editorView.render();\r\n return editorView;\r\n }\r\n return _.noop;\r\n }\r\n\r\n template({ value }) {\r\n let params = null;\r\n if (value.Budget) {\r\n if (value.Budget.Type && value.Budget.Type !== LifetimeBudgetType) {\r\n return unpurposedBudgetTemplate();\r\n }\r\n\r\n // aggregated row budget\r\n if (_.isNumber(value.Budget.LifetimeBudget)) {\r\n params = {\r\n budgetAmount: this.decimal.fromFloatToString(value.Budget.LifetimeBudget),\r\n budgetType: LifetimeBudgetType,\r\n i18n: this.i18n,\r\n };\r\n } else {\r\n params = {\r\n budgetAmount: value.Budget.LifetimeBudgetAmount ? this.decimal.fromFloatToString(value.Budget.LifetimeBudgetAmount) : '',\r\n budgetType: value.Budget.Type,\r\n i18n: this.i18n,\r\n };\r\n }\r\n }\r\n\r\n return this.budgetTemplate({\r\n model: params,\r\n });\r\n }\r\n}\r\n","import Backbone from 'backbone';\r\nimport {\r\n isCashbackPercentValid,\r\n getCashbackPercentValidationError,\r\n getRealCashbackPercentValue,\r\n isCashbackPercentEmpty,\r\n getCashbackInheritOptions } from '@bingads-webui-campaign/personalized-offer-shared';\r\nimport template from './cashback-percent-control-view.pug';\r\n\r\nexport class CashbackPercentControlView extends Backbone.View {\r\n initialize({\r\n viewContext,\r\n i18n,\r\n decimal,\r\n CashbackPercent = null,\r\n isParentLevel = false,\r\n showInheritFromParentOption = true,\r\n isCreationScenario = false,\r\n allowEmptyCashbackPercent = true,\r\n }) {\r\n this.i18n = i18n;\r\n this.decimal = decimal;\r\n this.isValid = true;\r\n this.viewContext = viewContext;\r\n this.isParentLevel = isParentLevel;\r\n this.showInheritFromParentOption = showInheritFromParentOption;\r\n this.isCreationScenario = isCreationScenario;\r\n this.allowEmptyCashbackPercent = allowEmptyCashbackPercent;\r\n\r\n this.snapshotValue = '';\r\n this.cashbackPercentValue = isCashbackPercentEmpty(CashbackPercent) ? '' : decimal.fromFloatToString(CashbackPercent);\r\n }\r\n\r\n get events() {\r\n return {\r\n 'input .cashback-percent-input': e => this.handleCashbackPercentChange(e),\r\n 'change .cashback-option-select': e => this.handleCashbackOptionChange(e),\r\n };\r\n }\r\n\r\n handleCashbackOptionChange() {\r\n this.$('.error').empty();\r\n this.isValid = true;\r\n const selectedOption = this.$('.cashback-option-select').val();\r\n\r\n if (selectedOption !== 'override') {\r\n // save snapshot value\r\n const currentCashbackInputVal = this.$('.cashback-percent-input').val();\r\n this.snapshotValue = currentCashbackInputVal;\r\n }\r\n\r\n if (selectedOption === 'noCashback') {\r\n this.cashbackPercentValue = 0;\r\n this.$('.cashback-input-container').addClass('hide');\r\n this.$('.inherit-cashback-value').addClass('hide');\r\n this.trigger('change', true, this.cashbackPercentValue);\r\n } else if (selectedOption === 'inherit') {\r\n this.cashbackPercentValue = null;\r\n this.$('.inherit-cashback-value').removeClass('hide');\r\n this.$('.cashback-input-container').addClass('hide');\r\n\r\n this.trigger('change', true, this.cashbackPercentValue);\r\n } else if (selectedOption === 'override') {\r\n this.$('.cashback-input-container').removeClass('hide');\r\n this.$('.inherit-cashback-value').addClass('hide');\r\n this.$('.cashback-percent-input').val(this.snapshotValue);\r\n\r\n if (!isCashbackPercentValid(\r\n this.snapshotValue,\r\n this.decimal,\r\n this.allowEmptyCashbackPercent\r\n )) {\r\n this.showError(this.snapshotValue);\r\n this.trigger('change', false);\r\n } else {\r\n this.cashbackPercentValue = getRealCashbackPercentValue(\r\n this.snapshotValue,\r\n this.decimal\r\n );\r\n this.trigger('change', true, this.cashbackPercentValue);\r\n }\r\n } else {\r\n this.$('.inherit-cashback-value').addClass('hide');\r\n this.$('.cashback-input-container').addClass('hide');\r\n this.cashbackPercentValue = 0;\r\n this.trigger('change', true, this.cashbackPercentValue);\r\n }\r\n }\r\n\r\n showError(cashbackPercentValue) {\r\n const error = getCashbackPercentValidationError(\r\n cashbackPercentValue,\r\n this.i18n,\r\n this.decimal,\r\n this.allowEmptyCashbackPercent\r\n );\r\n this.$('.error').text(error);\r\n this.isValid = false;\r\n }\r\n\r\n handleCashbackPercentChange() {\r\n this.$('.error').empty();\r\n this.isValid = true;\r\n const cashbackPercentInputValue = this.$('.cashback-percent-input').val();\r\n const cashbackPercentValid = isCashbackPercentValid(\r\n cashbackPercentInputValue,\r\n this.decimal,\r\n this.allowEmptyCashbackPercent\r\n );\r\n\r\n if (!cashbackPercentValid) {\r\n this.showError(cashbackPercentInputValue);\r\n this.trigger('change', false);\r\n } else {\r\n this.cashbackPercentValue = getRealCashbackPercentValue(\r\n cashbackPercentInputValue,\r\n this.decimal\r\n );\r\n this.trigger('change', true, this.cashbackPercentValue);\r\n }\r\n }\r\n\r\n validate() {\r\n const selectedOption = this.$('.cashback-option-select').val();\r\n const inputValue = this.$('.cashback-percent-input').val();\r\n if (selectedOption !== 'override') {\r\n return true;\r\n }\r\n\r\n const cashbackPercentValid = isCashbackPercentValid(\r\n inputValue,\r\n this.decimal,\r\n this.allowEmptyCashbackPercent\r\n );\r\n\r\n if (!cashbackPercentValid) {\r\n this.showError(inputValue);\r\n this.trigger('change', false);\r\n }\r\n return cashbackPercentValid;\r\n }\r\n\r\n getCashbackPercentValue() {\r\n return getRealCashbackPercentValue(this.cashbackPercentValue, this.decimal);\r\n }\r\n\r\n getCashbackOptionInfo() {\r\n const campaignCashbackOptions = [\r\n {\r\n text: this.i18n.getString('CashbackOption_OverrideTo'),\r\n value: 'override',\r\n },\r\n {\r\n text: this.i18n.getString('CashbackOption_NoCashback'),\r\n value: 'noCashback',\r\n },\r\n ];\r\n\r\n const cashbackOptionInfo =\r\n getCashbackInheritOptions({\r\n CashbackPercent: this.cashbackPercentValue,\r\n viewContext: this.viewContext,\r\n i18n: this.i18n,\r\n readonly: this.isParentLevel,\r\n });\r\n let {\r\n options: cashbackOptions,\r\n selected: selectedOption,\r\n } = cashbackOptionInfo;\r\n const {\r\n inheritValue: inheritCashbackPercent,\r\n } = cashbackOptionInfo;\r\n\r\n if (!this.showInheritFromParentOption) {\r\n cashbackOptions = campaignCashbackOptions;\r\n cashbackOptions[0].text = this.i18n.getString('CashbackOption_SetTo');\r\n }\r\n\r\n if (!this.showInheritFromParentOption) {\r\n if (this.isCreationScenario || isCashbackPercentEmpty(this.cashbackPercentValue)) {\r\n selectedOption = 'override';\r\n } else if (getRealCashbackPercentValue(this.cashbackPercentValue, this.decimal) === 0) {\r\n selectedOption = 'noCashback';\r\n } else {\r\n selectedOption = 'override';\r\n }\r\n }\r\n\r\n return {\r\n inheritCashbackPercent: inheritCashbackPercent === '-' ? '-' :\r\n this.decimal.fromFloatToString(inheritCashbackPercent),\r\n selectedOption,\r\n cashbackOptions,\r\n readonly: this.isParentLevel,\r\n };\r\n }\r\n\r\n render() {\r\n this.$el.html(template({\r\n i18n: this.i18n,\r\n percentage: this.cashbackPercentValue,\r\n size: 5,\r\n ...this.getCashbackOptionInfo(),\r\n }));\r\n\r\n return this;\r\n }\r\n\r\n setValues(cashbackPercent) {\r\n cashbackPercent = getRealCashbackPercentValue(cashbackPercent, this.decimal); // eslint-disable-line\r\n let selectedOption;\r\n if (cashbackPercent === -1) {\r\n selectedOption = 'inherit';\r\n } else if (cashbackPercent === 0 && !this.showInheritFromParentOption) {\r\n selectedOption = 'noCashback';\r\n } else {\r\n selectedOption = 'override';\r\n }\r\n\r\n const cashbackOptionSelect = this.$('.cashback-option-select');\r\n cashbackOptionSelect.val(selectedOption);\r\n this.handleCashbackOptionChange();\r\n\r\n const cashbackPercentInput = this.$('.cashback-percent-input');\r\n if (!isCashbackPercentEmpty(cashbackPercent)) {\r\n cashbackPercentInput.val(this.decimal.fromFloatToString(cashbackPercent));\r\n } else {\r\n cashbackPercentInput.val('');\r\n }\r\n if (selectedOption === 'override') {\r\n this.handleCashbackPercentChange();\r\n }\r\n }\r\n}\r\n","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (model) {if ((model.allowNoDate)) {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"radioInput\\\"\"+\" role=\\\"radiogroup\\\"\"+pug.attr(\"aria-label\", model.noDateGroupAriaLabel, true, true)) + \"\\u003E\\u003Cdiv class=\\\"nodate\\\"\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" name=\\\"date\\\" value=\\\"False\\\"\"+pug.attr(\"checked\", model.isNodateSelected, true, true)+pug.attr(\"aria-label\", model.noDateLabel, true, true)) + \"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = model.noDateLabel) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radioInput\\\"\\u003E\\u003Cdiv class=\\\"date\\\"\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" name=\\\"date\\\" value=\\\"True\\\"\"+pug.attr(\"checked\", !model.isNodateSelected, true, true)+pug.attr(\"aria-label\", model.dateLabel || model.datePickerAriaLabel, true, true)) + \"\\u003E\\u003Clabel\" + (pug.attr(\"aria-label\", model.dateLabel, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = model.dateLabel) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-ref=\\\"date-picker\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv data-ref=\\\"date-picker\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (schemaI18n, value) {if (value) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = schemaI18n.enum('BidStrategyType', value)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}}.call(this,\"schemaI18n\" in locals_for_with?locals_for_with.schemaI18n:typeof schemaI18n!==\"undefined\"?schemaI18n:undefined,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"budget-info\\\"\\u003E\\u003Ca class=\\\"closeimage pull-right\\\"\\u003E\\u003C\\u002Fa\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Experiment_Edit_Budget')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n, item) {var title = item.ExperimentId ? 'Experiment_BudgetEllipsis_Title_Exp_' + item.AssociatedExperiment.Status : 'Experiment_BudgetEllipsis_Title_Base'\nvar split = item.AssociatedExperiment.TrafficSplitPercent\nvar splitBase = split ? (100 - split) : '-'\nvar splitExp = split || '-'\npug_html = pug_html + \"\\u003Cdiv class=\\\"budget-detail\\\"\\u003E\\u003Ca class=\\\"closeimage pull-right\\\" style=\\\"margin-left: 8px\\\"\\u003E\\u003C\\u002Fa\\u003E\" + (null == (pug_interp = i18n.getString(title)) ? \"\" : pug_interp) + \"\\u003Cul style=\\\"list-style: disc inside; margin-bottom: 0;\\\"\\u003E\\u003Cli\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Experiment_BudgetEllipsis_Content_Base').replace('{0}', splitBase)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Experiment_BudgetEllipsis_Content_Exp').replace('{0}', splitExp)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"item\" in locals_for_with?locals_for_with.item:typeof item!==\"undefined\"?item:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (model) {if (model) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = model.budgetName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cdiv\\u003E\\u003Cspan\" + (\" class=\\\"combinedBudgetGridCellValue\\\"\"+pug.attr(\"data-budgetamount\", model.budgetAmount, true, true)+pug.attr(\"data-budgettype\", model.budgetType, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = model.budgetAmount) ? \"\" : pug_interp)) + \"\\u002F\" + (pug.escape(null == (pug_interp = model.budgetTypeText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\nif (model.AssociatedExperiment) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status_icon gridDetailsImage spritedimagealign experiment-budget-ellipsis\\\" tabindex=\\\"0\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}}.call(this,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (BiddingScheme, CampaignType, DisplayBiddingStrategyType, i18n) {if (DisplayBiddingStrategyType) {\nif (CampaignType == 'App') {\nif (BiddingScheme && BiddingScheme.Type && BiddingScheme.Type === 'ManualCpc') {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BidStrategy_ManualCpc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BidStrategy_ManualCpi')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\n}\nelse\nif (DisplayBiddingStrategyType == 'InheritFromParent' || DisplayBiddingStrategyType == 'MaxClicks' || DisplayBiddingStrategyType == 'MaxConversions' || DisplayBiddingStrategyType == 'TargetCpa' || DisplayBiddingStrategyType == 'TargetRoas' || DisplayBiddingStrategyType == 'EnhancedCpc' || DisplayBiddingStrategyType === 'MaxConversionValue' || DisplayBiddingStrategyType === 'TargetImpressionShare' || DisplayBiddingStrategyType === 'ManualCpa' || DisplayBiddingStrategyType === 'ManualCpc' || DisplayBiddingStrategyType === 'ManualCpv' || DisplayBiddingStrategyType === 'ManualCpm' || DisplayBiddingStrategyType === 'Commission' || DisplayBiddingStrategyType === 'PercentCpc' || DisplayBiddingStrategyType === 'CostPerSale' || DisplayBiddingStrategyType === 'ViewableCpm' || DisplayBiddingStrategyType === 'Cpcv' || DisplayBiddingStrategyType === 'MaxReach' || DisplayBiddingStrategyType === 'MaxImpressions') {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BidStrategy_'+DisplayBiddingStrategyType)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('BidStrategy_ManualCpc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}}.call(this,\"BiddingScheme\" in locals_for_with?locals_for_with.BiddingScheme:typeof BiddingScheme!==\"undefined\"?BiddingScheme:undefined,\"CampaignType\" in locals_for_with?locals_for_with.CampaignType:typeof CampaignType!==\"undefined\"?CampaignType:undefined,\"DisplayBiddingStrategyType\" in locals_for_with?locals_for_with.DisplayBiddingStrategyType:typeof DisplayBiddingStrategyType!==\"undefined\"?DisplayBiddingStrategyType:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (value) {if (value.$total) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = value.$total.text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (value.name) {\nif (value.baseCampaignName) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"base-campaign-name\\\"\\u003E\" + (pug.escape(null == (pug_interp = value.baseCampaignName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nif (value.isForVNext) {\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"class\", pug.classes([\"scope-navigator\",value.className], [false,true]), false, true)+pug.attr(\"href\", value.href, true, true)+pug.attr(\"data-campaignid\", value.cmpid, true, true)+pug.attr(\"aria-label\", value.ariaLabel, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = value.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", value.href, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = value.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}}.call(this,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (value) {if (value.name) {\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", value.href, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = value.name) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}}.call(this,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (DeliveryStatus, GeoCodeStatus, Id, budgetId, budgetLandscapeClassName, budgetType, containerClassName, enabledBidlandscape, hasBidlandscapeIcon, i18n, inlineOpportunityClassname, isErrorStatus, isForVNext, isWarningStatus, shouldShowPopUpStyleInVnext, shouldShowSensitiveContentWarning, showBudgetLandscape, showEllipsisForExperiment, showInlineOpportunityPopup, showRejectPopup, vNextContainerClassName, videoNeedsToBeConverted, vnextInlineOpportunityClassname, withInlineAppeals) {pug_mixins[\"ellipsis\"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-image\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"status_icon gridDetailsImage spritedimagealign clickable experiment-delivery-status-override delivery_status_with_reject_reasons\\\"\"+pug.attr(\"title\", i18n.getString('Page_Keywords_DeliveryStatusDetails'), true, true)+pug.attr(\"aria-label\", i18n.getString('Page_Keywords_DeliveryStatusDetails'), true, true)+\" id=\\\"reasonImage#{Id}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\nif (isForVNext) {\nif (DeliveryStatus) {\nvar statusTypeClass = isErrorStatus ? 'status-error' : (isWarningStatus ? 'status-warning' : 'status-info')\nvar localizedText = i18n.getString('Label_DeliveryStatus_' + DeliveryStatus)\nif (shouldShowSensitiveContentWarning) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"delivery\\\"\\u003E\\u003Cdiv class=\\\"dashedBottomLine\\\"\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"editorial-category-delivery-info\",`${shouldShowPopUpStyleInVnext ? 'trigger-popup' : ''} ${vNextContainerClassName}`], [false,true]), false, true)) + \"\\u003E\";\nif (isErrorStatus) {\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"status-icon iconba iconba-ErrorBadge\\\"\"+pug.attr(\"title\", i18n.getString('DeliveryStatusIcon_Tooltip_Error'), true, true)+pug.attr(\"aria-label\", i18n.getString('DeliveryStatusIcon_Tooltip_Error'), true, true)+\" role=\\\"img\\\"\") + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif ((isWarningStatus || videoNeedsToBeConverted)) {\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"status-icon iconba iconba-Warning\\\"\"+pug.attr(\"title\", i18n.getString('DeliveryStatusIcon_Tooltip_Warning'), true, true)+pug.attr(\"aria-label\", i18n.getString('DeliveryStatusIcon_Tooltip_Warning'), true, true)+\" role=\\\"img\\\"\") + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nif (showRejectPopup) {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",\"clickable\",`${statusTypeClass} delivery_status_with_reject_reasons`], [false,false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (showBudgetLandscape) {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",`${statusTypeClass} delivery_status_with_budget_suggestions`], [false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\" + (\" class=\\\"status-column iconba iconba-Financial\\\"\"+\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidLandscape_ClickableIconText'), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (showInlineOpportunityPopup) {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",statusTypeClass], [false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",vnextInlineOpportunityClassname], [false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('InlineOpportunity_Bubble_TooltipText'), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",statusTypeClass], [false,true]), false, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"sensitive-contents-text\\\"\\u003E\\u003Cspan class=\\\"delivery_status_with_reject_reasons_editorial_category\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Label_DeliveryStatus_Sensitive_Content')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"delivery-info\",`${shouldShowPopUpStyleInVnext ? 'trigger-popup' : ''} ${vNextContainerClassName}`], [false,true]), false, true)) + \"\\u003E\";\nif (isErrorStatus) {\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"status-icon iconba iconba-ErrorBadge\\\"\"+pug.attr(\"title\", i18n.getString('DeliveryStatusIcon_Tooltip_Error'), true, true)+pug.attr(\"aria-label\", i18n.getString('DeliveryStatusIcon_Tooltip_Error'), true, true)+\" role=\\\"img\\\"\") + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (isWarningStatus) {\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"status-icon iconba iconba-Warning\\\"\"+pug.attr(\"title\", i18n.getString('DeliveryStatusIcon_Tooltip_Warning'), true, true)+pug.attr(\"aria-label\", i18n.getString('DeliveryStatusIcon_Tooltip_Warning'), true, true)+\" role=\\\"img\\\"\") + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nif (showRejectPopup) {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",\"clickable\",`${statusTypeClass} delivery_status_with_reject_reasons`], [false,false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (showBudgetLandscape) {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",`${statusTypeClass} delivery_status_with_budget_suggestions`], [false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\" + (\" class=\\\"status-column iconba iconba-Financial\\\"\"+\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidLandscape_ClickableIconText'), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (showInlineOpportunityPopup) {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",statusTypeClass], [false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",vnextInlineOpportunityClassname], [false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('InlineOpportunity_Bubble_TooltipText'), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"status-column\",statusTypeClass], [false,true]), false, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = localizedText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\nif (hasBidlandscapeIcon&&budgetType) {\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"status-column\",\"iconba\",\"iconba-Financial\",\"bidlandscape_icon\",\"spritedimagealign\",\"spritedimage\",\"clickable\",enabledBidlandscape?'enabled':'disabled'], [false,false,false,false,false,false,false,true]), false, true)+\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"id\", `campainBidLandscape${budgetId}`, true, true)+pug.attr(\"aria-label\", i18n.getString('Campaign_BidLandscape_Title'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}\n}\nelse {\nif (DeliveryStatus) {\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([containerClassName], [true]), false, true)) + \"\\u003E\\u003Cdiv class=\\\"mark-container\\\"\\u003E\";\nif (isErrorStatus || isWarningStatus) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-icon\\\"\\u003E\";\nif (isErrorStatus) {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"status_error spritedimagealign\\\"\"+pug.attr(\"title\", i18n.getString('DeliveryStatusIcon_Tooltip_Error'), true, true)+pug.attr(\"aria-label\", i18n.getString('DeliveryStatusIcon_Tooltip_Error'), true, true)+\" role=\\\"img\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"status_warning spritedimagealign\\\"\"+pug.attr(\"title\", i18n.getString('DeliveryStatusIcon_Tooltip_Warning'), true, true)+pug.attr(\"aria-label\", i18n.getString('DeliveryStatusIcon_Tooltip_Warning'), true, true)+\" role=\\\"img\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"decorated-element\\\"\\u003E\";\nif (DeliveryStatus === 'GeoCodingIncomplete') {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-column\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Label_DeliveryStatus_1101_' + GeoCodeStatus)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-column\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Label_DeliveryStatus_' + DeliveryStatus)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"glyph-container\\\"\\u003E\";\nif (withInlineAppeals) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-image\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"status_icon gridDetailsImage spritedimagealign clickable delivery_status_with_inline_appeals\\\"\"+pug.attr(\"data-entityId\", Id, true, true)+\" title=\\\"\\\" id=\\\"reasonImage#{Id}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (showRejectPopup) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-image\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"status_icon gridDetailsImage spritedimagealign clickable delivery_status_with_reject_reasons\\\"\"+pug.attr(\"title\", i18n.getString('Page_Keywords_DeliveryStatusDetails'), true, true)+pug.attr(\"aria-label\", i18n.getString('Page_Keywords_DeliveryStatusDetails'), true, true)+\" id=\\\"reasonImage#{Id}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (showBudgetLandscape) {\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([budgetLandscapeClassName], [true]), false, true)+pug.attr(\"data-entityId\", Id, true, true)+\" title=\\\"\\\" id=\\\"BudgetImage#{Id}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidLandscape_ClickableIconText'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (showInlineOpportunityPopup) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"inline-opportunity-status\\\"\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([inlineOpportunityClassname], [true]), false, true)+pug.attr(\"data-entityId\", Id, true, true)+pug.attr(\"title\", i18n.getString('InlineOpportunity_Bubble_TooltipText'), true, true)+pug.attr(\"aria-label\", i18n.getString('InlineOpportunity_Bubble_TooltipText'), true, true)+\" id=\\\"InlineOpportunity#{Id}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (showEllipsisForExperiment) {\npug_mixins[\"ellipsis\"]();\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}\n}}.call(this,\"DeliveryStatus\" in locals_for_with?locals_for_with.DeliveryStatus:typeof DeliveryStatus!==\"undefined\"?DeliveryStatus:undefined,\"GeoCodeStatus\" in locals_for_with?locals_for_with.GeoCodeStatus:typeof GeoCodeStatus!==\"undefined\"?GeoCodeStatus:undefined,\"Id\" in locals_for_with?locals_for_with.Id:typeof Id!==\"undefined\"?Id:undefined,\"budgetId\" in locals_for_with?locals_for_with.budgetId:typeof budgetId!==\"undefined\"?budgetId:undefined,\"budgetLandscapeClassName\" in locals_for_with?locals_for_with.budgetLandscapeClassName:typeof budgetLandscapeClassName!==\"undefined\"?budgetLandscapeClassName:undefined,\"budgetType\" in locals_for_with?locals_for_with.budgetType:typeof budgetType!==\"undefined\"?budgetType:undefined,\"containerClassName\" in locals_for_with?locals_for_with.containerClassName:typeof containerClassName!==\"undefined\"?containerClassName:undefined,\"enabledBidlandscape\" in locals_for_with?locals_for_with.enabledBidlandscape:typeof enabledBidlandscape!==\"undefined\"?enabledBidlandscape:undefined,\"hasBidlandscapeIcon\" in locals_for_with?locals_for_with.hasBidlandscapeIcon:typeof hasBidlandscapeIcon!==\"undefined\"?hasBidlandscapeIcon:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"inlineOpportunityClassname\" in locals_for_with?locals_for_with.inlineOpportunityClassname:typeof inlineOpportunityClassname!==\"undefined\"?inlineOpportunityClassname:undefined,\"isErrorStatus\" in locals_for_with?locals_for_with.isErrorStatus:typeof isErrorStatus!==\"undefined\"?isErrorStatus:undefined,\"isForVNext\" in locals_for_with?locals_for_with.isForVNext:typeof isForVNext!==\"undefined\"?isForVNext:undefined,\"isWarningStatus\" in locals_for_with?locals_for_with.isWarningStatus:typeof isWarningStatus!==\"undefined\"?isWarningStatus:undefined,\"shouldShowPopUpStyleInVnext\" in locals_for_with?locals_for_with.shouldShowPopUpStyleInVnext:typeof shouldShowPopUpStyleInVnext!==\"undefined\"?shouldShowPopUpStyleInVnext:undefined,\"shouldShowSensitiveContentWarning\" in locals_for_with?locals_for_with.shouldShowSensitiveContentWarning:typeof shouldShowSensitiveContentWarning!==\"undefined\"?shouldShowSensitiveContentWarning:undefined,\"showBudgetLandscape\" in locals_for_with?locals_for_with.showBudgetLandscape:typeof showBudgetLandscape!==\"undefined\"?showBudgetLandscape:undefined,\"showEllipsisForExperiment\" in locals_for_with?locals_for_with.showEllipsisForExperiment:typeof showEllipsisForExperiment!==\"undefined\"?showEllipsisForExperiment:undefined,\"showInlineOpportunityPopup\" in locals_for_with?locals_for_with.showInlineOpportunityPopup:typeof showInlineOpportunityPopup!==\"undefined\"?showInlineOpportunityPopup:undefined,\"showRejectPopup\" in locals_for_with?locals_for_with.showRejectPopup:typeof showRejectPopup!==\"undefined\"?showRejectPopup:undefined,\"vNextContainerClassName\" in locals_for_with?locals_for_with.vNextContainerClassName:typeof vNextContainerClassName!==\"undefined\"?vNextContainerClassName:undefined,\"videoNeedsToBeConverted\" in locals_for_with?locals_for_with.videoNeedsToBeConverted:typeof videoNeedsToBeConverted!==\"undefined\"?videoNeedsToBeConverted:undefined,\"vnextInlineOpportunityClassname\" in locals_for_with?locals_for_with.vnextInlineOpportunityClassname:typeof vnextInlineOpportunityClassname!==\"undefined\"?vnextInlineOpportunityClassname:undefined,\"withInlineAppeals\" in locals_for_with?locals_for_with.withInlineAppeals:typeof withInlineAppeals!==\"undefined\"?withInlineAppeals:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (model) {if (model) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\\u003Cspan\" + (\" class=\\\"combinedBudgetGridCellValue\\\"\"+pug.attr(\"data-budgetamount\", model.budgetAmount, true, true)+pug.attr(\"data-budgettype\", model.budgetType, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = model.budgetAmount) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}}.call(this,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (isForVNext, value) {if (value.score > 0) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = value.score) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\\u003E\\u002F10 \";\nif (isForVNext) {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"iconba iconba-More quality-score-tooltip\\\"\"+pug.attr(\"title\", value.title, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"status-image status_icon quality-score-detail\\\"\"+pug.attr(\"title\", value.title, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E-\\u003C\\u002Fspan\\u003E\";\n}}.call(this,\"isForVNext\" in locals_for_with?locals_for_with.isForVNext:typeof isForVNext!==\"undefined\"?isForVNext:undefined,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (enableGridFlexLayout, i18n, isForVNext, value) {pug_html = pug_html + \"\\u003Cspan\\u003E\";\nif (value.Status === 'Paused' || value.Status == 'UserPaused' || value.Status == 'BudgetUserPaused') {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"statuschangetask statusicondisplay statuschangehover clickable\\\"\"+\" tabindex=\\\"0\\\"\"+pug.attr(\"id\", `statusIcon${value.Id}`, true, true)+pug.attr(\"data-rowId\", `${value.Id}`, true, true)+\" data-statusText=\\\"Paused\\\"\"+pug.attr(\"aria-label\", `${i18n.getString('EntityStatus_Paused')}`, true, true)+\" role=\\\"button\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"\") + \"\\u003E\";\nif (value.isExperiment) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"experiment-paused-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"statusPaused_icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (isForVNext && enableGridFlexLayout) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"iconba iconba-ChevronDown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (value.Status === 'Draft') {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"statusicondisplay\\\"\"+pug.attr(\"id\", `statusIcon${value.Id}`, true, true)+pug.attr(\"data-rowId\", `${value.Id}`, true, true)+\" data-statusText=\\\"Draft\\\"\"+pug.attr(\"aria-label\", `${i18n.getString('EntityStatus_Draft')}`, true, true)) + \"\\u003E\";\nif (value.isExperiment) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"experiment-paused-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"statusDraft_icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (value.Status === 'Expired') {\npug_html = pug_html + \"\\u003Cdiv class=\\\"statushypendisplay\\\"\\u003E\" + (pug.escape(null == (pug_interp = ' - ') ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (value.Status === 'Deleted') {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"statuschangetask statusicondisplay statuschangehover clickable\\\"\"+\" tabindex=\\\"0\\\"\"+pug.attr(\"id\", `statusIcon${value.Id}`, true, true)+pug.attr(\"data-rowId\", `${value.Id}`, true, true)+\" data-statusText=\\\"Deleted\\\"\"+pug.attr(\"aria-label\", `${i18n.getString('EntityStatus_Deleted')}`, true, true)+\" role=\\\"button\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"\") + \"\\u003E\\u003Cdiv class=\\\"statusDeleted_icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (isForVNext && enableGridFlexLayout) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"iconba iconba-ChevronDown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (value.Status === 'Suspended') {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"statuschangetask statusicondisplay statuschangehover clickable\\\"\"+\" tabindex=\\\"0\\\"\"+pug.attr(\"id\", `statusIcon${value.Id}`, true, true)+pug.attr(\"data-rowId\", `${value.Id}`, true, true)+\" data-statusText=\\\"Suspended\\\"\"+pug.attr(\"aria-label\", `${i18n.getString('EntityStatus_Suspended')}`, true, true)+\" role=\\\"button\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"\") + \"\\u003E\\u003Cdiv class=\\\"statusSuspended_icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (isForVNext && enableGridFlexLayout) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"iconba iconba-ChevronDown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse\nif (!value.Status) {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}\nelse\nif (value.Status === 'InProgress') {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"statuschangetask statusicondisplay clickable\\\"\"+\" tabindex=\\\"0\\\"\"+pug.attr(\"id\", `statusIcon${value.Id}`, true, true)+pug.attr(\"data-rowId\", `${value.Id}`, true, true)+\" data-statusText=\\\"Enabled\\\"\"+pug.attr(\"aria-label\", `${i18n.getString('EntityStatus_Active')}`, true, true)+\" role=\\\"button\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"\") + \"\\u003E\";\nif (value.isExperiment) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"experiment-active-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"statusEnabled_icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"statuschangetask statusicondisplay statuschangehover clickable\\\"\"+\" tabindex=\\\"0\\\"\"+pug.attr(\"id\", `statusIcon${value.Id}`, true, true)+pug.attr(\"data-rowId\", `${value.Id}`, true, true)+\" data-statusText=\\\"Enabled\\\"\"+pug.attr(\"aria-label\", `${i18n.getString('EntityStatus_Active')}`, true, true)+\" role=\\\"button\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"\") + \"\\u003E\";\nif (value.isExperiment) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"experiment-active-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"statusEnabled_icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (isForVNext && enableGridFlexLayout) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"iconba iconba-ChevronDown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";}.call(this,\"enableGridFlexLayout\" in locals_for_with?locals_for_with.enableGridFlexLayout:typeof enableGridFlexLayout!==\"undefined\"?enableGridFlexLayout:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isForVNext\" in locals_for_with?locals_for_with.isForVNext:typeof isForVNext!==\"undefined\"?isForVNext:undefined,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cspan class=\\\"grid-cell-text\\\"\\u003E\" + (pug.escape(null == (pug_interp = '-') ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (schemaI18n, value) {if (value) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = schemaI18n.enum('CallTrackingStatus', value)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = ' ') ? \"\" : pug_interp));\n}}.call(this,\"schemaI18n\" in locals_for_with?locals_for_with.schemaI18n:typeof schemaI18n!==\"undefined\"?schemaI18n:undefined,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (value) {if (value) {\nif (value.isBudgetCenterEntryEnabled) {\npug_html = pug_html + \"\\u003Cspan class=\\\"performance-metrics-value\\\"\\u003E\\u003Cspan class=\\\"budget-center-entry\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\\u003E\" + (pug.escape(null == (pug_interp = value.metricValue) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan class=\\\"performance-metrics-value\\\"\\u003E\";\nif (value.hasConversionDeliveryStatus) {\npug_html = pug_html + \"\\u003Cspan class=\\\"status-column status-warning conversion-warning-delivery-status\\\"\\u003E\\u003Cspan class=\\\"status-icon iconba iconba-Warning\\\"\\u003E \\u003C\\u002Fspan\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = value.metricValue) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = value.metricValue) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cspan class=\\\"performance-metrics-fluctuation\\\"\\u003E\";\nif (value.hasFluctuation) {\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"iconba iconba-Insights clickable\\\"\"+\" tabindex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"data-metric-name\", value.metricName, true, true)+pug.attr(\"data-metric-value\", value.metricValue, true, true)+pug.attr(\"data-metric-type\", value.metricType, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = '-') ? \"\" : pug_interp));\n}}.call(this,\"value\" in locals_for_with?locals_for_with.value:typeof value!==\"undefined\"?value:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (cashbackOptions, i18n, inheritCashbackPercent, percentage, readonly, selectedOption, size) {pug_html = pug_html + \"\\u003Cdiv class=\\\"form-inline cashback-percent-cell\\\"\\u003E\\u003Cselect\" + (\" class=\\\"cashback-option-select form-control\\\"\"+pug.attr(\"disabled\", readonly, true, true)+pug.attr(\"aria-label\", i18n.getString('CashbackPercent_Options'), true, true)) + \"\\u003E\";\n// iterate cashbackOptions\n;(function(){\n var $$obj = cashbackOptions;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var item = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", item.value, true, true)+pug.attr(\"selected\", item.value === selectedOption, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = item.text) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var item = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Coption\" + (pug.attr(\"value\", item.value, true, true)+pug.attr(\"selected\", item.value === selectedOption, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = item.text) ? \"\" : pug_interp)) + \"\\u003C\\u002Foption\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fselect\\u003E\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"inherit-cashback-value\",\"cashback-inherit-container\",\"input-group\",selectedOption !== 'inherit' ? 'hide': ''], [false,false,false,true]), false, true)) + \"\\u003E\\u003Cinput\" + (\" class=\\\"inline-input inherit-value-span form-control\\\"\"+\" disabled\"+pug.attr(\"value\", inheritCashbackPercent, true, true)) + \"\\u003E\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Campaign_Discount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"cashback-input-container\",\"input-group\",selectedOption !== 'override' ? 'hide': ''], [false,false,true]), false, true)) + \"\\u003E\\u003Cinput\" + (\" class=\\\"inline-input cashback-percent-input form-control\\\"\"+\" type=\\\"text\\\"\"+pug.attr(\"aria-label\", i18n.getString('Campaign_Maximum_Cashback_Offer'), true, true)+pug.attr(\"size\", size, true, true)+pug.attr(\"maxlength\", size, true, true)+pug.attr(\"value\", percentage, true, true)+pug.attr(\"disabled\", readonly, true, true)) + \"\\u003E\\u003Cspan class=\\\"input-group-addon\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Campaign_Discount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"error cashback-percent-error\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"cashbackOptions\" in locals_for_with?locals_for_with.cashbackOptions:typeof cashbackOptions!==\"undefined\"?cashbackOptions:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"inheritCashbackPercent\" in locals_for_with?locals_for_with.inheritCashbackPercent:typeof inheritCashbackPercent!==\"undefined\"?inheritCashbackPercent:undefined,\"percentage\" in locals_for_with?locals_for_with.percentage:typeof percentage!==\"undefined\"?percentage:undefined,\"readonly\" in locals_for_with?locals_for_with.readonly:typeof readonly!==\"undefined\"?readonly:undefined,\"selectedOption\" in locals_for_with?locals_for_with.selectedOption:typeof selectedOption!==\"undefined\"?selectedOption:undefined,\"size\" in locals_for_with?locals_for_with.size:typeof size!==\"undefined\"?size:undefined));;return pug_html;};\nmodule.exports = template;"],"names":["getEdmName","name","concat","getEntityName","replace","cacheManager","subscribe","afterInvalidate","cm","resource","isTriggeredFromOutside","edmCampaign","invalidateTypeCache","contextManager","successEmitter","on","skipEntityCallPaths","arguments","length","undefined","cacheEvent","next","_ref","type","entity","invalidate","DecoratedODataAdapter","_createClass","adapter","getTTL","_classCallCheck","this","key","value","definition","query","options","_this","ttl","entitySet","headers","successCallback","path","_","params","result","cacheHit","cachedResult","cacheResult","findAll","getCacheHint","_len","args","Array","_key","res","cacheCreationTime","setCacheHint","apply","then","errors","delResult","cacheStateCallback","actionMap","Campaign","AdGroup","Ad","Keyword","NegativeKeywordList","CampaignCriterion","AdGroupCriterion","resourceMap","CampaignsGrid","AdGroupGrid","AdGrid","KeywordGrid","NegativeKeywordLibraryCampaignAssociationsGrid","CampaignSettingsGrid","AdGroupSettingsGrid","PerformanceTargetsSummaryGrid","SearchTermGrid","DsaTargetGrid","NegativeAdGroupDsaTargetGrid","NegativeCampaignDsaTargetGrid","ContextManagerBridge","cacheManagerDirty","contextManagerDirty","gridIds","updateContext","beforeExecute","_ref2","action","parameters","emitter","gridId","ADDITIONAL_WRITE_ACTIONS","RESOURCE_WHITE_LIST","CampaignCacheManager","_JSDataCacheManager","store","_callSuper","actions","invalidateStrategies","WriteActionInvalidateStrategy","writeActions","CascadeInvalidateStrategy","dependants","partitionStrategies","PartitionStrategy","cache","TimeAwareCache","strategy","LRUReplacementStrategy","limit","condition","enableCacheOnAdapter","contextManagerBridge","_inherits","JSDataCacheManager","CampaignType","None","Default","Shopping","DynamicSearchAds","Audience","Smart","Hotel","PerformanceMax","App","LinkedIn","All","CampaignTypeByEnumValue","CampaignTypeToStringMap","_defineProperty","CampaignTypeByODataValue","StatusWaterfallFilterOptions","AllEnabled","Scope","Customer","Account","PerformanceTarget","getCurrentScope","currentCampaignId","currentAdGroupId","currentAccountId","getCurrentScopeFromService","scope","values","aid","campaignId","adGroupId","SCOPE_TO_KEY","trimScope","supportedScopes","scopeService","siteMapId","history","_scopeService$values","uid","cid","stringify","currentScope","leastSupportedScope","urlQuery","queryToRemove","map","scopeNumber","urijs","removeQuery","toString","trimScopeInternal","location","search","ACCOUNT_MODE","DEFAULT","EXPERT","SMART","UNIFIED_SMART","UNIFIED_EXPERT","PMAX_TEMP_NAME_PREFIX","CampaignTypeEnumValuePrefix","CampaignStatusEnumValuePrefix","AdGroupStatusEnumValuePrefix","addPrefixToEnumValue","prefix","enumValue","getFilteredCampaignTypeFromRawFilter","rawFilter","filteredCampainTypes","$in","getFilteredCampaignTypeFromWaterfallFilter","waterfallFilters","compact","waterfallFilter","filter","WaterfallFilterType","first","getFilteredCampaignStatusFromRawFilter","filteredCampaignStatuses","CampaignStatus","getFilteredAdGroupStatusFromRawFilter","filteredAdGroupStatuses","AdGroupStatus","convertFilteredCampaignTypeToFilter","campaignType","convertFilteredCampaignStatusToFilter","campaignStatus","convertFilteredAdGroupStatusToFilter","adGroupStatus","Environment","PROD","BETAPROD","TIP","SI","BETASI","CI","getEnvironment","domain","match","isProdEnvironment","env","featureName","CurrentTabId","isOdataActionSource","refreshCampaignCache","getDataFetchConfig","jsdataCampaign","edm","filterService","dateUtil","ColumnChooserPreference","CustomColumnPreference","SegmentationPreference","fetchPagination","fetchSortInfo","getColumnsMap","getBaseColumnsByType","preferenceService","serverContext","Permissions","appConfig","i18n","dynamic","IsColumnConversionEnabled","ColumnConversion","CampaignsCombineGridAndChartOdataCallEnabled","_getBaseColumnsByType","_getBaseColumnsByType2","_slicedToArray","lockedColumns","selectedColumns","currentAccount","Campaigns","waterfallFilterStorage","WaterfallFilterStorage","initialQuery","gridDataParameters","getGridDataParams","dataSource","cacheResponse","useDfmCache","queryBuilder","decorators","addPoPColumnsOnComparisonEnabled","columnsMap","defaultColumns","customColumnsEnabled","IsCustomColumnsInCampaignsSupported","IsAvgPositionDeprecationPhase2Enabled","comparisonPoPColumns","defaultPageSize","pageState","appState","pageContext","_objectSpread","chartDataAdapter","ChartDataAdapter","permissions","inlineChartPreference","InlineChartPreferences","legacyPreferenceService","Promise","commonConfig","deps","state","getPromise","Error","dateFilter","waterfallDateFilterProcessor","getFilters","DateFilter","fetchPaginationConfig","columnConversions","getColumnsConversionMap","getFilterConfigWithInjection","newI18n","cachedEntitySchema","customColumnPreference","jsData","sessionStore","preferenceStoreFactory","legacyGlobalI18n","schemaI18nCampaign","cacheService","dataContextManager","filterConfig","entitySchema","adGroupSchema","jsdata","schemaProcessor","CampaignSchemaProcessor","languageI18n","s$AdGroup","globalConfig","isForVNext","isFromCampaignGrid","getCommonFilterConfig","enableCampaignWaterfall","editor","searchbox","placeholder","getString","_TL_","searchProperty","searchOperator","selector","property","items","text","removable","defaultValue","getFilterConfig","suppressWaterfallEvents","getDataSourceWithInjection","gridName","_ref2$logActivity","logActivity","logger","get","CampaignFilterImprovementEnabled","existingDataSource","DataSourceStore","FilterService","dataFetchConfig","config","queryBuilderConfig","QueryBuilderFactory","make","connect","set","getDataSource","cacheableObjects","ExtendedDatePicker","_DatePicker","_superPropGet","getState","isNodateSelected","datePicker","enable","DatePicker","CampaignsDatePicker","_DeterministicView","minDate","maxDate","selectedDate","allowNoDate","noDateLabel","dateLabel","noDateGroupAriaLabel","datePickerAriaLabel","isNaN","Date","ariaLabel","datePickerInput","$","addClass","attr","setChild","setState","listenTo","trigger","getSelectedDate","_this2","selectNoDateOption","selectDateOption","CampaignsDatePickerTemplate","getChild","model","attributes","getDate","originalDate","DeterministicView","propertyMatch","regex","keyPath","isPerformanceMetrics","isPhonePerformanceMetrics","CampaignuiBaseColumn","_ProjectionGridBaseCo","colClasses","helpers","mergeClasses","ProjectionGridBaseColumn","FluctuationType","Impression","Click","Spend","Conversion","Max","FluctuationEnumToStringMap","keyList","ColumnNameToFluctuationTypeEnum","Clicks","Impressions","Conversions","FluctuationBaseColumn","_CampaignuiBaseColumn","helpId","generateHelpId","title","sortable","columnSortableProperty","helpAriaLabel","item","PerformanceMetrics","AvailableInsightTypeIds","GoalStatusDetails","_this$config","format","metricValue","hasGoalLimits","goal","GoalDeliveryStatus","metricType","metricName","formatMetricValue","hasFluctuation","hasFluctuations","propertyName","availableInsightTypeIds","IsOverall","$total","hasConversionDeliveryStatus","performanceMetricWithFluctuationTemplate","ColumnClicksWithFluctuation","_FluctuationBaseColum","ColumnImpressionsWithFluctuation","_FluctuationBaseColum2","_ref2$helpId","ColumnSpendWithFluctuation","_FluctuationBaseColum3","_ref3","fractionDigits","formatDecimal","maximumFractionDigits","minimumFractionDigits","getBaseColumn","_PerformanceMetricBaseColumn","PerformanceMetricBaseColumn","schemaI18n","SchemaI18n","split","localizedTitle","PhonePerformanceMetricBaseColumn","ColumnClicks","_PerformanceMetricBas","ColumnImpressions","_PerformanceMetricBas2","ColumnCTR","_PerformanceMetricBas3","ColumnAverageCPC","_PerformanceMetricBas4","_ref4","_ref4$helpId","ColumnAveragePosition","_PerformanceMetricBas5","_ref5","_ref5$helpId","ColumnAverageCPM","_PerformanceMetricBas6","_ref6","_ref6$helpId","ColumnVideoViews","_PerformanceMetricBas7","_ref7","_ref7$helpId","ColumnViewThroughRate","_PerformanceMetricBas8","_ref8","_ref8$helpId","ColumnAverageCPV","_PerformanceMetricBas9","_ref9","_ref9$helpId","ColumnTotalWatchTimeInMS","_PerformanceMetricBas10","_ref10","_ref10$helpId","ColumnAverageWatchTimePerImpression","_PerformanceMetricBas11","_ref11","_ref11$helpId","ColumnAverageWatchTimePerVideoView","_PerformanceMetricBas12","_ref12","_ref12$helpId","ColumnVideoViewsAt25Percent","_PerformanceMetricBas13","_ref13","_ref13$helpId","ColumnVideoViewsAt50Percent","_PerformanceMetricBas14","_ref14","_ref14$helpId","ColumnVideoViewsAt75Percent","_PerformanceMetricBas15","_ref15","_ref15$helpId","ColumnCompletedVideoViews","_PerformanceMetricBas16","_ref16","_ref16$helpId","ColumnVideoCompletionRate","_PerformanceMetricBas17","_ref17","_ref17$helpId","ColumnSpend","_PerformanceMetricBas18","_ref18","ColumnTotalSpend","_PhonePerformanceMetr","_ref19","ColumnTopImpressionRate","_PerformanceMetricBas19","_ref20","ColumnAbsoluteTopImpressionRate","_PerformanceMetricBas20","_ref21","ColumnCPS","_PerformanceMetricBas21","_ref22","ColumnDownloads","_PerformanceMetricBas22","_ref23","ColumnFirstLaunches","_PerformanceMetricBas23","_ref24","ColumnPurchases","_PerformanceMetricBas24","_ref25","ColumnSubscriptions","_PerformanceMetricBas25","_ref26","ColumnPostClickDownloadRate","_PerformanceMetricBas26","_ref27","ColumnCostPerDownload","_PerformanceMetricBas27","_ref28","ColumnPostClickFirstLaunchRate","_PerformanceMetricBas28","_ref29","ColumnCostPerFirstLaunch","_PerformanceMetricBas29","_ref30","ColumnPostInstallPurchaseRate","_PerformanceMetricBas30","_ref31","ColumnCostPerPurchase","_PerformanceMetricBas31","_ref32","ColumnPostInstallSubscriptionRate","_PerformanceMetricBas32","_ref33","ColumnCostPerSubscription","_PerformanceMetricBas33","_ref34","getPerformanceColumns","_ref35","withFluctuations","IsVideoAdsPerfMetricsEnabled","isCPSEnabled","isAppCampaignNewCampaignGridColumnsEnabled","performanceColumns","perfMetricColumnConvertionDef","targetColumnName","sourceColumnName","sourceSortableProperty","targetSortableProperty","ColumnCPA","_ref$helpId","columnName","columnConversion","ColumnPartialConversionCPA","ColumnConversions","_ref3$helpId","ColumnConversionsCredit","ColumnRevenueOnAdSpend","ColumnAdvertiserReportedRevenue","ColumnConversionRate","ColumnPartialConversionRate","ColumnAllConversionCPA","ColumnAllPartialConversionCPA","ColumnAllConversions","ColumnAllConversionsCredit","ColumnAllConversionRevenueOnAdSpend","ColumnAllConversionAdvertiserReportedRevenue","ColumnAllConversionRate","ColumnAllPartialConversionRate","ColumnViewThroughConversions","ColumnViewThroughConversionsCredit","_ref18$helpId","ColumnViewThroughConversionsRevenue","_ref19$helpId","ColumnViewThroughConversionsCPA","_ref20$helpId","ColumnViewThroughPartialConversionsCPA","_ref21$helpId","ColumnViewThroughConversionsReturnOnAdSpend","_ref22$helpId","ColumnViewThroughConversionsRate","_ref23$helpId","ColumnViewThroughPartialConversionsRate","_ref24$helpId","ColumnConversionsWithFluctuation","_ref25$helpId","ColumnConversionsCreditWithFluctuation","_ref26$helpId","ColumnSalesCount","_ref27$helpId","ColumnInstalls","ColumnCostPerInstall","ColumnRevenuePerInstall","ColumnAdvertiserReportedRevenueAdjustment","ColumnAllConversionAdvertiserReportedRevenueAdjustment","ColumnViewThroughConversionsRevenueAdjustment","ColumnNewCustomerConversions","ColumnNewCustomerRevenue","ColumnNewCustomerConversionRate","_PerformanceMetricBas34","_ref36","ColumnNewCustomerCPA","_PerformanceMetricBas35","_ref37","ColumnNewCustomerRevenueOnAdSpend","_PerformanceMetricBas36","_ref38","getConversionColumns","_ref39","_ref39$withFluctuatio","_ref39$withPartialCon","withPartialConversions","_ref39$isCPSEnabled","_ref39$isInstallColum","isInstallColumnsEnabled","_ref39$isConversionVa","isConversionValueRuleColumnsEnabled","_ref39$isNewCustomerA","isNewCustomerAcquisitionColumnsEnabled","conversionsColumns","conversionsColumnsWithFluctuation","ELIGIBLE","INLINE_OPPORTUNITY","AUTO_BIDDING_LIMITED","enabledStatuses","autoBiddingTargets","maxConversionTargets","getBidLandscapeConfigs","_ref2$permissions","_ref2$value","NewBidLandscapeEntryPoints","enabledBidLandscape","hasBidLandscapeIcon","enabledBidLandscapeForLimited","DeliveryStatus","DeliveryStatusDetails","detail","IsBidLandscapeAvailable","getEnabledBidLandscape","whiteList","_toConsumableArray","SimulatorForCPAROAS","IsPmaxBidLandscapeEnabled","getWhiteList","biddingSchemeType","BiddingScheme","inWhiteList","_ref$permissions","_ref$value","IsReadOnlyUser","BidStrategyName","Budget","Id","getHasBidLandscapeIcon","ColumnAuctionWonPercent","ColumnAuctionLostToBudgetPercent","ColumnAuctionLostToRankPercent","ColumnAuctionLostToAdQualityPercent","ColumnAuctionLostToLandingPercent","ColumnAuctionLostToBidPercent","ColumnExactMatchImpressionSharePercent","ColumnTopImpressionSharePercent","ColumnTopImpressionShareLostToBudget","ColumnTopImpressionShareLostToRank","ColumnAbsoluteTopImpressionSharePercent","ColumnAbsoluteTopImpressionShareLostToBudget","ColumnAbsoluteTopImpressionShareLostToRank","ColumnClickSharePercent","ColumnAudienceAuctionWonPercent","Boolean","ColumnAudienceTopISLostToBudgetPercent","ColumnAudienceTopISLostToRankPercent","ColumnRelativeCTR","competitiveColumns","ColumnCallForwarding","callTrackingStatusTemplate","callDetailsColumns","ColumnManualCalls","_PhonePerformanceMetr2","ColumnPhoneImpressions","_PhonePerformanceMetr3","ColumnPTR","BidStrategyTypeColumn","isAllSettingsGrid","bidStrategyTypeTemplate","CampaignColumn","routeTemplate","showExperiment","bodyClasses","_this$scope","customerId","accountId","_item$Campaign","_item$Campaign2","Name","cmpid","baseCampaignName","BaseCampaignName","campaignName","className","experimentName","href","campaignTemplate","createCustomCampaignColumnClass","_CampaignColumn","CustomCampaignColumn","DeliveryColumn","isCampaign","view","isForCampaignPage","pathname","newHelpIdForMMAInDSA","IsMMAInDSAEnabled","isForAdsPage","isEditorialCategoryEnabled","IsEditorialCategoryEnabled","push","instrumentation","IsGoogleImportVideoAdsEnabled","showBudgetSuggestion","EnableBudgetSuggestion","videoNeedsToBeConverted","shouldRepairGoogleImportVideoAd","IsAppealable","AssociatedExperiment","ExperimentId","EditorialCategories","VideoNeedsToBeConverted","showEllipsisForExperiment","isAutoBiddingLimited","_getBidLandscapeConfi","Promoted","Graduated","Ended","Status","isErrorStatus","isWarningStatus","activity","autobiddingLimitedStatus","create","renderDeliveryStatus","trace","JSON","deliveryStatus","adsActivity","logDeliveryStatus","logAdsDeliveryStatus","adId","showBudgetSuggestionWithDeliveryStatusDetails","showRejectPopup","shouldEditorialCategoriesPopup","getViolationsFromCategoryFAIDMapping","showBudgetLandscape","budgetLandscapeClassName","isCampaignBudgetLandScape","containerClassName","opportunityPopupHandlerClass","inlineOpportunityClassname","withInlineAppeals","showInlineOpportunityPopup","shouldShowPopUpStyleInVnext","vnextContainerClasses","vNextContainerClassName","join","template","vnextInlineOpportunityClassname","hasBidlandscapeIcon","enabledBidlandscape","budgetType","Type","budgetId","shouldShowSensitiveContentWarning","QualityScoreColumn","titleDetail","score","QualityScore","OverallQualityScore","qualityScoreTemplate","showQualityScoreDetail","event","qualityScore","qsContainerId","KeywordRelevance","LandingPageQuality","LandingPageRelevance","clickEvent","controls","qualityscore","DisplayQsFlyout","StatusIconColumn","enableEdit","_ref$statusOptions","statusOptions","_ref$isCampaign","_ref$isForVNext","group","_ref$enableGridFlexLa","enableGridFlexLayout","isResizable","headerTemplate","isExperiment","statusIconTemplate","position","newPosition","statusEditor","renderStatusPopupEditor","currentStatus","option","iconClass","Enabled","Paused","target","status","updateStatus","BudgetSplitView","_Backbone$View","remove","$el","html","budgetSplitTmpl","Backbone","BudgetNotEditableView","_Backbone$View2","budgetNotEditableTmpl","BudgetColumn","IsCampaignLifetimeBudgetEnabled","CampaignLifetimeBudget","editable","_item$Budget","delta","resetDelta","numberFormatter","decimalToFixedFormatter","InlineSharedBudgetEditor","InlineBudgetEditor","budgetTemplate","decimal","propertys","hasClass","groupClass","budgetNotEditableView","render","GridCustomizedPopupEditor","editorView","cellPosition","renderBelow","budgetBidCampaignImportNotificationActivity","createScenarioAndActivity","scenarioName","activityName","sharedBudgetEditor","budgetAmount","Amount","budgetName","renderAsPopup","$elToBlock","grid","gridView","importNotificationCallback","newBudget","showBudgetBidCampaignNotifications","campaignItemList","oldBudget","refresh","parentContainerSelector","showBudgetMinRecommend","BCCBudgetImprovementEnabled","currencySymbol","getCurrencySymbol","clientName","perfMarker","campaignTabPerfMarker","update","IsBudgetInlineSuggestionEnabled","enabledStatus","autoBiddingTarget","maxConversionTarget","enabledBidlandscapeForLimited","unpurposedBudgetTemplate","isBudgetCenterEntryEnabled","IsSmartPageStandalone","IsUnifiedSmartMode","IsSmartMode","MonthlyAmount","DailyBudget","fromFloatToString","budgetTypeText","BidStrategyNameColumn","CampaignBidStrategyTypeColumn","_options$helpId","isXandrServing","CampaignSubType","CampaignSettings","DisplayBiddingStrategyType","LifetimeBudgetType","LifetimeBudgetColumn","properties","LifetimeBudgetAmount","LifetimeBudget","CashbackPercentControlView","viewContext","_ref$CashbackPercent","CashbackPercent","_ref$isParentLevel","isParentLevel","_ref$showInheritFromP","showInheritFromParentOption","_ref$isCreationScenar","isCreationScenario","_ref$allowEmptyCashba","allowEmptyCashbackPercent","isValid","snapshotValue","cashbackPercentValue","isCashbackPercentEmpty","e","handleCashbackPercentChange","handleCashbackOptionChange","empty","selectedOption","val","currentCashbackInputVal","removeClass","isCashbackPercentValid","getRealCashbackPercentValue","showError","error","getCashbackPercentValidationError","cashbackPercentInputValue","inputValue","cashbackPercentValid","campaignCashbackOptions","cashbackOptionInfo","getCashbackInheritOptions","readonly","cashbackOptions","selected","inheritCashbackPercent","inheritValue","percentage","size","getCashbackOptionInfo","cashbackPercent","cashbackPercentInput","pug","module","exports","locals","pug_interp","pug_html","locals_for_with","escape","call","enum","TrafficSplitPercent","splitBase","splitExp","classes","pug_mixins","GeoCodeStatus","block","statusTypeClass","localizedText","$$obj","pug_index0","$$l"],"sourceRoot":""}